论文部分内容阅读
Rabbit是E-STREAM工程最终胜选的流密码算法之一,由于该算法设计简单且易于软硬件实现,因此Rabbit受到了密码学届的广泛关注。本文一方面对流密码Rabbit的状态变量、计数器变量和g函数进行了安全性分析,得出以下结论:其一,密钥种子的每一比特经过轮函数后都会影响全部的状态变量和计数器变量;其二,计数器变量的再次初始化可以防止攻击者轻松恢复密钥种子;其三,当2n+1含平方因子时g函数不是双射。另一方面,利用轮函数的弱点对流密码Rabbit实施了猜测确定攻击。当攻击者截获多个密钥流子块时,就可以分三个阶段对算法实施密钥恢复攻击,第一阶段猜测96比特恢复状态变量,第二阶段猜测96比特恢复计数器变量,第三阶段猜测5比特恢复密钥种子。整个攻击过程的预计算复杂度为O(296),时间复杂度为0(297),空间复杂度为O(295剐)。与已有的攻击算法相比,增加了预计算复杂度和存储空间,但降低了时间复杂度。