论文部分内容阅读
近十年来,对称密码算法的设计研究得到了快速的发展,出现了很多新颖的设计方法,其中设计兼有序列密码与分组密码优点的对称密码算法成为重要的设计理念,也是一个非常明显的趋势。本文从构造结构、设计理念及功能扩展三个方面,将混合对称密码算法分为双重特征型混合对称密码算法、借鉴理念型混合对称密码算法和增加功能型混合对称密码算法三类。对这三种类型中的代表算法SCB、CSA、Hummingbird-2、QUARK系列算法及后续提出C-QUARK进行了安全性分析。取得的主要成果具体如下:(1)对双重特征型混合对称密码算法SCB和CSA进行了安全性分析。对SCB算法进行了安全性分析。首先,对SCB算法的序列部分进行分析,找到了密钥流与其寄存器内部状态之间的线性关系,结合猜测决定攻击思想对SCB算法的序列部分进行攻击,攻击需要已知18个32比特密钥流字,恢复算法256比特初始密钥的计算复杂度为O(244)。结合对SCB算法序列部分的分析结果,利用差分故障攻击对SCB算法整体进行了分析,当引入640次单比特随机故障时,正确恢复密钥的成功率可以达到99.4%。对CSA算法进行了安全性分析。对CSA算法的序列部分进行滑动自同步攻击,当使用215对差分密钥时,成功率可以达到98%,同时可以恢复算法的9比特密钥。对缩减到21轮的CSA算法分组部分进行了不可能差分分析,攻击的计算复杂度为O(222.7),数据复杂度为O(244.5),存储复杂度为O(210.5),同时可以恢复算法16比特密钥。此外,还指出了CSA算法结构设计上的缺陷,基于该缺陷可对分组部分缩减到21轮的算法整体进行不可能差分分析,攻击的计算复杂度为O(221.7),数据复杂度为O(243.5),存储复杂度为O(210.5),同时可以恢复算法8比特密钥。(2)对借鉴理念型混合对称密码算法Hummingbird-2进行了安全性分析。对Hummingbird-2算法进行了差分—相关密钥攻击,攻击需要15对差分密钥,229.7个选择IV,恢复算法128比特密钥需要的计算复杂度不大于O(229.7),攻击的成功率为97%。实验结果表明,在相关密钥攻击模型下可以实现对Hummingbird-2算法的实时攻击,在一台普通PC机上恢复算法全部密钥平均需要6.3分钟。(3)对增加功能型混合对称密码算法QUARK系列算法和C-QUARK算法进行了安全性分析。首先,提出了一种改进的条件差分分析方法。具体来讲,采用了两种技巧对现有条件差分分析方法进行了改进,一方面,提出了“自由扩散阶”的概念,实现了对条件差分中间碰撞点的有效筛选;另一方面,利用最小扩散准则提出了一种优化的差分逆推法则,可以实现对单比特差分更多轮的逆推和控制。针对于上述两点改进技巧提出了改进的条件差分分析方法并将该方法应用于QUARK系列算法以及后续提出的C-QUARK算法的分析之中。对于QUARK系列算法,在相同的优势和数据量下,攻击的轮数比算法设计报告中攻击的轮数提高10-30轮不等。对于C-QUARK算法,在相同的优势和数据量下,攻击的轮数比算法设计报告中攻击的轮数提高了52轮。