针对流密码Phelix的差分线性攻击
1. 引言
Phelix是一种快速流密码,带有嵌入式认证机制,是ECRYPT eSTREAM项目重点关注的密码之一,它是流密码Helix的加强版本。此前针对Helix的密钥恢复攻击,在使用选定随机数(重复使用随机数)和大约1000个自适应选择的明文单词(或$2^{35.6}$个选定明文单词)的情况下,大约需要$2^{88}$次操作来获取密钥。
Phelix在2005年被设计并提交给ECRYPT eSTREAM项目,其输出函数进行了更改,以实现更大的明文扩散。Phelix的设计者声称,即使随机数被重复使用,Phelix也能抵抗差分密钥恢复攻击。但本文通过差分线性密码分析,在假设随机数重复使用(即选定随机数攻击)的情况下,发现仅需$2^{37}$个选定明文单词和$2^{41.5}$次操作,就能恢复Phelix的密钥,这表明在这种情况下Phelix是完全不安全的。
2. 流密码Phelix
Phelix的加密算法中,密钥大小为256位,随机数大小为128位,设计者宣称对Phelix的攻击操作次数不会少于$2^{128}$次。
Phelix会更新五个32位的字:$Z_0$、$Z_1$、$Z_2$、$Z_3$和$Z_4$。在第$i$步,会使用两个32位的秘密字$X_{i,0}$、$X_{i,1}$和一个32位的明文单词$P_i$来更新内部状态,同时生成一个32位的密钥流单词$S_i$用于加密明文$P_i$。其中,$X_{i,0}$与密钥相关,$X_{i,1}$与密钥和随机数以一种非常简单的方式相关,恢复任何$X_{i,0}$和$X_{i,1}$就意味着恢复部分密钥。Phelix的一步操作流程如下:
Phelix流密码差分线性攻击
超级会员免费看
订阅专栏 解锁全文
7822

被折叠的 条评论
为什么被折叠?



