⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsa公开密钥密码系统的数学原理.htm

📁 是加密算法
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<table border="0" width="691">

  <tr>

    <td bgcolor="#666633"><b><font size="2" color="#FFFFFF">RSA公开密钥密码系统的数学原理</font></b></td>

  </tr>

  <tr>

    <td width="100%">

        <blockquote>

        <p align="left" style="line-height: 20px"><font size="2"><font color="#660066"><br>

        </font><font color="#FFFFFF">——</font><font color="#660066"><span style="font-family:宋体;mso-hansi-font-family:&quot;Times New Roman&quot;">密钥管理中心产生一对公开密钥和秘密密钥的方法如下:在离线方式下,</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;">先产生两个足够大的强质数</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">p</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;">、</span><span lang="EN-US">q</span></b><span style="font-family:

宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">。可得</span><span lang="EN-US">p</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;

mso-hansi-font-family:&quot;Times New Roman&quot;">与</span><span lang="EN-US">q</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;">的乘积为</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">n=pxq</span></b><span style="font-family:宋体;mso-ascii-font-family:

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">。再由</span><span lang="EN-US">p</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;

mso-hansi-font-family:&quot;Times New Roman&quot;">和</span><span lang="EN-US">q</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;">算出另一个数</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">z=(p-1)×(q-1<u>)</u></span></b><span style="font-family:宋体;

mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,然后再选取一个与</span><span lang="EN-US">z</span><b style="mso-bidi-font-weight:normal"><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;">互素</span></b><span style="font-family:宋体;mso-ascii-font-family:

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">的奇数</span><span lang="EN-US">e</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;

mso-hansi-font-family:&quot;Times New Roman&quot;">,称</span><b style="mso-bidi-font-weight:

normal"><span lang="EN-US">e</span></b><span style="font-family:宋体;mso-ascii-font-family:

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">为公开指数;从这个</span><span lang="EN-US">e</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;

mso-hansi-font-family:&quot;Times New Roman&quot;">值可以找出另一个值</span><span lang="EN-US">d</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;">,并能满足</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">e×d=1 mod (z)</span></b><span style="font-family:宋体;mso-ascii-font-family:     

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">条件。由此而得到的两组数</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">(n</span><span style="font-family:宋体;mso-ascii-font-family:     

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">e) </span></b> <span lang="EN-US"> </span><span style="font-family:宋体;     

mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">和</span>    

        <b style="mso-bidi-font-weight:normal"><span lang="EN-US">(n</span><span style="font-family:宋体;mso-ascii-font-family:     

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">,</span><span lang="EN-US">d)</span></b><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;     

mso-hansi-font-family:&quot;Times New Roman&quot;">分别被称为公开密钥和秘密密钥,或简称公钥和私钥。</span></font></font></p>   

        <p class="MsoNormal" style="line-height: 20px"><font color="#660066" size="2"><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">对于明文</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">M</span></b><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;     

mso-hansi-font-family:&quot;Times New Roman&quot;">,用公钥</span><span lang="EN-US"> (n</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:     

&quot;Times New Roman&quot;">,</span><span lang="EN-US">e) </span><span style="font-family:     

宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">加密可得到密文</span><span lang="EN-US">C</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;     

mso-hansi-font-family:&quot;Times New Roman&quot;">。</span></font></p>   

        <p class="MsoNormal" style="line-height: 20px"><font color="#660066" size="2"><span lang="EN-US"><b style="mso-bidi-font-weight:     

normal">C = M</b></span><!--[if supportFields]><b  style='mso-bidi-font-weight:normal'><span lang=EN-US><span style='mso-element:  field-begin'></span> EQ \S\up5(e) </span></b><![endif]--> <!--[if supportFields]><b  style='mso-bidi-font-weight:normal'><span lang=EN-US><span style='mso-element:  field-end'></span></span></b><![endif]--> <span lang="EN-US"><b style="mso-bidi-font-weight:normal">mod (n)</b> <span style="mso-spacerun:     

yes">&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>(1)</span></font></p>   

        <p class="MsoNormal" style="line-height: 20px"><font color="#660066" size="2"><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">对于密文</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">C</span></b><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">,用私钥</span><span lang="EN-US">(n</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">,</span><span lang="EN-US">d)</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">解密可得到明文</span><span lang="EN-US">M</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">。</span></font></p>   

        <p class="MsoNormal" style="line-height: 20px"><font color="#660066" size="2"><span lang="EN-US"><b style="mso-bidi-font-weight:normal">M = C</b></span><!--[if supportFields]><b  style='mso-bidi-font-weight:normal'><span lang=EN-US><span style='mso-element:  field-begin'></span> EQ \S\up5(d) </span></b><![endif]--> <!--[if supportFields]><b  style='mso-bidi-font-weight:normal'><span lang=EN-US><span style='mso-element:  field-end'></span></span></b><![endif]--> <span lang="EN-US"><b style="mso-bidi-font-weight:normal">mod (n)</b><span style="mso-spacerun:     

yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    

        </span>(2)</span></font></p>   

        <p class="MsoNormal" style="line-height: 20px"><font color="#660066" size="2"><span lang="EN-US">(2)    

        </span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">式的数学证明用到了数论中的欧拉定理,具体过程这里不赘述。</span></font></p>   

        <p class="MsoNormal" style="line-height: 20px"><font color="#FFFFFF"><font size="2">——</font></font><font color="#660066"><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">同法,也可定义用私钥</span><span lang="EN-US">(n</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">,</span><span lang="EN-US">d)</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">先进行解密后,然后用公钥</span><span lang="EN-US">(n</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">,</span><span lang="EN-US">e)</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">进行加密(用于签名)。</span></font></p>  

        <p class="MsoNormal" style="line-height: 20px"><font color="#FFFFFF"><font size="2">——</font></font><font color="#660066"><b style="mso-bidi-font-weight:normal"><span lang="EN-US">p</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">、</span><span lang="EN-US">q</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">、</span><span lang="EN-US">z</span></b><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">由密钥管理中心负责保密。在密钥对一经产生便自动将其销毁或者为了以后密钥恢复的需要将其存入离线的安全黑库里面;如密钥对是用户自己离线产生的,则</span><b style="mso-bidi-font-weight:normal"><span lang="EN-US">p</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">、</span><span lang="EN-US">q</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">、</span><span lang="EN-US">z</span></b><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">的保密或及时销毁由用户自己负责。在本系统中,这些工作均由程序自动完成。在密钥对产生好后,公钥则通过签证机关</span><span lang="EN-US">CA</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">以证书的形式向用户分发;经加密后的密态私钥用</span><span lang="EN-US">PIN</span><span style="mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman">卡携带分发至用户本人。</span></font></p>  

        <p class="MsoNormal" style="line-height: 20px"><font color="#FFFFFF"><font size="2">——</font></font><font size="2"><font color="#660066"><span style="mso-bidi-font-size: 10.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">RSA</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">算法之所以具有安全性,是基于数论中的一个特性事实:即将两个大的质数合成一个大数很容易,而相反的过程则非常困难。在当今技术条件下,当</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">n</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">足够大时,为了找到</span><b style="mso-bidi-font-weight:    

normal"><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">d</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,</span></b><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">欲从</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">n</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中通过质因子分解试图找到与</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">d</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">对应的</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">p</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">、</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">q</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">是极其困难甚至是不可能的。由此可见,</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">RSA</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的安全性是依赖于作为公钥的大数</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">n</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的位数长度的。为保证足够的安全性,一般认为现在的个人应用需要用</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">384</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">或</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">512</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">比特位的</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">n</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,公司需要用</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">1024</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">比特位的</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">n</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,极其重要的场合应该用</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">2048</span><span style="mso-bidi-font-size: 10.0pt; mso-ascii-font-family: Times New Roman; mso-hansi-font-family: Times New Roman; mso-bidi-font-family: Times New Roman; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">比特位的</span><span lang="EN-US" style="mso-bidi-font-size: 10.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">n</span>。</span></font></font></p>  

        </blockquote>

    </td>  

  </tr>  

</table>  

</center></div><div align="center"><center>  

  

<table border="0" width="691">  

  <tr>  

    <td width="100%"><p align="center" style="line-height: 20px"><font size="2"><br>  

    <a href="../security.htm"><img src="../images/back1.gif"  border="0" width="57" height="20"></a><br>  

      </font>  

    <img border="0" src="title2.gif" width="742" height="35"></td>  

  </tr>  

</table>  

</center></div>  

</body>  

</html>  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -