论文部分内容阅读
近年来一系列标准算法征集活动极大地推进了密码学的发展,这其中包括认证加密算法标准CAESAR竞赛,杂凑函数标准SHA-3,以及流密码标准eSTREAM工程。算法征集过程中,一类基于模加、按位与、异或等运算混合迭代,算法结构借鉴分组密码SP模型的密码算法,以极高的安全性与软硬件实现效率吸引了众多密码研究者的关注,我们称此类算法为基于混合运算的SP型密码算法。该类算法在设计上综合了混合运算的高效性以及SP模型的快速混乱扩散特点,成为对称密码领域的一个新型设计方向,针对此类算法的安全性分析能够为其设计提供理论依据,具有重要的意义。本文分别从以上三次算法征集活动中选取了一个典型的基于混合运算SP型密码算法作为研究对象,分别为NORX算法,Skein算法核心部件Threefish算法,以及Salsa类算法,通过研究算法中所使用到的混合运算密码学性质,利用各种攻击方法对上述算法进行了安全性分析。具体取得以下成果:一、NORX算法的安全性分析1.研究了NORX算法核心置换G函数的线性性质。给出了H函数的线性逼近相关系数快速计算算法以及相关系数的结构,进一步拓展分析NORX算法H函数部件,得到其线性逼近相关系数非零时输入输出掩码应满足的充要条件。利用H函数部件线性逼近相关系数非零时输入、输出掩码的性质,给出NORX算法核心置换G函数非零相关线性逼近的性质。2.研究了NORX算法核心置换G函数的差分性质。从H函数逐比特差分传递规律出发,提出了构造G函数差分概率2-r差分对应的方法,据此给出了G函数差分概率为1与1/2时差分对应的结构与计数;提出了NORX算法不可能差分自动搜索算法,给出了NORX64算法的更多3.5轮不可能差分对应。3.研究了NORX算法初始化过程的完全性。提出了NORX完全性算法,研究了其初始化的混乱与扩散性质,给出了NORX32与NORX64初始化输出状态完全性步数下界,分别考察了IV的完全性和密钥的完全性,据此提出了初始化2步的简化版NORX64算法的差分-区分攻击与密钥分割攻击,时间复杂度分别为O(2)与O(2253)。二、Threefish算法的不可能差分分析1.研究了Threefish算法的差分性质,修正了J.P Aumasson等人先前不可能差分结果存在的问题,根据混合运算差分传递规则,提出了Threefish算法不可能差分自动搜索算法。据此得到了4个Threefish-512算法的20轮不可能差分区分器,并给出了3个修改参数后Threefish-512的20轮不可能差分区分器。2.通过概率1差分推演的方式,对上述不可能差分区分器的长度进行了扩展,给出了Threefish-512算法的1个22轮不可能差分区分器,3个21轮不可能差分区分器;针对修改参数后的Threefish-512算法,给出了3个21轮不可能差分区分器。三、Salsa类算法的安全性分析1.研究了Salsa类算法的差分性质,通过不可能差分自动搜索,得到了114个5轮Salsa20算法不可能差分区分器和140个5轮ChaCha算法不可能差分区分器;同时考察了不同循环移位参数对Salsa类算法不可能差分区分器个数的影响。2.研究了Salsa类算法的完全性,给出了Salsa20算法及ChaCha算法的完全性步数下界,并从核心函数的角度对Salsa类算法与NORX算法完全性结果进行了对比分析,据此以基础运算,初始化常量以及循环移位参数的角度给出了基于混合运算SP型密码算法核心函数的设计建议。