论文部分内容阅读
随着社会信息化的快速发展,信息安全问题日益突出。作为解决信息安全问题的手段,密码学在越来越多的场合中被使用。而大批密码学相关研究工作的出现,使得密码学牢固扎根在坚实的科学基础之上。作为密码学研究的重要分支,分组密码以其运算效率高、便于软硬件实现的特点,成为信息系统安全领域中广泛使用的组件。而围绕其安全性展开的讨论也始终是学术界的热点话题。积分分析是分组密码安全性评估的重要手段之一。对于一个分组密码,其积分分析可以分成两个主要阶段:(1)推导积分区分器;(2)利用积分区分器恢复密钥。本文主要研究第二阶段,提出了新型积分分析方法,相关工作为:(1)积分分析中的动态密钥猜测技术;(2)改进的积分分析模型。·积分分析中的动态密钥猜测技术动态密钥猜测技术利用与操作的特性,有效降低了被猜测的子密钥比特数量,可以显著改进差分分析和线性分析的结果。动态密钥猜测技术已带来了不错的针对SIMON算法的分析结果。但是,就我们所知,动态密钥猜测技术目前只被应用到差分分析和线性分析上。在本文中,我们首次将动态密钥猜测技术与积分分析相结合。根据积分分析的特性,我们拓展了动态密钥猜测技术。进一步说,我们将动态密钥猜测技术应用到∑xf(x,k)·V[x]的计算过程当中,其中f(x,k)是关于消息变量x和密钥变量k的布尔函数,V[x]是关于消息变量x的计数器。基本思想是:猜测与运算一边的密钥,根据猜测的密钥将消息进行划分,对于满足将与运算另一边零化的消息集合,可以省去与运算另一边密钥的猜测,从而降低平均密钥猜测的比特数量。相应地,我们得到了比以往更好的积分分析结果。在本文中,我们提出了针对24轮SIMON32,24轮SIMON48/72和25轮SIMON48/96的积分攻击。在攻击轮数方面,这三个攻击均较之前最好的积分攻击提高了2轮。另外,针对SIMON32的攻击优于已知的其他攻击;而针对SIMON48的攻击则和目前最好的攻击相当。·改进的积分分析模型在积分分析中,攻击者通常在积分区分器后面添加几轮轮函数,接着猜测相应的密钥并检测目标比特是否为平衡的。只有很少密码算法的积分分析是在积分区分器前添加轮函数进行密钥恢复攻击。在首个针对全轮MISTY1的攻击当中,,Todo在积分区分器前添加了一个FL层(依赖密钥的线性层)。在本文中,我们拓展了Todo的方法,并给出了一个一般性的方法。该方法使得我们在不使用全部明文空间的情况下,可以在积分区分器前添加轮数以达到更多轮数的积分分析结果,并且较之前只增加较少的额外时间复杂度。基本思想是:对于在积分区分器前添加的轮函数中需要猜测的密钥,我们根据不同的猜测值,为积分区分器的常量比特选取不同的值。这使得我们最终不需要全部的明文空间。对于使用4比特S盒和比特置换的SPN结构或带有SPN轮函数的Feistel结构密码算法,我们估算了当在积分区分器前加一轮时对于所有4比特S盒的可能的数据复杂度。这可看做从积分分析角度对4比特S盒的讨论。使用我们提出的方法,我们提出了针对13轮PRESEN-80,14轮PRESEN-128,11轮RECTANGLE-80,13轮RECTANGLE-128,24轮LBlock,24轮TWINE-80以及25轮TWINE-128的积分攻击。这些攻击均较之前最好的积分攻击提高了1轮。