现代密码的差分攻击技术解析
1. 密钥恢复攻击
密钥恢复攻击是一种重要的密码分析手段。在该攻击中,我们使用特定的差分 [(0, a, 0, 0) (b, 0, 0, 0) ] 来找出所有无效的子密钥。具体操作是发起类似于标准差分攻击的行动,通过明文 - 密文对来测试差分,以此预测密钥。但与标准差分攻击不同的是,我们不选择命中次数最多的子密钥,而是排除那些出现不可能差分的密钥。经过多次重复这个过程,最终会剩下一个候选子密钥。对不同的子密钥多次重复此操作,就可以得到数量合理的密钥,再通过暴力破解来检查。
对于 25 轮的攻击,大约需要 2^27 步就能恢复完整密钥;但当达到 26 轮时,所需步数增加到 2^49 步,且随着轮数增加情况会更糟。不过,这种密钥恢复攻击似乎只对 32 轮 Skipjack 算法的前 26 轮有效。当达到 31 轮时,就需要检查每一个密钥。幸运的是,检查每个密钥不需要进行完整的加密或解密操作,只需要进行少量的 G 函数计算。据预测,这种情况下大约需要 2^78 步,同时需要 2^64 位(2048 PB)的内存,这比完全的穷举攻击(需要 2^80 步)要快。
不可能差分概念的一个重要贡献是,传统的通过为组件中的差分概率设定极低上限来“证明”密码对差分密码分析安全的方法是有缺陷的。如果存在足够多的零概率或低概率差分,就可以实施不可能差分攻击。而且,这种攻击还可以应用于条件特征、差分以及线性密码分析。
2. 回旋镖攻击
之前的密码分析大多采用自上而下的方法,即通过明文信息推导出密文的某些特征进行测试,根据测试成功率来判断密钥的正确性。但不可能差分攻击和之前讨论的中间相遇攻击表明,同时从两端进行分析可能会有更多优势,线性
超级会员免费看
订阅专栏 解锁全文
2万+

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



