- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DES加密课设剖析
DES算法介绍DES( Data Encryption Standard)算法,于1977年得到美国政府的正式许可,是一种用56位密钥来加密64位数据的方法。虽然56位密钥的DES算法已经风光不在,而且常有用Des加密的明文被破译的报道,但是了解一下昔日美国的标准加密算法总是有益的,而且目前DES算法得到了广泛的应用,在某些场合,仍然发挥着余热。DES (Data Encryption Standard),是IBM在上个世纪70年代开发的单密钥对称加解密算法。该算法利用一个56+8奇偶校验位(第8, 16, 24, 32, 40, 48, 56, 64位)=64位的密钥对以64位为单位的块数据进行加解密。DES算法流程产生秘钥Pc-1置换秘钥为64位,通过置换后为56位,其中秘钥的8*i位剔除。置换规则为按照pc-1表中的位置进行置换,56位秘钥k1的第一位为旧秘钥的第57位,第二位为旧秘钥的49位。PC-157494133251791585042342618102595143352719113605244366355473931231576254463830221466153453729211352820124C0,D0初始化产生的56位秘钥k1的前半部分为C0,后半部分为D0。循环左移按照循环左移表进行顺序循环左移,C1和D1分别为C0和D0左移1位……C3和D3分别为C2和D2左移2位……C16和D16分别为C15和D15左移1位。循环左移表迭代顺序12345678910111213141516左移位数1122222212222221Pc-2置换同Pc-1置换,在每次循环左移后得到的数据经过Pc-2置换后就可以得到秘钥。PC-2PC-21417112415328156211023191242681672720132415231374755304051453348444939563453464250362932最终得到16组秘钥key={key1,key2…..key16}流程图加密数据初始IP置换操作方法同Pc-1,Pc-2置换,将64位明文置换后打乱顺序IP58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157L0,R0初始化将初始ip置换后的比特串被分为32位的左半部分L0和32位的右半部分R0两部分,用于后面的16轮迭代运算的首次迭代的初始输入。E盒置换(R0拓展)通过E盒置换,达到将R0从32位变为48位的作用,以便于产生的秘钥集合进行异或运算。异或运算将上一步经过E盒变换后的R0与key1进行异或操作,结果保存进行下一步操作。S盒置换将异或运算得到的48位结果数据分成8个6位的块,将每一块通过对应的一个S盒产生一个4位的输出,S盒接收6位的输入,经过置换输出4位的数据。其具体置换过程为:将6位输入中的第1位和第6位取出来形成一个2位的二进制数x,将其转化为十进制作为行数,然后将中间4位构成另一个二进制数y,将其转化为十进制作为列数,然后查出相应S盒的x行y列所对应的整数,将该整数置换为一个4位的二进制数,即为S盒的输出。例如,假设输入数据中的第一个6位数字块为010111,则需要通过查S1盒,先取出010111的第1位和第6位,得x=01,其对应的十进制数为1;然后取出中间的4位1011,得y=1011,其对应的十进制数为11,在S1盒中,第1行第11列的整数为11,将其转换为二进制为1011,则输出1011,即用4位的1011代替6位的010111。将8个6位数据的置换结果连在一起,形成一个32位的输出。S盒P盒置换将S盒的输出结果再通过一个P盒置换产生一个32位的输出。P盒P1672021291228171152326518311028241432273919133062211425异或运算将上一步的结果与L0异或运算。左右交换位置将上一步的结果赋给R1,R0则原封不动的赋给L1,至此,所有准备工作已经完成。进行迭代由于上一步已经将L1R1计算完,之后还有15次相同的迭代运算,其中规则均为:生成密文最终得到L16R16,改变顺序为R16L16,进行IP-1置换操作,即为最终密文。IP-1IP-140848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725流程图解密由于DES为对称算法,故解密只需要将密文按照加密的流程进行计算,唯一的区别是与秘钥异或运算
文档评论(0)