← 返回首页

用物理世界实现MD5碰撞

发布时间: 2026-04-14 17:46(北京时间)

摘要: 作者利用SLE4428智能卡物理实现MD5碰撞:将两段已碰撞的512字节数据分别写入两张卡,并添加相同后缀(0x55AA),确保MD5值一致。通过完整dump卡数据验证了碰撞。进一步设想构建基于MD5的门禁系统,利用碰撞攻击绕过校验,但指出第二原像攻击仍极难。整体呈现实验性、技术探索风格。

标签: MD5碰撞, 智能卡, SLE4428, 哈希攻击, 物理实现, 实验, 技术分析

字数: 348

原文链接: /7402396589/QAMrS0r67

基于SLE4428的“没活硬整”。4428可以储存1KB的数据,我拿了两张卡写入两份已经产生MD5碰撞的bin(两个碰撞块都是512字节),然后在最后填充了0x55AA。

因为对于一组长度相等且已经产生MD5碰撞的数据,在后面添加完全相同的后缀并不会改变MD5的值。

接下来只要用脚本把两张4428卡的1024字节数据全部Dump出来后进行MD5散列,结果也是一样的。

虽然似乎少点意思,但至少在现实世界获得了两张数据不尽相同但MD5相同的4428卡。

再玩下去就是设计一个简单的“门禁系统”或类似的东西,开门仅检验卡数据的MD5,而门禁的log中记录的是卡前面N个字节的数据。这样的话就相当于是一种哈希碰撞攻击。不过实际上MD5的第二原相攻击还是极其困难的。

image

image