论文部分内容阅读
密码算法的核心部件决定了密码算法的安全。分组密码算法的核心部件包括S盒和置换层,流密码算法的核心部件是线性反馈移位寄存器和非线性反馈移位寄存器。通过分析这些密码算法核心部件的性质,可以对密码算法的安全性进行有效地评估。如何针对密码算法的核心部件,分析其性质,验证其安全性,一直以来都是密码学研究的核心问题。随着物联网的发展,轻量级密码算法因适应资源受限环境而迅速发展。本文重点针对近几年来被提出的几个轻量级密码算法,采用相应的分析方法,对其核心部件进行分析,发现其性质并应用于相应分析中,提高攻击效率。主要工作如下:1)针对GRANULE和MANTRA两种算法结构特性,通过分析其S盒的差分分布表得到S盒差分特征,再利用中间相遇思想,分别对从加/解密方向得到的差分路径进行遍历,筛选出概率为0的最优差分路径。分析结果表明,GRANULE算法存在144个不同的7轮不可能差分区分器;MANTRA算法存在52个不同的9轮不可能差分区分器。与已有结果相比较,新发现的区分器轮数均是目前最高的。2)针对Trivi A-sc算法进行基于可分性立方攻击,首先构造出Trivi A-sc算法的MILP模型,然后利用求解器对其进行搜索。实验结果显示:经过950、960和970轮初始化,得到的立方维度大小分别为39、42和44。为Trivi A-sc算法的立方分析提供了新的结果。3)基于BORON算法的结构特性,构造新的MILP模型,进行求解共得到160个不同的6轮不可能差分区分器。在此基础上利用S盒的输入输出差分特征前后分别扩展2轮,并利用S盒的输入输出差分概率,给出10轮不可能差分分析的密钥恢复方法。整个攻击过程的数据复杂度为243.52选择明文,时间复杂度为262.08次10轮加密,存储复杂度为244.52数据块。与已有结果相比,该攻击轮数以及数据复杂度均为目前最好的结果。