论文部分内容阅读
随着云计算和物联网技术的普及,小型设备之间的通信安全,以及小型设备与大型设备之间的通信安全越来越受到人们重视。如何设计更安全、更高效的轻量级分组密码已成为数据加密领域的研究热点。轻量级分组密码的研究,主要围绕轻量级分组密码的设计和分析这两方面展开。轻量级分组密码的分析方法与经典分组密码分析方法基本相同,主要包括强力攻击、差分分析及其变体、线性分析和积分分析。其中,不可能差分分析作为一种差分分析方法的变体,对结构与AES算法相似的密码算法有很好的分析结果。目前不可能差分分析的研究工作主要围绕两方面展开:其一是设计高效的自动化路径搜索和构造算法;其二是设计高效的密钥恢复算法。 本文以轻量级分组密码Midori举例,主要研究了不可能差分分析的路径搜索技术和各种降低密钥恢复复杂度的技术。本文的主要工作如下: 首先,研究了搜索不可能差分路径的技术。根据Midori算法在结构上与AES相似的特点,简化了不可能差分路径搜索算法u方法,主要包括加/解密特征矩阵的简化,以及加法表、乘法表的简化,并发现利用“置1法”获取加/解密特征矩阵的方法。利用简化后的u方法搜索得到一些Midori算法的5轮不可能差分路径。这项技术还适用于其他SPN结构分组密码的不可能差分路径搜索。 其次,研究了不可能差分路径的延展构造技术。在分析Midori算法MixColumn操作特性的基础上,总结了MixColumn的4种差分传播模式,找到了每一种模式的输入输出对应关系。基于MixColumn的差分传播模式,利用“回溯法”寻找前置路径和后置路径,将其与5轮不可能差分路径拼接,构造了Midori算法7轮不可能差分路径,并设计了自动化构造的算法。 然后,研究了轮密钥分步猜测技术。利用该技术,改进Midori-64算法的10轮不可能差分分析。利用分步猜测密钥与过滤明文技术,抵消了猜测密钥导致的复杂度升高,由此将计算复杂度降低。改进后时间复杂度由280.98次10轮加密时间降至274.588;数据复杂度由262.4个64比特分组降至262.34;密钥恢复过程所需的临时存储空间大小由270.22个64比特分组降至270.16。利用本文构造的7轮不可能差分路径,结合密钥分步猜测方法,首次实现了Midori-64算法的11轮不可能差分分析,时间复杂度为121.3692次11轮加密时间,数据复杂度为261.95个64比特选择明文分组,需要临时存储空间为273.68个64比特分组。 最后,研究了结构数放缩技术。该技术不要求密钥恢复过程结束后得到唯一的正确密钥,而是通过理论计算选取最优结构数,使密钥恢复过程复杂度与穷搜过程时间复杂度之和达到理论最小值。对10轮Midori-64算法的不可能差分分析,利用结构 数放缩技术,将时间复杂度进一步降至274.166次10轮加密时间,数据复杂度降至261.816个64比特分组,所需的临时存储空间降至269.636个64比特分组。对11轮Midori-64算法,时间复杂度降至2118.67次11轮加密时间,数据复杂度降至259.08个64比特分组,所需的临时存储空间降至270.81个64比特分组。这项技术同样适用于其它算法的不可能差分分析。