来自维基百科,我读到:
Joux [3]指出2次冲突导致n次冲突:如果找到具有相同MD5哈希的两条消息是可行的,那么找到与攻击者所希望的一样多的消息实际上并不困难具有相同的MD5哈希值。
但为什么会这样呢?我无法想象为什么?算法是开放的,人们可以读取产生哈希的数学,这是摘要机制。因此,如果我们知道一次碰撞,为什么它有助于找到新碰撞?
它只是对两个第一个碰撞消息进行小的迭代,然后监视它们的更改以重新映射它们吗?
答案 0 :(得分:6)
这不是所有哈希函数的属性,而是Merkle–Damgård construction(MD5和SHA-1所基于的)的弱点,称为 length extension 。缺点是您可以使用特别选择的附加数据“恢复”哈希计算。有关如何使用它生成任意多次冲突的完整详细信息,请参阅:
对于基于此想法的相关攻击,请参阅:
答案 1 :(得分:0)
我认为这里的关键是“可行”这个词。在加密土地上,可行意味着“与我试图打破的任何东西的价值相比,合理的时间量”,或者“根据你看待事物的方式,使用蛮力的时间更少”。
所以,如果我可以找到1个碰撞,那么我可以找到n个碰撞,因为n*small
仍然很小。
仍有一些 n n*small > value of breakage
。
这适用于其他哈希函数吗?我相信,但我可能是错的。
让燃烧开始。