问:可以制作两个具有相同哈希值的不同文件吗?
答:可以。
在密码学中,哈希函数将输入数据转换成固定长度的字符串。但由于输入的无限性和输出的固定性,不可避免地会有不同输入产生相同的哈希值,这就是碰撞。
哈希碰撞的原理
哈希函数的理想特性是:即使输入有细微变化,输出也会显著不同。然而,碰撞问题不可避免。MD5作为一种哈希算法,已经被证明存在严重的碰撞漏洞。可以找到任意两个不同的输入,使它们的哈希值相同。
fastcoll原理
fastcoll是一款专用工具,旨在快速找到两个具有相同MD5哈希值的不同文件。它利用MD5算法的特定弱点,通过数学运算找到不同输入,使它们共享相同的哈希前缀,从而实现强碰撞。
它使用了一种优化算法,能够在短时间内生成两个不同的消息,确保它们的MD5哈希相同。这是通过深入分析MD5的结构和特性,找出可以操控的部分来实现的。
fastcoll使用
制作一个简易的文本文件
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/29075f9ad51e4402b1d811e5dc23f043.png)
生成文件
然后只需要将这个文件拖入到fastcoll中
验证文件的md5
可以发现文件的md5值都是一样的
文件差异性
两个文件的sha1不同,因为他们的哈希校验算法不同,可以证明文件内容不同。或者可以根据文件的十六进制值对比
可以发现文件的内容是不同的
下载地址:http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5.exe.zip