有没有大佬知道如何把 2 个不同的视频的 MD5 值改成相同的呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ylenol
V2EX    问与答

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

  •  
  •   Ylenol 202212-02 11:44:07 +08:00 3907 次点击
    这是一个创建于 1043 天前的主题,其中的信息可能已经有所发展或是发生改变。
    23 条回复    2022-12-03 10:21:59 +08:00
    knightdf
        1
    knightdf  
       2022-12-02 11:48:12 +08:00   3
    国安部需要你这种人才
    haimall
        2
    haimall  
       2022-12-02 11:51:08 +08:00   1
    那还是 md5 吗
    Twan
        3
    Twan  
       2022-12-02 11:54:39 +08:00   1
    膜拜下 这个想法...
    唯一可能自己做一个假的 MD5 工具吧, 至于那种两个文件再 128bit 里碰撞出奇迹 导致 MD5 相同的可能 还是期待地球先爆炸吧
    《最后来一句 不要往心里去: "但凡有点计算机基础 这话都问不出来" 》
    swulling
        4
    swulling  
       2022-12-02 11:55:06 +08:00   15
    RebornT
        5
    RebornT  
       2022-12-02 11:57:06 +08:00
    把两个视频的 MD5 存 txt 里,复制第一个,粘贴到第二个 (逃
    swulling
        6
    swulling  
       2022-12-02 11:57:24 +08:00
    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
        7
    vigack  
       2022-12-02 12:32:13 +08:00   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
    0ZXYDDu796nVCFxq
        8
    0ZXYDDu796nVCFxq  
       2022-12-02 12:43:54 +08:00
    md5 碰撞轻而易举
    slowman
        9
    slowman  
       2022-12-02 12:57:40 +08:00
    felixlong
        10
    felixlong  
       2022-12-02 13:45:51 +08:00
    咋就故意把这个 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
        11
    swulling  
       2022-12-02 13:49:32 +08:00
    @felixlong 这个并不是 OP 的诉求。所有回复都是为了解决 OP 提出的问题。
    dqzcwxb
        12
    dqzcwxb  
       2022-12-02 13:50:37 +08:00
    挺刑的!
    xiangyuecn
        13
    xiangyuecn  
       2022-12-02 13:57:25 +08:00   1
    目测只需改最后几个字节,前面的数据只需计算一遍,反复去算后面几个字节得到完整的新 md5 ,计算量目测不大,确实轻而易举
    Ylenol
        14
    Ylenol  
    OP
       2022-12-02 14:14:05 +08:00
    @swulling 感谢大佬。十分感谢!
    lwlizhe
        15
    lwlizhe  
       2022-12-02 16:44:01 +08:00
    话说很好奇,搞出俩相同 hash 是要做啥?

    印象中只有 hash 洪水攻击才会需要一定量的相同 hash 的文件或者请求啥的
    Twan
        16
    Twan  
       2022-12-02 17:01:37 +08:00
    @Twan 看来我的脸有点疼
    Puteulanus
        17
    Puteulanus  
       2022-12-02 17:09:58 +08:00
    低成本的 MD5 碰撞记得早就被实现了,所以现在 MD5 仅建议拿来校验文件完整性
    lambdaq
        18
    lambdaq  
       2022-12-02 17:13:58 +08:00
    @Twan 你应该加一个限定条件:文件大小一模一样
    nlzy
        19
    nlzy  
       2022-12-02 17:58:41 +08:00   1
    @lambdaq 文件大小无论是一样还是不一样,选择前缀攻击的方法和算力成本都大差不差。

    我一直很好奇 V 站网友对 MD5 以及文件大小来抗碰撞的迷信到底是从哪来的。两年前有人在 V 站发帖,问 MD5 作为唯一标识可不可行,当时也是不少人觉得加上大小就可行了。(笑
    lambdaq
        20
    lambdaq  
       2022-12-02 18:12:57 +08:00
    @nlzy 也得是文件格式支持插入大量无意义元数据才行吧。。有签名的那种文件你修改了直接打不开。
    swulling
        21
    swulling  
       2022-12-02 18:28:29 +08:00 via iPhone
    @lambdaq 大部分文件格式都支持 append 很多无意义的数据。

    记得之前有一个简单的加密方法就是把数据塞到图片里。
    yxwzaxns
        22
    yxwzaxns  
       2022-12-02 20:40:36 +08:00   2
    看了楼上的回复我才发现好多人都不认识这个人
    https://www.cs.tsinghua.edu.cn/info/1138/3905.htm
    lusi1990
        23
    lusi1990  
       2022-12-03 10:21:59 +08:00 via Android
    哈系碰撞
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3379 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 05:04 PVG 13:04 LAX 22:04 JFK 01:04
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86