基于Rossler系统的三维混沌序列设计了一种既改变像素位置又改变像素灰度值的图像加密方法。使用Rossler三维混沌序列中的任意两维混沌序列控制像素的旋转与置换,剩下的一维序列变换像素的灰度。并且在Rossler混沌加密密钥的基础上,增加了置乱密钥,提升了密钥空间,方便了密钥管理。

一、Rossler混沌系统

1、Rossler系统

ROssler系统是经典的三维混沌系统闭。Rossler系统生成加密混沌序列的优点在于:

一是结构较低维混沌系统复杂,产生的实值序列具有更强的不可预测性;

二是系统的三个初始值和三个参数都可以作为生成加密混沌序列的种子密钥,产生的密钥空间大大高于低维混沌系统。

Rossler系统的动力学方程式为:

图像文件加密中Rossler三维混沌系统的应用

式(1)中,β、σ、ρ为系统参数,当β=0.2、σ=0.2、ρ=5.7时系统进入混沌状。对于—个Rdssler系统可以采用4阶Runge-Kutta法进行求解,给定步长,便可以得到随机良好的三维实值序列w(k)=(w1(k),w2(k),W3(k)),k为数值积分算法的循环次数。

2、Rossler实值序列的转换

对Rossler系统产生的实值序列进行处理,抽取实值序列的任意两维进行二进制序列转换。定义—个量化处理函数:

图像文件加密中Rossler三维混沌系统的应用

式(2)中,对于w(k)若满足mod( round (abs(1000*w(k))),10)<5,则取式(a),如果mod(round(abs(1000*w(k)),10)≥5,取式(b),其中mod是取余函数,round是取整函数,abs是取绝对值函数。

式(2)可以取得实值序列w(k)中的第三位小数,避免了第四位小数过多零的出现。用式(2)作为二进制转化的依据,处理后得到两组二进制序列bi1和b2。

再定义—个函数:

图像文件加密中Rossler三维混沌系统的应用

其中mod是取余函数,round是取整函数。abs是取绝对值函数。式(3)处理实值序列w(k)中余下的—维,用小数点右侧2~4位数与256进行取余运算,得到一维整数序列g(k)∈{0,1, ......,255}。

通过式(2)和式(3),可以把Rossler实值序列转换为两维二进制序列和—维整数序列,合并这兰个序列得到一个新的三维混沌序列r(k):

图像文件加密中Rossler三维混沌系统的应用

二、图像置乱算法

一种常用的图像置乱方法是镜像变换,它是利用图像数据的点阵特征,由密钥产生随机序列对图像进行置乱的空间域算法。对于大小为NxM的灰度图像,定义,I(i,j)为图像在(i,j)位置的灰度值,其中i∈[0,N-1],j∈[0,M-I]。定义置换操作swap(I(i,j),I(i;,j’))交换I(i,j)和I(i;,j’),是否执行stvap操作由密钥产生的二进制序列b(k)决定。图1所示的是一种简单的镜像变换。模式1为图像文件加密中Rossler三维混沌系统的应用,模式2为图像文件加密中Rossler三维混沌系统的应用。如果二进制序列b(k)出现o和1是等概率事件,容易得出相邻两个像素点同时进行swap交换的概率是1 /2。

图像文件加密中Rossler三维混沌系统的应用

在此基础上提出了一个改进的镜像变换方法。对于每个像素点的两个坐标值i和j,可以用式(4)的混沌序列r(k)中的前两维与之对应。以图像的中心为坐标原点,以笛卡尔坐标系的划分方式将图像分割为四个象限。这样任意象限中的每个像素点都会在其他的三个象限中有对应的点。以象限2中的像素点作为变换的触发点(如图2所示),通过它带动其他三个点进行逆时针方向旋转d这种旋转有四种可能:不动、旋转90°、旋转180°和旋转270°。旋转的依据是触发点所对应的二维随机序列,即[0,0]不动、[o,1]旋转90°、[1,O]旋转180°、[1,1]转270°。在四种情况等可能的条件下,相邻两点旋转相同角度的概率是l/4,这样就降低了相邻像素转换后又再次相邻的可能性。

图像文件加密中Rossler三维混沌系统的应用

这种旋转变换运算量小,相对镜像变换置乱效果好。但是这种变换在中心区域效果较差,原因是靠近中心区域的像素点旋转前与旋转后不会改变像素点与中心点的距离,这样在趋向中心范围内如果灰度变化比较平滑,则旋转变换失去了置乱效果。

为此,在旋转变换的基础上又增加了中心区域像素和周边区域像素的置换变换。首先把NxM大小的图像分成16个n/4×m/4大小的块,将中心区域的4个块与周边的12块的像素进行置换,如图3所示。

图像文件加密中Rossler三维混沌系统的应用

中心块d中像素的变换有四种可能,不动、沿横向向上取对称点置换、沿纵向向左取对称点置换、既沿横向又沿纵向取对称点置换。当然这4个块的对称轴各不相同,在置换时交换像素灰度值。对称轴中心点(x,y)的取值规律如下:

图像文件加密中Rossler三维混沌系统的应用

依据混沌序列r(k)里一、二维数的组合关系,中心块像素I(i,j)置换后,I(i’,j')位置如下:

图像文件加密中Rossler三维混沌系统的应用

三、图像灰度变换

图像中的每个像素点都对应混沌序列r(k)中的一个值。r(k)为三维序列,一、二维对应像素点的i,j坐标。第三维是[0,255]的随机数,用它与这个像素点的灰度值进行异或操作,得到—个随机的灰度值。通过改变灰度值达到隐藏原始信息的目的。以(i,j)表示某个像素的灰度值,变换后的灰度值为:

图像文件加密中Rossler三维混沌系统的应用

四、像素与Rossler混沌序列的对应

如前所述,为使图像置乱和灰度加密,必须建立像素和Rossler混沌序列r(k)的对应关系。定义函数:

图像文件加密中Rossler三维混沌系统的应用

如果mod(iM+j+ 1,2)==1取式(8)中的式(a),如果mod(iM+j+1,2)=o取式(8)中的式(b);图像文件加密中Rossler三维混沌系统的应用,z是混沌序列r(k)的长度。

图像文件加密中Rossler三维混沌系统的应用

如果mod(iM+j+1,2)==l取式(9)中的式(a),如果mod(iM+j+1,2)=o取式(9)中的式(b);图像文件加密中Rossler三维混沌系统的应用

 

图像文件加密中Rossler三维混沌系统的应用

用上面三个公式分别得到像素旋转、像素置换、灰度加密时在坐标(i,j)像素点所对应的Rossler混沌序列序列中的位置。start是—个常量,从这个位置开始取随机数。dif是—个整型变量,代表偏移量,作为图像置乱的密钥,可以证明它的取值范围是{0,1,…3/8,z}是混沌序列长度,并且z>NxM。按照行优先原则,根据式(8),第一个像素点1(0,0)对应r(start+dif),第二个像素点1(0,1)对应r(z-dif),第三个像素点1(0,2)对应r(Btart+dlf+1),第四个像素点对应r(z-dif-I)。依此方式实现每个像素J(iJ)对应—个三维随机数r(k),并尽可能降低Rossler混沌序列前后两个数值之间的关联性,更充分体现随机特点。

同理,像素置换时按式(9)建立对应关系,灰度异或时按式(10)建立对应关系。

基于上述Rossler系统产生混沌序列、图像置乱变换和灰度变换的方法,可以构建—个混沌图像加密算法;

(1)输入Rossler密钥wo={-1,0,1}和图像置乱密钥dV=10 000。由R6ssler系统产生三维的混沌实值序列w(k),J}为迭代次数,且k>NxM。

(2)实值混沌序列处理。经过式(2)—式(4)的处理后得到三维混沌序列r(k),k=1,2,3,....。

(3)读入256x256标准的Lena灰度图像作为待加密的图像,见图4(a)。根据式(8)建立像素与混沌序列的对应关系。取第二象限的像素点所对应的r(k)里一、二维的值来判定像素点旋转的角度。在逆时针旋转时与这个像素点对应的其他三个象限的像素点一起按相同角度旋转。之后按照式(5)、(6)、(9)进行像素置换,结果见图4(b)。

图像文件加密中Rossler三维混沌系统的应用

(4)置乱后图像全体像素点按照式(10)都能对应到某个r(k),用,r(k)中的第三维整数与这个点的灰度值进行异或得到灰度变化的图像,执行式(7)操作,在位置变化的情况下,改变图像的灰度值彻底打乱原图像的相关性,更好地实现保密的目的,结果见图4(c)。

(5)输出加密后的图像。

图像解密算法为图像加密算法的逆过程,具体算法如下:

(1)输入斛密密钥wo和dif,由Rbssler系统产生三维的混沌实值序列w(k)。

(2)经过式(2)~式(4)的处理后得到三维混沌序列r(k),k=1,2,3,.....,z。

(3读入待解密的图像q用r(k)中的第三维整数和与之对应的像素点的灰度值按式(7)进行异或操作,得到原图像的灰度值。

(4)再按照式(5)、(6)、(9)和够进行像素置换,之后取第三象限的像素点按式(8)所对应r(k)一、二维的值来判定像素点旋转的角度。在顺时针旋转时与这个像素点对应
的其他三个象限的像素点_起按相同角度旋转。这样恢复原像素点的位置。

若用错误密钥wo={- 1 .001,1,1}和正确密钥dif=10 000解密后图像为图5(a)。若用正确密钥wo={- 1,0,1}和错误密钥dV=10 001解密后图像为5(b)。密钥wo和dif都正确即可恢复原图像,如图5(c)。

图像文件加密中Rossler三维混沌系统的应用

从图5(a)可见,即使Rossler密钥wo中的一维有微小的变化,也不能正确解密出原图,从而体现出对密钥wo的高度敏感性。从图5(b)可见,置乱密钥dif稍有变化,即不能正确解密,对dif也有高度敏感。本算法的密钥分成两部分,一部分是Rossler密钥,一部分是图像置乱密钥,方便了密钥管理,同时达到近似无限的密钥空问。与空域复合加密Chebyshev映射算法圈在Pentium IV Corelx 2 3.06 GHz,Madab7.1平台下的比较结果如表1所示。

图像文件加密中Rossler三维混沌系统的应用

由上面的算法分析可知,对于NxM的图像加密后,可能的加密结果为(256x2)NM。该算法可以有效抵抗基于统汁的攻击和利用混沌时问序列进行分析的攻击方法。

六、结论

(1 )Rossler三维混沌系统较之低维混沌系统具有更高的复杂性和更好的随机性,应用到图像加密中得到的保密性更高。

(2)本算法的图像置乱方法在像素旋转的基础上又增加了中心区域像素和周边区域像素的置换,解决了镜像变换在中心区域效果差的问题,更好地实现了图像置乱。

(3)本算法在密钥管理上将加密算法的密钥分成两部分,一部分是ROssler密钥,一部分是幽像置乱密钥,不但增加了密钥空问,而且方便了密钥管理。

小知识之镜像

镜像,一种文件形式,可以把许多文件做成一个镜像文件,与GHOST等程序放在在一个盘里用GHOST等软件打开后,又恢复成许多文件,镜像(Mirroring)是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本即为镜像。