原来我总是很自信地以为:你有本事找到 MD5 的碰撞又如何?你难道还有本事让两个可执行文件的 MD5 一样,却又都能正常运行,并且可以做完全不同的事情么? 答:还真的可以.
http://www.safe.sh/education/md5.rar
这两个程序会在屏幕上打印出不同的字符,但是它们的 MD5 都是一样的。
通读其论文后摘要如下:
这几位密码学家使用的是“构造前缀碰撞法”(chosen-prefix collisions)来进行此次攻击(是王小云所使用的攻击方法的改进版本)。
他们所使用的计算机是一台 Sony PS3,且仅用了不到两天。
他们的结论:MD5 算法不应再被用于任何软件完整性检查或代码签名的用途。
另:现在,如果仅仅是想要生成 MD5 相同而内容不同的文件的话,在任何主流配置的电脑上用几秒钟就可以完成了。
这几位密码学家编写的“快速 MD5 碰撞生成器”: + 源代码: http://www.safe.sh/education/fastcoll.rar
下载了fastcoll_v1.0.0.5.exe亲自试了一下,如果对象是txt文件 ,可以看到生成后的二个文件,文本部分没有改变,后部分增加了代码。随便找了个很小的VB程序,结果发现生成的二个文件都还能执行。
看截图:
 |