hash碰撞

查找资料,提供不少于3条md5算法和3条sh1算法的碰撞实例
1 提供数据和数据来源(图书,网站...)
2 用openssl命令验证碰撞,提交演示街头

MD5算法碰撞实例

MD5碰撞工具fastcoll:用来对给定的前缀快速生成md5碰撞 (也就是说,生成两个不同的文件,每个文件都是在给定的内容后面附加一段东西生成的)

实例1

d131dd02c5e6eec4693d9a0698aff95c
2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a
085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6
dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e
c69821bcb6a8839396f9652b6ff72a70

d131dd02c5e6eec4693d9a0698aff95c
2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a
085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6
dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e
c69821bcb6a8839396f965ab6ff72a70

两段数据的MD5均为:
79054025255fb1a26e4bc422aef54eb4

实例2

4dc968ff0ee35c209572d4777b721587
d36fa7b21bdc56b74a3dc0783e7b9518
afbfa200a8284bf36e8e4b55b35f4275
93d849676da0d1555d8360fb5f07fea2

4dc968ff0ee35c209572d4777b721587
d36fa7b21bdc56b74a3dc0783e7b9518
afbfa202a8284bf36e8e4b55b35f4275
93d849676da0d1d55d8360fb5f07fea2

两段数据的MD5均为:
008ee33a9d58b51cfeb425b0959121c9

实例3

0e306561559aa787d00bc6f70bbdfe34
04cf03659e704f8534c00ffb659c4c87
40cc942feb2da115a3f4155cbb860749
7386656d7d1f34a42059d78f5a8dd1ef

0e306561559aa787d00bc6f70bbdfe34
04cf03659e744f8534c00ffb659c4c87
40cc942feb2da115a3f415dcbb860749
7386656d7d1f34a42059d78f5a8dd1ef

两段数据的MD5均为:
cee9a457e790cf20d4bdaa6d69f01e41

验证碰撞

  • 在网上找到两个文件

  • 两个程序会在屏幕上打印出不同的字符:

  • 通过HASH验证,两个文件MD5相同

参考资料:
https://bbs.pediy.com/thread-67408.htm
https://www.jianshu.com/p/c9089fd5b1ba

SHA1算法碰撞实例

SHA-1碰撞工具sha1collider:可以将两个SHA1不同的PDF文件碰撞成相同SHA1值的两个文件可用于绕过验证签名。

实例1及验证

  • pdf文件1

  • pdf文件2

  • 通过HASH验证,两个文件SHA1相同

参考资料:https://shattered.it/

实例2

从2005年开始,Wang,Yin和Yu在SHA1论文的碰撞搜索攻击中有一个例子,但仅适用于弱轮廓的58轮SHA-1版本。 (完整的官方SHA-1执行80发。)
3 A collision example for 58-step SHA1

     h₁ = compress(h₀,M₀) = compress(h₀,M'₀)

h₀: 67452301 efcdab89 98badcfe 10325476 c3d2e1f0


M₀: 132b5ab6 a115775f 5bfddd6b 4dc470eb
0637938a 6cceb733 0c86a386 68080139
534047a4 a42fc29a 06085121 a3131f73
ad5da5cf 13375402 40bdc7c2 d5a839e2


M'₀: 332b5ab6 c115776d 3bfddd28 6dc470ab
e63793c8 0cceb731 8c86a387 68080119
534047a7 e42fc2c8 46085161 43131f21
0d5da5cf 93375442 60bdc7c3 f5a83982


h₁: 9768e739 b662af82 a0137d3e 918747cf c8ceb7d4


Table 2: A collision of SHA1 reduced to 58 steps. The two
messages that collide are M₀ and M'₀. Note that padding
rules were not applied to the messages.

参考资料:https://www.orcode.com/question/832385_k8e3e0.html

实例3

(Python3)

posted @ 2023-06-04 17:44  遥鱼  阅读(210)  评论(0编辑  收藏  举报