HMAC消息认证机制网络安全实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

河北大学网络安全概论实验报告学院计算机科学与技术年级2013专业网络工程学号2013434018姓名刘晓明__实验日期5月6日实验地点C1-220指导教师何欣枫实验项目HMAC消息认证机制成绩_________一、实验目的掌握目前普遍使用的HMAC算法的基本原理,了解其主要应用方法。二、实验环境VS2010cryptopp563算法代码。三、实验要求(1)下载HMAC源码(crypto++)压缩包cryptopp563(2)构造长度为1KB左右的文本文件,以HMAC算法对文件计算Hash值(3)在上述文本文件中修改一个字符,再次计算Hash值,与上一步骤的Hash值进行比较,看看有多少比特发生改变(4)测试HMAC算法的速度四、HMAC算法流程Hmac算法流程:First-Hash=H(KoXORIpad||(datatoauth))Second-Hash=H(KoXOROpad||First-Hash)(1)在密钥K后面添加0来创建一个字长为B的字符串。(例如,如果K的字长是20字节,B=64字节,则K后会加入44个零字节0x00)(2)将上一步生成的B字长的字符串与ipad做异或运算。(3)将数据流text填充至第二步的结果字符串中。(4)用H作用于第三步生成的数据流。(5)将第一步生成的B字长字符串与opad做异或运算。(6)再将第四步的结果填充进第五步的结果中。(7)用H作用于第六步生成的数据流,输出最终结果这种算法只生成一串不可逆的密文,经常用其校验数据传输过程中是否经过修改,因为此算法对于同一明文只会生成唯一的密文,若生成的密文不同,则证明传输数据进行过了修改。通常在数据传输过程前,使用MD5和SHA1算法均需要发送和接收数据双方在数据传送之前就知道密匙生成算法,而HMAC与之不同的是需要生成一个密匙,发送方用此密匙对数据进行摘要处理(生成密文),接收方再利用此密匙对接收到的数据进行摘要处理,再判断生成的密文是否相同。五、实验步骤及结果1、建立工程文件将vs2010中的插件插入到crypto++根目录中,用vs2010打开项目文件并生成解决方案,执行程序,得到win32解决方案。2、HMAC算法(1)在工程根目录里打开路径win32\Output\Debug,找到cryptest.exe文件。建立test.txt文件,输入连续的数据1,得到1kb大小的text文件。(2)打开系统cmd,输入cd/dE:\test,出现换行的E:\test后,继续输入在cmd输入:cryptest.exehmactestE:\test\test.txt,即可得到:C6E6E3A755BE435A7326F5171453A33C488900C1修改test.txt,将其中一个字符改为2,重复之前的操作可以得到修改后的哈希值:D9380C9DDDA48C4DDF4B5977DB70992FD0AF317B速度测试:(1)在源代码加入如下代码,计算hmac算法的时间elseif(command==hmac){clock_tt1,t2;doubletime;t1=clock();HmacFile(argv[2],argv[3]);t2=clock();time=(double)(t2-t1);printf(\n用时:%f\n,(time/CLOCKS_PER_SEC));}在对于小文件加密中,hmac与对称加密算法和非对称加密算法速度并无明显差别,然而对于大文件的加密来说,hmac速度更快,效率更高。

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功