论文部分内容阅读
在对称密码中,分组密码的设计与分析有着其举足轻重的作用,在信息安全领域的各个方面都需要用到分组密码。目前分组密码主要采用Feistel、SPN和Lai-Massey三种结构。本文主要研究具有Feistel结构的两个算法:Twofish和SIMON算法,一方面对Twofish算法进行了饱和攻击,另一方面对SIMON算法进行了差分故障攻击。主要结果如下:(1)通过研究ARX结构的饱和性质,证明了当平衡集通过非线性变换时,ARX中关于平衡集的三个性质,并利用常数集不改变平衡集的性质改进了Twofish算法4轮饱和区分器,与已知最好结果相比,可以多确定1比特的平衡位置.随后利用这个4轮饱和区分器将对简化轮数的Twofish算法进行了饱和攻击,时间复杂度降低一半。(2)利用SIMON算法非线性函数的差分特性并结合概率分析给出了SIMON算法的差分故障攻击结果。基于随机字节的差分故障模型,在SIMON算法的倒数第二轮导入差分故障时,通过理论结果和实验数据可得:对于SIMON32/64,当差分故障数超过24个时,能够得到种子密钥的概率大于等于72%,当差分故障数超过40个时,能够得到种子密钥的概率大于等于98%,剩余密钥空间为224;对于SIMON48/72,当差分故障数超过18个时,能够得到种子密钥的概率大于等于65%,当差分故障数超过30个时,能够得到种子密钥的概率大于等于97%,剩余密钥空间为224。基于随机半字节的差分故障模型,在SIMON算法的倒数第三轮导入差分故障,通过理论结果和实验数据可得:对于SIMON32/64,在诱导两次故障后,可以将种子密钥空间从264降到232~256,平均意义下降到240.68。