hash碰撞
hash碰撞(选做)
任务详情
查找资料,提供不少于3条md5算法和3条sh1算法的碰撞实例
1 提供数据和数据来源(图书,网站...)
2 用openssl命令验证碰撞,提交演示街头
md5算法碰撞实例
实例1
来源:
these different 2 Images Has The Same MD5 Hash : DataHoarder (reddit.com)
两张完全不一样的图片,一张飞机,一张轮船,但是他们md5居然是相同的。
使用openssl验证:
实例2
来源:
HEX样本C:两段16进制样本,有少许不同,但是md5值相同。
样本1:
0e306561559aa787d00bc6f70bbdfe3404cf03659e704f8534c00ffb659c4c8740cc942feb2da115a3f4155cbb8607497386656d7d1f34a42059d78f5a8dd1ef
样本2:
0e306561559aa787d00bc6f70bbdfe3404cf03659e744f8534c00ffb659c4c8740cc942feb2da115a3f415dcbb8607497386656d7d1f34a42059d78f5a8dd1ef
注意到这两个样本并不同,第二行和第三行都有明显不同。
使用openssl验证:
可以使用echo和xxd结合,不用输入\x就可以以十六进制输入到二进制文件中。
可以使用命令如
echo "1234abcd" | xxd -r -ps > 1.bin
写入二进制文件,或用于传给openssl计算哈希。
实例3
来源:
Peter Selinger: MD5 Collision Demo (dal.ca)
两个小二进制可执行文件,erase.exe和hello.exe,在win下能成功执行得到不同输出:
sh1算法的碰撞实例
实例1
来源:
两个不同的pdf文件,具有相同的SHA-1哈希值。
openssl检验:
实例2
来源:
SHA-1 is a Shambles (sha-mbles.github.io)
这个网站给出了一个选择前缀攻击,两个文件messageA和messageB内容不同,但具有相同SHA-1值。
文件在此:SHA-1是一团糟 (sha-mbles.github.io)
使用openssl验证:
实例3
来源:sha 1 - SHA1 collision for first 32 bits for two different messages - Cryptography Stack Exchange
这只是一个弱碰撞,abc123_owlstead_1255
和abc123_owlstead_59131
的前32位哈希值相同。这个碰撞只包含哈希值的前32位,但是本来的消息就只有很短的两个字符串,所以还是不容小觑。
使用openssl验证:
参考: