【密码学】基于 fastcoll 实现 MD5 碰撞快速生成(MD5碰撞)

【密码学】基于 fastcoll 实现 MD5 碰撞快速生成(MD5碰撞)

原理

MD5碰撞

MD5碰撞是指两个不同的输入数据通过MD5哈希算法生成相同的哈希值。这种情况会导致哈希值无法唯一标识原始数据,从而破坏哈希函数的完整性和安全性。

步骤

  1. 准备一个可执行文件 helloworld.exe,测试运行

    bash 复制代码
    .\helloworld.exe
  2. 运行 fastcoll,以 helloworld.exe 为基础,生成 helloworld1.exe 和 helloworld2.exe 两个文件

    bash 复制代码
    fastcoll -p .\helloworld.exe -o helloworld1.exe helloworld2.exe

验证

  1. 运行 helloworld1.exe 和 helloworld2.exe

    bash 复制代码
    .\helloworld1.exe
    bash 复制代码
    .\helloworld2.exe

    都能正常运行

  2. 使用 Ultra Compare 比较 helloworld1.exe 和 helloworld2.exe

    发现存在差异

  3. 使用 Ultra Compare 比较 helloworld.exe 和 helloworld1.exe

    发现 helloworld1.exe 是在 helloworld.exe 的文件末尾拼接了一段数据

  4. 使用 certutil 计算 helloworld1.exe 和 helloworld2.exe 的 MD5 单向散列值

    bash 复制代码
    certutil -hashfile .\helloworld1.exe md5
    bash 复制代码
    certutil -hashfile .\helloworld2.exe md5

    发现一致

  5. 使用 certutil 计算 helloworld.exe 和 helloworld1.exe 的 MD5 单向散列值

    bash 复制代码
    certutil -hashfile .\helloworld.exe md5
    bash 复制代码
    certutil -hashfile .\helloworld1.exe md5

    不一致

声明

本博客上发布的所有关于网络攻防技术的文章,仅用于教育和研究目的 。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行,并且严格遵守了相关法律法规

博主坚决反对任何形式的非法黑客行为 ,包括但不限于未经授权的访问、攻击或破坏他人的计算机系统。博主强烈建议每位读者在学习网络攻防技术时,必须遵守法律法规不得用于任何非法目的 。对于因使用这些技术而导致的任何后果,博主不承担任何责任

相关推荐
Zevalin爱灰灰6 小时前
现代密码学 第三章——分组密码【上】
密码学
其实防守也摸鱼1 天前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
Zevalin爱灰灰1 天前
现代密码学 第二章——流密码【上】
密码学
开源Z1 天前
WeDPR v3.0 适配国密(SM)区块链节点部署实战:填坑官方文档未覆盖的配置
区块链·密码学·可信计算技术
其实防守也摸鱼2 天前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼2 天前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
其实防守也摸鱼3 天前
CTF密码学综合教学指南--第一章
网络·安全·网络安全·密码学·ctf·法律
其实防守也摸鱼3 天前
CTF密码学综合教学指南--第二章
开发语言·网络·python·安全·网络安全·密码学·ctf
@insist1236 天前
信息安全工程师-密码学专题(下):构建可信网络空间的核心机制
java·大数据·密码学·软考·信息安全工程师·软件水平考试
@insist1239 天前
信息安全工程师-密码学专题(中):对称加密、RSA 与哈希算法
人工智能·密码学·哈希算法·软考·信息安全工程师·软件水平考试