基于混沌映射的单向Hash函数构造_刘军宁
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISSN 1000-0054CN 11-2223/N
清华大学学报(自然科学版)J Tsingh ua Univ (Sci &Tech ),2000年第40卷第7期
2000,V o l.40,N o.715/33
5558
基于混沌映射的单向Hash 函数构造
刘军宁, 谢杰成, 王 普
(清华大学自动化系,宽带网络信息研究中心,北京100084)
收稿日期:1999-04-05
作者简介:刘军宁(1973-),男(汉),湖南,硕士研究生
文 摘:为提高Hash 函数性能,尝试新的H a sh 函数构造方法,提出一种基于混沌映射的H a sh 函数构造思想,给出利用两个不同的混沌模型构造的单向H a sh 函数,并初步分析了其作为单向H a sh 函数的不可逆性,防伪造性,初值敏感性和混沌映射应用于单向Hash 函数构造的优点与潜力。实现了任意长原始文本单向ha sh 为128bit H a sh 值的算法。实验结果表明,这种构造方法实现简单,对初值有高度敏感性,具有很好的单向H a sh 性能。同时,该方法也易于改造为并行实现,并且迭代的步数与原始文本成正比,有成为一种快速实用的单向Hash 算法的潜力。
关键词:电子商务;数字签名;H a sh 函数;混沌映射中图分类号:
T P 309;T P 393
文献标识码:
A
文章编号:1000-0054(2000)07-0055-04
随着以Internet 为基础的电子商务技术的迅猛发展,以公钥密码术,数字签名等为代表的加密安全技术已成为研究的热点[1~3]。单向Hash 函数是数字签名中的一个关键环节,可以大大缩短签名时间,在消息完整性检测,内存的散布分配,操作系统中帐号口令的安全存储中也有重要应用。传统的单向Hash 方法有M D2,M D5,SHA 等标准[2~
4]
,多是
采用基于异或等逻辑运算的复杂方法或是用DES 等分组加密方法多次迭代[1]得到Hash 结果,后种方法运算量很大,难以找到快速同时可靠的加密方法,而前种方法中由于异或运算中固有的缺陷,虽然每步运算简单,但计算轮数即使在被处理的文本很短情况下也很大。
针对以上问题,提出了一种基于混沌映射模型的单向Hash 算法,该算法表达简单,很好地达到了单向Hash 函数的各项性能,迭代轮数与原始文本长度成正比,且很容易改造为并行实现的算法。
1 混沌映射用于Hash 函数的可行性
单向函数的定义:如映射f :X →Y 对所有的x ∈X ,f (x )都容易计算,但对任意的y ∈f (X )=Y 找到x ∈X 使f (x )=y 却是计算上困难的。则该函数称为单向函数。
单向H ash 函数是一种特殊的单向函数,它满足以下3个条件[1]并有|Y | |X |
:1)不可逆性 已知c =Hash (m )求m 计算困难,即除穷举外没有好办法;
2)防伪造性 已知c =Hash (m ),求n 使Hash (n )=c 计算困难;
3)初值敏感性 c =H ash(m )中c 的每一比特都与m 的每一比特相关,并有高度的敏感性,即每改变m 的一比特,都将对c 产生明显影响。
从数学上看,报文空间可以是无限的,而Hash 结果总是一段定长字节的数字,会有无数的报文具有同样的H ash 函数值,但在Hash 结果达到一定长度,比如结果为固定的128bit 长时,结果空间已有2128
≈3.4028×1028
个,现有的计算环境下在这样大的空间穷举计算是困难的。
Hash 函数把任意信息集合提炼为一个大数。被处理的文字信息即使只相差一个字符,它们的Hash 结果也会完全不同,这就使要想通过已知的一对x ,y (y =Hash (x ))找到x ′,H ash(x ′)=y ,除穷举外没有什么好的办法。
这些出色的性质使单向Hash 函数广泛应用于各种数据保护场合。用来以较小的计算和存储代价来保护数据的完整性和正确性。同时单向Hash 函数可以将原始的长信息压缩,这在电子商务应用中对于数字签名的快速实时实现有重要意义,可以对压缩后的信息进行签名,大大缩短签名时间。混沌理论在80年代末开始得到密码学界的注意,混沌运动是非线性确定性系统内在随机性的表
现,可以由十分简单的确定系统产生异常复杂的随机行为。实验结果表明,混沌序列是遍历的,即沿着混沌轨迹对某一函数的平均等于其集平均;由于混沌系统在迭代中的信息损失,使得混沌序列的信息量渐进趋于零,因此对混沌序列进行正确的长期预测是不可能的。
以上特点使混沌序列天然地拥有单向H a sh 函数所要求的较好的散布性和不可逆性[5]
、防伪造性、初值敏感性。
2 基于H ènon 映射的单向Hash 构造
H ènon 映射是一个二维非线性映射,其一维形式为
[6]
a n =1+
b (a n -2-a n -3)-ca
2
n -1
.(1)
其中参数取在b =0.3, 1.07≤c ≤1.09范围内,初值在±1.5之间时系统具有混沌吸引子。取b =0.3,
c = 1.08
。注意到这个方程在已知第n 项时是无法解析解出n -1,n -2,n -3中的任何一项的,这是系统不可逆性和防伪造性的保证之一。图1为系统在任一初值下经4000次迭代的结果,由图1可见,该
混沌序列具有很好的类噪声特性。其分布特性很适合用来构造单向Hash 函数,不仅终值的分布平稳,与迭代步数无关,而且与初值无关,分布也较为均匀,这样在已知终值的情况下,初值分布的概率比较均匀,只能以穷举搜索初值,因而保证了不可逆性和防伪造性
。
图1 H ènon 映射混沌吸引子的分布
采用H èno n 映射的一维形式作为迭代方程,构造单向H ash 算法如下:
1)将待处理文本按对应字节的ASCII 码转换为数字,线性变换为- 1.2~ 1.2范围内的数,这样整个文本得到一个大数组,记为S ,记数组长度即文
本字节数为N 。
2)令
a 1= 2.4×S 1k -1- 1.2, a 2= 2.4×S 2
k -1
- 1.2,
其中k =256.3)迭代
令迭代轮数为r =R ×([N /R ]+1),其中[]为取整运算,R =64。
i )j 从3到r 计算
a j =1+0.3(a j -2-c )- 1.08a 2
j -1,
在j ≤N 时,令c =2.4S j /(k -1)-1.2,
在j >N 时,令c =a j -3.
ii )令b 1=a r -2,b 2=a r -1,b 3=a r ,j 从4到3R 计算b j =1+0.3(b j -2
-b j -3)- 1.08b 2
j -1.
4)从迭代结果序列中取出b R ,b 2R ,b 3R ,将它们经线性变换和取整运算映射为两个40bit ,一个48bit 的二进制数,合起来作为最后128bit 的Hash 结果。
3 基于另一模型的单向Hash 构造
将迭代中的H èno n 映射替换为
a j =(1+0.3(a j -2-c )+379a 2
j -1)mod3(2)由于此混沌系统的初值敏感性更高,可以取R =15,并且初始文本按ASCII 码转换为数字时,将每5个字符转换为一个0~3之间的数,其余都与前面的算法相同。这样迭代的步数减少很多。
图2是系统经4000次迭代结果,可以看出其类噪特性比H èno n 映射还要好。
图2 算法2映射混沌吸引子的分布
4 仿真结果
4.1 文本Hash 结果
取初始文本1为“Dea r Sir ,W e 'd like to inv ite yo u to come back to our site today (http ://w )to finish your registra tion and check out
56
清华大学学报(自然科学版)2000,40(7)