<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>信息安全 on FUTURE204 - 分享与收获</title>
        <link>https://www.future204.top/tags/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/</link>
        <description>Recent content in 信息安全 on FUTURE204 - 分享与收获</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Wed, 24 May 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://www.future204.top/tags/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>公钥密码体制</title>
        <link>https://www.future204.top/p/%E5%85%AC%E9%92%A5%E5%AF%86%E7%A0%81%E4%BD%93%E5%88%B6/</link>
        <pubDate>Wed, 24 May 2023 00:00:00 +0000</pubDate>
        
        <guid>https://www.future204.top/p/%E5%85%AC%E9%92%A5%E5%AF%86%E7%A0%81%E4%BD%93%E5%88%B6/</guid>
        <description>&lt;h2 id=&#34;公钥密码体制&#34;&gt;公钥密码体制&lt;/h2&gt;
&lt;p&gt;根据加密密钥能否公开，将密码体制划分为两类，一类是对称密码体制，另一类是公钥密码体制。对称密码加密和解密使用相同的密钥，公钥密码体制（又称非对称密码体制）加密和解密使用不同的密钥。&lt;/p&gt;
&lt;h2 id=&#34;公钥密码满足的要求&#34;&gt;公钥密码满足的要求&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;用户产生一对密钥 $\mathrm{(K_e，K_d)}$ 在计算上是容易的。&lt;/li&gt;
&lt;li&gt;已知公钥和明文M，发送方产生密文$\space \mathrm{C=E(M,K_e)}$ 在计算上是容易的。&lt;/li&gt;
&lt;li&gt;接受方使用其私钥对接受的密文$\space \mathrm{C}$ 进行解密，在计算上是容易的。&lt;/li&gt;
&lt;li&gt;已知公钥$\space \mathrm{K_e}$，攻击者确定私钥$\space \mathrm{K_d}$ 在计算上不可行。&lt;/li&gt;
&lt;li&gt;加密和解密的顺序可以互换。即$\space \mathrm{D(E(M,K_e),K_d)=E(D(M,K_d),K_e)=M}$&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;rsa-公钥密码体制&#34;&gt;RSA 公钥密码体制&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RSA 算法的可靠性基于大数的因子分解问题。&lt;/li&gt;
&lt;li&gt;RSA 算法的安全性基于数论中大素数分解的困难性。&lt;/li&gt;
&lt;li&gt;RSA 算法密码用于加密，数字签名。RSA算法是目前应用最广泛的公钥密码。&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;💡 公钥和密钥是成对出现的，使用公钥加密数据，使用私钥解密数据。目前只有短的RSA 密钥才可能被穷举方式破解。只要密钥的长度足够长，用RSA加密的信息实际上是不能被破解的。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;rsa-算法流程&#34;&gt;RSA 算法流程&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;选定两个质数p和q&lt;/li&gt;
&lt;li&gt;计算出 n=p*q&lt;/li&gt;
&lt;li&gt;通过欧拉函数计算$\space \mathrm {\phi(n)=(p-1)(q-1)}$ 。$\mathrm{\phi(n)}$表示 1~n 之间质数的个数。&lt;/li&gt;
&lt;li&gt;选定一个质数 e （1 &amp;lt; e &amp;lt; $\mathrm{\phi(n)}$）。（e, n）为公钥。&lt;/li&gt;
&lt;li&gt;计算d, d满足$\space \mathrm{e*d \space mod \space \phi(n)}$=1。(d, n)为私钥。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;rsa-算法加密解密流程&#34;&gt;RSA 算法加密解密流程&lt;/h3&gt;
&lt;p&gt;使用公钥加密数据，私钥解密数据。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;计算密文：$\mathrm{C={M^e \space mod \space n}}$&lt;/li&gt;
&lt;li&gt;解密密文：$\mathrm{M={C^d \space mod \space n}}$&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;举例&#34;&gt;&lt;strong&gt;举例&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;例:已知密文C=10，用户公钥（e, n）其中 e=5，n=35，求明文？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;将n分解成两个质数相乘，得到 35=5*7&lt;/p&gt;
&lt;p&gt;计算 $\mathrm {\phi(n)=(5-1)(7-1)}=24$&lt;/p&gt;
&lt;p&gt;使 e*d%$\mathrm{\phi(n)}$=1 条件满足&lt;/p&gt;
&lt;p&gt;即 5*d%24=1&lt;/p&gt;
&lt;p&gt;得 d=5&lt;/p&gt;
&lt;p&gt;得到私钥为（5, 35）&lt;/p&gt;
&lt;p&gt;解密明文=$\mathrm {10^5 \space mod \space 35}=10$&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
