自从将混沌动力学的概念引入神经网络中,让人工神经网络具有混沌行为,使之更加接近实际的人脑神经网络。人工神经网络已广泛研究和应用到控制系统、信号处理等领域。理论研究证明,神经网络具有非常丰富和复杂的线性动力学特性,特别是它的混沌动力学特性,在加密通信方面具有广泛的应用前景。
本文中根据混沌系统产生的二进制序列,设定神经网络的权值和阈值,对每一个像素进行加密和解密运算。本加密算法具有以下特征:
(1)计算复杂度大;
(2)实现无损压缩;
(3)较高的安全性。
一、加密原理
图1为混沌神经网络加密和解密原理方框图。加密过程中,原始图像经过编码后,对每一个像素进行混沌神经网络加密,得到加密图像。在解密过程中,根据相同的混沌系统和初始值,即相同的混沌二进制序列,可以通过混沌神经网络解密算法,正确的解密出原始图像。详细过程请参见以下的加密算法。
1、分段性混沌映射
分段线性混沌映射¨具有以下特性:
1)遍历性、混合性和确切性;
2)具有一致变量密度函数f(x)=l;3)混沌轨道的自相关函数t(n)=6(n),其中:
本文采用分段线性映射表达式如下:
其中:
2、加密算法
step1输入参数:
原始图像文件名Injmage;
恢复后图像文件名Outtmage;
密钥(x0,p);
step2参数计算:
设定信号长度L
由p,x0根据式(l)迭代生成混沌序列x(n),(n=1,2,3,…,8L/K);其中K为x0,p的二进制表达式中截取的前K位;
b(n)(n=1,2,…,8L-1)由x(m)(m=1,2,…,8M/K)生成,其中O.b(Km-K)b(Km-K+1)…b(Km-2)b(Km-4)由x(m)生成二进制序列;
step3加密操作:
其中:
step4得到加密输出图像文件Outlmage。
3、解密算法
当用户输入正确的密钥(x0,p),将加密算法逆向运算,即可得解密图像。
二、实验结果和分析
1、加密和解密图像
令p:1/3,x0=0:6542,K=8,采用本文方法对多幅图像进行试验,图2(a)为Girl的原始图像,加密后的图像为图2(b);图3为Lena的原始图像,加密后的图像为图3(b)。由于混沌序列对初始值非常敏感,即使密钥值有微小的变化也会得到完全不同的解密结果,如不知密钥,就很难对图像进行解密。
2、加密算法复杂度,安全性,无失真特性的分析
(1)复杂度分析
在神经网络加密中,根据信号长度L,进行step3的不同种运算的次数如表1所示。从这个表中可以看出,乘法、条件测试、数据分配和加法的运算次数分别8L,88L,72L和16L。因此,复杂度是0(L)。
(2)安全性分析
在不知道密钥x0和p时,很难解密图像。我们取图像尺寸大小为256×256,加密图像的长度L-65 536,可能的加密结果的数量为28L= 2S24788。这是非常大的数量。另外,混沌神经网络加密中step3,信号根据方程(5)进行变换。在方程(3)、(4)中,根据混沌二进制序列,神经网络大的权值和阈值被特殊化。在信号变换原理中,有以下两种特性:
1)一种信号值可以变换成不同的值;
2)不同的信号值可以变换成相同的值。
因此,通过搜集一些原始图像和加密图像或者是搜集一些特殊的图像和它对应的加密结果,密码分析家是不可能正确的解密出另一些加密图像的。
(3)无失真性
无失真性是指加密和解密图像完全相同。通过分析加密算法中step3,很容易证明此结论。
三、结论
在本文提出了混沌神经网络的算法,这种算法具有计算复杂度大、无失真性和较高的安全性。另外,应用了分段线性混沌映射,它易实现,是最简单混沌系统之一。复杂的混沌系统会降低加密速度,有以下两个理由:
(1)映射越复杂,所需的混沌迭代时间就越多;
(2)许多复杂的混沌系统都使用浮点数进行运算,这从而使得迭代更慢。
小知识之神经网络
它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。