论文部分内容阅读
随着密码算法设计和分析的不断发展,密码算法设计思想之间的相互借鉴和融合已成为一种趋势。在SP结构的分组密码算法中,鉴于S盒的设计和分析已相对成熟和完善,对P置换的构造和分析成为近年来的一个热点问题,P置换作为轮函数的一部分对整个密码算法的安全性起着至关重要的作用,考虑置换好坏的性能指标——分支数,扮演着尤为重要的角色,因此,设计一个扩散性能尽可能优良的变换对于密码算法的设计与分析具有重要的意义。本文的主要工作是:首先,介绍目前分组密码算法一般设计原理,给出当前主要的密码算法攻击手法,简要介绍两个典型的分组密码算法Camellia和CLEFIA;其次,对Camellia算法的不可能差分分析方法做深入探索和研究,掌握其中使用的方法和技巧,并首次成功攻击了13轮没有白化密钥的CLEFIA-128算法;然后,采用模加(Addition)、循环移位(Rotation)和异或(XOR)三种运算(以下简称ARX结构),设计了具备混淆和扩散两种性质且分支数达到最佳的混合变换(Mixing Transformation)以下简称MT变换,分析了它的特点,并应用于分组密码算法的设计;进一步,设计了一种以字节变换为单位的Feistel结构的密码算法,称为LD算法,并对其设计原理和各个部件给予了详细描述。最后,对MT变换的选取尤其是针对环移位数做了统计分析,给出能达到分支数最佳的所有MT变换,对LD算法中线性变换(Linear Transformation,以下简称LT变换),给出它达到分支数上界和满足对合性质的证明,对整个密码算法LD做安全性分析,并与AES算法的执行速度作对比。