首页 / 资讯中心 / 文章详情

Twister算法的各种密码分析方法全面盘点

Twister算法的各种密码分析方法全面盘点 ★ FEATURED ARTICLE
Twister算法的各种密码分析方法全面盘点Twister是由Ewan Fleischmann等人提交的SHA-3候选哈希函数其压缩函数基于AES-like结构采用Merkle-Damgård迭代模式输出长度支持224、256、384、512比特。在SHA-3第一轮评估期间密码学界对Twister进行了系统的分析发现了压缩函数层面的严重结构性弱点。以下按攻击类型全面盘点Twister的已知密码分析方法。核心分析结果总览以Mendel、Rechberger与Schläffer发表于ACNS 2009的《Cryptanalysis of Twister》为核心文献Twister的主要分析结果汇总如下攻击类型攻击目标哈希尺寸复杂度内存伪碰撞压缩函数全部2²⁸—半自由起始碰撞压缩函数全部可忽略实际约2⁸—碰撞哈希函数5122²⁵²2⁹第二原像哈希函数5122³⁸⁴⁺ˢ2¹⁰2⁶⁴⁻ˢ原像哈希函数5122⁴⁵⁶2¹⁰其中伪碰撞攻击的早期版本复杂度约为2²⁶·⁵次压缩函数求值后经优化降至2⁸。半自由起始碰撞在压缩函数上的复杂度“可忽略”意味着可在实际计算资源内完成攻击。一、伪碰撞攻击伪碰撞攻击针对Twister压缩函数允许攻击者在不同的初始内部状态下找到两条消息使压缩函数输出相同。Mendel等人对全部Twister变体224/256/384/512均构造了伪碰撞复杂度约为2²⁸次压缩函数调用。Twister的设计文档曾声称具备伪碰撞抵抗性但后续分析表明该声明缺乏形式化证明且实际攻击表明其伪碰撞抵抗性远低于设计预期。二、半自由起始碰撞攻击半自由起始碰撞攻击允许攻击者自由选择消息块和链值的一部分目标是在压缩函数上制造碰撞。Mendel等人对所有Twister变体均实现了复杂度极低实际约2⁸的半自由起始碰撞攻击。这一结果直接暴露了Twister压缩函数的结构性缺陷——其AES-like轮函数在差分扩散性质上存在可利用的自由度。在方法论上该攻击利用了Twister压缩函数中Mini-Round的可逆性以及轮间Feed-forward XOR操作的特征。攻击者通过控制消息块与链值中的特定字节可以以极低代价绕过差分路径中的低概率部分。三、碰撞攻击将半自由起始碰撞扩展到完整哈希函数的碰撞攻击情况则更为复杂。由于Twister采用Merkle-Damgård迭代攻击者需要控制链值的演化而不能任意选择中间链值。Mendel等人构造的完整碰撞攻击针对Twister-512复杂度约为2²⁵²略优于暴力搜索的2²⁵⁶。中文文献进一步运用反弹攻击Rebound Attack改进碰撞攻击。曾绍昆等人设计了可行的差分路径对Twister的圈碰撞进行了分析得到复杂度分别为2¹²⁸和2¹⁸⁴的圈碰撞结果并基于此降低了压缩函数碰撞攻击的复杂度。反弹攻击的核心思路是利用“入站阶段”inbound phase在中轮进行匹配以高效 bypass 差分路径中的低概率部分再通过“出站阶段”outbound phase向两侧传播差分。四、第二原像攻击针对Twister-512的第二原像攻击复杂度约为2³⁸⁴⁺ˢ次压缩函数求值内存需求为2¹⁰2⁶⁴⁻ˢ其中s为可调参数。由于Twister-512的哈希长度为512比特理想第二原像攻击的复杂度应为2⁵¹²因此该攻击显著低于理想安全边界。第二原像攻击利用了Twister-512的校验和机制和输出变换的结构特征通过控制消息块的自由度来匹配给定消息的中间状态。五、原像攻击针对Twister-512的原像攻击复杂度约为2⁴⁵⁶次压缩函数求值内存需求仅为2¹⁰。理想原像攻击的复杂度为2⁵¹²因此该攻击以2⁵⁶的加速比优于暴力搜索。原像攻击的关键在于反转输出变换和利用压缩函数的可逆性逐步从目标哈希值反向推导出合法的消息块。六、反弹攻击在Twister分析中的专门应用反弹攻击是2009年由Mendel等人为分析Whirlpool和Grøstl而提出的差分分析方法随后被应用于Twister。针对Twister-512压缩函数研究者通过反弹攻击实现了3至7轮的半自由起始碰撞攻击其复杂度随轮数增加而增长3轮为2⁶⁴4轮为2¹²⁰6轮和7轮均为2¹⁹⁶。值得注意的是Twister的Feed-forward XOR操作在一定程度上限制了反弹攻击向完整压缩函数的扩展。后续的Twisterπ改进版本通过修改结构明确声称能够 thwart 针对原始Twister的反弹攻击。七、Twisterπ的改进与抗攻击声明Twisterπ是Twister的改进版本融合了宽管道wide pipe和海绵结构sponge的思想。其核心是一个易于分析的Twister-Round设计者声称单个内部Twister-Round即具备碰撞自由性。Twisterπ的总安全水平声称不低于2ⁿ/²碰撞攻击和2ⁿ第二原像攻击并声称实例化版本对所有已知通用攻击具有抵抗性-。同时Twisterπ通过引入TwistCounter机制使得滑翔攻击Slide Attack无法实施因为每轮迭代中注入新值到状态矩阵阻止了攻击者找到滑翔对。小结Twister的分析史表明其压缩函数层面的弱点尤为突出——半自由起始碰撞和伪碰撞的复杂度低至可实际计算的范围直接导致该算法在SHA-3第一轮中未能晋级。完整哈希函数的碰撞、原像和第二原像攻击虽然复杂度仍高于实际可行范围但均显著优于理想安全边界构成了对512比特变体的理论性安全削弱。后续的Twisterπ通过结构改进试图弥补这些缺陷但其安全声明主要基于设计论证而非充分的外部密码分析验证。
阅读完成 · 觉得有帮助?
咨询建站