单向散列函数的原理_实现和在密码学中的应用new

单向散列函数的原理_实现和在密码学中的应用new

ID:34518220

大小:162.64 KB

页数:3页

时间:2019-03-07

单向散列函数的原理_实现和在密码学中的应用new_第1页
单向散列函数的原理_实现和在密码学中的应用new_第2页
单向散列函数的原理_实现和在密码学中的应用new_第3页
资源描述:

《单向散列函数的原理_实现和在密码学中的应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2期辛运帏等:单向散列函数的原理、实现和在密码学中的应用·25·3单向散列函数的原理、实现和在密码学中的应用辛运帏,廖大春,卢桂章(南开大学信息技术科学学院,天津300071)摘要:简要介绍了单向散列函数的有关理论及实现情况,并且以密码学中广泛应用的单向散列函数MD5为例,详细介绍了它的原理和实现过程。最后简要介绍了单向散列函数在当前的应用,并且提出了一种利用单向散列函数实现的新的用户密钥管理方案。关键词:单向散列函数;密码学;邮摘散列算法;MD5中图法分类号:TP309.3文献标识码:A文章编号:100123695(2002)0220025203ThePrincipleandImp

2、lementofOne2wayHashFunctionsandTheirCryptographicApplicationXINYun2wei,LIAODa2chun,LUGui2zhang(CollegeofInformationTechnology&Science,NankaiUniversity,Tianjin300071,China)Abstract:Thepaperintroducesthetheoryandimplementofone2wayhashfunctions,andusingtheMD5Algorithmwhichisextensivelyusedincryptog

3、raphyasanexample,introducesitsprincipleandimplementindetail.Atlast,weresearchtheapplicationofthem,andpre2sentanewscheduleofuserkeymanagement.Keywords:One2wayHashFunction;Cryptography;MessageDigestHashAlgorithm;MD5显然强碰撞自由的单向散列函数比弱碰撞自由的单1单向散列函数简介向散列函数安全性要高。因为弱碰撞自由的单向散列函数随着重复使用次数的增加安全性逐渐降低,强碰撞自密码学中

4、使用的单向散列函数将任意长度的消息压由的单向散列函数则不会因其重复使用而降低安全性。缩到某一固定长度的消息摘要。单向散列函数又称为单因此在实际中要求使用强碰撞自由的单向散列函数。除向Hash函数,它不是加密算法,却在密码学中有着广泛此之外,在实际应用中还要求单向散列函数具有如下特的应用,与各种加密算法有着密切的关系。它的模型为:点:h=H(M)。(1)单向散列函数能够处理任意长度的明文(至少是其中,M是待处理的明文,可以为任意长度;H是单向散在实际应用中可能碰到的长度的明文),其生成的消息摘列函数,h是生成的报文摘要,它具有固定的长度,并且要数据块长度具有固定的大小,而且,对同一个消息

5、反复和M的长度无关。其中H具有以下的单向性质:①给定执行该函数总是得到相同的信息摘要。H和M,很容易计算h;②给定h和H,很难计算M,甚至得(2)单向散列函数生成的信息摘要是不可预见的,消不到M的任何消息;③给定H,要找两个不同的M1和息摘要看起来和原始的数据没有任何的关系。而且,原M2,使得H(M1)=H(M2)在计算上是不可行的。始数据的任何微小变化都会对生成的信息摘要产生很大根据单向散列函数的安全水平,可以将单向散列函的影响。数分成两类:强碰撞自由的单向散列函数和弱碰撞自由(3)具有不可逆性,即通过生成的报文摘要得到原始的单向散列函数。上面描述的是强碰撞自由的单向散列数据的任何信

6、息在计算上是完全不可行的。函数的性质。如果将第③条改为:给定h和一个已知的单向散列函数在密码学中有着非常广泛的应用,它消息M,找另外一个不同的消息M1,使得h(M)=h(M1)在被广泛地应用于数字签名、消息的完整性鉴别、消息的起计算上是不可行的,就叫做弱碰撞自由的单向散列函数。源认证等,另外也和各种密码算法一起构成混合密码系统。收稿日期:2001204228基金项目:国家重点科技项目(攻关)计划资助课题(20002A3122实现综述01205)实现一个安全的单向散列函数并不是一件容易的事·26·计算机应用研究2002年情。单向散列函数是建立在压缩函数基础上的,它的一般原理与实现过程是:

7、单向散列函数按分组处理输入的消息。在分组之前,首先将待处理的消息进行填充,使得它的长度恰好是分组长度的整数倍。一般为了避免不同长度的消息散列后得到相同的散列值,填充的部分需要包含原来消息长度的信息。将消息分组后对各分组分别处理,压缩函数的输入是上一个变换的输出加上本分组的消息,即:hi=f(Mi,hi21)。第i21个散列值和第i个消息分组一起,作为第i轮函数的输入。最后一个分组的散图2MD5的主循环图3MD5的一次执行过程列值即成为整个消息的

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

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

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