前面我们介绍了电子商务中的混沌加密算法可分为四种,前面我们介绍了第一种混沌序列加密算法,那么接下来我给大家介绍一下第二种:单向Hash算法。

单向Hash算法

随着以Internet为基础的电子商务技术的迅猛发展,以公钥密码术、数字签名等为代表的加密安全技术已成为研究的热点,单向Hash函数是数字签名中的一个关键环节。

单向函数的定义:如映射f:X—y对所有的z∈X,f(x)都容易计算,但对任意的y∈f(X)找到x∈X使f(x)=y在计算上却是困难的,则该函数称为单向函数。

实验结果表明,混沌序列是遍历的,即沿着混沌轨迹对某一函数的平均等于其集平均;由于混沌系统在迭代中的信息损失,使得混沌序列的信息量渐进趋于零,因此对混沌序列进行正确的长期预测是不可能的。以上特点使混沌序列天然地拥有单向Hash函数所要求的较好的散布性、不可逆性、防伪造性和初值敏感性。

1、基于Henon映射的单向Hash构造

Henon映射是一个二维非线性映射,其一维形式为:

电子商务中的混沌加密算法—单向Hash算法
其中参数取在b=0.3,1. 07≤f≤1.09范围内,初值在士1.5之间时系统具有混沌吸引子,取b=0.3,c=1. 08。注意到这个方程在已知第n项时是无法解析解出n-1,n-2,n-3中的任何一项的,这是系统不可逆性和防伪造性的保证之一。Henon映射分布特性很适合用来构造单向Hash函数,不仅终值的分布平稳,与迭代步数无关,而且与初值无关,分布也较为均匀,这样在已知终值的情况下,初值分布的概率比较均匀,只能以穷举搜索初值,因而保证了不可逆性和防伪造性。

采用Henon映射的一维形式作为迭代方程,构造单向Hash算法如下:

1)将待处理文本按对应字节的ASCII码转换为数字,线性变换为-1.2~1.2范围内的数,这样整个文本得到一个大数组,记为S,记数组长度即文本字节数为N。

2)令电子商务中的混沌加密算法—单向Hash算法其中k=256。

3)令迭代轮数为r=R×([N/R]+1),其中[]为取整运算,R=64。

i)j从3到r计算aj= 1+0. 3(aj-2-c)-1.08a2j-1,在j≤N时,令c=1.4Sj/(k-1)-1.2,在j>N时,令c=aj-3。

ii)令bi=ar-2,b2=ar-1,b3=ar,j从4到3R计算bj= 1+0. 3(bj-2-bj-3)-1.08b2-1。

4)迭代结果序列中取出bR,b2R,b3R,将它们经线性变换和取整运算映射为两个40 bit 一个48 bit的二进制数,合起来作为最后128 bit的Hash结果。

2、基于取模运算混沌系统的单向Hash构造

将第一节迭代中的Henon映射替换为:

电子商务中的混沌加密算法—单向Hash算法
由于此混沌系统的初值敏感性更高,可以取R=15,并且初始文本按ASCII码转换为数字时,将每5个字符转换为一个0~3之间的数,其余都与前面的算法相同,这样迭代的步数减少很多,其类噪特性比Henon映射还要好。

该加密算法的单向Hash性能是很好的,初值的每bit变动,结果都以大的概率发生较大变化,具有高的初值敏感性,理想Hash的散布效果应该是初值的细微变化将导致结果的每bit都以50%的概率变化,从统计效果来看,攻击者在已知一些明文密文对,对其伪造或反推其他明文密文对没有任何帮助,从而得不到任何密文分布的有用信息。

这种新的基于混沌映射的单向Hash函数构造方法将待处理文本作为初值和调制信号加载于混沌映射的迭代中,混沌系统固有的特点使该加密算法使用简单,对初值有高度的敏感性,具有很好的单向Hash函数性能。此外,该方法迭代步数与初始文本长度成正比,并且易于并行实现,有成为一种快速实用的单向Hash算法的潜力。

小知识之ASCII

ASCII是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。