📄 中国信息安全组织--pki与pmi技术--对称算法(一) des算法.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0059)http://www.infosecurity.org.cn/content/pki_pmi/DES_arit.htm -->
<HTML xmlns:o = "urn:schemas-microsoft-com:office:office"><HEAD><TITLE>中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法</TITLE>
<SCRIPT language=JavaScript>function doZoom(size){ document.getElementById('zoom').style.fontSize=size+'px'}</SCRIPT>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2800.1226" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<STYLE type=text/css>.p13 {
FONT-SIZE: 13px; FONT-FAMILY: "宋体"
}
.pd13 {
FONT-WEIGHT: bold; FONT-SIZE: 13px; FONT-STYLE: normal; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
.p12 {
FONT-SIZE: 12px; FONT-FAMILY: "宋体"
}
TABLE {
FONT-SIZE: 12px; LINE-HEIGHT: 150%; FONT-FAMILY: "宋体"
}
.table1 {
FONT-SIZE: 14px; LINE-HEIGHT: 110%; FONT-FAMILY: "宋体"
}
.tdb {
BORDER-RIGHT: #feb154 1px solid; PADDING-RIGHT: 20px; BORDER-TOP: #feb154 1px solid; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; BORDER-LEFT: #feb154 1px solid; PADDING-TOP: 20px; BORDER-BOTTOM: #feb154 1px solid
}
.tdb2 {
BORDER-RIGHT: #feb154 1px solid; BORDER-TOP: #feb154 1px solid; BORDER-LEFT: #feb154 1px solid; BORDER-BOTTOM: #feb154 1px solid
}
SELECT {
FONT-SIZE: 12px; FONT-FAMILY: "宋体"
}
A {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
A:hover {
FONT-SIZE: 12px; COLOR: #ed1254; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
A.head {
FONT-SIZE: 12px; COLOR: #dddddd; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
A.head:hover {
FONT-SIZE: 12px; COLOR: #ffffff; FONT-FAMILY: "宋体"; TEXT-DECORATION: none
}
A.product {
FONT-SIZE: 12px; COLOR: #000000; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
A.product:hover {
FONT-SIZE: 12px; COLOR: #ed1254; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
product.head {
FONT-SIZE: 12px; COLOR: #dddddd; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
product.head:hover {
FONT-SIZE: 12px; COLOR: #ffffff; FONT-FAMILY: "宋体"; TEXT-DECORATION: underline
}
.LI {
FONT-SIZE: 12px; LINE-HEIGHT: 17px; FONT-FAMILY: 宋体,arial
}
.tdbord {
BORDER-RIGHT: #feb154 1px solid; BORDER-TOP: black 0px solid; BORDER-LEFT: #feb154 1px solid; BORDER-BOTTOM: #feb154 0px solid
}
.tdb1 {
BORDER-RIGHT: #feb154 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #feb154 1px solid; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; BORDER-LEFT: #feb154 1px solid; PADDING-TOP: 0px; BORDER-BOTTOM: #feb154 1px solid
}
</STYLE>
</HEAD>
<BODY leftMargin=0 topMargin=0>
<TABLE cellSpacing=0 cellPadding=0 width=20 align=center border=0>
<TBODY>
<TR>
<TD bgColor=#000066>
<TABLE borderColor=#003399 height=194 cellSpacing=1 cellPadding=0
width=735 border=0>
<TBODY>
<TR>
<TD bgColor=#6699ff height=20>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=center align=middle width="18%" height=19><B><SPAN
class=t14>查看文章</SPAN></B></TD>
<TD width="82%"
background="中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法.files/tabtitleline.jpg"
height=19> </TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD vAlign=top bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top align=middle height=408><BR>
<TABLE width="100%" border=0>
<TBODY>
<TR>
<TD align=middle height=40><B><FONT
style="FONT-SIZE: 16px" color=#000033>标题</FONT></B><FONT
color=#000033><B><FONT
style="FONT-SIZE: 16px">:对称算法(一)DES算法<BR><BR></FONT></B><BR></FONT><FONT
color=#999999><BR><FONT color=#000099>时间:<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y-%m-%d" startspan -->2004-07-17<!--webbot bot="Timestamp" endspan i-checksum="12449" -->
</FONT></FONT><FONT class=f14 id=zoom><FONT
color=#000066><IMG height=8
src="中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法.files/colorline.jpg"
width=710></FONT></FONT></TD></TR>
<TR>
<TD align=right><FONT color=#000066>来源:中国信息安全组织 [原创]
张荣华 <BR>Email:webmaster@infosecurity.org.cn
rainbow_zrh@sina.com<BR><BR><BR><BR></FONT></TD></TR></TBODY></TABLE>
<P align=left><IMG height=10
src="中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法.files/icon4.gif"
width=10 border=0> <FONT color=#003399><B>1
简介</B></FONT><BR> DES是Data Encryption
Standard(数据加密标准)的缩写。它是由IBM公司研制的一种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准,二十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色[10]。<BR>
DES是一个分组加密算法,他以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是56位(因为每个第8位都用作奇偶校验),密匙可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。<BR><B><FONT
color=#003399><IMG height=10
src="中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法.files/icon4.gif"
width=10 border=0> 2 算法框架[11]</FONT></B>:<BR>
DES对64(bit)位的明文分组M进行操作,M经过一个初始置换IP置换成m0,将m0明文分成左半部分和右半部分m0=(L0,R0),各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密匙结合。经过16轮后,左,右半部分合在一起经过一个末置换,这样就完成了[12]。<BR>
在每一轮中,密匙位移位,然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据,在将其置换换一次。这四步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分。将该操作重复16次,就实现了。具体图4所示。<BR><BR>
<IMG height=461
src="中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法.files/des_alg.jpg"
width=527
border=0><BR><BR>
图4 DES算法框图<BR><BR><B><FONT color=#003399><IMG height=10
src="中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法.files/icon4.gif"
width=10 border=0> 3 DES解密</FONT></B><BR>
在经过所有的代替、置换、异或盒循环之后,你也许认为解密算法与加密算法完全不同。恰恰相反,经过精心选择的各种操作,获得了一个非常有用的性质:加密和解密使用相同的算法。<BR>DES加密和解密唯一的不同是密匙的次序相反。如果各轮加密密匙分别是K1,K2,K3….K16那么解密密匙就是K16,K15,K14…K1。<BR><B><FONT
color=#003399><IMG height=10
src="中国信息安全组织--PKI与PMI技术--对称算法(一) DES算法.files/icon4.gif"
width=10 border=0> 4 DES的几种工作方式</FONT></B><BR> <FONT
color=#cc3300>第一种电子密本方式(ECB)</FONT><BR>
将明文分成n个64比特分组,如果明文长度不是64比特的倍数,则在明文末尾填充适当数目的规定符号。对明文组用给定的密钥分别进行加密,行密文C=(C0,C1,……,Cn-1)其中Ci=DES(K,xi),i=0,1,…..,n-1。<BR>
<FONT color=#cc3300>第二种密文分组链接方式(CBC)</FONT><BR>
在CBC方式下,每个明文组xi在加密前与先一组密文按位模二加后,再送到DES加密,CBC方式克服了ECB方式报内组重的缺点,但由于明文组加密前与一组密文有关,因此前一组密文的错误会传播到下一组。<BR>
<FONT
color=#cc3300>第三种密文反馈方式(CFB),可用于序列密码</FONT><BR>
明文X=(x0,x1,……,xn-1),其中xi由t个比特组成0<t≤64。CFB实际上将DES作为一个密钥流发生器,在t比特密文的反馈下,每次输出t比特乱数对t比特明文进行加密。由于CFB是密文反馈,它对密文错误较敏感,t比特密文中只要有一个比特错误,就会导致连续数个t
比特出错。<BR> <FONT
color=#cc3300>第四种输出反馈方式(OFB),可用于序列密码</FONT><BR>
与CFB唯一不同的是OFB是直接取DES输出的t个比特,而不是取密文的t个比特,其余都与CFB相同。但它取的是DES的输出,所以它克服了CFB的密文错误传播的缺点
<TABLE cellPadding=5 width="100%" border=0>
<TBODY>
<TR>
<TD class=c><FONT class=f14 id=zoom>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 20pt; mso-line-height-rule: exactly"
align=left><SPAN lang=EN-US
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体"><o:p></SPAN></FONT><FONT
color=#000099><B></o:p></B></FONT></P><FONT class=f14
id=zoom>
<P class=MsoNormal
style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 20pt; mso-line-height-rule: exactly"
align=left><SPAN lang=EN-US
style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体"><o:p> </o:p>
</SPAN></P></FONT></TD></TR>
<TR>
<TD align=right>【<A
href="javascript:window.close()"><FONT
color=#000066>关闭窗口</FONT></A>】</TD></TR></TBODY></TABLE>
<HR>
<P align=center><A
href="http://www.infosecurity.org.cn/aboutus.html"><B>关于我们</B></A>|
<A
href="http://www.infosecurity.org.cn/zgjs.html"><B>征搞启示</B></A>
| <A
href="http://www.infosecurity.org.cn/rightdecl.html"><B>版权信息</B></A>
| <A
href="http://www.infosecurity.org.cn/contactus.html"><B>联系我们</B></A>
<CENTER><FONT color=#0480fb>版本所有:中国信息安全组织 <SPAN class=t-w2>©
2003-2004</SPAN></FONT></CENTER></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -