论文部分内容阅读
AES算法在密码学和信息安全领域都扮演者不可或缺的角色,因此对AES进行安全性分析具有极为重要的意义。本文主要研究了AES-128/192/256密钥编排方案的扩散不完全性,并利用这一信息泄露找到了密钥字节之间的依赖关系,进而根据该关系对7轮AES-128和8轮Kiasu-BC的不可能差分攻击和及10轮AES-256中间相遇攻击进行了改进。由于和AES密钥编排方案结构非常相似,本文还研究了块移位条件下的Feistel-SP结构的扩散不完全性。我们的成果主要包含以下三个方面:1.首次证明了AES密钥编排方案的扩散不完全性,并得到了密钥字节之间的依赖关系。本文采用截断差分分析的方法研究了当主密钥差分只有一个活跃字节时密钥编排方案差分的扩散情况,并证明了当主密钥差分活跃字节的位置为0~11时,AES-128密钥编排方案无论经过多少轮变换都不能实现全扩散,进而证明了AES-128密钥编排方案的扩散不完全性。采用相同的方法,本文对AES-192/256密钥编排方案及其逆向算法也进行了分析,并得到了类似的结果。此外,借助于其扩散的不完全性,我们得到了任意两轮密钥字节之间的依赖关系,并通过定义AES密钥字节关联表(Subkey-byte Connectivity Table)对该依赖关系进行了刻画。2.基于AES密钥字节关联表,提出了AES快速恢复主密钥算法。利用该算法,本文对7轮AES-128和8轮Kiasu-BC不可能差分攻击中的密钥恢复阶段进行改进,大幅度降低了该阶段的时间复杂度,从而在不增加整体攻击复杂度的基础上允许了更多的候选密钥剩余,进而降低了整个攻击的时间、存储和数据复杂度。此外,利用密钥字节之间的依赖关系,本文降低了10轮AES-256中间相遇攻击的存储复杂度。3.轮函数采用SP结构的Feistel结构被称为Feistel-SP结构。由于Feistel-SP结构与AES密钥编排方案的结构非常相似,我们研究了当SP结构中的线性层P为块移位时Feistel-SP结构的扩散不完全性。本文采用截断差分分析的方法证明了当SP结构中的线性层P为块移位且P的分块数n为偶数时,任意轮数的Feistel-SP结构都不能实现全扩散。对于块移位条件下的Type-1型、Type-2型和Type-3型广义Feistel-SP结构,若线性层分块数n和广义Feistel结构分组数d不互素,则任意轮数的该三类模型亦均不能实现全扩散。此外,本文还证明了将AES密钥编排方案中的R变换替换成任意的字节块移位变换,AES密钥编排方案均不能实现全扩散。