3

有没有大佬知道如何把 2 个不同的视频的 MD5 值改成相同的呢

 1 year ago
source link: https://www.v2ex.com/t/899567
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  问与答

有没有大佬知道如何把 2 个不同的视频的 MD5 值改成相同的呢

  Ylenol · 6 小时 50 分钟前 · 1474 次点击
21 条回复    2022-12-02 18:28:29 +08:00
knightdf

knightdf      6 小时 45 分钟前   ❤️ 2

国安部需要你这种人才
haimall

haimall      6 小时 42 分钟前   ❤️ 1

那还是 md5 吗
Twan

Twan      6 小时 39 分钟前   ❤️ 1

膜拜下 这个想法...
唯一可能自己做一个假的 MD5 工具吧, 至于那种两个文件再 128bit 里碰撞出奇迹 导致 MD5 相同的可能 还是期待地球先爆炸吧
《最后来一句 不要往心里去: "但凡有点计算机基础 这话都问不出来" 》
RebornT

RebornT      6 小时 37 分钟前

把两个视频的 MD5 存 txt 里,复制第一个,粘贴到第二个 (逃
swulling

swulling      6 小时 36 分钟前

Q: Can one make 2 different files get the same hash by appending stuff?
A: With MD5, in a few hours on a standard computer. With SHA1, it's possible but not practical for end-users (Complexity: 2^63.4 Price: $45K)

Q: Will the 2 files remain valid?
A: In general, yes, as most file formats tolerate appended data. OTOH files signatures will be likely broken.
vigack

vigack      6 小时 1 分钟前   ❤️ 1

@swulling
试了下确实可以,非常简单,我试了两个大小为 200 多 MB 的 mp4 视频,下面是修改前后的 md5:
---
4cd246723eebc88224b7a710c488622e 1.mp4
86c900a3f0e9fb2b737309039572983a 2.mp4
940ea0adec996534818fbfabd25852b0 collision1.mp4
940ea0adec996534818fbfabd25852b0 collision2.mp4
286fd34ae0a3cde44f6e470f9327aded collisionl1.mp4
286fd34ae0a3cde44f6e470f9327aded collisionl2.mp4
---
全程只需要十几秒钟。
操作相当无脑,直接 clone 下整个仓库,进入 scripts 目录,执行 python mp4.py 1.mp4 2.mp4
gstqc

gstqc      5 小时 50 分钟前

md5 碰撞轻而易举
felixlong

felixlong      4 小时 48 分钟前

咋就故意把这个 ignore 了呢?这个能做到才是真的被破解了。
Q: Is it possible to make a file get an arbitrary MD2/MD4/MD5/MD6/SHA1/SHA2/SHA3, or the same hash as another file?
A: No.
swulling

swulling      4 小时 44 分钟前

@felixlong 这个并不是 OP 的诉求。所有回复都是为了解决 OP 提出的问题。
dqzcwxb

dqzcwxb      4 小时 43 分钟前

xiangyuecn

xiangyuecn      4 小时 36 分钟前   ❤️ 1

目测只需改最后几个字节,前面的数据只需计算一遍,反复去算后面几个字节得到完整的新 md5 ,计算量目测不大,确实轻而易举
Ylenol

Ylenol      4 小时 20 分钟前

@swulling 感谢大佬。十分感谢!
lwlizhe

lwlizhe      1 小时 50 分钟前

话说很好奇,搞出俩相同 hash 是要做啥?

印象中只有 hash 洪水攻击才会需要一定量的相同 hash 的文件或者请求啥的
Twan

Twan      1 小时 32 分钟前

@Twan 看来我的脸有点疼
Puteulanus

Puteulanus      1 小时 24 分钟前

低成本的 MD5 碰撞记得早就被实现了,所以现在 MD5 仅建议拿来校验文件完整性
lambdaq

lambdaq      1 小时 20 分钟前

@Twan 你应该加一个限定条件:文件大小一模一样
nlzy

nlzy      35 分钟前

@lambdaq 文件大小无论是一样还是不一样,选择前缀攻击的方法和算力成本都大差不差。

我一直很好奇 V 站网友对 MD5 以及文件大小来抗碰撞的迷信到底是从哪来的。两年前有人在 V 站发帖,问 MD5 作为唯一标识可不可行,当时也是不少人觉得加上大小就可行了。(笑
lambdaq

lambdaq      21 分钟前

@nlzy 也得是文件格式支持插入大量无意义元数据才行吧。。有签名的那种文件你修改了直接打不开。
swulling

swulling      5 分钟前 via iPhone

@lambdaq 大部分文件格式都支持 append 很多无意义的数据。

记得之前有一个简单的加密方法就是把数据塞到图片里。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK