- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络与信息安全 Ch03 单向散列函数 哈希(Hash)函数是将任意长的数字串M映射成一个较短的定长输出数字串H的函数,通常是单向哈希函数; 哈希函数除了可用于数字签名方案之外,还可用于其它方面,诸如消息的完整性检测(一般哈希函数)、消息的起源认证检测(密码哈希函数)等。 单向散列函数工作模式 MD5 算法逻辑 输入:任意长度的消息 输出:128位消息摘要 处理:以512位输入数据块为单位 SHA和SHA-1 美国NIST和NSA为配合DSS,设计了安全哈希标准(SHS),其算法为SHA[FIPS PUB 180],作为联邦信息处理标准于1993年发表(FIPS PUB 180),1995年修订,修改的版本被称为SHA-1[FIPS PUB 180-1] SHA/SHA-1采用了与MD4相似的设计准则,其结构也类似于MD4,但其输出为160bits 目前还没有针对SHA有效的攻击 SHA-1 算法逻辑 输入:最大长度为264位的消息; 输出:160位消息摘要; 处理:输入以512位数据块为单位处理; 1 消息认证的概述 网络系统安全一般要考虑两个方面:一方面,加密保护传送的信息,使其可以抵抗被动攻击;另一方面,就是要能防止对手对系统进行主动攻击,如伪造、篡改信息等。认证是对抗主动攻击的主要手段,它对于开放的网络中的各种信息系统的安全性有重要作用。 认证可分为实体认证和消息认证。 2 消息认证的目的 验证信息的来源是真实的,而不是伪造的,此为消息源认证。 验证消息的完整性,即验证信息在传送或存储过程中是否被篡改。 3 消息认证码 消息认证码(MAC,Messages Authentication Codes),是与密钥相关的的单向散列函数,也称为消息鉴别码或是消息校验和。 MAC与单向散列函数一样,但是还包括一个密钥。不同的密钥会产生不同的散列函数,这样就能在验证发送者的消息没有经过篡改的同时,验证是由哪一个发送者发送的。 消息认证码的实现过程 hash函数小结 hash函数把变长信息映射到定长信息 hash函数不具备可逆性 hash函数速度较快 hash函数与对称密钥加密算法有某种相似性 对hash函数的密码分析比对称密钥密码更困难 hash函数可用于消息摘要 hash函数可用于数字签名 Any Question? * * 本章学习目的 掌握单向散列函数的概念与性质 了解MD5、SHA-1算法 了解单向散列函数的弱点及攻击 一 密码学的基本概念 1 概念 散列函数(又称hash函数,杂凑函数)是将任意长度的输入消息M映射成一个固定长度散列值h的特殊函数: h=H(M) 其中M是变长的输入消息, h=H(M)是定长的散列值(或称为消息摘要)。 散列函数H是公开的,散列值在信源处被附加在消息上,接收方通过重新计算散列值来确认消息未被篡改。 由于函数本身公开,传送过程中对散列值需要另外的加密保护(如果没有对散列值的保护,篡改者可以在修改消息的同时修改散列值,从而使散列值的认证功能失效)。 一 单向散列函数的概念与性质 2 性质 散列函数要具有单向性,必须满足如下特性: 给定M,很容易计算h; 给定h,根据H(M)=h,反推M很难; 给定M,要找到另一个消息M’,并满足H(M)=H(M’)是很难的。 单向散列函数是从全体消息集合到一个肯有固定长度的消息摘要的变换。 带密钥的哈希函数可用于认证、密钥共享、软件保护等方面。 一 单向散列函数的概念与性质 1 安全散列函数 RiVest于1990年提出了一个称为MD4的散列函数。它的设计没有基于任何假设和密码体制,这种直接构造的方法受到人们的广泛关注。 不久,它的一些缺点也被提出。为了增强安全性和克服MD4的缺陷,Rivest于1991年对MD4作了六点改进,并将改进后的算法称为MD5。MD5曾经是使用最普遍的安全散列算法。 二 MD5与SHA-1算法 2 安全散列函数 随着对MD5分析的深入,从密码分析和强力攻击的角度来看,MD5也被认为是易受攻击的。因此,有必要用一个具有更长散列码和更能抗击已知密码分析攻击的散列函数来代替现在流行的MD5。目前,已经有两个散列码长度为160比特的替代者SHA-1和RiPEMD-160。 安全散列算法SHA是由美国国家标准和技术协会(NIST)提出的,并作为联邦信息处理标准在1993年公布。1995年又发布了—个修订版FIPS PUB180-1,通常称为SHA-1。SHA是基于MD4算法的。 二 MD5与SHA-1算法 3 MD5与SHA-1描述 MD5(Message Digest)是MD4的改进,它是由RSA公钥密码算法的首们发明人Ron Rivest设计的。对输入的任意长度的消息将产生128位长度的散列值。
文档评论(0)