【发布时间】:2009-07-24 23:56:10
【问题描述】:
这篇博文http://blogs.technet.com/dmelanchthon/archive/2009/07/23/windows-7-rtm.aspx(德语)让我有点灵感
当前的概念是 md5 和 sha1 都有些损坏。不容易和快速,但至少对于 md5 在实际可能性的范围内。 (我根本不是加密专家,所以也许我在这样的事情上错了)。
所以我问自己是否可以创建一个文件 A',它具有 相同的大小、相同的 md5 总和和 相同的 sha1和作为原始文件A。
首先,这可能吗?
其次,以目前的硬件/软件,这在现实中是否可行?
如果不是,那么始终使用两种不同的算法(即使它们有某种弱点)不是保证文件完整性的最简单方法吗?
更新:
澄清一下:这个想法是有一个文件 A 和一个满足条件的文件 A':
size(A) == size(A') && md5sum(A) == md5sum(A') && sha1sum(A) == sha1sum(A')
【问题讨论】:
-
这实际上是一个有趣的想法,类似于 DES3 背后的原始推理。
md5有点坏,sha1有点坏,发现联合碰撞的概率是P(md5sum(A) == md5sum(A')) * P(sha1sum(A) == sha1sum(A')),因为它们是相互独立的,这意味着非常小。但是对于文件共享,我想这是太多的工作,因为你可以从官方来源重新下载文件。对于快速检查,md5就足够了。 -
唉,这两种算法来自同一个家族,因此并不独立。
标签: security cryptography