在图像加密应用中,为抵抗攻击需要构造更多的混沌序列。针对该问题,研究二次函数在单位区域内的混沌问题,分析论证标准单位二次函数是Li-Yorke混沌的,在特殊情况下是Devaney混沌的,我们可以将这种方法应用于图像文件加密。
一、二次函数混沌特性的相关研究
当μ=4时,著名的Logistic映射:
就是标准单位映射函数。另外一些著名的混沌映射,例如在流体力学中,无穷动力系统的Navier-Stokes方程简化后得到映射:f(x)=1-2x2。该映射的变量与自变量都在-1~1之间变化,可以通过缩放(横轴纵轴缩放相同的倍数)与平移,变换成式(1)所示的单位区域上的Logistic映射,变换前后,映射得到的混沌序列的混沌特性不变,事实上,该混沌序列也进行了相同的缩放与平移。
从几何直观角度来解释,容易理解单位区域的作用,点在一个单位区域内迭代运算,如果被压缩在单位区域内,在这个区域内折叠震荡,既不收敛也不发散,就有了产生混沌的可能。理论上已经证明,空间中正则非退化返回扩张不动点(回归排斥子)导致Devaney和Li-Yorke意义下混沌,单位区域的作用就是使产生回归排斥子成为可能。提出的用于系统混沌化的迭代取余方法就实现了映射的中心化和区域化。给出的一些多项式混沌判定方法也与本文讨论的单位区域有直接关系,其中一些定理的条件就是把多项式映射限定在一个单位区域内。混沌的数学定义很多,常用的有Li-Yorke混沌与Devaney混沌等,另外,试图去掉Devaney混沌定义中的第3条,只保留遍历性(拓扑传递)与初始条件敏感性;提出一个分布性混沌定义。引入这些混沌定义,目的是为了克服原有混沌定义的不足。
二、单位区域上二次曲线的Li-Yorke混沌特性
二次曲线映射包括抛物线、椭圆、双曲线与相交直线等,为研究方便,可用式(2)所示的二次有理贝塞尔曲线参数方程表示:
其中,t为参数;w0、W1、W2是需要给定的系数,这3个系数可以决定曲线的类型;(x0,Yo)、(xl,Y1)、(x2,y2)称为控制点,能够控制曲线的形状,(x0,Yo)和(X2,y2)分别是曲线的始点与终点,(x1,Y1)在曲线的上方,用于控制曲线的高度。
设,当k=1时,式(2)确定的曲线是抛物线;当k1时,曲线是椭圆;当k1时,曲线是双曲线。为把曲线压缩到单位区域,令式(2)中的(xo,Yo)为(0,0),(x2,y2)为(1,0),式(2)简化为式(3)所示。这样曲线的下面2个端点就被固定在X轴上,一个在坐标原点,一个在(1,o)上,以这种简单的情形为例研究二次曲线的混沌特性。
当t= 0.5时,二次曲线函数有最大值:
令y(t)=1,二次曲线函数即为标准单位映射函数,这样就可以解出Y1与w0、W1、W2的关系,即:
说明:当y1与w0、w1、w满足式(4)的条件,t从O变化到l时该函数是标准单位映射函数。图1给出了3个标准单位映射函数。
参数具体如下:
(1)当wo=2,w1=1,W2=2,X1=0.65,y1=3时,曲线为椭圆,最大值为1;
(2)当wo=2, wi=5, W2=2,x1=0.65, Y1=14时,曲线为双曲线,最大值为1;
(3)当wo=0.2, w1=15, W2=0.2, xi=0.65, Y1=1,013时,曲线为近似的相交直线。
当趋近于o时,双曲线接近于2条相交直线,这样即可近似地构造出帐篷映射,如图1(c)所示。
分析计算了Logistic映射f(x)=ux(1-x)如果满足,则映射是Li-Yorke混沌的,计算得到μ的最小值在3.5附近。事实上,也可以用类似的方法分析当w0、w1、w2、X1、Y1满足什么条件时,式(3)所表示的映射是Li-Yorke混沌的。
如图2所示,A点的横坐标就是E点的纵坐标,A点经过2次映射到D点,如果D点的纵坐标大于E点的纵坐标,那么就是Li-Yorke混沌的。
计算曲线的最大值A点的坐标,将t=5代入到式(3)中,即可计算出曲线的最大值坐标(xmax,ymax):
将xmax赋值给Ey(E点纵坐标),把ymax作为横坐标代入到曲线方程计算出Cy,把Cy作为横坐标代入到曲线方程计算出Dy,最后比较Dy与Ey的大小,以确定是否是Li-Yorke混沌。计算函数值时需要把参数方程转化为显式方程。
计算结果显示,能够形成混沌的控制点坐标(x1,y1)位于一个近似弓形的区域中,从椭圆到抛物线再刭双曲线,混沌控制点的区域逐渐增大,这与3种曲线的倾斜程度即导数有关。
三、二次曲线映射的Lyapunov指数
在图3(a)所示的帐篷映射函数中,顶点的坐标是(0.5,1)。每一点导数的绝对值都为2,因此,其Lyapunov指数为:
在图3(b)中,顶点坐标为(a,1),其中,0≤a≤1,帐篷映射函数左部斜率为1/a,右部斜率为1/1-a,迭代时点落在左部的概率约是1/a,落在右部概举约是1/1-a,因此,图3(b)所示函数的Lyapunov指数约为:
因此,图3(b)所示函数的Lyapunov指数大于0。
图3(c)中有2个函数:一个是帐篷映射函数(相交直线段),另一个是抛物线函数,顶点坐标是(0.5,0.9)。帐篷映射函数的Lyapunov指数为:
抛物线的Lyapunov指数约为1.9。当顶点高度变小时,图3(c)所示的帐篷映射与抛物线映射的Lyapunov指数不再大于0。
四、二次曲线迭代中的周期现象
事实上,有些控制点构成的映射是Li-Yorke混沌的,但是产生的序列不是性质很好的混沌序列,就像Logistic映射,当μ在3.85附近,序列在3个点周围震荡,当μ=3.84、初始值F0.2时,迭代第40次~多每54次得到的数值为:
类似这样的周期序列如果直接用于对图像的像素进行与或运算,那么效果极差。所以,将混沌序列构造用于图像加密时,应该避开这样的控制点,或者对这些数据进行处理。
另外,对于图3(a)所示的直帐篷映射,迭代序列很容易陷入到周期点上,如初始值为x=0.233,迭代64次以后就变成0序列。倾斜的帐篷映射陷入到0上的概率比较小,因为其零点与周期点分布不再均匀;其他二次曲线也不容易陷入到周期点或者0点上,因为二次曲线方程的解多是无理数;但是从数值实验结果分析,所有二次曲线都容易在某个参数区域很容易陷入到一些周期点中。
鉴于周期点这种情况,在使用二次曲线进行图像加密时,利用交叉迭代构造混沌序列。
五、二次曲线迭代序列在图像加密中的应用
数值计算实验结果表明,多个函数耦合在一起交叉迭代,能够产生较好的混沌序列。交叉迭代就是给定各个映射的初始值后,执行类似下面的迭代过程:
交叉迭代可以在很大程度上避免序列出现的周期现象,因为交叉迭代相当于把某个曲线的周期附近震荡的点分散到各个曲线迭代点序列中。
从迭代的意义上讲,多维混沌,例如Lorenz系统,实质上是进行了更加广泛的交叉,也就是计算出新的点后,又重新迭代到每一个式子中;线性IFS迭代本质上也是交叉迭代。交叉迭代实现了2个系统之间的耦合,属于一种递归嵌套,使原本简单的系统变得极其复杂。基于上面对二次曲线混沌特性的分析,随机生成多个二次曲线参数,交叉迭代构造序列,然后对图像文件加密。
首先,随机产生Ⅳ组二次曲线的参数与控制点横坐标,即N组wo、W1、W2以及X1,随机产生控制点纵坐标y1,根据这些参数以及而判断Y1是否能够出现混沌;随机产生迭代初始值x,各组曲线交叉迭代,产生混沌序列,对图像进行加密。图4所示的加密效果是使用了6组曲线交叉迭代构造的序列对图像直接进行与或运算得到的结果。
实验证实二次曲线交叉迭代方法用于图像加密是有效的,从而进一步验证了前面给出的有关二次曲线的分析结果。6组参数,其自由参数已达到24个(实际上,w0、w1、W2中独立参数有2个),其密钥空间已经相当于优秀结果。在实际工作中,有必要与一些其他非二次曲线映射综合在一起构造混沌序列,这样可以增加抗攻击能力。
小知识之二次函数
在数学中,二次函数最高次必须为二次, 二次函数(quadratic function)表示形式为y=ax²+bx+c(a≠0)的多项式函数。二次函数的图像是一条对称轴平行于y轴的抛物线。
二次函数表达式y=ax²+bx+c的定义是一个二次多项式,因为x的最高次数是2。
如果令二次函数的值等于零,则可得一个二次方程。该方程的解称为方程的根或函数的零点。