资源描述:
《DES加密算法.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据加密技术网工1001——李治实验原理DES算法的入口参数有三个:Key、Data、Mode.其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密1.为什么Key与Data要是64位的?文档、图片、音频等最终以bit形式在互联网上传输.DES算法加密的就是这一些1010101….字符串第一步:分割置换把要被加密的数据分割成为若干以64bit为单位的数据块,如果位数不够,那么补00或者FF然后按照下表进行置换操作(IP过程)2.到底是补00还是FF?未置换前1,2,3,4,5,6,7
2、,89,10,11,12,13,14,15,1617,18,19,20,21,22,23,2425,26,27,28,29,30,31,3233,34,35,36,37,38,39,4041,42,43,44,45,46,47,4849,50,51,52,53,54,55,5657,58,59,60,61,62,63,64L0置换后58,50,42,34,26,18,10,260,52,44,36,28,20,12,462,54,46,38,30,22,14,664,56,48,40,32,24,16,8R057,49,41,33,25,17,9,159,51,
3、43,35,27,19,11,361,53,45,37,29,21,13,563,55,47,39,31,23,15,7第二步:第一次压缩置换把64位的输入密钥按下表置换(作为奇偶校验位的第8,16,24,32,40,48,56,64位丢掉,剩下的56位作为有效输入密钥)分为W0,Z0两部分W057,49,41,33,25,17,91,58,50,42,34,26,1810,2,59,51,43,35,2719,11,3,60,52,44,36Z063,55,47,39,31,23,157,62,54,46,38,30,2214,6,61,53,45,37,29
4、21,13,5,28,20,12,4第三步:循环左移将W0,Z0(各28位)分别按下表循环左移位,每一轮移位结束后,得到Wi,Zi,将Wi与Zi合并得到K1’---K16’(56位)循环移位表123456789101112131415161122222212222221第四步:第二次压缩置换按照下表对K1’---K16’进行压缩置换,去掉每个子密钥中第9,18,22,25,35,38,43,54八位得到K1,K2.......K16(48位)48位子密钥置换后排列顺序14,17,11,24,1,5,3,2815,6,21,10,23,19,12,426,8,16,7,27,20,
5、13,241,52,31,37,47,55,30,4051,45,33,48,44,49,39,5634,53,46,42,50,36,29,32第五步:扩展置换将第一步生成的有效数据的右半部分R0的32位数据按下表(放大换位表)进行置换,由32位扩展到48位,记作R0’.32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,1112,13,12,13,14,15,16,17,16,17,18,19,20,21,20,2122,23,24,25,24,25,26,27,28,29,28,29,30,31,32,1第六步:异或运算将扩展后的有效数据R0’和K1做异或
6、运算得到48位的加密数据D1第七步:压缩将D1分为8个6位的数据如:D1=D①D②D③D④D⑤D⑥令L1=D②D③D④D⑤H1=D①D⑥计算出H1与L1的值在下表中取值取出的值用四位二进制数表示,最后形成32位数据,记作D1’S1例如:D=101011L1=0101H1=11L1=5H1=3M1=9(D)=1001(B)D1’=M1M2M3………M8012345678910111213141501441312151183106125907101574142131106121195382411481362111512973105031512824917511314100613第八步
7、:置换将D1’按照下表(单纯换位表)做置换得到D1’’f(R0,K1)=D1’’1672021291228171152326518311028241432273919133062211425第十步:将L0与f(R0,K1)做异或运算得到R1,而令L1=R0.第十一步:重复以上运算得到L16与R16.第十二步:合并L16与R16得到64位的数据,按下表置换,生成最终加密数据(IP-1过程).40,8,48,16,56,24,64,32,39,7,47,15,