主页 环境设置 SEED 实验 书和视频 教师手册 采用情况 英文
SEED Logo

MD5 碰撞攻击实验

一个安全的单向哈希函数需要满足两个性质:单向性和抗碰撞性。 有一些被广泛使用的单向哈希函数在抗碰撞性上存在问题。 在 CRYPTO 2004 的最后一场会议上,王小云及其合作者 展示了针对 MD5 的碰撞攻击。 2017 年 2 月, CWI Amsterdam 和 Google Research 宣布了 攻击可以攻破 SHA-1 的抗碰撞性。 尽管许多学生对于理解单向性的重要性没有什么困难, 但是理解为什么需要抗碰撞属性以及这些攻击会造成什么影响不是很容易。

该实验的学习目标是让学生真正了解碰撞攻击的影响, 并亲眼看到如果单向哈希函数的抗碰撞性被攻破会造成什么损害。 为了实现此目标,学生需要针对 MD5 哈希函数发起真实的的碰撞攻击。 使用这些攻击,学生能够创建有相同 MD5 哈希值但行为完全不同的两个程序。

任务 (PDF 文件)

  • 虚拟机版本: SEED Ubuntu-20.04 VM
  • 实验环境设置文件: 不要在共享文件夹里解压缩下面的文件,否则会出问题。 把 zip 文件拷贝到其它目录, 然后在 VM 里用 unzip 命令解压缩。

SEED 参考书