ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:402.17KB ,
资源ID:16669512      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16669512.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验散列函数实验Word格式.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验散列函数实验Word格式.docx

1、(1) 算法公开,不需要密钥。(2) 具有数据压缩功能,可将任意长度的输入转换为固定长度的输出。(3) 已知m,容易计算出H(m)。(4) 给定消息散列值H(m),要计算出m在计算上是不可行的。(5) 对任意不同的输入m和n,它们的散列值是不能相同的。一、 MD5算法MD5(Message-Digest Algorithm 5)即信息-摘要算法,是MD4算法的改进;算法的输入为任意长度的消息,分为512比特长的分组,输出为128比特的消息摘要。处理过程如下:(1) 对消息进行填充,使其比特长度为n512+448(n为正整数),填充方式是固定的:第一位为1,其后各位为0。(2) 附加消息长度,使

2、用上一步骤留出的64比特以小端(最低有效字节/位存储于低地址字节/位)方式来表示消息被填充前的长度,若消息长度大于264,则以264为模数取模。(3) 对消息摘要缓冲区初始化,算法使用128比特长的缓冲区来存储中间结果和最终散列值,将缓冲区表示成4个32比特长的寄存器A、B、C、D,每个寄存器以小端方式存储数据,初始值为(十六进制,低位字节在前)A=01234567,B=89ABCDEF,C=FEDCBA98,D=76543210。(4) 以分组为单位对消息进行处理,每一个分组都经过压缩函数HMD5处理;HMD5有4轮处理过程,每轮有16步迭代,4轮处理过程的处理结构一样,所用逻辑函数不同,分

3、别表示为F、G、H、I;每轮的输入为当前处理的消息分组和缓冲区当前的值,输出仍存放在缓冲区中。最后第四轮的输出与第一轮输入的缓冲区值V相加,相加时将V看做4个32比特的字,每个字与第四轮输出的对应的字按模232相加,相加结果为HMD5的输出。(5) 消息的所有分组均被处理完后,最后一个HMD5的输出即为产生的128位消息摘要。二、 SHA-1/256算法SHA的全称为Secure Hash Algorithm(安全杂凑算法),SHA 家族的五个算法分别是SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,由美国国家安全局 (NSA) 所设计,并由美国国家标准与技术研究院

4、(NIST)发布,后四者有时并称为SHA-2。SHA-1基于MD4算法,算法的输入最大长度为264-1比特,分为512比特长的分组,输出为160比特的消息摘要。(1) 对消息进行填充,与MD5第一步相同。(2) 附加消息长度,与MD5第二步类似,不同的是以大端(最高有效字节/位存储于低地址字节/位)方式来表示消息被填充前的长度。(3) 对消息摘要缓冲区初始化,算法使用160比特长的缓冲区来存储中间结果和最终散列值,将缓冲区表示成5个32比特长的寄存器A、B、C、D、E,每个寄存器以大端方式存储数据,初始值为(十六进制,高位字节在前)A=67452301,B=EFCDAB89,C=98BADCF

5、E,D=10325476,E=C3D2E1F0。(4) 以分组为单位对消息进行处理,每一个分组都经过压缩函数HSHA处理;HSHA有4轮处理过程,每一轮又有20步迭代;4轮处理过程的处理结构一样,所用逻辑函数不同,分别表示为f1、f2、f3、f4;最后第四轮的输出与第一轮输入的缓冲区值V相加,相加时将V看做5个32比特的字,每个字与第四轮输出的对应的字按模232相加,相加结果为HMD5的输出。(5) 消息的所有分组均被处理完后,最后一个HSHA的输出即为产生的160位消息摘要。SHA-256使用6个逻辑函数,均基于32位的字进行操作,算法输出的消息摘要为256位。SHA与MD5处理过程类似,主

6、要区别在于所使用的压缩函数不同。三、 HMAC算法HMAC的全称为Hash-based Message Authentication Code(基于散列的消息认证码),HMAC将散列函数作为一个黑盒使用,散列函数的实现可作为实现HMAC的一个模块,并可使用新模块代替旧模块。设H为嵌入的散列函数,M为HMAC的输入消息(包括散列函数所要求的填充位),Yi(0iL-1)是M的第i个分组,L为M的分组数,b为一个分组中的比特数,n为嵌入的散列函数所产生的散列值的长度,K为密钥,若密钥长度大于b,则将密钥输入到散列函数中产生一个n比特长的密钥,K+是左边将填充0后的K,K+的长度为b比特,ipad为b

7、/8个00110110,opad为b/8个01011010;则算法的输出可表示为:【实验环境】ISES客户端Microsoft CLR Debugger 2005或其它调试器【实验步骤】一、 散列值计算(1) 选择明文格式,输入明文;(2) 勾选计算使用的算法,默认为全选;(3) 点击“计算”按钮,使用所选算法分别计算明文的散列值;算法对应的文本框中将显示相应的散列值,如下图所示。二、 MD5值比对(1) 点击“扩展实验”框中的“MD5值比对”按钮,进入MD5值比对窗体。(2) 相同报文的MD5散列值比对分别在第一组报文和第二组报文处输入相同的报文值,并计算MD5散列值;点击“异或比较”按钮,

8、进行散列值的比对,非0元个数即为散列值中互不相同的位数,此处为0,即相同报文的散列值相同,如下图所示。(3) 相似报文的MD5散列值比对保持第一组报文中的内容不变,修改第二组报文值中的最后一位,计算其散列值,并进行异或比较,结果如下图所示;可以看出对两个极为相似的报文进行散列后得到的散列值差异是非常大的。三、 MD5扩展实验(1) 点击“扩展实验”框中的“MD5扩展实验”,进入MD5扩展实验窗体。(2) 在测试向量文本框中输入任意长度的ASCII字符串,点击“运行”,MD5算法的运行结果会出现在信息摘要文本框中,如下图所示。(3) 观察MD5算法的执行过程。点击“算法演示”按钮,激活算法演示界

9、面,如下图所示,其中表示模232加。1 在“数据分组编号(q)”文本框中输入一个小于“数据最大分组数”文本框中的非负整数,然后点击“开始”,启动算法执行,如下图所示。点击“第一轮函数变换”按钮,进入轮函数变换窗口。依次点击界面中的按钮,得到MD5算法中的各种中间步骤结果,如下图所示。依次执行“第二轮函数变换”,“第三轮函数变换”,“第四轮函数变换”后,进入该组信息摘要变换的最后一步。点击最下面的加法异或按钮,得到该分组的信息摘要结果。具体如下图所示。四、 SHA扩展实验SHA扩展实验包括SHA1扩展实验和SHA2-224/256扩展实验等,此处以SHA1扩展实验为例,其他可参照完成。点击扩展实

10、验下的“SHA1扩展”按钮,进入SHA1扩展实验的主页面。(1) 在测试向量文本框中输入任意长度的ASCII字符串,点击“运行”,SHA-1算法的运行结果会出现在信息摘要文本框中,如下图所示。(2) 观察SHA-1算法的执行过程。点击“算法演示”按钮,激活算法演示界面,如下图所示。1 在“数据分组编号(q)”文本框中输入一个小于“数据最大分组数”文本框中的非负整数,然后点击“开始”,启动算法执行。依次点击界面中的按钮,得到SHA-1算法中的各种中间步骤结果,如下图所示。点击最下面的模232加法按钮,得到该分组的信息摘要结果。观察该分组的状态表。点击“状态表(q)”按钮,如下图所示。五、 SHA

11、-1分步计算(1) 点击“扩展实验”框中的“SHA1分步计算”按钮,进入SHA1分步骤计算窗体。(2) 输入明文实验系统支持最长两个数据块的明文,即512+448比特(120字节),此处以输入四次26个字母即104字节为例。(3) 消息填充依次点击“填充1”按钮、“填充0”按钮、“填充长度与分组”按钮,完成消息的填充,如下图所示,窗体右侧每一步为对应的原理。(4) 计算首个数据块的摘要点击“初始化”按钮,初始化缓冲区变量;点击“扩充第015组明文”和“扩充第1679组明文”按钮,完成对明文的扩充;点击“读取变量初始值”和“4轮共80步计算”按钮,完成各轮核心压缩函数的运算;点击求和运算,生成首个数据块最终160位的散列值。上述过程如下图所示。(5) 计算后续数据块的摘要点击“设置H0H4”按钮,计算后续数据块的散列值,如下图所示。六、 HMAC七、 算法跟踪点击“算法跟踪”框中相应的算法跟踪按钮,如“MD5跟踪”按钮,进入调试器,选择对应的算法函数进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。具体步骤可参照古典密码实验中实验步骤二。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1