基于路径散列的消息摘要方法和系统技术方案

技术编号:14400966 阅读:106 留言:0更新日期:2017-01-11 13:46
本发明专利技术主要涉及到信息安全和信息标识领域,信息通过分组、分组路径散列、结果序列调和路径散列计算,最后生成消息摘要。按位分组和路径散列是系统的主要特征。按k分组表示每k bit作为一个基本单元,多个单元组成一组参与分组路径散列计算。路径散列计算指的是计算需要按指定的路径、指定的路径深度进行,并且每个分组信息会影响路径设定的多个元素,从而达到散列的目的。基于路径散列的消息摘要方法和系统,可以扩展和衍生不同的摘要算法,通过不同的分组,不同的变换序列,不同的路径散列算法,均可以产生不同的消息摘要,从而满足不同的安全需求。消息分组使得系统能够处理大容量的信息,路径散列计算结合k分组可以实现k乘以2的k次方bit的消息摘要。

【技术实现步骤摘要】

本专利技术主要涉及到信息安全和信息标识领域,实现一种基于路径散列的消息摘要的方法和系统。
技术介绍
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密。著名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的变体,中国国家密码管理局编制的SM3。消息摘要算法具有不可逆性,其主要功能有数据签名、数据完整性校验等。常见的消息摘要算法有:CyclicalRedundancyCheck,循环冗余校验。现在应用最多的就是CRC32算法,它产生一个4字节(32位)的校验值,一般是以8位十六进制数,如FA12CD45等。CRC算法的优点在于简便、速度快,严格的来说,CRC更应该被称为数据校验算法,但其功能与消息摘要算法类似,因此也作为测试的可选算法。Adler-32是MarkAdler专利技术的校验和算法,和32位CRC校验算法一样,都是保护数据防止意外更改的算法,但是这个算法较容易被伪造,所以是不安全的保护措施。但是比CRC好点的是,它计算得很快。这个算法那是从Fletcher校验和算法中修改过来的,原始的算法形式略快,但是可依赖性并不高。Message-DigestAlgorithm5,消息摘要算法版本5。由RonRivest(RSA公司)在1992年提出,目前被广泛应用于数据完整性校验、数据(消息)摘要、数据加密等。MD2、MD4、MD5都产生16字节(128位)的校验值,一般用32位十六进制数表示。MD2的算法较慢但相对安全,MD4速度很快,但安全性下降,MD5比MD4更安全、速度更快。SHA(SecureHashAlgorithm)是由美国专门制定密码算法的标准机构——美国国家标准技术研究院(NIST)制定的,SHA系列算法的摘要长度分别为:SHA为20字节(160位)、SHA256为32字节(256位)、SHA384为48字节(384位)、SHA512为64字节(512位),由于它产生的数据摘要的长度更长,因此更难以发生碰撞,因此也更为安全,它是未来消息摘要算法的发展方向。目前SHA1的应用较为广泛,主要应用于CA和数字证书中,另外在目前互联网中流行的BT软件中,也是使用SHA1来进行文件校验的。中国国家密码管理局编制的SM3适用于商用密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,此算法对输入长度小于2的64次方的比特消息,经过填充和迭代压缩,生成长度为256比特的杂凑值,其中使用了异或,模,模加,移位,与,或,非运算,由填充,迭代过程,消息扩展和压缩函数所构成。消息摘要的主要特点有:无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。一般认为,摘要的最终输出越长,该摘要算法就越安全。消息摘要是伪随机的。不同的输入会有不同的输出,而且输出的摘要消息可以通过随机性检验。用相同的算法对相同的消息求两次摘要,其结果必然相同。一般只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同;但相同的输入必会产生相同的输出。这正是好的消息摘要算法所具有的性质:输入改变了,输出也就改变了;两条相似的消息的摘要确不相近,甚至会大相径庭。消息摘要函数是无陷门的单向函数,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的消息,甚至根本就找不到任何与原信息相关的信息。好的摘要算法,没有人能从中找到“碰撞”,虽然“碰撞”是肯定存在的。即对于给定的一个摘要,不可能找到一条信息使其摘要正好是给定的。即无法找到两条消息,使它们的摘要相同。事实上,2004年8月17日的美国加州圣巴巴拉,正在召开的国际密码学会议(Crypto’2004)安排了三场关于杂凑函数的特别报告。在国际著名密码学家EliBiham和AntoineJoux相继做了对SHA-1的分析与给出SHA-O的一个碰撞之后,来自山东大学的王小云教授做了破译MD5、HAVAL-128、MD4和RIPEMD算法的报告。2009年谢涛和冯登国仅用了220.96的碰撞算法复杂度,破解了MD5的碰撞抵抗,该攻击在普通计算机上运行只需要数秒钟。本专利技术公开基于路径散列的消息摘要方法和系统实现通过信息分组、路径散列计算、结果序列调和散列,结合输出字符串的设定,从而输出的消息摘要。该方法可以扩展和衍生不同的摘要算法,不同的分组,不同的变换序列,不同的路径选择算法,不同的散列算法均可以产生不同的消息摘要。基于路径散列的消息摘要算法和分组的位数关联,例如6bit分组,表示摘要信息的最小存储单元为0到2的6次方减一,即0到63,对应的消息摘要大小为64个6bit的单元组成,构成的消息摘要为384位,设定64个字符代表0到63个单元,输出的消息摘要为64个字符。
技术实现思路
本专利技术公开一种基于路径散列的消息摘要方法和系统,消息经过分组,对分组序列进行路径散列计算,循环计算完毕,对消息摘要结果再进行调和路径散列计算,消息摘要计算的结果通过字符串形式输出。分组有利于大容量的信息的处理,消息分组结合路径散列算法,使得运算的结果不可逆。基于路径散列的消息摘要方法和系统主要包括:消息摘要和路径规划方法;分组,分组散列,调和散列算法和摘要的字符串输出等系统。消息摘要包括:摘要的长度,摘要的存储单元的大小。消息摘要的描述为S[i],i从0到2的k次方减一。假定信息分组的bit数定义k,S[i]的值小于2的k次方减一。变换序列,变换序列的大小等于消息摘要的大小,单元值为0到2的k次方减一,每个单元选取的值不同。路径规划包括:分组散列路径规划,调合散列的路径规划。分组散列路径规划:散列路径选择,主要约束条件包括分组序号、该序号对应变换序列的路径和路径深度;再散列路径选择,在前一次的基础之上,考虑分组信息对应值,构成扰动散列路径。调合散列是对分组散列结果再散列的过程。该散列计算的路径规划,同样也需要规划路径深度,路径算法等。散列计算单元主要包括:分组信息,对应路径节点变换序列的值,对应路径节点消息摘要结果的值。消息的分组是算法的初始环节,满足消息摘要规划的要求,对消息按bit位进行分组。计算机输入的字符的最小单元为字符型,字符型占位为8个bit,假定摘要存储单元的大小为k个bit,则分组规则如下:分组数为h,选取的字符个数为g,则有g*8=h*k。分组每次选取g个字符,分组后产生h个kbit的单元;分组序列定义为Di[h],i表示输入序列的第i个分组。分组计算通过位运算进行,输入信息按消息摘要存储单元bit的要求,依次选取放入分组序列。对消息进行分组的方式有多种,主要取决于选取消息的步长的设定:等分分组。每h个字符为一组,步长为h;渐进分组。每h个字符为一组,步长为1;等差分组。每h个字符为一组,步长小于h,大于0;其它分组。每h个字符为一组,步长由给定规则设定,步长小于h,大于0。消息摘要的算法从分组开始,分组后对分组的信息进行分组散列计算。假定分组的数组为Di[j],其中j为0到h-1,对分组数组进行散列计算。计算步骤如下:循环从0到h-1;一次散列计算,散列计算按路径选择策略结合散列算法实施。路径规划。假定变换序列为R,k为分组信息的位数,R含有2的k次方个单元,元素取值范围为0到2的k次方减一;循环设定。设定循环的次数,假定为p次,p为路径深度;本文档来自技高网
...
基于路径散列的消息摘要方法和系统

【技术保护点】
基于路径散列的消息摘要方法和系统,主要特征包括:首先设定变换序列,消息摘要,路径规划方法,然后消息分组,分组散列,调和散列,最后输出消息摘要字符串。消息分组和路径散列算法是系统的主要特征。

【技术特征摘要】
1.基于路径散列的消息摘要方法和系统,主要特征包括:首先设定变换序列,消息摘要,路径规划方法,然后消息分组,分组散列,调和散列,最后输出消息摘要字符串。消息分组和路径散列算法是系统的主要特征。2.基于权利1的分组方法主要特征如下:分组指的是按计算机的bit个数分组,有k位的定义为k分组。假定分组数为h,选取的字符个数为g,则有g*8=h*k,分组序列定义为Di[h],i表示输入序列的第i个分组。设定选取的步长,把输入的信息分成若干组,每组需要满足分组的要求,不足的需要补充,一般补充该分组的序号加上补偿元素的序号和分组大小取余即可。假定分组序号为i,需要补充的序号为h,分组序列为Di,变换序列的大小为n,n为2的k次方,则有补充的元素Di[h]=(i+h)%n,%表示取余运算。3.基于权利1的变换序列,其特征在于:变换序列主要用于路径选择。定义为R[i],有2的k次方个元素,k为分组的位数;变换序列需要表示所有的kbit分组的值,即变换序列的值为0到2的k次方减一。R[i]为i节点的下一个节点,依此定义路径。4.基于权利1的消息摘要,其特征在于:有2的k次方个元素,k为分组的位数,值为0到2的k次方减一。初始化值可以为变换序列的值,也可以另外设定。消息摘要存储路径散列计算的结果,定义为S[i],i为0到2的k次方减一。5.根据权利1描述,路径散列算法的特征在于:路径规划,选定计算单元,算法选定。输入的信息会影响路径规划的p个单元,p为路径的深度,具体的影响由算法H决定。6.基于权利5描述的路径规划特征在于:变换序列R,深度为p,选择函数F。一元路径选择定义F(i+1)=R[F(i)]。变换序列R,深度为p,选择函数Rf。二元路径选择定义Rf(i+1,j+1)=R[Rf(i,j)],j为扰动散列因子。考虑分组序列的扰动,选择算法定义为Rf(i+1,Di+1[h])=R[Rf(i,Di[h])]。多元路径选择与二元路径选择类似。7.基于权利1的分组散列,其特征在于:分组信息散列。分组信息Di[h],对h进行循环运算。计算单元来自于消息摘要序列S[i],分组信息Di[h],路径规划见权利6的要求。假定路径选择为一元路径选择算法,即F(i+1)=R[F(i)]。分组信息再散列。计算单元来自于消息摘要序列,变换序列,路径规划见权利6的要求,假定路径选择为二元路径选择算法,即Rf(i...

【专利技术属性】
技术研发人员:张留学张宁怡朱小姣
申请(专利权)人:上海泥娃通信科技有限公司张留学张宁怡朱小姣
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1