是否可以使用两种不同的算法创建具有相同校验和的伪造文件?

Mau*_*uli 8 security cryptography

我对这篇博客文章有点启发http://blogs.technet.com/dmelanchthon/archive/2009/07/23/windows-7-rtm.aspx(德文)

目前的概念是md5和sha1都有点破碎.不容易和快速,但至少对于实际可能范围内的md5.(我不是一个加密专家,所以也许我错了这样的东西).

所以我问自己是否有可能创建一个文件A',它具有相同的大小,相同的md5总和,以及原始文件A 相同的sha1和.

首先,它有可能吗?

第二,在现实中,使用当前的硬件/软件是否可能?

如果不是,那么即使它们有某种弱点,也不是最简单的方法来保证文件的完整性总是使用两种不同的算法?

更新:

只是为了澄清:想法是有一个文件A和一个满足条件的文件A':

size(A) == size(A') && md5sum(A) == md5sum(A') && sha1sum(A) == sha1sum(A')

moo*_*dow 7

"它有可能吗?" - 是的,如果校验和的总大小小于文件的总大小,则无法避免冲突.

"用现有的硬件/软件实际可能吗?" - 如果构造一个文本以匹配使用中的每个校验和的给定校验和是可行的,那么是.

有关加密哈希函数的连接,请参阅维基百科,这也是谷歌的有用术语.

从该页面:

"但是,对于Merkle-Damgård哈希函数,连接函数只有最好的组件强,而不是更强.Joux注意到2次碰撞会导致n次碰撞:如果找到具有相同MD5哈希的两条消息是可行的实际上,攻击者需要使用相同的MD5哈希值来查找尽可能多的消息并不困难.在具有相同MD5哈希值的n条消息中,SHA-1中可能存在冲突.需要额外的工作来查找SHA-1碰撞(超出指数生日搜索)是多项式的.这个论点由Finney总结."