其他分享
首页 > 其他分享> > hash碰撞(选做)

hash碰撞(选做)

作者:互联网

hash碰撞(选做)

作者:20191322wyl

目录

任务详情

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

md5碰撞

实例1

来源

样本A

4dc968ff0ee35c209572d4777b721587
d36fa7b21bdc56b74a3dc0783e7b9518
afbfa200a8284bf36e8e4b55b35f4275
93d849676da0d1555d8360fb5f07fea2

样本B

4dc968ff0ee35c209572d4777b721587
d36fa7b21bdc56b74a3dc0783e7b9518
afbfa202a8284bf36e8e4b55b35f4275
93d849676da0d1d55d8360fb5f07fea2

可以看到,第三行第8个字符不一样,一个是0,一个是2

使用openssl验证:

使用命令

echo "xxxxx" | xxd -r -ps | openssl md5 写入二进制文件,或用于传给openssl计算哈希

可以看到,md5值一样

image-20220410200957655

实例2

these different 2 Images Has The Same MD5 Hash : DataHoarder (reddit.com)

两张完全不一样的图片,一张飞机,一张轮船,但是他们md5居然是相同的。

ipfektJLln3ZoOs

b9DjJ6mt2wZAEW5

使用openssl验证:

可以发现两张图的hash值一样

image-20220410202107144

实例3

来源

样本A

d131dd02c5e6eec4693d9a0698aff95c
2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a
085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6
dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e
c69821bcb6a8839396f9652b6ff72a70

样本B

d131dd02c5e6eec4693d9a0698aff95c
2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a
085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6
dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e
c69821bcb6a8839396f965ab6ff72a70

可以看到,第二行第7个字符不一样,一个是8,一个是0

可以看到,md5值也一样

image-20220410202611802

SHA-1碰撞

实例1

来源

两个不同的pdf文件,具有相同的SHA-1哈希值。

image-20220410203150701

使用openssl验证:

image-20220410203559637

可以看到sha1值一样

实例2

来源

两个文件messageA和messageB内容不同,但具有相同SHA-1值。

messageA:

0000000 002231 002015 164177 100027 020001 177400 062513 020171
0000020 071551 070040 071141 020164 063157 060440 061440 066157
0000040 064554 064563 067157 020041 072111 071447 060440 072040
0000060 060562 020560 143171 170032 146257 042405 154425 047047
0000100 003563 045542 143435 021773 105630 157270 053613 135135
0000120 117173 030653 063701 066513 041627 124170 071447 172457
0000140 016205 121166 003746 132562 076244 165341 005704 111671
0000160 026701 070214 045342 106517 146537 140755 026263 170634
0000200 030636 022257 072451 041235 157744 030733 117561 073130
0000220 167043 024525 133071 156334 117505 051712 035525 174160
0000240 157176 121060 165107 173072 054707 171242 031013 073015
0000260 133015 172117 004171 151517 131714 152315 061203 065331
0000300 041634 013406 177712 033154 033706 037745 024336 077501
0000320 067542 052354 074755 122103 057556 030127 135762 175470
0000340 173035 004740 010000 007320 126444 137570 062222 111431
0000360 107140 012615 074212 032237 067704 163341 077402 122065
0000400 175713 070202 142566 145016 105416 145174 135551 025454
0000420 001171 174531 112677 156560 042215 121467 057421 173657
0000440 145303 115300 051322 002546 023534 043420 013525 127216
0000460 101377 026132 025252 132717 062336 073316 156101 122531
0000500 124501 116374 063565 161126 036742 011707 141310 113514
0000520 125220 007153 123470 057765 042424 016052 102642 156415
0000540 061225 115375 126430 044502 124552 004160 043367 173162
0000560 172216 165541 130210 031631 023326 174664 072030 140234
0000600 176447 066335 057502 020704 032550 011720 012515 055450
0000620 026253 102267 173644 132313 050773 045515 173360 076043
0000640 005360 117636 025423 003232 067556 077721 041154 072230
0000660 054170 173157 127521 072226 132177 134446 025607 104232
0000700 003344 054477 031673 140114 050006 035370 142200 050447
0000720 014667 151564 176000 014450 164242 161761 015454 145521
0000740 163030 142277 115733 173256 152165 172652 053661 002112
0000760 107577 151155 012754 111472 021101 113623 111115 104217
0001000 154716 036066 174776 161174 041347 032277 065711 171616
0001020 053207 177166 146245 162650 157367 135240 040662 046475
0001040 007340 017347 017740 025426 066733 127436 022731 127346
0001060 127272 032552 170516 171174 122005 175404 011333 042774
0001100 040515 154775 171134 113105 121144 001655 016455 005246
0001120 023163 072500 170727 153340 040301 163472 154240 157541
0001140 162477 070560 156610 003536 054321 117633 063213 052460
0001160 107477 051303 160263 076702 005650 135335 062114 006402
0001200

messageB:

0000000 001631 002015 164177 100027 014001 177400 071120 061541
0000020 064564 060543 020154 044123 026501 020061 064143 071557
0000040 067145 070055 062562 064546 020170 067543 066154 071551
0000060 067551 020556 023435 065554 060646 002341 017416 073175
0000100 003577 044542 143735 031773 105454 141270 053667 137135
0000120 117307 025653 063741 076513 041663 132170 071713 160457
0000140 016211 120166 003446 122562 076020 173341 005750 113671
0000160 026575 064214 045122 116517 146537 146755 026013 160634
0000200 030622 023257 072751 051235 157520 026733 117515 071130
0000220 167237 031525 133031 146334 117541 047712 035671 166160
0000240 157162 120060 165207 163072 054563 167242 031047 071015
0000260 133261 166117 004311 141517 131714 154315 061073 075331
0000300 041620 012406 177412 023154 033562 021745 024342 075501
0000320 067736 047354 074715 132103 057512 026127 135436 167470
0000340 173021 005740 010300 017320 126620 121570 062276 113431
0000360 107334 006615 074072 022237 067704 165341 077672 132065
0000400 175707 071202 142666 155016 105672 153174 135525 027454
0000420 001305 161531 112637 146560 042251 137467 057775 161657
0000440 145317 114300 051022 012546 023750 055420 013571 125216
0000460 101103 032132 025032 122717 062336 075316 156371 132531
0000500 124515 117374 063665 171126 036526 007707 141364 111514
0000520 125054 012153 123430 047765 042460 000052 102516 144415
0000540 061231 114375 126730 054502 124736 012160 043333 171162
0000560 172062 171541 130070 021631 023326 172664 072240 150234
0000600 176453 067335 057602 030704 032734 007720 012561 057450
0000620 026027 117267 173604 122313 050737 053515 173034 064043
0000640 005374 116636 025723 013232 067732 061721 041100 070230
0000660 054304 167157 127741 062226 132177 132446 025477 114232
0000700 003350 055477 031573 150114 050262 023370 142274 052447
0000720 014413 144564 176040 004450 164206 177761 015700 157521
0000740 163024 143277 115433 163256 152301 164652 053635 000112
0000760 107703 145155 012534 101472 021101 115623 111365 114217
0001000 154702 037066 174476 171174 041123 024277 065765 173616
0001020 053073 162166 146205 172650 157323 123240 040536 054475
0001040 007354 016347 017440 035426 066557 131436 022765 125346
0001060 127006 026552 170776 161174 122005 173404 011143 052774
0001100 040501 155775 171234 103105 121320 017655 016421 007246
0001120 023317 067500 170767 143340 040345 175472 154114 145541
0001140 162463 071560 156510 013536 054145 101633 063247 050460
0001160 107603 045303 160003 066702 005650 133335 062364 016402
0001200
         

使用openssl验证:

image-20220410204204382

可以看到,两个message的sha1一样

实例3

来源

这只是一个弱碰撞,abc123_owlstead_1255abc123_owlstead_59131的前32位哈希值相同。这个碰撞只包含哈希值的前32位,但是本来的消息就只有很短的两个字符串,所以还是不容小觑。

使用openssl验证:

image-20220410204844150

标签:选做,hash,碰撞,openssl,实例,哈希,md5
来源: https://www.cnblogs.com/BillGreen/p/16127445.html