混沌系统是一种非线性动力学行为,基于混沌系统产生的混沌序列具有很好的初值敏感性、遍历性和伪随机的特点。由于混沌序列具有这些优良特性,因此近年来基于混沌的加密技术日益成为密码学的研究热点之一。我们利用三维Arnold混沌系统对图像进行置乱与异或,从而实现同时改变图像的像素的位置与像素值。

一、三维Arnold混沌系统

经典的二维Arnold混沌系统形式为:

基于三维Arnold混沌系统的图像加密算法

引入两个参数来加以推广得到更一般的形式:

基于三维Arnold混沌系统的图像加密算法

进一步地,将(2)式推广到三维空间,得到三维Arnold混沌系统:

基于三维Arnold混沌系统的图像加密算法

其中:

基于三维Arnold混沌系统的图像加密算法

基于三维Arnold混沌系统的图像加密算法

取ax=bx=ay=by=ax=bx=1,得:

基于三维Arnold混沌系统的图像加密算法

通过计算容易得出A的三个特征值,δ1_=7. 184 2>1,0.2 =0.243 0<1,δ3=0.572 8<1。

因此对应最大Lyapunov指数为Inδ1 =1. 971 9>1,与对应二维Amold混沌系统最大Lyapunov指数比较,可知三维Amold混沌系统具有更强的混沌性质。

二、基于三维Arnold混沌系统的图像加密算法

1、把二维矩阵数据重构为三维矩阵数据:设二维图像矩阵A的大小为M×N,按矩阵的列(行)顺序依次读取A的元素并依次放至三维矩阵B中,矩阵B的大小为J×K×3,满足条件:M×N=J×K×3。当肘,N都不能被3整除,则可通过边界填充n行(列)0(黑色)使M+n(N+n)得能被3整除。

2、取初始点(xo,y0,zo),其中xo,y0,zo∈(0,1),由三维混沌系统(3)迭代映射To次后,将得到的XT0,Yro与赋给初始值xo,y0,zo。用这三个新的初始值分别迭代映射J×K次,得到三条长度为的混沌序列{xi|i=1,2,…,J×K}、 {yi|i=1,2,…,J×K}与{zi|i=1,2,…,J×K}。按照式(2.1)对这两个序列进行改迸:

基于三维Arnold混沌系统的图像加密算法

其中XI可以是xi,Yi或zi,k=3,round(.)为取最近整数运算, 得到_{ui|i=1,2,…,J×K}、{vi|i=1,2,…,J×K}与{wi|i=1,2,…,J×K}。

3、对图像进行空间置乱,应用{u}i、{v}i和{w}i构造置乱矩阵。选择{u}i、{v}i和{w}i的前J个元素,生成3个行变换序列,再对它们进行排序,得到索引序列,然后构造3个J×J的零矩阵,将每行中对应的索引序列元素值的列的值变为1,构造出3个行置乱矩阵M1,M2,M3.同理,在{u}i、{v}i和{w}i中抽取3个长度为K的序列,构造出3个列置乱矩阵N1,N2,N3。对三维矩阵的每一层按式(2.2)进行置乱:

基于三维Arnold混沌系统的图像加密算法

4、应用{ui|i=1,2,…,J×K}、{vi|i=1,2,…,J×K}与{wi|i=1,2,…,J×K}重构一个三维矩阵C,矩阵C的大小为J×K×3,与置乱后的三维矩阵B进行异或运算得到三维矩阵H。

5、把三维矩阵N重构成二维矩阵D,输出加密后的图像。

解密方法为上述过程的逆。

三、基于三维Arnold混沌系统的图像加密算法实验结果及分析

1、实验结果

在MATLAB7.O编程环境下利用本文提出的加密算法对一幅256×256图像进行了加密和解密实验,设置参数分别为ax =bx=by=ax=bx=1,设置系统初始值分别为x0=0.01,y0 =0.01,z0 =0.1及To =2 000。错误密钥为xo=0.01,yo=0.01,zo =0.100000000 000001,图像加密解密效果如图1。

基于三维Arnold混沌系统的图像加密算法

由图1可见,由于混沌序列对初始值非常敏感,即使初始值有微小的变化也无法对图像进行正确解密。

2、分析

(1)密钥空间

一个好的图像文件加密方案应该使其密钥空间足够大从而使得强行攻击不可行,在本文提出的加密算法中,三维超混沌系统的参数与初始值用作密钥,其中xo,yo,z0为双精度型,精度为10 -16,To,zx,bx,ay,by,az,bz为8bit整数型,所以密钥空间为:

基于三维Arnold混沌系统的图像加密算法

因此使用穷举攻击解密图像几乎是不可能成功的。

(2)统计分析

对于一些加密算法通过统计分析就可能被破译,因此一个好的加密系统应该具有比较好的统计特性。下面通过比较原图象与加密图象的直方图来分析该系统的统计特性。比较图2可知,变换前后的直方图发生了明显的变化,变化后的直方图呈均匀分布,它掩盖了变化前的分布规律,具有很强的伪随机性,这大大增加了破译者的工作量和工作难度,因此该密码可有效地抵抗统计和已知密文攻击。

基于三维Arnold混沌系统的图像加密算法

分别从原图和加密图随机选取1000个相邻(垂直、水平、对角)像素点判断其相关性,表1列出了两图在水平,竖直和对角方向的相关性,图3(a)是原图相邻像素在垂直方向相关性,图3(b)是密图相邻像素在垂直方向相关性。可见加密后图像的相关性大大降低。

基于三维Arnold混沌系统的图像加密算法

基于三维Arnold混沌系统的图像加密算法

(4)抗干扰能力分析

为了验证文中加密算法的抗干扰能力,下面对LeM图像改变密图质量,使加密图像受到噪声污染和几何失真以及JPEG压缩的攻击,然后进行解密。图4(a)对Lena密图的中心进行大小面积为128×128剪切。图4(b)为剪切后的密图的解密图像,图4(c)为密图添加Gaussian噪音后的解密图像,噪音强度为2%。图4(d)为密图添加椒盐噪音后的解密图像,噪音强度为4%。图(e)为对Lena密图进行压缩的品质因子为80的JPEG压缩后的解密图像,图4(f)对密图添加文字,图4(g)为添加文字后的解密图像,实验的结果表明此算法具有较强的抗干扰能力。

基于三维Arnold混沌系统的图像加密算法

小知识之非线性动力学

非线性动力学联系到许多学科,如力学、数学、物理学、化学,甚至某些社会科学等。 非线性动力学的三个主要方面:分叉、混沌和孤立子,事实上,这不是三个孤立的方面,混沌是一种分叉过程,孤立子有时也可以和同宿轨或异宿轨相联系,同宿轨和异宿轨是分叉研究中的两种主要对象。