实验 3:MD5 算法的实现与验证实验
一、实验目的
1.熟悉 MD5 算法原理;
2.掌握 MD5 算法的工作流程。
二、实验内容
1.通过 Python 进行 MD5 算法的设计;
2.对 MD5 算法程序进行编译和调试;
3.测试输入为 512、2048、5120、8192 位的性能。
三、实验原理/流程
MD5 信息摘要算法(Message-Digest Algorithm),一种被广泛使用的密码
散列函数,可以产生出一个 128 位(16 字节)的散列值(hash value),用于确
保信息传输完整一致。MD5 由美国密码学家罗纳德·李维斯特(Ronald Linn
Rivest)设计,于 1992 年公开,用以取代 MD4 算法。这套算法的程序在 RFC
1321 标准中被加以规范。1996 年后该算法被证实存在弱点,可以被加以破
解,对于需要高度安全性的数据,专家一般建议改用其他算法,如 SHA-2。
2004 年,证实 MD5 算法无法防止碰撞(collision),因此不适用于安全性认
证,如 SSL 公开密钥认证或是数字签名等用途。
(一)环境
Windows 操作系统(Windows7、Windows8、Windows10 等)或 UNIX、
Linux 系统。