混沌作为一种特有非线性现象,具有良好的伪随机特性、轨道的不可预测性、对初始状态及结构参数的极端敏感性、迭代的不重复性等一系列优良特性,由于越来越广泛使用的图像、多媒体信息,数据量大,冗余度高,已给传统密码提出了挑战,混沌信号天然的随机性和隐蔽性非常适用于保密通信。
众所周知,—个好的加密算法应该对密钥极其敏感,密钥空间足够大,以抵御穷举攻击。虽然一维,二维混沌映射具有形式简单、运行效宰高等优点。但低维混沌存在密钥空间小、安全性不高的缺点。高维超混沌具有更高的复杂性、随机性和更好的不可预测性,能更有效地抵御相空间重构等破译方法的进攻,保密性强,算法实现简单,密钥空间大,与混沌系统相比,超混沌系统有更多正的李雅昔诺夫指教、更加复 杂和难以预测的动力学特性。正的李稚普诺夫指数越多,系统轨道不稳定方向越多,系统随机性越强,其抗蔹译能力越高。
本文首先构造了一个新超混沌系统,并提出了基于该超混沌映射的图像加密新方案,四维映射的参数和系统变量的增大使密钥也随之增加,从而可有效地抵御穷举攻击,加密图像像素值分布随机,具有较高的安全性。
一、新超混沌系统
新的超混沌系统的动力学方程如下:
要产生超混沌吸引子,必须满足以下几个条件:首先动力学方程应该有耗散性,方程的维投不小于4,系统至少有两个增强不稳定因素的方程,同时这两个方程中至少有一个含非线性项,且平衡点为不稳定的.取系统参数a=10,b=45,c=2.5,d=4,r为后来引进的参敫,这里设r=5。
1、基本动力学分析
(1)耗散性和吸引子的存在性
由于:
系统(1)是耗散的,且以如下指数形式收敛:
即体积元v0在t时刻收缩为体积元v0e-(a+c)t。这意味着,当t→oo时,包含系统轨迹的每个体积元以指数率e-a-c收缩到零。因此,所有系统轨迹最终会被限制在一个体积为零的集合上,且它渐进运动固定在一个吸引子上。
(2)平衡点及稳定性
令式(1)的右边等于0:
显然系统(1)存在一个平衡点s0=(0,0,0)。在平衡点so,对系统(1)进行线性化,得其jacobian矩阵:
为了求平衡点so相应的特征根,令det(Jo-λI) =O,得相应的特征根为λ1o=-26.7226,λ20=16.6099,λ30=0.1126,λ40 =-2.5000,4个特征值皆为实数,这里λ20,λ30为正实根,λ1o ,λ40为负实根。因此,平衡点so为不稳定的鞍焦点。
2、 Lyapunov指数和Lyapunov维数
当参数为a=10,b=45,c=2.5,d=4,r=5时,系统的Lyapunov指数λ1=1.7365,λ2=0.0466,λ3=-0.0049,λ4=-14.2675,系统有两个正的Lyapunov指数,式(1)为超混沌系统。此超混沌系统的Lyapunov维数为:
由此可见,这个新系统的Lyapunov维数是分数维数,从而验证了该系统为超混沌系统。
3、混沌吸引子
当系统参数a=1O,b=45,c=2.5,d=4,r=5时,系统(1)存在一个典型的混沌吸引子。采用四阶Runge-Kutta离散化算法,迭代10000次,取后面9900个数据得到混沌吸引子相图,如图1所示。由图1可知,系统的混沌吸引子轨线在特定的吸引域内具有遍历性,对应吸引子在各平面的投影。
该四维超混沌系统生成的混沌序列有如下特点:①是系统结构较低维系统复杂,系统变量的实数值序列更不可预测;②是处理系统输出的实数值混沌序列,可产生单变量或多变量组合的加密混沌序列,使加密序列的设计非常灵活;③是系统的4个初始值都可以作为生成加密混沌序列的种子密钥,若设计过程中再加入部分控制变量,加密算法的密钥空间将远远高于低维混沌系统。
二、加密算法设计
1、像素位置置乱
为了扰乱图像相邻像素间高度相关性,利用置乱矩阵来置乱原图像像素位置。这样,原图像的全部像素将被随机均匀地置乱到密文图像的整个像素空间。
设原始图像大小为MXN,P(i,j),i=0,1,...,M-1,j=o,1,…,N-1,表示图像的像素灰度值。采用如下方法对图像像素位置进行置乱:
step1给定初始值超混沌系统(1)在四阶龙格一库塔法迭代No次生成4个混沌序列{x1(k),x2(k),X3 (k),x4(k)|k=O,1,2,...},并舍弃每个序列的前10000个值,将后面的值作为混沌序列。
Step2对混沌序列x1(k),X3(k)进行如下预处理:
Step3将Step2中产生的混沌序列排序,组成两个新序列,原混沌序列中的两个值在新序列中位置编号组成的序列,将这两个序列作为图像数据矩阵的行序列和列序列,从而实现对原图像位置的置乱。
置乱破坏了原图像相邻像素点相关性,但是图像的灰度直方图并没改变,因而安全性不够高,很难抵御已知明文攻击,需要对预处理后的图像做进一步加密。
2、图像像素值扩散
使用超混沌系统产生的混沌序列对置乱后图像进行加密,对于每个像素点构造一个实数序列值的密钥。这种改变基于超混沌系统的像素灰度值的步骤如下:
Step1由超混沌系统产生的4个混沌序列组成正整数,将该正整数对256取模,得到1字节的加密密钥来加密图像,公式如下:
式中,abs表示取矗绝对值,floor表示取小于或等于xi的整数。mod表示取余运算。
Step2由下面公式产生x0:
式中,x0∈[Q,3]。根据函选择加密混沌序列。若xo=o,用(x1,x2,x3)进行异或加密;若x0=1,用(x2,x3,X4)进行异或加密;若x0=2,用(x1,x2,x4)进行异或加密;若x0=3,用(x1,X3,x4)进行异或加密。
Step3每次对图像中3个像素值进行异或运算,再与前一个密文图像进行异或,直到完成所有的像素点加密为止。初始值C(0)=100,计算公式如下:
式中,i=0,2,”.,[(M* N)/3]-1,P(i)和C(i)分别代表了置乱后的图像和密文图像像素灰度值。+表示异或运算。
重复以上步骤,直至每个像素点都进行了像素值替代变换,最终得到置乱和替代变换后的加密图像。
此方案中加密序列的选取与新超混沌系统相关,这样混沌序列的产生依赖于密钥,混沌序列的选择对混沌系统也是敏感的,这就能有效地增强算法的安全性。从替代变换算法看,由于对图像的每一个像素点都采用了不同的替代加密密钥,因此符合香农的“一次一密”加密原则,故算法具有抵抗强力攻击的安全性。
解密是加密的逆过程。加密过程是先置乱后替换。解密是先对密文图像像素值反替代,然后对反替代后图像像素进行位置反置乱,即可得到解密图像。
三、实验结果及分析
选用大小为256×256、灰度为256色的位Lena.bmp(图2(a))作为实验图片。一个好的加密算法应该能够抵御各种已知攻击。同时列加密密钥敏感,密钥空问足够大,以抵御穷举攻击。下面对加密算法进行安全性分析。
1、灰度直方图分析
从网2(a)-图2(f)中可以看出,置乱后图像的灰度直方 图没发生改变,即图2(d)和图2(e)相同。经过本文加密,灰度直方图发生显著变化,加密前像素值分布不均匀,加密后像素点均匀分布在[0,255]的区间中。可知,本算法具有较强的抵御统计分析攻击能力。
2、密钥空间分析和执行效率分析
在本算法中,超混沌映射的4个初始值和参数r均可用来作为密钥。若设置精度为10-14,密钥空间超过1070。同时超混沌系统初始迭代次数也可作为密钥,这样街钥空间就足以抵御各种攻击,在硬件环境为matlab7.4仿真平台,AMDArhlon(tnl)64 X2 Dual Core Proc~sor 5600的CPU.I.75G内存。Windows XP操作系统平台中实现时,加密256×256网像所用的时间约0. 82s。表明时问开销小。
3、密钥敏感性实验
密钥敏感性分析也就是密钥的激小变化将最终导致密文的显著变化,该特性有助于抵抗唯明文攻击。混沌加密的安全性在于它的初始值敏感性,即攻击借用与初始值很接近的一个数值进行破解,也不能恢复出原始的图像。
图3为解密仿真的试验结果。图3(a)-图3(b)为初值敏感性交输,其中初始值工x1(0)=1.2,x2(0)=0.3,X3(0)=0.4,x5(0)=0.5,迭代次数N=2000。图3(a)是正确解密后的图像,图3(b)是其余初始值不变x1(0)=1.200000000001时的解密图像,正确解密后的图3(a)与原图像完全相同,而初始密钥细微的差别都不能正确解密出原始图像。由此可知奉加密算法对密钥非常敏感,加密效果良好,具有很强的初值敏感性。
4、相邻像素点间的相关性分析
通过比较明文和密文图像榴邻像素的相关性,可以考察算法对图像置乱的程度。本文从明文图像和密文图像中随机选取3000对水平相邻像素对、垂直栩邻像素对和对角相邻像索对,利用以下公式进行计算:
式中,x和y表示随机选取的这3000对相邻像索的灰度值,测试结果如表1所列,图4显示了原始图像和加密后图像相邻像索点间的相关性。
可以看出,明文图像相邻像素高度相关的,相关系数接近1。而加密图像的相邻像素相关系数接近0。相邻像素问相关性明显减小。此时明文的统计特性已破扩散到随机的密文中,可以有效地抵御统计攻击。