针对混沌映射会产生瞬态效应,且低维、单峰混沌映射加密算法存在密钥空间小,安全性低等缺点,为此我们提出一个新的雅克比椭圈混沌映射来加密图像,并将位置集合置乱方法与加密变换函散引入到图像文件加密算法中。
1、雅克比椭圆映射
具有不变测度的雅克比椭圆有理映射可定义为N次多项式比值,如模型(1)所示。其中的单参数集合所处区间为[0,1]。
其中,由sn、dn以及cn来替代F:
以上关系可表示为:
从上述可知,雅克比椭圆映射函数sn(u)与变量址和模量K有关。映射r为(N-1)个节点映射,也就是说该映射在单位间隔[0,l]中有(N-l)个关键点,它们具有一介稳定固定点或遍历行为,如图l所示。
对式(1)进行求8chwarziall导数,得到如下模型:
由上述公式可知,这个Bchwarzian导数是负的,限制了稳定周期轨道的数量,具有负schwarzian导数的单峰映射最多有一个稳定的周期轨道;另外,如果关键点没有吸引到稳定的周期轨道,那么这个映射就不会有稳定轨道。因此,映射r最多有(Ⅳ+1)个吸引周期轨道,它们只有单周期的一个稳定固定点或者它们是遍历映射。
根据雅克比椭圆映射(1),可得如下映射模型:
其中,k代表雅克比椭圆函数的参数。对于上述函数的某个具体参数而言,椭圆混沌映射是遍历的。和其它普通映射相反,由于上述映射的参数是变换的,因此它们并没有显示倍周期,周期N分岔或者逐步过渡到混沌状态,而是在参数的某个固定区域内,它们拥有单个固定点吸引子,对于那些Lyapunovz指数是正的参数值而言,它们无需精确的周期N分岔就可以直接分岔到混沌状态。
1、Lyapunovz指数
图像加密算法应该拥有姣好的初值敏感性。Lyapunovz指数是动态系统中混沌的一个标准。在对雅克比椭圆映射迭代计算之后,考虑相邻的两个点x0与(x0+θ),可将其Lyapunovz指数定义如下:
或者
很显然,这些负值表明这个系统是处于吸引子体系中,而它们的正值则暗示了这个系统是可预测的。Lyapunovz指数的数量与初始点Xo无关,它表明了在不变流形范围内运动是遍历的,因此λ(Xo)是把雅克比椭圆映射的不变流形表征为一个整体。对于雅克比椭圆映射而言,其不变测度和Kolmogorov - Sinai (KS)熵已经得到了计算分析。在本文中,Lyapunovz指数是数值计算的,见图l。对于方程(10)一(11)而言,根据Birkhoff遍历定理可知,其极限在某些轻微的限制条件下是存在的。对初值条件的敏感性可通过LyapunoVz指数来预测。鉴于此,对于混沌加密系统来说,控制参数值必须按照正Lyapunovz指数来选择,对于所有控制参数值而言,使用一个正Lyapunovz指数的混沌映射是非常重要的。因此,雅克比椭圆映射由于其具有多个正的Lyapunovz指数,是混沌加密系统的一个好选择。为了区分雅克比椭圆映射控制参数的合理范围,本文模拟了不同卢值对应的Lyapunovz指数,如图l所示。通过调整初值和控制参数能够产生密钥空间,将雅克比椭圆映射转变为混沌映射,可以改变密钥空间的大小。
二、基于雅克比椭圆映射的图像加密算法
本文提出的图像加密算法如图2。
本文加密算法描述如下:
在映射模型(7)一(9)中,使用选择模型(7)来对图像进行加密:
本文所提出的加密算法由以下步骤构成:
步骤l:输入初始明文图像Lmxn,将其转变成一维阵列Lmxnxl,该阵列中的每个元素都是8bit;
步骤2:设定好初始条件Xo与控制参数K,β,将这些初始条件视为本文算法的密钥,迭代雅克比椭圆映射1000次,并忽略迭代结果,从而有效地消除了映射的瞬态效应。
步骤3:为了使控制参数与初值Xo相联系,增强算法的抗攻击性能与敏感性能,根据加密变换函数得到的M(i)以及初值Xo通过简单的乘除运算,改变控制参数K,β得到新的初始条件(x0,K’,β’),并再次迭代雅克比椭圆映射(5)m×n次,得到一维阵列P={XI,Xz,X3…xmxn}t,加密变换函数:
步骤4:对阵列P={X1,X2,X3…xmxn}t中的值按照从小到大的顺序进行排列,得到一组新的阵列H={X1,X2,X3…xmxn}t。
步骤5:在P={X1,X2,X3…xmxn}t中找出H={X1,X2,X3…xmxn}t的位置,形成一个位置集合S={S1,S2,S3…Smxn}t。其中:
步骤6:使用集合S对初始图像进行置乱处理,得到置乱图像P'。
步骤7:利用密钥流机制量化步骤3得到的一位阵列P,得到与之相应的数组V,得到序列V={VX1,VX2,VX3…Vxmxn}t,计算公式如下:
其中,abs(φi)代表的是|x|,round(X)代表的是对X进行取整,tloor(X)代表的是与X相距最小的X整数(≤x) mod(X,y)代表的是X对y取余;d代表的是图像的灰度级别;
步骤8:利用经过密钥机制处理得到的新序列V={VX1,VX2,VX3…Vxmxn}t再次应用加密变换函数(12)对置乱后的图像中的每个元素进行加密,得到一维密文阵列M(mxn)x1 ={M1,M2…Mmxn}t,改变图像中任意像素点的像素值。
步骤9:重复步骤2。步骤8,直到所有的元素加密完毕。
步骤10:把密文阵列M(mxn)x1 转变成M(mxn),输出矩阵,将其作为密文图像。
图像解密是加密的逆过程。
小知识之雅可比行列式
雅可比行列式通常称为雅可比式(Jacobian)
它是以n个n元函数的偏导数为元素的行列式。