目前混沌序列在图像文件加密中被广泛应用,基于此,我们将三维帐篷映射应用于彩色图像文件加密,通过三个投影序列与彩色图像文件对应的三个颜色矩阵分别进行简单的异或运算,达到对彩色图像文件加密的目的。

一、三维帐篷映射及其性质

设I1=[0, 1],I1上的一维帐篷映射定义为:

彩色图像文件加密之三维帐篷映射加密

其中:0<α<1。一维帐篷映射含有一个参数,该映射是混沌的,并具有均匀的分布函数。

设I2 =[0,1]×[0,1], il xco, i], I2上的二维帐篷映射定义为:

彩色图像文件加密之三维帐篷映射加密

其中:0<α<1, 0<β<1。二维帐篷映射含有两个参数,该映射是混沌的,并具有均匀的分布函数。

下面,依据一维和二维帐篷映射的定义方式,给出三维帐篷映射的定义。设I3=[0,1]×[0,1]×[o,1],则I3上的三维帐篷映射的定义为:

彩色图像文件加密之三维帐篷映射加密

其中:0<α<1, 0<β<1,0<γ <1。三维帐篷映射含有三个参数以下证明三维帐篷映射α,β,γ是混沌的,其输出信号在I3上具有遍历性,并具有均匀的分布函数。

1、三维帐篷映射的Lyapunov指数

判断动力学系统是否具有混沌性质的一个方式是计算该系统的Lyapunov指数。在系统轨道各个方向的Lyapunov指数中,最大的Lyapunov指数对系统的性质起决定性的作用,因此称为系统的Lyapunov指数。系统的Lyapunov指数是否大于零,通常作为系统是否存在混沌运动的重要判据。

当给定初值及参数后,三维帐篷映射经过迭代运算可生成一组三维序列。设当前一个数值为x、y、z,经三维帐篷映射得到的下一个数值为( x1,y,z1),考虑到下一个数值各分量与
前一个数值各分量存在一定的关系,可将三维帐篷映射改写为:

彩色图像文件加密之三维帐篷映射加密

其中:f1,f2,f3为由三维帐篷映射盖,fαβγ决定的抽象函数,表示下一个数值的各分量与前一个数值存在一定的关系。若初始点x0,yo和z0的偏差分别为δxo、δyo和δz0,从初始点(x0,yo,z0)出发,由式(3)得到逐次迭代的点为(x1,y1,z1),(x2,y2,z2),…,(xn,yn,zn)。于是前(n-1)个Jaccobi矩阵分别为J0=J(x0,yo,z0),J1=J(x1,y1,z1),...,Jn-1=J(xn-1,yn-1,zn-1)且有:

彩色图像文件加密之三维帐篷映射加密

设三阶矩阵J =Jn-1 ×Jn-2 ×... ×J0,它的三个特征值为λ1、λ2和λ3,则三维帐篷映射的三个Lyapunov指数分别为:

彩色图像文件加密之三维帐篷映射加密
由矩阵行列式等于矩阵特征值的乘积知,当Jacobin矩阵行列式的绝对值大于1时,矩阵特征值的绝对值中至少有一个大于1,保证至少有一个Lyapunov指数大于0,从而可以得知系统是
混沌的。

文中定义的三维帐篷映射的Jacobin矩阵为:

彩色图像文件加密之三维帐篷映射加密

其中:a =1/α或者- 1/(1 -α);b=1/β或者- 1/( 1-β),c=γ或者- 1/(1 -γ),所以|J(x)|=|abc| >1。可以得知三维帐篷映射是混沌的。

2、输出序列的遍历性和分布函数

混沌运动轨道的点集{Xn},可以用一个分布函数来描述,分布函数的定义为:

彩色图像文件加密之三维帐篷映射加密

所谓遍历性是指:对x的任意函数G(x),有:

彩色图像文件加密之三维帐篷映射加密

对函数G(x),引入如下定义的Frobeniu s-Perron算子P,简称为FP算子):

彩色图像文件加密之三维帐篷映射加密

上式等价于:

彩色图像文件加密之三维帐篷映射加密

遍历性等价于式(10)有惟一解。

对于三维帐篷映射fαβγ,根据上述可以得到:

彩色图像文件加密之三维帐篷映射加密

其中:J(x)为式(6)确定的帐篷映射fαβγ的Jacobin矩阵。

彩色图像文件加密之三维帐篷映射加密

由式(12)可看出P(xy z)=1是满足ProP(xy z)的惟一解,即三维帐篷映射fαβγ在I3上遍历且具有不变的均匀分布。

3、输出序列的相关性

将三维帐篷映射fαβγ生成的三维序列分别在xyz方向进行投影得到三个一维投影序列(xt)t=0,{Yi}i=0。{zi}1=0。

对于x方向的一维序列(xt)t=0,利用概率密度知识及序列(xt)t=0有均匀的概率密度函数p (x)=1,可得:

彩色图像文件加密之三维帐篷映射加密

一维序列(xt)t=0的自相关系数的表达式为:

彩色图像文件加密之三维帐篷映射加密

三个一维投影序列(xt)t=0,{Yi}i=0。{zi}1=0之间的互相关性表达式为:

彩色图像文件加密之三维帐篷映射加密

因此,三维帐篷映射生成的三维序列投影至三个平面后得到的三个一维投影序列之间具有良好的互相关性。

4、三维帐篷映射生成的二值序列

前面已经证明了三维帐篷映射α、β、γ是混沌的,并且由其得到的三个一维投影序列之间具有良好的自相关性和互相关性。为了更方便地利用三维帐篷映射的生成序列,需要对x,y,z三个方向的投影序列进行二值化处理。下面对二值化序列的随机性进行分析。

考虑到以二进制相位转移参数的方式发送二进制信息序列的扩频通信方式中,扩频序列的取值是{-1,1}的二进制序列,即将生成的实值序列经过二值化后产生相应的扩频序列。所以本文也将三个一维投影序列进行取值是{-1,1}的二值化处理。为了说明问题,下面仅给出x方向投影序列的二值化过程,对y、z向投影序列的二值化过程是类似的。鉴于帐篷映射生成序列的范围为0~1,选取阈值Q5,对实值序列{X1,X2,…},按下式转换为相应的二值序列{X1',X2',…},

彩色图像文件加密之三维帐篷映射加密

5、自相关性分析

二值序列的自相关系数的计算公式为:

彩色图像文件加密之三维帐篷映射加密

其中:m为步长。当步长m变化时,自相关系数变化越小,说明序列的随机性越好。本文对由三维帐篷映射得到的x,y,z三个方向上的二值序列进行了实验仿真,各个方向上的自相关系数与步长的关系如图1所示。

彩色图像文件加密之三维帐篷映射加密

由图1可见,三维帐篷映射生成的三个二值序列的自相关系数具有大致相同的统计特性,均具有良好的随机性能。

6、平衡性分析

记二值序列中1和-1的个数分别为P和Q,则序列平衡度的定义为:

彩色图像文件加密之三维帐篷映射加密

其中:N为二值序列长度。平衡度的值越小,表明序列的随机性越好。

在本文的仿真实验中,序列长度Ⅳ从1000增加到5000。

三维帐篷映射生成二值序列的平衡度随序列长度变化的关系曲线如图2所示。

彩色图像文件加密之三维帐篷映射加密

由图2可见,三维帐篷映射生成的三个二值序列的平衡度随着序列长度Ⅳ的增加而逐渐减小,说明序列中1与-1的个数随着序列长度的增加而逐渐接近,这意味着投影序列具有良好的随机性。

二、应用于彩色图像文件加密

彩色图像具有三个颜色分量矩阵,即红(R)、绿(G)和蓝(B)。为了实现对彩色图像文件加密,首先提取彩色图像的三个颜色分量矩阵R,G,B;其次将由三维帐篷映射得到的三个投影序列进行扩大取整,转换为二维矩阵形式,再与颜色分量矩阵分别进行异或运算,经循环迭代后得到加密图像文件。

由式(3)知,在三维帐篷映射的定义中需要已知初始值x,y,z和参数α、β、γ。其中,初始值x,y,z用于生成三维序列,参数α、β、γ用于与本次得到的数值进行比较,以生成下一个数
值。在图像的循环加密中,如果每一次循环加密都定义一组初始信息,包括初始值与参数值,那么一旦循环加密的次数较多时,则会由于初始信息过于庞大而使传输代价过高,从而限制
了算法的实用性。所以本文提出利用混沌系统生成三维帐篷映射在循环加密中所需的初始信息,即在每一次循环加密时不用重新定义初始信息,只需在由混沌系统生成的混沌序列中依
次取值即可,大大减小了传输的代价,提高了算法的实用性。

实验中采用logistic混沌系统生成混沌序列,利用该混沌序列提供三维帐篷映射所需的初始信息。

图像文件加密算法如下:

a)输入待加密的彩色图像,选取初值生成logistic混沌序列。

b)得到彩色图像的颜色分量矩阵,根据循环次数,依次从logistic混沌序列中选取帐篷映射对应的初始信息,对帐篷映射进行迭代得到三个投影序列,进行扩大取整,转换为二维矩阵形式。

c)将三个颜色分量矩阵与三个投影矩阵分别进行异或运算,得到加密后的三个分量矩阵,合成分量矩阵得到加密后的结果图像。

d)完成一次迭代,循环次数加1,得到彩色图像。判断是否达到加密效果,如果满足则终止程序,否则返回b)。

由于实验中选用简单的异或运算作为加密运算,具有较高的运算效率,且具有很好的可逆性,可以很方便地完成解密运算,达到解密的目的。

加密图像文件的解密算法如下:

a)输入待解密的加密图像,根摒接收到的初值重构logistic混沌序列。

b)得到彩色图像的颜色分量矩阵,根据循环次数,依次逆序从logistic混沌序列中选取帐篷映射对应的初始信息,对帐篷映射进行迭代得到三个投影序列,进行扩大取整,转换为二维矩阵形式。

c)将三个颜色分量矩阵分别与三个二维矩阵进行异或运算,得到解密后的三个分量矩阵,合成分量矩阵得到解密后的结果图像。

d)完成一次迭代,循环次数减1,判断循环次数是否为0,如果是,则终止程序,否则返回b)。

小知识之Lyapunov指数

Lyapunov指数是衡量系统动力学特性的一个重要定量指标,它表征了系统在相空间中相邻轨道间收敛或发散的平均指数率。对于系统是否存在动力学混沌, 可以从最大Lyapunov指数是否大于零非常直观的判断出来: 一个正的Lyapunov指数,意味着在系统相空间中,无论初始两条轨线的间距多么小,其差别都会随着时间的演化而成指数率的增加以致达到无法预测,这就是混沌现象。