crypto4c-ch06-其他对称算法

上传人:油条 文档编号:2740498 上传时间:2017-07-27 格式:PPT 页数:83 大小:1.24MB
返回 下载 相关 举报
crypto4c-ch06-其他对称算法_第1页
第1页 / 共83页
crypto4c-ch06-其他对称算法_第2页
第2页 / 共83页
crypto4c-ch06-其他对称算法_第3页
第3页 / 共83页
crypto4c-ch06-其他对称算法_第4页
第4页 / 共83页
crypto4c-ch06-其他对称算法_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《crypto4c-ch06-其他对称算法》由会员分享,可在线阅读,更多相关《crypto4c-ch06-其他对称算法(83页珍藏版)》请在金锄头文库上搜索。

1、密码编码学与网络安全,电子工业出版社2006 - 2007,第6章 其他对称密码算法,6.1 3DES*6.a 其他分组对称算法Blowfish, RC5, RC2, IDEA, CAST-128 6.2 分组算法的工作模式ECB, CBC, OFB, CFB, 6.3 流密码和RC4*6.b NESSIE,6.1 3DES,DES回顾2DES2K3DES3K3DES,DES回顾,Feistel网络DESDES(P, K) = CDES(C, K) = PDES强度分析DES破译,DES总结,DES算法对个人用户仍值得信赖DES算法本身没有大的缺陷对DES攻击方法复杂度为247DES使用的25

2、6密钥空间不够大,蛮力攻击目前已能够奏效 (DES Challenges III),所以关键场合不能使用了DES已经不再是推荐标准DES还是AES,或者RC4、RC5、IDEA、BFFree/OpenDES模块仍广泛存在保护和延续DES投资对DES的改造使用现存的软件硬件在强度上提高,DES改造思路,算法基本函数不能改变否则将不能利用现有的软硬件部署密钥空间得加大密钥过短正是目前DES的主要弱点,加大密钥空间以抵抗穷举攻击三个递进思路:* 用2个key,加密2回* 用3个key,加密3回* 用2个key,加密3回,2DES - Double DES,CDES(DES(P,K1),K2)PDES

3、(DES(C,K2),K1)CEK2(EK1(P)PDK1(DK2(C)主要用意密钥空间 256 2112,Double DES分析,是否存在另外的一个kx,使EKx(P)EK2(EK1(P)* 即DES是否是一个群 (group)如果是,那么用两个密钥就没有意义直观上看,因为256 (264)!,故大概不会事实上,DES is not a group Keith W. Campbell, Michael J. Wiener 1992http:/ (meet-in-the-middle attack),由于CEK2(EK1(P),故存在中间值XEK1(P)DK2(C)如已知明密文对(Pa, C

4、a)则可找到对应的Xa和K1及K2 1. 构造(Pa,K1,XEK1 (Pa))共256项,按X值排序 2. 构造(Ca,K2,XDK2(Ca))共256项,按X值排序 3. 对X值取交集,则所对应的K1、K2以很大的概率正确 4. 用另外一对明密文对(Pb,Cb)验证,几可定夺用K1的所有可能加密Pa,获得一个很大的表;用所有可能的K2解密Ca,找其结果在是否在表中,3DES - Triple DES,使用3个密钥,168bits抵抗中间相遇攻击,从256 2112了EK3(EK2(EK1(P)C DK1(DK2(DK3(C)P为了对称性:EK3(DK2(EK1(P)CDK1(EK2(DK3

5、(C)P进一步,取K3K1,即2key3desEK1(DK2(EK1(P)CDK1(EK2(DK1(C)P,多重DES应用,3DES(2K/3K)是高强度的加密算法实现方便,节省投资DES模块本身不需改变,只改变上层应用程序应用情况PGP、S/MIME、Mozilla,加密算法(in Mozilla),6.a 其他分组对称算法,BlowfishRC5RC2IDEACAST-128,Blowfish,Bruce Schneierhttp:/ BooksApplied CryptographyPractical CryptographySecrets & LiesBeyond Fear,Blowf

6、ish,基本参数分组大小 64bits密钥变长 32 448bits基本操作MOD 232加法;XOR特性结构简单快速,32字长处理器上 每字节18个时钟紧凑,占用内存5k密钥变长灵活 * 属于改进的类Feistel网络结构稍有变化,即每轮两半都被异或而变化动态S盒,Subkey & S-Box,Key 114个32bit字18个32bit子钥4个(256项32bits)S-Boxes演化用作子钥和S盒初始值,共18项1024项521对把K和18个子钥XOR(重复使用K)初始用64bits 0,使用当前的子钥和S盒加密每一对,用密文取代其相邻的后面一对演化操作本身很慢阻止了穷举密钥攻击不适合频

7、繁更换密钥的场合,Blowfish Enc/Dec,Blowfish 特点,S盒依赖于密钥密钥可以足够长强力攻击更费时密钥可以很长子钥的产生很费事,Speed Comparisons (1),Speed Comp (2) (on a Pentium),by Scheiner,Feature对比,NameBlock sizeKey sizeRoundsDES645616IDEA641288Blowfish 6432-44816RC5 32,64,1280,2040xRC2648-102416CAST-128 6440-12816,RC5,Ron Rivesthttp:/theory.lcs.mi

8、t.edu/rivest/ RSA、RC2/4/5/6、MD2/4/5R、A、S,RC5参数,字长可变半个分组的大小可以是16、32、64bits循环轮数可变0255轮密钥长度可变02040bits(0255bytes)* RC5-32/12/16 (推荐组合)64bits分组、12轮循环、128bits密钥的RC5,RC5基本操作,模2w的字加法w是字长,即半个分组的宽度XOR循环移位左移 x y* 类 (almost) Feistel网络,RC5 子钥扩展,子钥有t个,宽度w bitst22r2(额外) r轮循环2子钥数组S0,S1,St-1初值为特定常量(来源于无理数e, )0xb7e1

9、51628aed2a6b 0x9e3779b97f4a7c15 把主密钥混合到S中,RC5 Enc/Dec,RC5 特性,适应性好适应机器字长的参数适合硬件和软件实现只用到简单的初等运算内存要求小在安全性和速度之间可取舍轮数,密钥长度* RC6基于RC5的, 并改进以配合AES要求分4半,而不是2半,RC5 in RFC,The RC5, RC5-CBC, RC5-CBC-Pad, and RC5-CTS Algorithms http:/www.faqs.org/rfcs/rfc2040.html RC5 and RC6http:/ RC2、RC4RC2/4/5/6, MD2/4/5 all

10、 by Ron Rivest,RC2,基本参数分组长度 64bits密钥长度 81024bits轮数16(但不是Feistel结构)特点为16bits字长的处理器设计应用在S/MIME(vs. PGP)PKCS#7Mozilla中有40bits RC2rfc2268A Description of the RC2(r) Encryption Algorithm,RC2 密钥扩展,子钥128字节数组 L0, 1, , 127(或者叫K64)辅助数组 PT0, 1, , 255(基于的)主密钥T个字节先放入L0, 1, , T-1for i = T, T+1, ., 127 do Li = PIT

11、ABLELi-1 + Li-T;L128-T8 = PITABLEL128-T8 & TM;for i = 127-T8, ., 0 do Li = PITABLELi+1 XOR Li+T8; (take from rfc 2268),RC2基本操作,加法模2wXOR位取反位与循环左移,RC2加密过程,1. Initialize words R0, ., R3 to contain the 64-bit input value.2. Expand the key, so that words K0, ., K63 become defined.3. Initialize j to zero.

12、4. Perform five mixing rounds.5. Perform one mashing round.6. Perform six mixing rounds.7. Perform one mashing round.8. Perform five mixing rounds.,Mix in RC2,Mix up Ri:Ri = Ri + Kj + (Ri-1 & Ri-2) + (Ri-1) & Ri-3); j = j + 1; Ri = Ri rol si; * Mixing round:Mix up R0Mix up R1Mix up R2Mix up R3,Mash

13、in RC2,Mash Ri:Ri = Ri + KRi-1 & 63; * Mashing roundMash R0Mash R1Mash R2Mash R3,RC2 Decryption,1. Initialize words R0, ., R3 to contain the 64-bit ciphertext value.2. Expand the key, so that words K0, ., K63 become defined.3. Initialize j to 63.4. Perform five r-mixing rounds.5. Perform one r-mashi

14、ng round.6. Perform six r-mixing rounds.7. Perform one r-mashing round.8. Perform five r-mixing rounds.,IDEA,International Data Encryption AlgorithmsLai Xuejia, James Massey1990 PES 差分攻击复杂度仅为2641991 改进对抗差分分析IPES1992 IDEA基本参数类Feistel结构 分组64b 密钥128b 分组被分为4半 8轮AES()AES shall be designed so that the key length may be increased as needed Ref tohttp:/ LAI 90、91、92,IDEA Patent,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号