- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HASH函数简介概要1
Hash 函数 Hash函数 Hash函数 在实际的通信必威体育官网网址中,除了要求实现数据的必威体育官网网址性之外,对传输数据安全性的另一个基本要求是保证数据的完整性。 密码学中的Hash函数可为数据完整性提供保障 数据的完整性是指数据从发送方产生后,经过传输或存储以后,未被以未授权的方式修改的性质。 Hash函数 Hash函数通用来构造数据的短“指纹”(函数值);一旦数据改变,指纹就不再正确。即使数据被存储在不安全的地方,通过重新计算数据的指纹并验证指纹是否改变,就能够检测数据的完整性。 Hash函数h是一公开函数,用于将任意长的消息(或数据)x映射为较短的、固定长度的一个值h(x),作为认证符,称函数值h(x)为杂凑值、杂凑码或消息摘要 Hash函数 对于Hash函数的安全要求,如果对于 原像问题 第二原像问题 碰撞问题 这三个问题都是难解的,则认为该Hash函数是安全的。 Hash函数的安全性 单向性:已知h,求使得h(x)=y的x在计算上是不可行的,这一性质称为函数的单向性,称h(x)为单向散列函数。 问题 原像(Preimage) 实例:Hash函数h:X → Y和y∈Y 找出:x∈X使得h(x)=y Hash函数的安全性 弱单向性:已知x,找出x’ (x’ ≠x),使得h(x’ )= h(x) 在计算上是不可行的,满足这一性质的单向散列函数称为弱单向散列函数。 问题 第二原像 实例:Hash函数h:X → Y和x∈X 找出:x’∈X使得x’ ≠x,并且h(x’ )= h(x) Hash函数的安全性 强单向性:找出任意两个不同的输入x,x’ 使得h(x’ )= h(x)在计算上是不可行的,满足这一性质的单向散列函数,则称其为强单向散列函数 问题 碰撞 实例:Hash函数h:X → Y 找出:x,x’∈X使得x’ ≠x,并且h(x’ )= h(x) Hash函数的安全性 第②和第③个条件给出了Hash函数无碰撞性collision-free的概念 Hash函数的碰撞collision 设x和y是两个不同的消息,如果h(y)=h(x),则称x和y是Hash函数的一个碰撞 Hash函数的安全性 MD4:1990年10月由Ron Rivest作为RFC1320提出了MD4算法RFC 1320 ,这个算法很快就被den boer和bosselaers等人破译了,但它的设计思想却影响了后来MD5,HAVAL等算法,是MD5的前身。 它适用在32位字长的处理器上用高速软件实现--它是基于 32位操作数的位操作来实现的。 著名的Hash算法: Hash算法 MD5:1992年4月Ron Rivest公布的MD4的改进RFC 1321称为MD5 它对输入仍以512位分组,其输出是4个32位字的级联,与 MD4 相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好。 著名的Hash算法: Hash算法 从密码分析的角度来看,MD5被认为是易受攻击的 2004年山东大学王小云教授破译了MD5,采用”比特追踪法”(模差分方法)可以很快的找到一个碰撞。而且这种攻击已经部分的可实用化,即找到有意义的碰撞。 Hash算法 SHA1:安全杂凑算法(secure hash algorithm, SHA)由美NIST设计,于1993年作为联邦信息处理标准(FIPS PUB 180)公布,称做安全散列标准 ,这个版本现在常被称为 “SHA-0”。SHA是基于MD4的算法,其结构与MD4非常类似。SHA在发布之后很快就被 NSA 撤回,并且以1995年发布的修订版本FIPS PUB 180-1 (通常称为 “SHA-1”) 取代 著名的Hash算法: Hash算法 1998年,在一次对 SHA-0 的攻击中发现这次攻击并不能适用于 SHA-1 —不知道这是否就是 NSA 所发现的错误,但这或许暗示我们这次修正已经提升了安全性。 但SHA-1现在理论上已经被王小云破译了 Hash算法 * * * * Hash 函数 * * * *
文档评论(0)