密码学hash函数分析与应用

密码学hash函数分析与应用

ID:21939641

大小:55.00 KB

页数:6页

时间:2018-10-25

密码学hash函数分析与应用_第1页
密码学hash函数分析与应用_第2页
密码学hash函数分析与应用_第3页
密码学hash函数分析与应用_第4页
密码学hash函数分析与应用_第5页
资源描述:

《密码学hash函数分析与应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、密码学Hash函数分析与应用第一章Hash函数的研究现状通过阅读《密码编码学与X络安全——原理与实践(第五版)》的相关章节及从X上以及图书馆查阅相关资料,可以了解到,hash函数的设计已经初具规模,从1989由Rivest等人设计了MD2算法之后,又设计了MD4以及MD5,虽然速度会稍慢些,但是安全性逐渐提升。再到1992、1993年RIPEMD以及美国RSA又对MD4、MD5进行改进,提出了SHA系列算法,密码学Hash函数走上了正轨,RSA公司对SHA-0,SHA-1的设计、2002年美国NIST对SHA-1又进行改进增加了输出长度,形成了SHA-2(

2、包括SHA-512、SHA-384等算法)算法,再到2009年SHA-3的问世,密码学Hash函数在不断的发展壮大,安全性也逐渐提高。第二章Hash函数的定义Hash函数是一类可以把输入的任意长度的消息或数据块x(又叫做预映射,pre-image),通过一定的散列算法进行映射,变成固定长度的输出值Hash值h=H(x),我们可以把这一类输出的值h叫做散列值或者是消息。目前,根据Hash函数算法的设计方法的不同通常可以分为三种类型:标准型、基于模运算性、基于分组加密型三种类型。1.标准型的Hash函数标准Hash函数一般来说可以分成两部分,一部分是MD系列的

3、,另一部分是SHA-系列的。从1989年开始由Rivest等人设计了MD2的算法之后,又先后的设计了MD4还有MD5等算法,虽然后者在运行速度可能稍慢些,但是安全性能在逐渐提升,以上为MD系列Hash算法。再到1992、1993年以后RIPEMD以及美国RSA又对MD4、MD5进行了改进,提出SHA系列算法之后,密码学Hash函数才逐渐走上了正轨,RSA对SHA-0,SHA-1进行了设计、2002年美国NIST对SHA-1算法加以改进增加了输出长度,形成了SHA-2算法(包括SHA-512、SHA-384、SHA-256等算法),再到2009年SHA-3的

4、问世,这些算法都是SHA-系列Hash函数。2.基于分组机密型的Hash函数基于分组密码来构造Hash函数具有一定的局限性,它不能使用分组密码的组件一边来设计Hash函数,而是仅能靠分组密码的一些输入输出的模式进行变换来构造一些压缩函数。利用分组密码来构造Hash函数是先对原始消息(单位为m)进行填充,这样进行填充后的消息的总长度就是每一个分组长度(每一个分组的长度为n)的倍数,假设原始消息被分为了t组,Mi(i=1,2…t),把h0设为初始向量,那么hi=f(Mi,Hi-1)其中i=1,2…t,Ek是一组分组加密算法,其中消息长度为n,k为密钥分组,H(

5、m)=Ht。其中以下为已经证明了的安全Hash函数的一些方案:1979年:Matyas-meyer-Oseas的hi=Eh(i-1)(mi)⊕mi1989年:Miyaguchi-preneal的hi=Eh(i-1)(mi)⊕mi⊕h(i-1)1979年:Davis-Meyer的hi=Eh(i-1)(mi)⊕h(i-1)利用分组密码来构造Hash函数有它的优缺点,其中优点是它的发展已经很成熟,设计效果也比较好,但是它的缺点却是效率低,由于原始消息要先转化成密钥,密钥一般又是不变的,所以它的运行时间相对长而且安全性也不高。3.基于模运算型的Hash函数此类Ha

6、sh函数一般是要用到bit的一些逻辑性的运算,如:与、或、异或(⊕)等运算符,它是基于一些比较困难的数学问题,比如:离散数学的问题,因子分解的问题,背包的问题等进行Hash函数的构造。这类的运算效率很低而且安全性对数学问题是否困难依赖太大,安全性也不好,所以运用的相对较少。我们一般不会采用这种基于模运算型进行的Hash函数的构造。第三章论Hash函数的重要应用1.消息认证对于消息认证,它主要是用来验证消息完整性的一种机制或服务,用来确保收到的数据和发送的一样,一般来说,我们比较熟悉的认证方法是奇偶校验以及CRC校验,但是这只是两种校验方式,只能检测和纠正一

7、定程度上的信道误码,但是并不能防止恶意攻击对数据的破坏。但是加密函数也有不方便的地方,比如说是加密后程序运行速度变慢,而且加密软件价格昂贵,大家不得不考虑成本的问题,有的加密软件已经申请了专利,这样成本会更高,对于加密软件的优化也是对于大数据块来说的。2.数字签名Hash函数是当代密码学中的很重要的组成部分。它在数字签名方面也有着很广泛的应用,对于数字签名这种应用,应用过程如下,用公钥私钥加密方式来验证消息的完整性,具体过程是:发送者用私钥加密消息的Hash值,只要你知道公钥,便可以通过这种方法来验证消息的完整性,现在数字签名的应用比消息认证更为广泛。3.

8、其他应用它在其他方面的应用,比如鉴权协议上的应用,这种鉴权协议又可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。