[发明专利]基于随机函数的单向哈希函数构造方法有效
申请号: | 201210013532.X | 申请日: | 2012-01-17 |
公开(公告)号: | CN102542070A | 公开(公告)日: | 2012-07-04 |
发明(设计)人: | 王勇 | 申请(专利权)人: | 王勇 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 541004 广西壮族自治区桂林市*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 随机 函数 单向 构造 方法 | ||
技术领域
本发明属于信息安全领域,涉及一种基于随机函数的单向哈希函数的构造方法。
背景技术
现有的hash(又译为哈希、杂凑、散列)函数具有固定的结构和函数,这为密码分析提供了便利。对于hash函数H=Hash(M),一般通过M计算H容易,而通过H求对应的一个或者多个M是非常困难的,在有限的计算能力下往往需要很长的时间。不过近年来王小云破解了一系列的hash函数。2004年,2005年,王小云带领的研究小组先后破译了被全球广泛运用于计算机安全系统的MD5和SHA-1两大密码算法,引起国际密码学界的极大关注和高度赞誉.对于一个固定的函数,要保证这种单向性是比较困难的,因为原则上说可以根据hash函数的结构进行逆推(虽然它是单向的,原文和hash值是多对一的映射关系,但是在借助一些数学方法和计算工具的情况下,可能进行成功的逆推,这提供了一个破解的入口),需要将算法设计的非常复杂。假如一个hash函数的算法是随机的、不确定的,则密码分析者很难着手。与传统的确定函数相对,我们这里提出随机函数的概念,即这个函数的表达式、结构和形式是随机的,不确定的,比如随机函数y=F(a,b,c),F(a,b,c)并没有明确的形式,它的具体形式可能是f1(a,b,c)、f2(a,b,c)、f3(a,b,c)、f4(a,b,c)之中的一个函数。注意到我们这里的随机函数指的是具有随机性的函数,现在一般在计算机领域将产生随机数的函数也称为随机函数。
发明内容
鉴于确定的函数给予密码分析者明确的靶子,从而影响安全性。由此,本发明应用随机函数来设计hash函数。
注意到,虽然本发明中hash算法是不确定的,但是,在一般的情况下,为了达到验证的目的,明文一定时候,hash值应该是确定的,为了解决这个问题,我们设定hash函数与明文输入的概率相关性,当输入明文是确定的时候,hash函数的形式也是确定的,在已知明文的条件下,hash函数是确定的,即hash函数由明文以某种方式确定。
我们假设随机hash函数是D=H(m),H是随机的,m是函数的变量输入,借鉴传统的确定性的hash函数的特点,在采用随机函数的hash函数中,明文除了要决定hash函数的具体形式hi(m)外,还作为D= hi(m)算法的输入m。那么决定hash函数具体形式的明文部分和作为参数m输入hash函数的部分可以是相关的,也可以是独立的,比如取明文的一部分决定hi(m),取明文的另外一部分作为m。假如两部分是独立的,则密码分析者容易被各个击破,比如先确定函数,在寻找合适的m;相反,如果两部分是关联的,则采用上述方法无效,因为先确定函数后,再寻找合适m的过程中,m的变换也会导致函数的变化,无法同时满足。因此,两者是关联的情况下才更加安全,而且在本发明中需要将它们的关系设计的非常复杂,使得很难破解。明确地说,就是设计的时候,需要将明文的尽量多的比特数都同时参与决定函数形式和m,那么将明文的全部用于决定两者是最为合适的,考虑到现有的hash函数的形式均需要进行填充,所以本发明中将填充处理后的明文的全部用于决定hash函数形式和m。
类似于我们上面的分析,在密码分析时候,hash函数的不同部分数据的关系越独立,则越容易各个击破;如果关联性很好,则试图各个击破的时候,就会出现这个击破,那个又不满足的情况。因此,设计的时候,需要让数据高度的关联、广泛的扩散,为了让这些扩散和关联不泄露信息,又需要高度、快速的雪崩效应。这里的雪崩效应指的是密码学中的一类效应,而不是经济学中的。雪崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,它指明文或密钥的少量变化会引起密文的很大变化,明文的1bit的变换引起密文一半bit的改变,同样密钥的1bit的变换引起密文一半bit的改变。对于Hash函数,雪崩效应是指少量消息位的变化会引起hash值的许多位变化。从以上的角度,考虑技术性的密码分析,hash值长度越长,也可以设计的越安全,因为要伪造同时满足更长的hash值的消息更困难。
鉴于MD5、SHA-1已经被王小云破解,而这些hash函数都存在单bit位运算较多,缺乏像S盒之类的多bit的操作,因此,安全的hash应该采用S盒以及类似的多bit混淆的运算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于王勇,未经王勇许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210013532.X/2.html,转载请声明来源钻瓜专利网。