安全哈希函数简介

安全哈希函数简介

ID:17650583

大小:138.00 KB

页数:7页

时间:2018-09-04

安全哈希函数简介_第1页
安全哈希函数简介_第2页
安全哈希函数简介_第3页
安全哈希函数简介_第4页
安全哈希函数简介_第5页
资源描述:

《安全哈希函数简介》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、安全哈希函数一、哈希函数定义 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。二、性质基本特性:如果两个散列值是不相同的(根据同一函数),那么这两个散列值的原始输入也是不相同的。但反过来不同的原始输入不一定能得到

2、相同的散列值,即发生了碰撞。哈希函数的定义域无限,而值域有限,因此理论上来讲每个哈希函数都可以找到碰撞。一个“优良”的hash函数f应当满足以下三个条件:任意y,找x,使得f(x)=y,非常困难。此为哈希函数的单向性,或抗原像性(preimageresistant)。给定x1,找x2,使得f(x1)=f(x2),非常困难。弱抗碰撞性,或抗第二原像性(secondpreimageresistant)。找x1,x2,使得f(x1)=f(x2),非常困难。强抗碰撞性(CollisionResistant)。三、分类哈希函数有字符串哈希函数

3、,一般用于数据存储;安全哈希函数安全哈希函数的分类:根据安全水平:弱抗碰撞哈希函数和强抗碰撞哈希函数,后者是包含前者的。在保护口令的应用中,只需弱抗碰撞性就够了,但在数字签名中,必须有强抗碰撞性。根据是否使用密钥:带密钥的哈希函数:消息的散列值由只有通信双方知道的秘密密钥K来控制,此时散列值称作MAC(MessageAuthenticationCode)不带密钥的哈希函数:消息的散列值的产生无需使用密钥,此时散列值称作MDC(MessageDetectionCode一、哈希函数的用途数字签名哈希函数可以提高签名的速度,减少运算,又可

4、以不泄露签名所对应的消息,还可以将消息的签名与加密变换分开处理。校验可以校验数据是否被篡改。传输消息之前对消息进行哈希变换,接收者也进行相同的哈希变换,若两个哈希值相同,可以认为消息在传输过程中没有被篡改。快速访问散列表的寻址时间复杂度为O(1),在数据存储中运用较多,这里不作详述。安全访问认证MD5广泛用于操作系统的登陆认证上,如在Unix系统中用户的密码是以MD5(或其它类似的算法)经Hash运算后存储在文件系统中。当用户登录的时候,系统把用户输入的密码进行MD5Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确

5、定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。伪随机数生成一、安全哈希算法安全哈希函数的一般结构大部分安全哈希函数都是迭代结构的。图中Mi为被分成L块的原始信息,f为杂凑函数,IV为初始值。填充信息和IV的选择对哈希函数的安全性有很大影响,任何两条消息都不能被填充成相同的消息,填充的末尾应该加上消息的长度;IV的选择定义为该哈希函数描述的一部分。二、常用安全哈希函数目前使用最多的哈希函数有MD(Message-Digest

6、Algorithm)系列(MD4、MD5、HAVAL、RIPEMD)和SHA系列(SHA-1、SHA-256)MD41990年RonaldL.Rivest设计,通过3圈的操作将任意长度的消息变换成128位的哈希值。MD4算法的前两圈已被Dobbertin等人攻破,证明MD4算法是不安全的,但整个算法并没有被攻破过。具体算法详见《MD4算法分析》例子:MD4("")=31d6cfe0d16ae931b73c59d7e0c089c0MD4("a")=bde52cb31de33e46245e05fbdbd6fb24MD4("abc")=a

7、448017aaf21d8525fc10ae87aa6729dMD4("messagedigest")=d9130a8164549fe818874806e1c7014bMD4("abcdefghijklmnopqrstuvwxyz")=d79e1c308aa5bbcdeea8ed63df412da9MD4("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789")=043f8582f241db351ce627e153e7f0e4MD4("123456789012

8、34567890123456789012345678901234567890123456789012345678901234567890")=e33b4ddc9c38f2199c3e7b164fcc0536MD5MD5(RFC1321

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

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

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