论文部分内容阅读
分组密码是对称密码学的重要分支,具有加解密速度快、软硬件实现方便、易于标准化等优点,被广泛应用于网络空间安全领域以保障数据安全。因此,研究分组密码在各类密码分析方法下的安全性显得尤为重要。本文围绕分组密码的结构恢复攻击和差分类攻击展开研究,分别提出了基于差分变动技术、不等式约束技术和零相关线性分析的新型结构恢复攻击方法,给出了一系列典型分组密码结构的结构恢复攻击,并分析了两个轻量级分组密码SKINNY算法和ALLPC算法在差分类攻击下的安全性,改进了现有的攻击结果。本文的主要研究成果列举如下:1.针对低轮数迭代的分组密码结构,给出了基于差分变动技术的高效结构恢复攻击方法。从低轮数迭代结构的差分扩散性较差这一弱点出发,分析其差分传播特性,进而通过选择和变动适当位置的输入差分,构造关于内部秘密变换的求解系统,从而恢复未知秘密变换。定义了分组密码的等价结构的概念,并提出了任意轮数的Feistel结构和广义Feistel结构的等价结构的一般性构造方法,使得攻击者可以自由选择攻击起点,有效减少了秘密变换初始猜测阶段所需的复杂度。将该方法应用于几类广义Feistel结构的结构恢复攻击,得到了针对6轮Type-1结构、收缩型广义Feistel结构和扩展型广义Feistel结构的结构恢复攻击结果。对于低轮数迭代分组密码结构的结构恢复攻击,该方法在攻击复杂度上具有明显的优势。2.综合利用yoyo技术、积分分析和差分变动技术,给出了轮函数为秘密变换的16轮Skipjack结构的结构恢复攻击。首先,利用yoyo技术构造关于16轮Skipjack结构的第1轮和第16轮秘密轮函数的求解系统,从而恢复16轮Skipjack结构首尾两轮的秘密轮函数。其次,将首尾两轮已恢复的秘密轮函数剥离,通过分析约减轮数的Skipjack结构的积分性质,利用积分分析方法,恢复第2~4轮和13~15轮的秘密轮函数。最后,利用差分变动技术恢复剩余的秘密轮函数。该研究首次将yoyo技术在结构恢复攻击中的应用由Feistel结构推广至Skipjack结构,丰富了基于yoyo技术的结构恢复攻击实例。研究结果表明,虽然引入秘密变换能够提高安全强度,但16轮Skipjack结构仍不能有效抵抗结构恢复攻击。3.首次提出了一种基于不等式约束技术的新型结构恢复攻击方法。通过定义不等式约束表(Inequality Constraints Table,简记为ICT)来刻画内部秘密变换各输出之间的不等关系,并利用不可能差分构造一系列关于秘密变换的不等式来填充ICT。提出了基于深度优先搜索的求解算法用于求解已填充的ICT,从而恢复秘密变换的具体细节,并深入分析了求解算法的复杂度与ICT的填充规模二者之间的关系。利用该方法首次给出了5轮MISTY结构、23轮和25轮Skipjack结构的结构恢复攻击。与现有的结构恢复攻击方法相比,该方法并非针对特定密码结构的专用攻击,而是能够适用于大多数密码结构的结构恢复攻击,且通常能攻击的轮数更长,尤其是针对广义Feistel结构。4.首次提出了基于零相关线性密码分析的结构恢复攻击方法。利用零相关线性逼近的相关优势为0的性质构造一系列关于秘密变换的等式,并将二元运算统一转化为实数运算,用于构建关于秘密变换的线性系统。基于分而治之的思想,利用坐标分割技术将求解未知秘密变换转化为求解秘密变换的各路布尔函数,从而有效减少了攻击所需的复杂度。利用本方法,给出了针对S盒为秘密变换的Feistel-SP结构的结构恢复攻击结果,改进了攻击轮数和攻击复杂度,并将Type-1结构的结构恢复攻击从10轮拓展至25轮。该方法同样适用于大多数分组密码结构,为评估分组密码结构抵抗结构恢复攻击提供了新思路。5.研究了轻量级分组密码SKINNY算法和ALLPC算法在差分类攻击下的安全性。针对SKINNY-128-256算法,基于18轮相关密钥飞去来器区分器,充分利用了该算法的扩散层的不完全扩散性质,给出了23轮SKINNY-128-256算法新的相关密钥矩形攻击。该攻击的数据复杂度为284.39个选择明文,时间复杂度为2213.26次23轮加密,存储复杂度为296。该攻击是目前已知针对23轮SKINNY-128-256算法最好的攻击。针对ALLPC算法,利用非线性函数F的差分不动点构造轮数为14、概率为2-16的差分周期链,并给出了概率为2-24的全轮差分路径,从而使得攻击者可将全轮ALLPC算法与随机置换区分,揭示了全轮ALLPC算法不能有效抵抗差分区分攻击。