实验四 Hash算法(MD5)
实验日期:2012.10.11 班级:10网络安全(CIW) 姓名: 学号:
一、实验目的
(1) 理解Hash算法的原理和特点
(2) 理解MD5算法的工作原理
二、实验要求
(1) 会使用密码工具和VC++6.0
(2) 准确完成实验内容,得出实验结果
(3) 写出实验步骤和实验小结
三、实验步骤
本实验主机A、B为一组,C、D为一组,E、F为一组。
首先使用“快照X”恢复Windows系统环境。
(一) MD5生成文件摘要
(1)本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“生成摘要”页签,在明文框中编辑文本内容:____哈希算法加密解密__________________________。
单击“生成摘要”按钮,生成文本摘要:
__73142770D82742D1F0ECC0EE184FDA21__,如图1-1所示:
图1-1 生成摘要
单击“导出”按钮,将摘要导出到MD5共享文件夹(D:\\Work\\Encryption\\MD5\\)中,并通告同组主机获取摘要,如图1-2所示:
图1-2 导出的文件
(3) 单击“导入摘要”按钮,从同组主机的MD5共享文件夹中将摘要导入,如图1-3所示:
图1-3 导入摘要
在文本框中输入同组主机编辑过的文本内容,单击“生成摘要”按钮,将新生成的摘要与导入的摘要进行比较,验证相同文本会产生相同的摘要,如图1-4所示:
图1-4 验证摘要
(3)对同组主机编辑过的文本内容做很小的改动,再次生成摘要,与导入的摘要进行对比,验证MD5算法的抗修改性,如图1-5所示:
图1-5验证MD5算法的抗修改性
(二) MD5算法
本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“演示”页签,在明文输入区输入文本(文本不能超过48个字符),单击“开始演示”,查看各模块数据及算法流程,如图2-1、2-2所示:
图2-1 算法演示
图2-2 求和运算
根据实验原理中对MD5算法的介绍,如果链接变量的值分别为(其中,M[1]=31323334):
A: 2B480E7C
B: DAEAB5EF
C: 2E87BDD9
D: 91D9BEE8
请写出第2轮第1步的运算过程以及经过运算后的链接变量。
(三) 源码应用(选做)
设计MD5文件校验工具,利用MD5算法计算文件摘要,如图3-1所示:
单击工具栏“VC6”按钮,启动VC++6.0。选择“File”|“Open Workspace…”加载工程文件“C:\\ExpNIS\\Encrypt-Lab\\Projects\\MD5\\MD5.dsw”。基于此工程进行程序设计。
图3-1设计MD5文件校验工具
实验小结
通过本次实验,我理解了Hash函数的计算原理和特点;理解了MD5算法原理;同时进行了MD5生成文本摘要、MD5算法等操作。
因篇幅问题不能全部显示,请点此查看更多更全内容