论文部分内容阅读
随着物联网和计算机技术的发展,信息安全的作用日益突出。作为信息安全技术的重要基础的密码学也得到了人们的广泛关注。然而传统的分组密码算法不太适用于计算资源极端受限的环境,所以既追求效率又保证安全性的轻量级分组密码算法便应运而生。不可能差分密码分析是差分密码分析的推广与改进,其基本思想是利用概率为0的差分过滤错误密钥,剩下的就是正确密钥。相关密钥不可能差分攻击就是把相关密钥攻击和不可能差分攻击相结合的一种攻击方法。本文围绕分组密码的安全性分析展开研究,主要研究分组密码算法的相关密钥不可能差分攻击,涉及相关密钥不可能差分路径的搜索以及LBlock的相关密钥不可能差分分析,具体研究成果包括以下几个方面:在本文中我们提出了一种新的相关密钥不可能差分路径搜索算法,并且我们用C语言对其进行了实现。该搜索算法适用于那些轮函数满足双射、加解密矩阵满足1-特性、密码结构为广义Feistel结构或能转换成广义Feistel结构的分组密码算法,通过该算法我们可以计算分组密码算法的相关密钥不可能差分路径的最大长度,为进一步分析分组密码算法提供了更好、更强的保障。在本文中我们以LBlock算法为例,对LBlock算法进行了相关密钥不可能差分路径的搜索。我们在分析LBlock算法的密钥生成算法弱点的基础上,构造了一条长度为16的相关密钥不可能差分路径(0000 0000,0000 0000)(?)(0000 0000,0000 0000),在该路径前加4轮,在该路径后加4轮,可以对24轮的LBlock算法进行攻击,其数据复杂度为263个选择明文对,计算复杂度为275.42次24轮的加密操作,共可恢复60比特密钥,其余密钥比特可通过穷举攻击获得。通过我们在本文中提出的新的相关密钥不可能差分路径搜索算法得到了第二条相关密钥不可能差分路径(0000 0000,0000 0004)(?)(0000 0000,0000 0000),其长度为18,在该路径前加4轮,在该路径后加4轮,可以对26轮的LBlock算法进行攻击,其数据复杂度为263个选择明文对,计算复杂度为261.7次26轮的加密操作,共可恢复57比特密钥,其余密钥比特可通过穷举攻击获得。