DES算法的安全性分析

上传人:cn****1 文档编号:587471522 上传时间:2024-09-06 格式:PPT 页数:26 大小:522.51KB
返回 下载 相关 举报
DES算法的安全性分析_第1页
第1页 / 共26页
DES算法的安全性分析_第2页
第2页 / 共26页
DES算法的安全性分析_第3页
第3页 / 共26页
DES算法的安全性分析_第4页
第4页 / 共26页
DES算法的安全性分析_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《DES算法的安全性分析》由会员分享,可在线阅读,更多相关《DES算法的安全性分析(26页珍藏版)》请在金锄头文库上搜索。

1、DES算法的安全性分析算法的安全性分析1 1主要内容主要内容 穷举攻击分析穷举攻击分析 FeistelFeistel模型分析模型分析 S S盒的设计标准盒的设计标准 DESDES算法的互补对称性算法的互补对称性 DESDES算法的加强方案算法的加强方案-多重多重DESDES2 2穷举攻击分析穷举攻击分析 穷举攻击穷举攻击就是对所有可能的密钥逐个进行脱密测试, 直到找到正确密钥为止的一种攻击方法. 穷举攻击穷举攻击判断正确密钥的方法: 将利用试验密钥脱密得到的可能明文与已掌握的明文的信息相比较,并将最吻合的那个试验密钥作为算法输出的正确密钥。 穷举攻击又称为穷尽攻击、强力攻击、蛮干穷举攻击又称为

2、穷尽攻击、强力攻击、蛮干攻击等。只要明文不是随机的,就可实施穷举攻攻击等。只要明文不是随机的,就可实施穷举攻击击。3 3穷举攻击的算法穷举攻击的算法 已知条件:已知密文c及对应的明文m. Step 1 对每个可能密钥k,计算c=D(k,m),并判断c=c是否成立.不成立时返回Step1检验下一个可能密钥,成立时将k作为候选密钥,并执行Step 2. Step 2 利用其它条件对作k进一步确认.确认通过时输出,算法终止.否则返回Step1检验下一个可能密钥.4 4穷举攻击算法的计算复杂性穷举攻击算法的计算复杂性定理定理 设密钥在密钥空间设密钥在密钥空间K中服从均匀分布,且没有中服从均匀分布,且没

3、有等效密钥等效密钥,则穷举攻击平均需要检验完则穷举攻击平均需要检验完 个个密钥后才找到正确密钥。密钥后才找到正确密钥。结论结论: 对对DES算法的穷举攻击平均计算复杂性为算法的穷举攻击平均计算复杂性为255.5 5一、一、 FeistelFeistel模型分析模型分析Li(32位)Ri(32位)Li-1(32位)Ri-1(32位)f 1.1. 设计容易设计容易: :f f 函数不要求可逆函数不要求可逆, ,加、脱密脱算法结加、脱密脱算法结构相同;构相同; 2. 2.强度高:如果强度高:如果f f 函数是随机的函数是随机的, ,则连续若干圈复合则连续若干圈复合形成的函数与随机置换是无法区分的形成

4、的函数与随机置换是无法区分的. .优点优点:6 6Li(32位)Ri(32位)Li-1(32位)Ri-1(32位)f 每圈加密时输入有一半没有改变每圈加密时输入有一半没有改变; 左右块的加密处理不能并行实施左右块的加密处理不能并行实施缺点缺点:7 7Feistel模型实现完全性的性能分析模型实现完全性的性能分析 定义定义2 如果对每个密钥如果对每个密钥k,迭代次数为迭代次数为m的加密变的加密变换换Ek(x)的每个输入比特的变化都的每个输入比特的变化都可能可能会影响到每个输会影响到每个输出比特的变化出比特的变化,则称则称 Ek(x)是完全的是完全的. 意义意义: 实现了实现了Shannon提出的

5、扩散性原则提出的扩散性原则. 扩散原则扩散原则(Diffusion) 让明文中的每一位影响密文中的尽可能多的位,让明文中的每一位影响密文中的尽可能多的位,或者说让密文中的每一位都受到明文中的尽可能多位或者说让密文中的每一位都受到明文中的尽可能多位的影响。的影响。 因为在检验完全性时因为在检验完全性时,无法对所有的密钥都来检验无法对所有的密钥都来检验影响的必然性影响的必然性, 只好退而求其次只好退而求其次,来分析这种可能性来分析这种可能性. 8 8结论结论: (1) Feistel模型至少需要模型至少需要3圈才可实现圈才可实现完全性完全性. (2) 如果如果Feistel模型的模型的 f 函数需

6、要函数需要T圈圈迭代才能实现完全性迭代才能实现完全性,则则Feistel模型经模型经T+2圈圈迭代可实现完全性迭代可实现完全性. (3) DES算法需且只需算法需且只需5圈即可实现圈即可实现完全性完全性!9 9 结论结论: (1) Feistel模型至少需要模型至少需要3圈才可实现完全性圈才可实现完全性,且当其且当其f 函数具有完全性时函数具有完全性时,只需只需3圈即可实现完全性圈即可实现完全性. 证明证明: 设设(x,y)是是Feistel模型的输入模型的输入,则其第则其第1圈至第圈至第3圈的输出依次为圈的输出依次为 如果函数如果函数f是完全的是完全的, 当不考虑变换结果的抵消时当不考虑变换

7、结果的抵消时,则无则无论改变论改变x或或y的一个比特的一个比特, 第第3圈的输出的左半和右半的每圈的输出的左半和右半的每个比特都可能改变个比特都可能改变,这说明此时这说明此时3圈能够实现完全性圈能够实现完全性.1010二、二、DES的的S盒的设计标准盒的设计标准 DES算法的设计者迫于公众压力公布的算法的设计者迫于公众压力公布的S盒的设计标盒的设计标准为准为 1. S盒的每一位输出都不是输入的线性或仿射函数。盒的每一位输出都不是输入的线性或仿射函数。 3. 当固定当固定S盒的盒的1位输入时,位输入时,S盒的每一位输出中盒的每一位输出中0和和1的的个数尽可能平衡。个数尽可能平衡。 2. S盒的输

8、入发生盒的输入发生1比特变化,输出至少有比特变化,输出至少有2比特发生变比特发生变化。化。1111 1. S盒的每一位输出都不是输入的线性或仿射函数。盒的每一位输出都不是输入的线性或仿射函数。 仿射函数的仿射函数的定义定义 设设 f是是n元布尔函数元布尔函数,如果如果则称则称f 是仿射函数是仿射函数;又若仿射函数满足又若仿射函数满足f(0)=0,则则 f 为线性函数为线性函数. 等价定义等价定义: 设设 f是是n元布尔函数元布尔函数,则则 f是仿射函数等价于是仿射函数等价于存在常数存在常数c1,c2,cn和和a使对所有使对所有x,都有都有此时此时,如果如果a=0,则则 f为线性函数为线性函数.

9、 仿射函数的缺点仿射函数的缺点: (1) 输入与输出之间的代数关系太简单输入与输出之间的代数关系太简单; (2) 输入的输入的变化变化与输出的与输出的变化变化之间的代数关系太简单之间的代数关系太简单. 仿射函数的优点仿射函数的优点: 实现简单实现简单1212线性性质是密码设计的大敌线性性质是密码设计的大敌!1313 S盒是盒是DES算法中唯一的非线性变换,是在算法中唯一的非线性变换,是在DES算法起核心作用的密码变换算法起核心作用的密码变换! S盒的设计标准对于实现盒的设计标准对于实现DES算法的完全性,对算法的完全性,对于实现混乱于实现混乱和扩散和扩散原则,对于确保原则,对于确保DES算法的

10、密码算法的密码强度,具有十分重要的作用。强度,具有十分重要的作用。 S盒实现了局部的混乱和扩散;这种局部的混盒实现了局部的混乱和扩散;这种局部的混乱和扩散通过乱和扩散通过E盒和盒和P盒并借助于多次迭代实现了整盒并借助于多次迭代实现了整个密码算法的混乱和扩散。个密码算法的混乱和扩散。 S盒只要稍有改变,其密码强度就会大大降低,盒只要稍有改变,其密码强度就会大大降低,因此,不要试图改变一个密码算法中的任何细节!因此,不要试图改变一个密码算法中的任何细节!1414三、三、DESDES算法的互补对称性算法的互补对称性证明:证明:由于由于DES的的F函数具有性质:函数具有性质:从而从而DES算法的圈函数

11、满足算法的圈函数满足圈变换圈变换Qk故若记故若记,则则有有,令令D是左右块对换是左右块对换,则则证毕证毕定理定理1515互补对称性的缺点互补对称性的缺点: : 结论结论: 利用利用DES算法的互补对称性算法的互补对称性,利用选择明文利用选择明文进行穷举攻击时可将密钥的加密测试量降低一半进行穷举攻击时可将密钥的加密测试量降低一半.攻击方案攻击方案: : Step1 选择两个明密对选择两个明密对 和和 Step2 令令K(0)是最低位为是最低位为0的所有密钥构成的集合的所有密钥构成的集合. Step3 对对K(0)中的每个元中的每个元k,计算计算c=Ek(m),并检验并检验c=c1是否成立是否成立

12、.若成立若成立,则判定则判定k为候选密钥为候选密钥;若不成立若不成立,基基于于利用明密对利用明密对 检验检验 是否为正确密钥是否为正确密钥,即检验即检验是否成立是否成立.若成立若成立,则判定则判定 为候选密钥为候选密钥,否则返回否则返回Step3检验检验K(0)中的下个元中的下个元.1616四、四、DESDES的加强方法的加强方法 DES算法从一出生就受到密钥太短的责难算法从一出生就受到密钥太短的责难,但但NSA却声却声称它具有足够的安全性。尽管如此称它具有足够的安全性。尽管如此,人们仍希望将其密钥变人们仍希望将其密钥变长。长。 将将DES算法的密钥变长的一个可能方法是重新设计密钥算法的密钥变

13、长的一个可能方法是重新设计密钥生成算法,但这时的密码算法就不再是生成算法,但这时的密码算法就不再是DES了,其密码强度了,其密码强度必须重新分析,而且如此修改的密码算法无法与别人使用的必须重新分析,而且如此修改的密码算法无法与别人使用的DES互通,因而是不可取的。互通,因而是不可取的。 此外,此外,DES算法已经做成了一个加密芯片或加密模块,算法已经做成了一个加密芯片或加密模块,如果基于这个已有的产品来加强如果基于这个已有的产品来加强DES,就可降低成本。,就可降低成本。 使用不同的密钥利用使用不同的密钥利用DES算法对明文连续加密就是一种算法对明文连续加密就是一种选择方案,这就产生了二重选择

14、方案,这就产生了二重DES和三重和三重DES。17171. 1. 双重双重DESDES双重双重DES是分别用两个不同的密钥是分别用两个不同的密钥k1和和k2对明文进对明文进行两次行两次DES变换以实现对数据的加密保护,即变换以实现对数据的加密保护,即1818 双重双重DES的密钥长度是的密钥长度是562=112比特。比特。 但是但是,双重双重DES可利用计算复杂性和存可利用计算复杂性和存储复杂性都为储复杂性都为256的中间相遇攻击方案攻破的中间相遇攻击方案攻破.中间相遇攻击是一种以空间换时间的攻中间相遇攻击是一种以空间换时间的攻击方法击方法.双重双重DES的分析的分析1919对双重对双重DES

15、 DES 的中间相遇攻击的中间相遇攻击 Step1 以以k1的的256个可能值个可能值k1为为DES的密钥的密钥对对m加密加密,并将并将所得的所得的256个加密结果个加密结果DESk1(m)与所用密钥与所用密钥k1一起一起,按加密结果按加密结果的大小排序的大小排序,得到有序表得到有序表 L=(DESk1(m) ,k1):k10,156. Step2 对对k2的每个可能值的每个可能值k2为为DES的密钥对的密钥对c脱密脱密,并检查并检查脱密结果脱密结果DESk2-1 (c)是否在表是否在表L中中.如果如果DESk2-1(c)= DESk1(m) 则判定则判定(k1,k2)为候选密钥为候选密钥,否

16、则返回否则返回Step2检验下个可能密钥检验下个可能密钥.直到检验找到正确密钥为止直到检验找到正确密钥为止. 成功率成功率=1; 存储复杂性为存储复杂性为256,最大计算复杂性为最大计算复杂性为257.数据复杂性为数据复杂性为2个已知的明文分组个已知的明文分组.原理原理: :2020双重双重DES的解密的解密21212. 2. 三重三重DESDES 该加密方案使用两个不同的密钥该加密方案使用两个不同的密钥k1和和k2对明文进行三对明文进行三次次DES加密或加密或DES脱密变换,加密函数采用一个加密脱密变换,加密函数采用一个加密-脱脱密密-加密序列:加密序列: 两个密钥的三重两个密钥的三重DES的有效密钥长度是的有效密钥长度是112比特。比特。它是一种较受欢迎的它是一种较受欢迎的DES替代方案替代方案,目前仍然是安全的。目前仍然是安全的。 当当k1=k2时时,三重三重DES就是就是DES,因而三重因而三重DES与与DES算法兼容算法兼容.22222323下节内容分组密码的工作模式分组密码的工作模式24242525DES的的 F 函数函数1232626

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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