【密码学】基于 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

    不一致

声明

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

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

相关推荐
山登绝顶我为峰 3(^v^)31 天前
如何录制带备注的演示文稿(LaTex Beamer + Pympress)
c++·线性代数·算法·计算机·密码学·音视频·latex
应长天3 天前
密码学(斯坦福)
密码学
Turbo正则4 天前
量子计算基础概念以及八大分支
密码学·量子计算
网安INF14 天前
公钥加密与签名算法计算详解(含计算题例子)
网络·算法·网络安全·密码学
电院工程师15 天前
基于机器学习的侧信道分析(MLSCA)Python实现(带测试)
人工智能·python·嵌入式硬件·安全·机器学习·密码学
电院工程师17 天前
SM3算法C语言实现(无第三方库,带测试)
c语言·算法·安全·密码学
小七mod18 天前
【BTC】密码学原理
web3·区块链·密码学·比特币·btc·肖臻·北大区块链
电院工程师24 天前
轻量级密码算法PRESENT的C语言实现(无第三方库)
c语言·算法·安全·密码学
电院工程师24 天前
轻量级密码算法CHAM的python实现
python·嵌入式硬件·算法·安全·密码学
电院工程师25 天前
SM3算法Python实现(无第三方库)
开发语言·python·算法·安全·密码学