对Hamsi - 256和ECHO - 256的攻击技术研究
在密码学领域,针对哈希函数的攻击技术一直是研究的热点。本文将详细介绍对Hamsi - 256的改进代数攻击以及对ECHO - 256压缩函数的碰撞和近碰撞攻击。
对Hamsi - 256的改进代数攻击
在对Hamsi - 256的攻击中,我们采用了基于多项式枚举算法的二次原像攻击。以下是攻击的具体步骤:
1. 评估压缩函数 :对于上一步存储的每个消息块M8,评估完整的压缩函数,并检查是否满足F(M8, h7) = h∗i(p + 8 ≤ i ≤ q + 8)。
2. 输出消息 :如果等式成立,输出消息μi−8||M1||M2||…||M8||M∗i + 1||…||M∗ℓ,其中μi−8是一个大小为i - 8块的消息前缀(从可扩展消息计算得出),使得h = F(μi−8, IV)。
3. 无匹配处理 :如果没有匹配项,则返回步骤4。
我们对每个链值h7(即步骤6 - 8)的算法复杂度进行分析,以计算该攻击相对于通用算法的改进因子。通用的Kelsey和Schneier算法每个链值需要232次压缩函数评估,而我们仅使用232 / 10次压缩函数评估。此外,在步骤6中,我们需要46·x·232位操作。通过优化,我们可以将步骤4中的位操作数减少到39·x·232。攻击的改进因子为(1 / 10 + 39x / 10500 + 2−x + k)−1。通过选择x的最优值,对于包含最多230个32位块的所有实际长度的消息,我们可以得到一个介于6和4之间的总改进因子。而Fuhr的攻击对于长度超过