Des加解密算法详解

Des加解密算法详解

ID:39548467

大小:161.50 KB

页数:12页

时间:2019-07-06

Des加解密算法详解_第1页
Des加解密算法详解_第2页
Des加解密算法详解_第3页
Des加解密算法详解_第4页
Des加解密算法详解_第5页
资源描述:

《Des加解密算法详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DES加解密算法入口参数有三个:key、data、mode。key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。  DES(DataEncryptionStandard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。虽然56位密钥的DES算法已经风光不在,而且常有用Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益

2、的,而且目前DES算法得到了广泛的应用,在某些场合,仍然发挥着余热。DES(DataEncryptionStandard),是IBM在上个世纪70年代开发的单密钥对称加解密算法。该算法利用一个56+8奇偶校验位(第8,16,24,32,40,48,56,64位)=64位的密钥对以64位为单位的块数据进行加解密。1、子密钥的生成过程:用户输入密码时其长度不受限制,当用户输入的密码长度为0时,使用缺省64位密码,当输入的密码长度大于8字节时,前8个字节为有效密码。我们在加密时设定的密钥先被转化成64比特的二进制,然后再按照密钥置换函数PC-1(8x7)进行压缩置换,变成56位,将其

3、置换的输出再分为前28位C0和后28位D0两部分。然后再将此两部分进行16轮的循环左移及压缩置换PC-2(8X6),最后生成16个48位的字密钥。1.1 压缩置换到56位假设有密钥K(64位)=133457799BBCDFF1,即:K(64位)=0001001100110100010101110111100110011011101111001101111111110001其中加粗标注第8位、第16位、第24位、第32位、第40位、第48位、第56位、第64位作为奇偶校验位,不参与运算,即实际密钥为56位。对K(64位)使用PC-1(8×7)进行置换,去掉了8个校验位。表1 密钥

4、置换函数PC-1(8x7)PC-157494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124从而,由K(64位)=0001001100110100010101110111100110011011101111001101111111110001得到K'(56位)=111100001100110010101010111101010101011001100111100011111.2 C0和D0的分类经过PC-1置换后,将其置换的输出再

5、分为前28位C0和后28位D0两部分,如图1所示。图1 密钥置换输出的分法      C0(28位)=1111000 0110011 0010101 0101111      D0(28位)=0101010 1011001 1001111 00011111.3 循环左移16轮再将两部分按照表2进行16轮的循环左移。表2 每轮移动的位数迭代顺序12345678910111213141516左移位数1122222212222221      C1和D1分别为C0和D0左移1位……C3和D3分别为C2和D2左移2位……C16和D16分别为C15和D15左移1位。 从而得到C1D1~C

6、16D16:C1=1110000110011001010101011111D1=1010101011001100111100011110C2=1100001100110010101010111111D2=0101010110011001111000111101C3=0000110011001010101011111111D3=0101011001100111100011110101C4=0011001100101010101111111100D4=0101100110011110001111010101……1.4 压缩置换到48位每进行一轮循环左移,就按照表4进行压缩置换,得到

7、一个子密钥。即置换后的输出数据的位数要比置换前输入的位数要少,原来的8行7列共56位数据被压缩成8行6列48位数据。在压缩置换过程中,第9、18、22、25、35、38、43、54共8位数据被丢掉。表3 压缩置换PC-2(8x6)PC-21417112415328156211023191242681672720132415231374755304051453348444939563453464250362932置换过程如图2所示图2子密钥Kn的产生Kn(48位)=PC-2(CnDn(56位)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。