内容发布更新时间 : 2024/12/27 13:48:11星期一 下面是文章的全部内容请认真阅读。
广州大学学生实验报告
开课学院及实验室:计机楼 617A室 学院
数学与信息科学
年级、专业、班 信安131 姓名 张贺威
学号
1315300034
实验课程名称
信息安全技术实验
成绩
实验项目名称
Hash算法实验
指导老师
2016年 3月29日
唐屹
一、实验目的
掌握hash函数的工作原理和方式 实验过程
假定有一本纯数字4位口令字典pwddict-4.txt,现获得MD5处理过的口令文件MD5-pwd.txt。编写一个攻击程序,推测口令明文。 1.实验结果
1.1需要破解的密文是:
67 cc42acc8ce334185e0193753adb6cb77 68 cd0f74b5955dc87fd0605745c4b49ee8 1.2实验截图:
Hash函数工作原理和方式
2.1 Hash工作原理:就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说hash就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 2.2方式: 2.2.1 MD4
MD4(RFC 1320)是 MIT 的Ronald L. Rivest在 1990 年设计的,MD 是 Message Digest 的缩写。它适用在32位字长的处理器上用高速软件实现--它是基于 32位操作数的位操作来实现的。
2.2.2 MD5
MD5(RFC 1321)是 Rivest 于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与 MD4 相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好 2.2.3 SHA1
SHA1是由NIST NSA设计为同DSA一起使用的,它对长度小于2^64位的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。SHA-1 设计时基于和MD4相同原理,并且模仿了该算法。 算法用途
主要体现在三个方面:
3.1文件校验:我们比较熟悉的校验算法有奇偶校验和CRC校验,这2种校验并没有抗数据篡改的能力,它们一定程度上能检测并纠正数据传输中的信道误码,但却不能防止对数据的恶意破坏,MD5 Hash算法的\数字指纹\特性,使它成为目前应用最广泛的一种文件完整性校验和(Checksum)算法,不少Unix系统有提供计算md5 checksum的命令。 3.2数字签名:Hash 算法也是现代密码体系中的一个重要组成部分。由于非对称算法的运算速度较慢,所以在数字签名协议中,单向散列函数扮演了一个重要的角色。对 Hash 值,又称\数字摘要\进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的。而且这样的协议还有其他的优点。
3.3鉴权协议:鉴权协议又被称作\挑战--认证模式:在传输信道是可被侦听,但不可被篡改的情况下,这是一种简单而安全的方法。