计算机 密码学 实验六_Hash算法实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验六:Hash算法实验安全0901 王宇航 09283020

实验报告

1.实验目的:

(1)通过实际编程,了解MD5算法的压缩过程,加深对Hash算法的认识;

(2)了解MD5中数据填充的方式;

(3)了解Hash算法中碰撞的研究方法和进展;

(4)了解其他Hash算法;

(5)了解HMAC算法

2.实验内容:

(1)熟悉Hash算法:

通西普平台的散列函数实验以及MD5值比对实验,简单了解HAsh算法;

思考以下问题:

1.比较三种算法的不同,如:三种散列函数的输入输出等;

由上图可以看出,MD5、SHA1、SHA256等的输出长度不同,MD5:256bits、SHA1:320bit、SHA256:512bit

2.通过实验,看一下两个相似的字符串经过MD5运算后,得到的结果差

异有多大?

第一组报文:123456789123 第二组报文:123456789120 差异只在最后一位数。

由图可以看出,输入只差一个数字,而结果总共有128位却有67位不同。差异很大。

(2)熟悉Hash算法的过程,了解填充方式:

通过SimpleISES平台(SHA-1)或者给出的页面(MD5, SHA1,Padding),真正理解Hash算法的过程,了解填充方式:

先输入测试向量123456789123

我们可以看到状态表,如下图:

然后是,4个轮函数,以第一个轮函数为例,如下图:

最终得到Hash值,如下图:

1)给出几种Hash算法的数据填充方式;

SHA1的填充方式:明文填充一位1,再填充若干个0把明文补至448位,再填充64位(原始明文长度的64位表示)把明文补至512位。

MD5的填充方式与SHA1相同。

(3)利用程序分别计算文件hello.exe 和erase.exe的md5值:

先输入测试向量123456789123

源代码及程序运行结果及截图:

相关文档
最新文档