资源预览内容
第1页 / 共25页
第2页 / 共25页
第3页 / 共25页
第4页 / 共25页
第5页 / 共25页
第6页 / 共25页
第7页 / 共25页
第8页 / 共25页
第9页 / 共25页
第10页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,1. 概述,对称密码技术是最普及的数据加密标准和方法。其中 DES算法应用最为广泛。 DES算法的特点是什么? 密钥如何安全传递共享?,密钥,2,DES(Data Encryption Standard)算法 一种用56位密钥来加密64位数据的方法。 发明人: IBM公司 W.Tuchman和C.Meyer. 基础: 1967年美国Horst Feistel提出的理论; 产生: 美国国家标准局1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告,最终选定DES。,1. 概述,3,DES技术特点 分组加密算法:明文和密文为64位分组长度; 对称算法:加密和解密除密钥编排不同外,使用同一算法; DES的安全性不依赖于算法的保密,安全性仅以加密密钥的 保密为基础; 密钥可为任意的56位数,具有复杂性,使得破译的开销超过 可能获得的利益; 采用替代和置换的组合,共16轮; 只使用了标准的算术和逻辑运算,易于实现,1. 概述,4,2.DES的基本工作流程,DES的基本工作原理 用56位的密钥对64位长的数据块进行16轮加密处理由此得到64位长的密文。,5,2.DES的基本工作流程,6,16轮加密开始先进行 初始置换 16轮加密结束后进行 逆置换,置换和逆置换,2.DES的基本工作流程,7,2.DES的基本工作流程,8,Single Round of DES Algorithm,2.DES的基本工作流程,9,扩展置换: 将输入的32位块扩展到48位的输出块 作用: 它产生了与密钥同长度的数据进行异或运算 它产生了更长的结果,使得在代替运算时能进行压缩 操作: 先把32位分成8个4位的块, 第i块向左,向右各扩展一位,其中左扩展位与第i-1块 的最右一位相同,右扩展位与第i+1块的最左一位相同。,3. 单轮加密详述,10,3. 单轮加密详述,11,压缩替代S(经过异或操作后) 密钥与扩展分组异或以后,将48位的结果进行代替运 算。替代由8个代替盒(S盒)完成。48位块通过S盒压缩到32位块。 48位的输入被分为8个6位的分组,每一分组对应一个S盒代替操作:每一个S盒都有6位输入,4位输出,且这8个S盒是不同的。,3. 单轮加密详述,key,12,S盒操作,3. 单轮加密详述,每个S盒是一个4行、16列的表。盒中的每一项都是一个4bit的数。S盒的6bit输入确定了其对应的输出在哪一行哪一列。 假定将S盒的6bit的输入标记为b1、b2、b3、b4、b5、b6,则b1和b6对应0到3,由此可选择表中的一行。b2到b5 对应0到15,由此可选择表中的一列。,13,DES中其它算法都是线性的,而S盒运算则是非线性的,S盒不易于分析,它提供了更好的安全性;所以,S盒是算法的关键所在。 提供了密码算法所必须的混淆作用; 改变S盒的一个输入位至少要引起两位的输出改变;,3. 单轮加密详述,14,P盒置换: P置换使得一个S盒的输出对下一轮多个S盒产生影响,形成雪崩效应:明文或密钥的一点小的变动都引起密文的较大变化,将P盒置换的结果与最初的64位分组的左半部分异或,接着开始另一轮。,3. 单轮加密详述,15,雪崩效应 Avalanche Effect 明文或密钥的一比特的变化,引起密文许多比特的改变。如果变化太小,就可能找到一种方法减小有待搜索的明文和密文空间的大小。 如果用同样密钥加密只差一比特的两个明文: 00000000000000000000000 10000000000000000000000 3次循环以后密文有21个比特不同;16次循环后有34个比特不同。 如果用只差一比特的两个密钥加密同样明文: 3次循环以后密文有14个比特不同,16次循环后有35个比特不同,3. 单轮加密详述,16,已知主密钥为64位(其中每个字节的第8位作为奇偶校验位)。略去奇偶校验位,DES的密钥由64位减至56位,对这56位密钥进行如下置换(置换选择1) 经置换后的56位密钥,被分成左右两部分,每部分28位。,4.子密钥生成,L R,17,循环左移 每轮中,这两部分分别循环左移l位或2位。下表给出了每轮移动的位数。,4.子密钥生成,18,压缩置换(也称为置换选择2):将56位密钥压缩成48位。 置换:例如,原第14位在输出时移到了第1位。 压缩:第9、18、22、25以及第35、38、43、54均被略 去。,4.子密钥生成,19,4.子密钥生成,20,5. DES解密,在经过所有的替代、置换、异或和循环移动之后,获得了这样一个非常有用的性质:加密和解密可使用相同的算法。 DES解密结构与其加密结构是对称相似的,使得能用相同的函数来加密或解密每个分组。 二者的唯一不同之处是密钥的次序相反。这就是说,如果各轮的加密密钥分别是K1,K2,K3,K16,那么解密密钥就是K16,K15,K14,K1。为各轮产生密钥的算法也是循环的。密钥向右移动,每次移动位数为0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1。,21,5. DES解密,22,子密钥,子密钥,子密钥,IP,IP,5. DES解密,子密钥,子密钥,子密钥,子密钥,23,已知明文m=computer,密钥k=program,用ASCII码 表示为: m=01100011 01101111 01101101 01110000 01110101 01110100 01100101 01110010 k=01110000 01110010 01101111 01100111 01110010 01100001 01101101 因为k只有56位,必须插入第8,16,24,32,40,48,56,64位奇偶校验位,合成64位。而这8位对加密过程没有影响。,6. DES举例,24,m经过IP置换后得到 L0= 11111111 10111000 01110110 01010111 R0= 00000000 11111111 00000110 10000011 密钥k通过PC-1得到 C0= 11101100 10011001 00011011 1011 D0= 10110100 01011000 10001110 0110 再各自左移一位,通过PC-2得到48位 k1=00111101 10001111 11001101 00110111 00111111 00000110 R0(32位)经E作用扩展为48位, 10000000 00010111 11111110 10000000 11010100 00000110,6. DES举例,25,再和k1作异或运算得到(分成8组) 101111 011001 100000 110011 101101 111110 101101 001110 通过S盒后输出位32比特, 01110110 00110100 00100110 10100001 S盒的输出又经过P置换得到 01000100 00100000 10011110 10011111 计算L1和R1 结果是: 00000000 11111111 00000110 10000011 10111011 10011000 11101000 11001000 迭代16次以后,得到密文: 01011000 10101000 01000001 10111000 01101001 11111110 10101110 00110011,6. DES举例,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号