?? des算法圖解.htm
字號:
<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"> </span><span lang="EN-US">DES加密算法</span></b></font></h3>
<p class="MsoNormalIndent"><span style="font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"">假定明文</span><span lang="EN-US">m</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"">和密鑰</span><span lang="EN-US">k</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"">都是</span><span lang="EN-US">64</span><span style="font-family:
宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">比特的</span><span lang="EN-US">0</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"">,</span><span lang="EN-US">1</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"">符號串。設</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:"Times New Roman";mso-hansi-font-family:"Times New Roman"">或</span><span lang="EN-US">1<span style="mso-tab-count:2">
</span>i=1,2,……,64</span></p>
<p class="MsoNormalIndent"><span style="font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"">說明:密鑰</span><span lang="EN-US">k</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"">只有</span><span lang="EN-US">56</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"">比特有效,</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:"Times New Roman";mso-hansi-font-family:
"Times New Roman""></sub>這</span><span lang="EN-US">8</span><span style="font-family:
宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">位是奇偶校驗位,在算法中不起作用。</span></p>
<p class="MsoNormalIndent"><span style="font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"">加密過程表達如下:</span></p>
<p class="MsoNormalIndent"><span lang="EN-US">DES(m)=IP<sup>-1</span><span style="font-family:宋體;mso-hansi-font-family:"Times New Roman""></sup>·</span><span lang="EN-US">T<sub>16</span><span style="font-family:宋體;mso-hansi-font-family:
"Times New Roman""></sub>·</span><span lang="EN-US">T<sub>15</span><span style="font-family:宋體;mso-hansi-font-family:"Times New Roman""></sub>·</span><span lang="EN-US">……T<sub>2</span><span style="font-family:宋體;mso-hansi-font-family:
"Times New Roman""></sub>·</span><span lang="EN-US">T<sub>1</span><span style="font-family:宋體;mso-hansi-font-family:"Times New Roman""></sub>·</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:"Times New Roman";
mso-hansi-font-family:"Times New Roman"">是初始變換,</span><span lang="EN-US">IP<sup>-1</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman""></sup>是它的逆變換。實際上是將明文</span><span lang="EN-US">m</span><span style="font-family:宋體;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:
"Times New Roman"">中的字符按照事先規定的次序重新排列。二者滿足</span><span lang="EN-US">IP</span><span style="font-family:宋體;mso-hansi-font-family:"Times New Roman"">·</span><span lang="EN-US">IP<sup>-1</sup>=I</span><span style="font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"">。</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:"Times New Roman";
mso-hansi-font-family:"Times New Roman"">迭代過程。</span></p>
<p class="MsoNormalIndent" style="text-indent:0cm"><span lang="EN-US"> <o:p> </o:p> </span></p>
<p class="MsoNormalIndent" style="text-indent:0cm"><span lang="EN-US"> <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"> <o:p> </o:p> </span><br clear="all" style="mso-ignore:vglayout">
</p>
<p class="MsoNormalIndent"><span style="font-family:宋體;mso-ascii-font-family:
"Times New Roman";mso-hansi-font-family:"Times New Roman"">每一次迭代過程如下:</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 + -