- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9讲--DES安全性4
穷举攻击分析 穷举攻击就是对所有可能的密钥逐个进行脱密测试, 直到找到正确密钥为止的一种攻击方法. 穷举攻击判断正确密钥的方法: 将利用试验密钥脱密得到的可能明文与已掌握的明文的信息相比较,并将最吻合的那个试验密钥作为算法输出的正确密钥。 穷举攻击又称为穷尽攻击、强力攻击、蛮干攻击等。只要明文不是随机的,就可实施穷举攻击。 穷举攻击的算法 已知条件:已知密文c及对应的明文m. Step 1 对每个可能密钥k,计算c’=D(k,m),并判断c’=c是否成立.不成立时返回Step1检验下一个可能密钥,成立时将k作为候选密钥,并执行Step 2. Step 2 利用其它条件对作k进一步确认.确认通过时输出,算法终止.否则返回Step1检验下一个可能密钥. 穷举攻击算法的计算复杂性 定理 设密钥在密钥空间K中服从均匀分布,且没有等效密钥,则穷举攻击平均需要检验完 个密钥后才找到正确密钥。 结论: 对DES算法的穷举攻击平均计算复杂性为255. 双重DES的密钥长度是56×2=112比特。 但是,双重DES可利用计算复杂性和存储复杂性都为256的中间相遇攻击方案攻破. 中间相遇攻击是一种以空间换时间的攻击方法. 双重DES的解密 下节内容 分组密码的工作模式 * * DES算法的安全性分析 王 滨 2005年3月18日 主要内容 穷举攻击分析 Feistel模型分析 S盒的设计标准 DES算法的互补对称性 DES算法的加强方案----多重DES 一、 Feistel模型分析 Li(32位) Ri(32位) Li-1(32位) Ri-1(32位) f 1. 设计容易:f 函数不要求可逆,加、脱密脱算法结构相同; 2.强度高:如果f 函数是随机的,则连续若干圈复合形成的函数与随机置换是无法区分的. 优点: Li(32位) Ri(32位) Li-1(32位) Ri-1(32位) f 每圈加密时输入有一半没有改变; 左右块的加密处理不能并行实施 缺点: Feistel模型实现完全性的性能分析 定义2 如果对每个密钥k,迭代次数为m的加密变换Ek(x)的每个输入比特的变化都可能会影响到每个输出比特的变化,则称 Ek(x)是完全的. 意义: 实现了Shannon提出的扩散性原则. 扩散原则(Diffusion) 让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位的影响。 因为在检验完全性时,无法对所有的密钥都来检验影响的必然性, 只好退而求其次,来分析这种可能性. 结论: (1) Feistel模型至少需要3圈才可实现完全性. (2) 如果Feistel模型的 f 函数需要T圈迭代才能实现完全性,则Feistel模型经T+2圈迭代可实现完全性. (3) DES算法需且只需5圈即可实现完全性! 结论: (1) Feistel模型至少需要3圈才可实现完全性,且当其f 函数具有完全性时,只需3圈即可实现完全性. 证明: 设(x,y)是Feistel模型的输入,则其第1圈至第3圈的输出依次为 如果函数f是完全的, 当不考虑变换结果的抵消时,则无论改变x或y的一个比特, 第3圈的输出的左半和右半的每个比特都可能改变,这说明此时3圈能够实现完全性. 二、DES的S盒的设计标准 DES算法的设计者迫于公众压力公布的S盒的设计标准为 1. S盒的每一位输出都不是输入的线性或仿射函数。 3. 当固定S盒的1位输入时,S盒的每一位输出中0和1的个数尽可能平衡。 2. S盒的输入发生1比特变化,输出至少有2比特发生变化。 1. S盒的每一位输出都不是输入的线性或仿射函数。 仿射函数的定义 设 f是n元布尔函数,如果 则称f 是仿射函数;又若仿射函数满足f(0)=0,则 f 为线性函数. 等价定义: 设 f是n元布尔函数,则 f是仿射函数等价于存在常数c1,c2,…,cn和a使对所有x,都有 此时,如果a=0,则 f为线性函数. 仿射函数的缺点: (1) 输入与输出之间的代数关系太简单; (2) 输入的变化与输出的变化之间的代数关系太简单. 仿射函数的优点: 实现简单 线
文档评论(0)