论文部分内容阅读
现代密码学理论和密码技术是信息安全的重要基础。分组密码是密码学的一个重要分支,它具有速度快、易于标准化和便于软硬件实现等特点,通常是信息与网络安全中实现数据加密、数字签名、认证及密钥管理的核心体制。而S盒是许多分组密码算法中的唯一非线性部件,因此,它的密码强度决定了整个分组密码算法的安全强度。围绕着S盒的设计及安全性分析,本论文取得了以下三方面的主要研究成果。1.本文首先对Rijndael算法中S盒的构造机制进行了研究,同时还讨论了如何由S盒的生成矩阵产生S盒的生成多项式。然后通过将有限域上的乘法逆元与一个可逆仿射变换相结合构造了一批8×8、6×6和4×4的S盒,并从方差的角度分析了S盒的雪崩概率,同时总结出部分结论。本文所提出的构造m×n的S盒的两个方案都是通过对构造AES S盒的仿射变换进行变形,而保留求逆变换来实现的。实验表明,用类AES S盒的构造方法构造出来的6×4的S盒较之DES S盒以及演化后的DES S盒都具有更好的密码学性能。此外,采用类似的方法构造出了一批其它规模的m×n的S盒,经过测试表明,这批S盒亦具有良好的密码学性能。本文所构造出来的各种规模的S盒及其对它们的分析,有利于今后寻找大批量的密码性能良好的S盒,从而为将来设计各种分组密码算法提供了大量的非线性资源。2.本文对Rijndael算法中的字节代换进行了改进,通过构造多个密码性能良好的8×8的S盒,提出了一种增强型的Rijndael算法。改进后的算法虽然增加了存储空间,但在很一定程度上提高了Rijndael算法的安全性,并从一个例子出发,得出改进后的算法对差分攻击的抵抗能力有了很大提高这一结论。同时,由代码描述可以看出改进后的算法执行效率几乎没有什么降低。最后,在密钥长度和明文长度均为128bit的条件下,从雪崩概率角度对原算法和改进后的算法进行了安全性比较。3.本文利用遗传算法来对S盒进行优化,算法中引入了启发式变异策略,该策略既可以防止优良的基因受到破坏,又可以保证群体中个体的多样性。同时,这种变异规则能够显著地提高算法的搜索效率,可以大大加快算法的收敛速度。基于该方法,我们给出了6×6的S盒优化的完整程序描述,并获得了一批能够有效抵抗线性分析和差分分析的S盒。