SEEDLAB2.0-MD5 Collision Attack Lab

本文探讨了MD5碰撞攻击的概念,通过生成具有相同MD5哈希值但内容不同的文件来演示该技术。任务涉及理解MD5算法的工作原理,以及如何通过修改文件的特定部分来保持哈希值不变。这种技术可以用于制作行为不同的程序,例如在签名验证过程中产生冲突,从而可能使恶意软件获得合法签名。这对于网络安全和软件验证具有重要意义。

MD5 Collision Attack Lab

Task1生成有相同md5hash的两个不同文件
首先两个文件有相同的前缀,使用md5collgen就可以实现这一点,不论任意内容都可以有相同前缀,该程序工作流程如下
在这里插入图片描述

给出一个前缀文件prefix.txt,将会输出两个文件out1.bin,out2.bin
在这里插入图片描述

然后可以使用md5sum校验每个输出文件的hash是否相同
在这里插入图片描述

Task2理解md5的性质
在这里插入图片描述

Md5将输入的数据按照64字节一组进行切分,然后在这些分组上进行迭代地计算。其狠心是压缩函数,其接受两个输入,分别是64字节的数据分组和前一次迭代的输出,压缩函数compression function会输出128位的IHV(intermediate hash value),这个输出将在下一次迭代时参与运算。如果当前的迭代是最后一次,IHV就是最终的hash值。而第一次迭代IHV0的IHV的输入是固定值。
基于其如何工作的,我们可以得到md5算法的性质:给两个输入M和N,如果MD5(M)=MD5(N),那么对于任意输入T,都有MD5(M||T) =MD5(N||T),||表示拼接。
这意味着如果M和N有相同的hash,添加

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值