是否可以同时进行 MD5 和 SHA-0 冲突?

Is it possible to have MD5 & SHA-0 Collisions both at the same?

我正在研究 MD5 碰撞,发现在 SHA-0 中也发现了碰撞。

现在,是否可以同时在两个字符串或文件中进行 MD5 和 SHA-0 碰撞?

这是我在搜索时发现的对比图 table:

这里,你可以看到在MD5和SHA-0中,发现了两种可能的冲突。

谁能解释一下是否可以同时发生两次碰撞?

我有一些 MD5 冲突的例子。如果有人可以同时提供 MD5 和 SHA-0 冲突的示例会更好吗?

所有哈希都可能发生碰撞,这是数学上的必然性。发生这种情况的原因称为 Pigeonhole Principle,这意味着您只有 X 个可能的哈希值,一旦您对 X+1 个项目进行哈希处理,就可以保证发生冲突因为您必须至少使用每个散列值一次,所以您对散列的 X+1 项目进行了保证冲突。

现在,将此逻辑应用于 MD5 和 SHA1。假设您有一个非常长的散列,它只是 MD5 散列(2^128 可能的散列)连接到 SHA1 散列(2^160 可能的散列)。你仍然只有 2^128 * 2^160 个可能的哈希值,一旦你对 2^128 * 2^160 + 1 个项目进行哈希处理,你保证有一个项目同时在 MD5 和 SHA1 中发生冲突。

是否可以轻松找到这样的散列,以便您可以进行 second-preimage 攻击,以便您可以用具有匹配散列的第二个文件替换现有的散列文件?不,这种攻击在非政府层面可能是不可行的。