[发明专利]基于整数非线性映射的散列函数构造方法有效
申请号: | 200810226116.1 | 申请日: | 2008-11-14 |
公开(公告)号: | CN101741560A | 公开(公告)日: | 2010-06-16 |
发明(设计)人: | 刘建东 | 申请(专利权)人: | 北京石油化工学院 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30 |
代理公司: | 小松专利事务所 11132 | 代理人: | 陈祚龄 |
地址: | 102617 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种涉及信息系统安全工程技术的基于整数非线性映射的散列函数构造方法,包括以下步骤:(1)消息填充;(2)设定一组初始向量及参数;(3)对消息分组进行非线性分段式码字扩展;(4)采用耦合映像系统模型进行并行式混合迭代运算,实现扩展码字与链接变量的混淆与扩散;(5)可变长度散列输出。本发明的散列函数构造方法多用于数字证书,电子签名,口令保护,数字完整性验证等领域,采用了非线性分段式码字扩展技术,加速了码字的非线性扩散程度,将整数非线性映射与逻辑函数相结合,具有较为理想的混淆与扩散特性,本发明压缩函数内部采用并行迭代结构,有利于软硬件高速并行实现,构造方法运算效率高,易于修改补充和维护。 | ||
搜索关键词: | 基于 整数 非线性 映射 函数 构造 方法 | ||
【主权项】:
1.一种基于整数非线性映射的散列函数构造方法,包括下列步骤:(1)消息填充:将任意长度的明文消息M分割成1024比特的消息块M0,...,MI,...,Mt,最后一个块填充为:Mt=*...*10...0Mdlen(H)Length(M),其中:Mdlen(H)表示输出的散列长度,长度为10比特,Length(M)表示M的长度的二进制形式,长度为64比特;将每个消息块Mi划分成两组,每组由16个32比特的消息字组成,分别为m0,m1,...,m15及m′0,m′1,...,m′15;(2)给定一组初始向量及参数:x 0 ( 0 ) = 0 x 6 A 09 E 667 , x 1 ( 0 ) = 0 xBB 67 AE 85 , x 2 ( 0 ) = 0 x 3 C 6 EF 372 , x 3 ( 0 ) = 0 xA 54 FF 53 A , ]]>x 4 ( 0 ) = 0 x 510 E 527 F , x 5 ( 0 ) = 0 x 9 B 05688 C , x 6 ( 0 ) = 0 x 1 F 83 D 9 AB , x 7 ( 0 ) = 0 x 5 BE 0 CD 19 ; ]]> k0=0x5a827999,k1=0x6ed9eba1,k2=0x8f1bbcdc,k3=0xca62c1d6,k4=0x99728a5a,k5=0x1abe9de6,k6=0xcdcbb1f8,k7=0x6d1c26ac;(3)非线性分段式码字扩展:
利用上式对消息字m0,m1,...,m15及m′0,m′1,...,m′15进行消息扩展,先通过循环移位及模加方式进行10次迭代操作,随后再利用非线性映射![]()
进行码字扩展,得到扩展后的码字序列W0,W1...,W63及W′0,W′1,...,W′63;(+表示mod232的加法运算,∨表示逐比特逻辑或,表示逐比特逻辑异或,<<表示左移位操作,>>表示右移位操作,<<<表示循环左移位操作);(4)并行方式的混合迭代运算:1)x 0 = x 0 ( 0 ) , x 1 = x 1 ( 0 ) , x 2 = x 2 ( 0 ) , x 3 = x 3 ( 0 ) , x 4 = x 4 ( 0 ) , x 5 = x 5 ( 0 ) , x 6 = x 6 ( 0 ) , x 7 = x 7 ( 0 ) ; ]]> 2)For t=0to 11{当t为偶数时,k=(t/2)*8+16;Gi=(((xi(-(xi>>31)))<<1)∨(xi>>31))+Wi+ki=0,7![]()
i=0,...,7当t为奇数时,k=((t-1)/2)*8+16;Gi=(((xi(-(xi>>31)))<<1)∨(xi>>31))+W′i+k i=0,...,7![]()
3)将x0(0),...,x7(0)分别加到x0,...,x7,即:x 0 = x 0 + x 0 ( 0 ) , x 1 = x 1 + x 1 ( 0 ) , x 2 = x 2 + x 2 ( 0 ) , x 3 = x 3 + x 3 ( 0 ) , ]]>x 4 = x 4 + x 4 ( 0 ) , x 5 = x 5 + x 5 ( 0 ) , x 6 = x 6 + x 6 ( 0 ) , x 7 = x 7 + x 7 ( 0 ) ; ]]> 4)对剩下的消息块继续2)、3)的操作,直到最后一个消息块;(5)散列输出:并行迭代结束后,最后的输出结果即为256比特的散列值:x0||x1||x2||x3||x4||x5||x6||x7。根据不同场合的应用需求,通过输出变换,得到输出结果为128,160,192,224或256比特的消息摘要。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京石油化工学院,未经北京石油化工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200810226116.1/,转载请声明来源钻瓜专利网。