针对基于低维混沌系统的图像加密算法安全性不高的问题,提出了一种新的基于掺铒光纤激光器超混沌特性的数字图像加密算法。接下来,我就带大家来认识一下这种新的图像加密算法。
一、基于掺铒光纤激光器超混沌特性的图像加密算法原理
基于掺铒光纤激光器超混沌特性的图像加密算法包括置乱和扩散两个阶段:首先利用离散标准混沌映射对明文图像像素位置进行置乱,同时为了提高算法效率,通过像素间的异或操作将扩散效果引入置乱阶段。然后利用EDFL超混沌系统产生的值加密置乱后的像素值,从而得到密文图像。
二、基于掺铒光纤激光器超混沌特性的图像加密算法
基于掺铒光纤激光器超混沌特性的图像加密算法,加密过程如图所示:
1、置乱阶段设计
基于掺铒光纤激光器超混沌特性的图像加密算法利用二维离散标准混沌映射对图像像素位置进行置乱,以降低明文图像临近像素之间的强相关性。该混沌映射如式(1)所示:
式中:(i,j)和(i′,j′)分别为N×N图像中像素的原位置和被置乱后的位置;K为正整数。
由于标准混沌映射在进行图像置乱中对于(0,0)位置上的像素不起任何作用,因此,加密算法把(0,0)位置上的像素和某一位置(r1,r2)(0<r1≤N,0<r2≤N)的像素进行交换。r1和r2为随机产生的正整数,可被看作密钥进行控制。同时算法还通过像素间异或操作在本阶段引入了扩散效果,算法具体步骤如下所示。
(1)假设当前待处理明文像素的像素值表示为P1(m),根据式(2)进行异或运算:
(2)利用式(1)对异或操作后的像素进行置乱处理。
(3)按从上到下,从左到右的顺序对明文图像的各个像素进行步骤(1)(2)操作,直到明文图像所有像素被置乱完毕。
2、扩散阶段设计
在本阶段,加密算法利用一种基于双环掺铒光纤激光器的超混沌系统对置乱后的图像进行逐点加密,该系统特性方程组为:
式中:ka、kb、ga、gb、μ、Ia、Ib为系统参数,当ka=kb=1000,Ia=Ib=4,μ=0.2,ga=10500,4510<gb<4825或gb>5080时,方程组(3)所示系统表现为超混沌状态。当gb=4700时,该系统的Lyapunov指数为λ1=11.0443,λ2=0.0264,λ3=-49.4674,λ4=-69.2164。系统的Lyapunov指数谱如图所示。
由图可知:该超混沌系统具有两个正的Lyapunov指数,且数值较大,比普通的混沌系统有更强的不可预测性,非常适合应用于密码学领域。本阶段加密算法步骤如下所示。
(1)按从左到右,从上到下的顺序将置乱后的图像转化为一维序列S(n),n=1,2,…,N×N。
(2)利用四阶Runge-Kutta算法迭代超混沌系统T次,以确保系统进入稳态,Runge-Kutta算法步长设置为0.01。
(3)继续迭代超混沌系统,得到4个混沌实值xt,yt,zt,wt,t为系统迭代次数。利用式(4)对混沌实值进行预处理:
式中:abs(·)为绝对值函数;floor(·)表示取小于或等于x的整数。然后对一维序列S(n)进行加密:
式中:t代表超混沌系统的第t轮循环,c0=k′为正整数,可作为密钥值控制;z为图像灰度级。不停迭代超混沌系统直到s(s)中所有像素均被加密,从而得到密文序列c(n)。
(4)转化密文序列c(c)为密文图像c。
解密算法为加密算法的逆过程。
三、试验结果及安全性分析
为了检验算法性能,本文选用大小为256×156,灰度级为256的lena图像进行试验并进行安全性分析。算法程序基于MatlabR2009b编写。
1、密钥空间分析
本文加密算法将超混沌系统的四个初始值作为密钥,若计算精度为10-16,则密钥空间为1064,而且初始迭代次数T,初始值r1,r2,s,k′也都可以作为密钥,这已经足以抵御各种穷举攻击。
3、 密钥敏感性测试
密钥敏感性测试试验结果如图所示。图(a)为256×256的lena图像;图(b)为采用本文算法加密的密文图像(密钥为x0=0.3,y0=0.1,z0=0.9,wo=0.7,r1=71,r2=187,s=85,k′=51,T=5000);图(c)为采用不同密钥加密的图像(除y0=0.10000000000001外,其他参数均与图(b)所用密钥相同);图(d)为图(b)和图(c)的差别图像。经统计,图(b)和图(c)有99.31%的像素的像素值不同,图(e)和(f)为图(b)的解密图像,图(e)使用正确密钥,而图(f)使用图(c)所用密钥。
由图可以看出:本文算法对密钥极其敏感,微小的密钥变化就能引起加密和解密结果的极大不同。
3、统计分析
(1)直方图分析测试
结果如图所示。由图可知,加密后图像的直方图(见图(d))与明文图像的直方图(见图(b))区别很大,并且灰度分布非常均匀,非常好地掩盖了原始图像像素的分布规律。
(2)相关性分析
明文图像中相邻像素之间的相关性通常很大,相邻像素的相关性可以反映出图像像素的扩散程度,所以应该尽量让加密后图像相邻像素的相关系数接近于零。本文分别从明文和密文图像中随机选取5000对像素对,测试其水平方向、垂直方向和对角方向的像素相关性,并应用式(6)计算其相关系数:
式中:,
,x和y表示图像中的两个相邻像素。
测试结果如表所示。从表可以看出:通过本文算法加密后的密文图像在水平,垂直和对角方向都具有极小的相关系数。
4、差异分析
像素变化率和统一平均变化强度主要用来衡量加密算法的扩散效果。假设只有1像素不同的两幅明文图像,其对应的密文图像用C1和C2表示,C1(i,j)和C2(i,j)为密文图像在(i,j)位置的像素值;D为一个二值矩阵,其值由C1,C2决定,如果C1(i,j)=C2(i,j),D(i,j)=0,否则,D(i,j)=1。NPCR和UACI计算公式为:
式中:W、G分别为测试图像的宽和高。
使用256×256大小,灰度级为256的Lena图像作为测试图像,测试结果(NPCR=99.67%,UACI=34.9%)显示,采用本文算法仅需置乱和扩散的一轮循环即可获得较好的加密性能(NPCR>0.996,UACI>0.334)。
从试验结果和安全性分析可以看出,该加密算法密钥空间大,有极强的密钥敏感性和较好的统计特性,并且仅需置乱和扩散的一轮循环即可取得很好的文件加密效果。
小知识之超混沌
混沌一般分为时间混沌和空间混沌,超混沌大概就是二者均出现的混沌现象,超混沌一般为多维系统产生!