一个安全的单向哈希函数需要满足两个性质:单向性和抗碰撞性。
有一些被广泛使用的单向哈希函数在抗碰撞性上存在问题。
在 CRYPTO 2004 的最后一场会议上,王小云及其合作者
展示了针对 MD5 的碰撞攻击。
2017 年 2 月, CWI Amsterdam 和 Google Research 宣布了
攻击可以攻破 SHA-1 的抗碰撞性。
尽管许多学生对于理解单向性的重要性没有什么困难,
但是理解为什么需要抗碰撞属性以及这些攻击会造成什么影响不是很容易。
该实验的学习目标是让学生真正了解碰撞攻击的影响, 并亲眼看到如果单向哈希函数的抗碰撞性被攻破会造成什么损害。 为了实现此目标,学生需要针对 MD5 哈希函数发起真实的的碰撞攻击。 使用这些攻击,学生能够创建有相同 MD5 哈希值但行为完全不同的两个程序。