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

📄 des算法图解.htm

📁 是加密算法
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>



<head>

<meta http-equiv="Content-Type"

content="text/html; charset=gb_2312-80">

<meta name="ProgId" content="FrontPage.Editor.Document">

<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">

<title>2</title>

</head>



<body>



<h3

style="margin-left:84.5pt;text-indent:-42.0pt;mso-list:l9 level3 lfo15;

tab-stops:list 84.5pt"><font

color="#FF0000" size="5"><b><span lang="EN-US">2.1.2<span style="font-style: normal; font-variant: normal; font-family: Times New Roman"></span></span><span style="mso-spacerun: yes">&nbsp;&nbsp;</span><span lang="EN-US">DES加密算法</span></b></font></h3>



<p class="MsoNormalIndent"><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">m</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">k</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">64</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">0</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">1</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;">符号串。设</span></p>



<p align="center" class="MsoNormalIndent"

style="text-align:center"><span lang="EN-US">m=m<sub>1</sub>m<sub>2</sub>……m<sub>64</span></sub></p>



<p align="center" class="MsoNormalIndent"

style="text-align:center"><span lang="EN-US">k=k<sub>1</sub>k<sub>2</sub>……k<sub>64</span></sub></p>



<p align="center" class="MsoNormalIndent"

style="text-align:center"><span lang="EN-US">m<sub>i</sub>,k<sub>i</sub>=0</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">1<span style="mso-tab-count:2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

</span>i=1,2,……,64</span></p>



<p class="MsoNormalIndent"><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">k</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">56</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">k<sub>8</sub>,k<sub>16</sub>,k<sub>24</sub>,k<sub>32</sub>,k<sub>40</sub>,k<sub>48</sub>,k<sub>56</sub>,k<sub>64</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;"></sub>这</span><span lang="EN-US">8</span><span style="font-family:

宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">位是奇偶校验位,在算法中不起作用。</span></p>



<p class="MsoNormalIndent"><span style="font-family:宋体;mso-ascii-font-family:

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">加密过程表达如下:</span></p>



<p class="MsoNormalIndent"><span lang="EN-US">DES(m)=IP<sup>-1</span><span style="font-family:宋体;mso-hansi-font-family:&quot;Times New Roman&quot;"></sup>&middot;</span><span lang="EN-US">T<sub>16</span><span style="font-family:宋体;mso-hansi-font-family:

&quot;Times New Roman&quot;"></sub>&middot;</span><span lang="EN-US">T<sub>15</span><span style="font-family:宋体;mso-hansi-font-family:&quot;Times New Roman&quot;"></sub>&middot;</span><span lang="EN-US">……T<sub>2</span><span style="font-family:宋体;mso-hansi-font-family:

&quot;Times New Roman&quot;"></sub>&middot;</span><span lang="EN-US">T<sub>1</span><span style="font-family:宋体;mso-hansi-font-family:&quot;Times New Roman&quot;"></sub>&middot;</span><span lang="EN-US">IP(m)</span></p>



<p class="MsoNormalIndent"

style="margin-left:0cm;mso-list:l0 level1 lfo16;

tab-stops:list 39.0pt 91.5pt"><span lang="EN-US">1.IP</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">IP<sup>-1</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;mso-hansi-font-family:

&quot;Times New Roman&quot;"></sup>是它的逆变换。实际上是将明文</span><span lang="EN-US">m</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">IP</span><span style="font-family:宋体;mso-hansi-font-family:&quot;Times New Roman&quot;">&middot;</span><span lang="EN-US">IP<sup>-1</sup>=I</span><span style="font-family:宋体;mso-ascii-font-family:

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



<p class="MsoNormalIndent"

style="margin-left:0cm;mso-list:l0 level1 lfo16;

tab-stops:list 39.0pt 91.5pt"><span lang="EN-US">2.DES</span><span style="font-family:宋体;mso-ascii-font-family:&quot;Times New Roman&quot;;

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



<p class="MsoNormalIndent" style="text-indent:0cm"><span lang="EN-US">&nbsp;<o:p> </o:p> </span></p>



<p class="MsoNormalIndent" style="text-indent:0cm"><span lang="EN-US">&nbsp;<o:p> </o:p> </span></p>



<p class="MsoNormalIndent" style="text-indent:0cm"><!--[if gte vml 1]><o:wrapblock><v:group

  id="_x0000_s1026" style='position:absolute;left:0;text-align:left;

  margin-left:198pt;margin-top:23.4pt;width:1in;height:139.95pt;z-index:1'

  coordorigin="5400,5193" coordsize="1440,2799" o:allowincell="f">

  <v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m0,0l0,21600,21600,21600,21600,0xe">

   <v:stroke joinstyle="miter"/>

   <v:path gradientshapeok="t" o:connecttype="rect"/>

  </v:shapetype><v:shape id="_x0000_s1027" type="#_x0000_t202" style='position:absolute;

   left:5670;top:5193;width:900;height:468'>

   <v:textbox style='mso-next-textbox:#_x0000_s1027'>

    <![if !mso]>

    <table cellpadding=0 cellspacing=0 width="100%">

     <tr>

      <td><![endif]>

      <div>

      <p class=MsoNormal align=center style='text-align:center'><span

      lang=EN-US>T</span></p>

      </div>

      <![if !mso]></td>

     </tr>

    </table>

    <![endif]></v:textbox>

  </v:shape><v:group id="_x0000_s1028" style='position:absolute;left:5400;

   top:5964;width:1440;height:468' coordorigin="5400,6276" coordsize="1440,468">

   <v:roundrect id="_x0000_s1029" style='position:absolute;left:5400;top:6276;

    width:1440;height:468' arcsize=".5"/>

   <v:shape id="_x0000_s1030" type="#_x0000_t202" style='position:absolute;

    left:5760;top:6276;width:720;height:468' filled="f" stroked="f">

    <v:textbox style='mso-next-textbox:#_x0000_s1030'>

     <![if !mso]>

     <table cellpadding=0 cellspacing=0 width="100%">

      <tr>

       <td><![endif]>

       <div>

       <p class=MsoNormal align=center style='text-align:center'><span

       lang=EN-US>IP</span></p>

       </div>

       <![if !mso]></td>

      </tr>

     </table>

     <![endif]></v:textbox>

   </v:shape></v:group><v:line id="_x0000_s1031" style='position:absolute'

   from="6120,5652" to="6120,5964">

   <v:stroke endarrow="block"/>

  </v:line><v:shape id="_x0000_s1032" type="#_x0000_t202" style='position:absolute;

   left:5400;top:6744;width:1440;height:468'>

   <v:textbox style='mso-next-textbox:#_x0000_s1032'>

    <![if !mso]>

    <table cellpadding=0 cellspacing=0 width="100%">

     <tr>

      <td><![endif]>

      <div>

      <p class=MsoNormal align=center style='text-align:center'><span

      style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:

      "Times New Roman"'>迭代</span><span lang=EN-US>16</span><span

      style='font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:

      "Times New Roman"'>次</span></p>

      </div>

      <![if !mso]></td>

     </tr>

    </table>

    <![endif]></v:textbox>

  </v:shape><v:line id="_x0000_s1033" style='position:absolute' from="6120,6432"

   to="6120,6744">

   <v:stroke endarrow="block"/>

  </v:line><v:group id="_x0000_s1034" style='position:absolute;left:5400;top:7524;

   width:1440;height:468' coordorigin="5400,6276" coordsize="1440,468">

   <v:roundrect id="_x0000_s1035" style='position:absolute;left:5400;top:6276;

    width:1440;height:468' arcsize=".5"/>

   <v:shape id="_x0000_s1036" type="#_x0000_t202" style='position:absolute;

    left:5760;top:6276;width:720;height:468' filled="f" stroked="f">

    <v:textbox style='mso-next-textbox:#_x0000_s1036'>

     <![if !mso]>

     <table cellpadding=0 cellspacing=0 width="100%">

      <tr>

       <td><![endif]>

       <div>

       <p class=MsoNormal align=center style='text-align:center'><span

       lang=EN-US>IP<sup>-1</sup></span></p>

       </div>

       <![if !mso]></td>

      </tr>

     </table>

     <![endif]></v:textbox>

   </v:shape></v:group><v:line id="_x0000_s1037" style='position:absolute'

   from="6120,7212" to="6120,7524">

   <v:stroke endarrow="block"/>

  </v:line><w:wrap type="topAndBottom"/>

 </v:group><![endif]--> <span style="mso-ignore:vglayout"> </p>



<table border="0" cellpadding="0" cellspacing="0">

    <tr>

        <td width="264" height="0"> </td>

    </tr>

    <tr>

        <td> </td>

        <td><img src="../img/2.1.2.40.gif" width="99"

        height="189"

        v:shapes="_x0000_s1026 _x0000_s1027 _x0000_s1028 _x0000_s1029 _x0000_s1030 _x0000_s1031 _x0000_s1032 _x0000_s1033 _x0000_s1034 _x0000_s1035 _x0000_s1036 _x0000_s1037"></td>

    </tr>

</table>

</span><!--[if gte vml 1]></o:wrapblock><![endif]-->

<p><br clear="all" style="mso-ignore:vglayout">

<span lang="EN-US">&nbsp;<o:p> </o:p> </span><br clear="all" style="mso-ignore:vglayout">

</p>



<p class="MsoNormalIndent"><span style="font-family:宋体;mso-ascii-font-family:

&quot;Times New Roman&quot;;mso-hansi-font-family:&quot;Times New Roman&quot;">每一次迭代过程如下:</span></p>



<p class="MsoNormalIndent"><!--[if gte vml 1]><o:wrapblock><v:shapetype id="_x0000_t75"

  coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"

  filled="f" stroked="f">

  <v:stroke joinstyle="miter"/>

  <v:formulas>

   <v:f eqn="if lineDrawn pixelLineWidth 0"/>

   <v:f eqn="sum @0 1 0"/>

   <v:f eqn="sum 0 0 @1"/>

   <v:f eqn="prod @2 1 2"/>

   <v:f eqn="prod @3 21600 pixelWidth"/>

   <v:f eqn="prod @3 21600 pixelHeight"/>

   <v:f eqn="sum @0 0 1"/>

   <v:f eqn="prod @6 1 2"/>

   <v:f eqn="prod @7 21600 pixelWidth"/>

   <v:f eqn="sum @8 21600 0"/>

   <v:f eqn="prod @7 21600 pixelHeight"/>

   <v:f eqn="sum @10 21600 0"/>

  </v:formulas>

  <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>

  <o:lock v:ext="edit" aspectratio="t"/>

 </v:shapetype><v:shape id="_x0000_s1064" type="#_x0000_t75" style='position:absolute;

  left:0;text-align:left;margin-left:45pt;margin-top:187.65pt;width:174pt;

  height:20pt;z-index:-2;mso-wrap-edited:f;mso-position-horizontal-relative:text;

⌨️ 快捷键说明

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