杭州电子科技大学通信工程学院.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
杭州电子科技大学通信工程学院 * * 第6章 HASH函数 6. 1 Hash函数的性质 6. 2 Hash函数MD5 6.2.1 MD5算法描述 6.2.2 MD5算法的安全性 6. 3 Hash函数SHA-1 6.3.1 SHA-1算法描述 6.3.2 SHA-1算法的安全性 6. 4 基于分组密码的Hash函数 6.4.1 构造Hash函数的一般性原则 6.4.2 基于分组密码算法构造Hash函数 Hash函数,又称哈希函数、散列函数或杂凑函数,是密码体制中常用的一类公开函数。所谓Hash函数就是将任意长度的消息映射成某一固定长度的消息的一种函数。一般来说,Hash函数的值域规模比定义域规模要小得多。Hash函数主要用于消息完整性检测和消息认证。 保证信息的完整性,及时发现信息是否被非法篡改:在传输消息之前先对消息m用Hash函数做变换得h(m),然后再将消息(m , h(m))传输给对方。当对方接受到消息(m1 ,m2 )后,对m1作Hash函数变换h(m1) ,检验m2=h(m1)是否成立?若成立,则确定消息在传输过程中没有被篡改,否则可认为消息一定被非法篡改了。 Hash函数被用于消息鉴别、数字签名系统中。将Hash函数应用于数字签名系统有很多益处: 可提高签名的速度:当需签名的消息m过长时,可用Hash函数对m进行压缩成某一固定范围内的数据m`=h(m),然后再计算签名s=Sigk(m`)。其中k是签名密钥,Sigk是签名函数。 可以不泄露要签名的消息:对消息m的签名是s=Sigk(m`) ,这里Hash函数h是公开的, m`=h(m)也可以是公开的。根据Hash函数的性质,从m`=h(m)恢复出m几乎是不可能的,因此可以保密消息m。 本章主要介绍Hash函数SHA-1、MD5及一些基于数学困难问题的Hash函数。 6. 1 Hash函数的性质 Hash函数的输入可以是任意长度的数据,而输出则是固定长度的数据。一 般还要求:对任意输入数据x,计算Hash函数值h(x)是容易的。 在密码学中,要求Hash函数满足三个安全性方面的要求: --单向性(one-way):如果对任意给定的y,寻找使h(x)=y成立的x在计算上是困难的。 --弱抗碰撞的(weakly collision resistance):已知x,寻找 ,在计算 上是困难的。 --强抗碰撞的(strongly collision resistance):寻找两个不同的x与x`,使得 在计算上是困难的。 显然,一个Hash函数h是强抗碰撞的仅当对任意数据x,h关于x是弱抗碰撞 的。强抗碰撞性蕴含着弱抗碰撞性和单向性,反之则不一定成立。 对于一个应用于密码体制中的Hash函数h,不仅要求对任意数据x,计算 h(x)是容易的,且要求h是强抗碰撞的。 6. 2 Hash函数MD5 MD5是1991年由美国MIT计算机科学实验室及RSA数据公司的Ronald Rivest 教授发明的Hash算法。1992年公开该算法作为因特网标准草案(RFC 1321)。MD5是MD4的一种的改进算法。尽管MD5实现的速度比MD4要慢一些,安全性要强得多。MD4在1992年已被攻破。 MD5是一个单向函数。1994年 Den Boer 与 Bosselaers证明MD5是弱抗碰撞的。 对于输入的任意长度的数据,MD5输出128比特长的数据。 - 6.2.1 MD5算法描述 1. 术语、符号及基本运算 -- 一个“字”表示32比特的二进制数,一个“字节”表示8比特的二进制数 ; -- 符号“+”表示字的加,即模232的加; -- X s表示X循环向左移s位得到的量; -- 表示x的逐比特补; -- 表示x与y的逐比特逻辑“与”; -- 表示x与y的逐比特逻辑“或”; -- 表示x与y的逐比特逻辑“异或”。 2. 基本逻辑函数 设x、y、z表示字,定义四个逻辑函数如下:

文档评论(0)

wendan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档