由于当前的基于混沌映射的图像加密算法存在瞬态效应,且在像素扩散阶段都没有使用完整的随机密码序列,从而降低了加密系统的安全性,无法抵御各类明文与密文攻击。对此,设计了一个完整的随机密码序列和新的雅克比椭圆映射,并定义了一个S盒变换规则;构造了预混淆-混淆-扩散结构,提出了一种基于S盒变换规则耦合雅克比椭圆混沌映射的图像文件加密算法。

一、雅克比椭圆混沌映射

可将具有不变测度的雅克比椭圆映射视为n次多项式比值,其方程如下:

融合雅克比椭圆混沌映射的图像文件加密算法

式(l)中,Qn(x,β)为雅克比椭圆映射函数;x为系统变量;β为控制参数;H为替代函数。单参数集合所处区间为[0,1]。的表达式由sn、dn以及cn代替

融合雅克比椭圆混沌映射的图像文件加密算法

以上关系可表示为:

融合雅克比椭圆混沌映射的图像文件加密算法

式(4)中,sn(v)、cn(v)以及dn(v)均为雅克比椭圆映射形式函数;式(4)中,sn(v)、cn(v)以及dn(v)均为雅克比椭圆映射形式函数;v为变量;而为模量。

从上述可知,雅克比椭圆映射函数sn(v)与变量钞和模量k有关。映射Q为(N-I)个节点映射,也就是说该映射在单位区间[O,1]中有(N-1)个关键点,他们具有一个稳定固定点或遍历行为,如图1所示。

融合雅克比椭圆混沌映射的图像文件加密算法

对公式(1)进行求schwarzian导数,得到如下模型

融合雅克比椭圆混沌映射的图像文件加密算法

式(6)中,Z[ QN(X,β)]代表QN(X,β)映射的导数;QN(X,β)代表雅克比椭圆混沌映射;H(x)为替代甬数;Vs代表菇的矢量。

由上述公式可知,该导数是负的,它限制了稳定周期轨道的数量,具有负Schwarzian导数的单峰映射最多有一个稳定的周期轨道。因此,映射Q最多有(N+1)个吸引周期轨道,他们只有单周期的一个稳定固定点或者他们是遍历映射。

根据模型(1)一模型(4),可得如下模型:

融合雅克比椭圆混沌映射的图像文件加密算法

式中,k代表模型式(7)一式(9)的控制参数。对于模型式(7)一式(9)的任何一个具体参数而言,这些模型都是遍历的。和其他普通映射相反,因上述映射的参数是变换的,因此这些模型并没有显示倍周期、周期Ⅳ分岔或者逐步过渡到混沌状态,而是在某个参数的固定区域内,他们拥有单个固定点吸引子,对于正Lyapunovz指数的参数而言,他们无需精确的周期N分岔就可以直接分岔到混沌状态。

1、Lyapunovz指数

图像加密算法应该拥有姣好的初值敏感性。Lyapunovz指数是混沌状态的一个标准。在对雅克比椭圆映射迭代计算之后,考虑相邻的两个点xo与(xo+δ),则其Lyapunovz指数定义如下:

融合雅克比椭圆混沌映射的图像文件加密算法

式中,λ(x0)为Lyapunovz指数;Qtn( xo)为点xo在t时刻的雅克比椭圆混沌映射函数状态;δ为相邻两点的差值。

很显然,这些负值表明这个系统是处于吸引子体系中,而他们的正值则暗示了这个系统是可预测的o Lyapunovz指数的数量与初始点xo无关,它表明了在不变流形范围内的运动是遍历的,因此将λ(xo)雅克比椭圆映射的不变流形视为一个整体。对于方程式(1O)和式(ll)而言,根据Birkhoff遍历定理可知,其极限在某些轻微的限制条件下是存在的。对初值条件的敏感性可通过Lyapunovz指数来预测。鉴于此,对于混沌加密系统来说,控制参数值必须按照正Lyapunovz指数来选择,对于所有控制参数值而言,使用一个正Lyapunovz指数的混沌映射是非常重要的。因此,雅克比椭圆映射由于其具有多个正的Lyapunovz指数,是混沌加密系统的一个好选择。为了区分雅克比椭圆映射控制参数的合理范围,本文模拟了不同β值对应的Lyapunovz指数,如图l所示。通过调整初值和控制参数能够产生密钥空间,将雅克比椭圆映射转变为混沌映射,且可以改变密钥空间的大小。

二、S盒变换规则融合雅克比椭圆混沌映射的图像加密算法

图2为本文加橙算法的流程框架图。其包含了三个阶段:①S盒变换阶段;②混淆阶段;③扩散阶段。在S盒变换规则下预处理图像,使得处理后的图像拥有非线性结构,达到了预混淆效果;通过混淆与扩散阶段,并将完整的随机密码序列引入在扩散阶段,显著增强了加密算法的安全性。本文设计的加密算法实现了双混淆与扩散机制相结合,显著增强加密系统的抗攻击能力。

融合雅克比椭圆混沌映射的图像文件加密算法

1、本文加密算法设计

1)步骤I:S盒变换阶段

1)首先从j=2n到2反复执行S盒变换规则。S盒变换规则定义如下:

①将区间[O,1]分成j个子区间:

融合雅克比椭圆混沌映射的图像文件加密算法

②迭代雅克比椭圆混沌映射模型式(7),迭代次数为i次,得到当前值Qcn(xi,β);

③假没当前状态值Qcn(xi,β)位于第m个子区间融合雅克比椭圆混沌映射的图像文件加密算法

内。交换序列K中的第m个整数后km与第j整数jm。其中,K为随意置乱整数序列{O,1,2…2n—l}所得到的序列之一;

④根据以下方程改变模型(7)的控制参数β:

融合雅克比椭圆混沌映射的图像文件加密算法

式(12)中,无限为序列K中的第m个整数;β’为改变后的参数;卢为改变前的参数。

2)将K转换成一个2a/2×2n/2表格,从而得到nxn的S盒,例如,若图像大小为256×256,则得到16 x16的s盒。

3)将尺寸为M×N的图像I分成z个像素块,每个像素块为8 byteso定义SBi、Pi分别为像素块Bi的第j个S盒子、第i个字节。其中Bi=( PoP1...P7),Bz以此类推。首先用SBi替代Pi,得到替代块Bz。

融合雅克比椭圆混沌映射的图像文件加密算法

4)随后利用左循环移4位操作对步骤3)中得到的替代块Bj进行置乱,继而得到密文块Cz。

S盒变换过程如图3所示。

融合雅克比椭圆混沌映射的图像文件加密算法

步骤2:混淆阶段

1)在经步骤l预混淆后图像里任取一个像素点pi,经过代数变换函数计算得到x’。

融合雅克比椭圆混沌映射的图像文件加密算法

式(13)中,戈’o为预设初值,α、ε为特殊参数,α、ε∈[O,1,2,…,M×N]。

2)将上述得到的xo'作为Logistic混沌映射的初值,对该映射进行达代MxN次,得到一组伪随机序列 X=(x’l,X'2,X’3"...X’mxN)。

3)在步骤2)中得到的伪随机数组任意选取一个x’,将其作为雅克比椭圆混沌映射(7)的初始密钥匙,并进行迭代计算L+MxN次,l为灰度级别,从而有效地消除了混沌映射的瞬态效应,并忽略本轮迭代结果。

4)在伪随机序列中再任选一个x'j(i≠j),根据代数变换函数f(i)以及f’j,通过简单的乘除运算改变雅克比椭圆混沌映射(7)的初值xo以及参数β,得到新的初始外部密钥(x’o和β’)。

融合雅克比椭圆混沌映射的图像文件加密算法

式(14)中,floor(引代表的是与X相距最小的X整数(≤X);mod(X,y)代表的是X对y取余,XOR为按位异或操作,B;为第f个像素块。

5)将步骤4)得到的外部密钥(菇’o和JB’)视为雅克比椭圆混沌映射(7)的初始条件,再次对模型式(7)进行迭代计算L+MxN次,得到一维数组Y=(xl,x’2,x’,3,…,XL+JvxN)。

6)借助修正函数对一维数组Y=(X"2,,…,XL+VxN)进行修正,得到一个新数组y,=(xJ,X2,X3,…,XL).修正函数如式(15)。

融合雅克比椭圆混沌映射的图像文件加密算法

式(15)中,xi为修正后的序列,为修正前的序列。

7)利用步骤6)所得到的新数组按照按如下方程对S盒变换处理后的图像像素点Pi进行混淆,直到所有的像素点混淆完毕D像素值混淆方程如下:

融合雅克比椭圆混沌映射的图像文件加密算法

式(16)中,P’;一,为混淆后的像素值,Pi-I为S盒变换后的置乱图像像素值;0代表异或运算。

3)步骤3:扩散阶段

1)采用密钥流机制量化修正后的序列y,(X1,X2,X3,…,XL十MxN),得到一个新的序列S’=(X7I,另’2,菇’3,…,XL.MxN),模型如下:

融合雅克比椭圆混沌映射的图像文件加密算法

式(17)中,round(剐代表的是对X进行取整;L代表的是图像的灰度等级。

2)为了在该阶段能够有效的进行扩散,显著提高加密系统的安全性,根据步骤1)得到的密钥流量化序列S7=(石7】石’2 Xr3..石’工+Ⅳ×Ⅳ),本文设计一个完整的随机密码序列X=(XI,X2,X3,…,面L.MxⅣ):

融合雅克比椭圆混沌映射的图像文件加密算法

式(18)中,mod(X,y)代表的是X对y取余;floor(鄹代表的是与X相距最小的X整数(≤X)o

3)利用完整的随机密码序列X=(XI,X2,X3,”.,XL+ⅣxN)o

按照扩散机制对混淆后的图像像素进行扩散。

扩散模型如下:

融合雅克比椭圆混沌映射的图像文件加密算法

式(19)中,①代表异或运算。n是迭代次数,W( r}-l)町、P’(n—I)町分别代表密文像素值、混淆图像像素值;JV(n-I)+j-1为对应被处理明文图像的前一个密文图像的像素值,其初值Wo位于[O,255]内,为整数常量;a为特殊参数,O∈[O,1,2,…,M×N]。

小知识之迭代

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。