为了提高图像文件加密信息的安全性,我们提出一个基于三角混沌映射和分段相结合的混沌映射。将三角混沌映射进行分段处理并构造分段式三角混沌函数,将该混沌映射产生的混沌序列量化为离敝二值序列,分析该序列对初始条件的敏感性、频数检验、平衡度、以及Lyapunov指数等指标,并将其应用于图像文件加密研究。

一、混沌系统

混沌现象是在非线性动力系统中出现的确定性的、类似随机的过程,这种过程既非周期又不收敛,并且对初始值有极其敏感的依赖性。一维多参数非线性动力系统定义为:

分段式三角混沌及其加密应用

其中μi(i=1,2,…)为参数,xn∈w(n=0,1,2,…)称之为状态,而f:w-w是一个映射,将当前状态xn映射到下一个状态xn+1。

如果从初始值xn开始反复应用f,就可得到一个序列{xk:k=0.1,2,…)。这一序列称为该离散时间动力系统的一条轨迹。如果为各μi选择恰当的数值,使ff:w-w满足4个条件,即具有对初始条件的敏感性,频数检验和平衡度分析以及Lyapunov指数都满足混沌的特性,则对应的动力系统在w上是混沌的。

二、Logistic混沌映射和三角混沌映射

三角混沌映射是一种一维的混沌映射,依赖于初始条件y0和t的值,其公式为:

分段式三角混沌及其加密应用

其中yo和yn的取值范围为O到1之间的正实数,t的取值范围为O到无穷大之间的正实数。三角混沌映射对初始条件非常敏感,初始值的变化(表1),将使yn的值发生变化,但三角混沌映射的混沌特性较弱,其详细情况如表2所示。

分段式三角混沌及其加密应用

分段式三角混沌及其加密应用

由于三角混沌映射的混沌特性较一般,而Logistic混沌映射表达简单,随机性能良好,被广泛应用于混沌保密通信的各个领域。基本的Logistic混沌映射定义为:

分段式三角混沌及其加密应用

其中3.569946--≤μ≤4时,Logistic混沌映射的输入和输出都分布在区问(0,1)上,当p=4时,相应的Logistic映射定义为:

分段式三角混沌及其加密应用

Logistic混沌映射是一种非线性映射。三角混沌映射也是一种非线性的映射,分段Logistic混沌映射为:

分段式三角混沌及其加密应用

实验测试发现,虽然分段Logistic混沌映射具有良好的混沌特性(表3),但分段Logistic混沌映射的密钥空间小,不适合加密的应用,于是提出一种将具有巨大密钥空间的三角混沌映射进行改进为重复计算一次,将两个结果再进行求和取模得公式,即:

分段式三角混沌及其加密应用

其中:

分段式三角混沌及其加密应用

改进的三角混沌映射密钥空间大,比三角混沌映射的性能要好,性能的详细情况如表4所示,但该混沌映射性能参数的随初始值的改变波动性较大。

分段式三角混沌及其加密应用

通过采用相同的初始值条件,对以上3种混沌映射产生的随机序列进行频数检验,平衡度分析,初值敏感性测试。Lyapunov指数等测试的实验,可以看到,这3种混沌映射虽然都满足混沌要求,但分别存在密钥空间小,随初始值的变换波动性大,算法效率低等缺点。

结合以上的这些混沌特性的优缺点,根据改进的三角混沌映射的定义的公式和分段的Logistic混沌映射定义的公式,将改进的三角混沌映射进行分段式构造,得分段式三角混沌映射。如果竹是偶数时,则有:

分段式三角混沌及其加密应用

否则有:

分段式三角混沌及其加密应用

将连续两次运算结果相加求模获得值为:

分段式三角混沌及其加密应用

三、性能测试

对分段式三角混沌映像序列同样进行性能测试,首先对输出的混沌值进行简单的二值量化,得到二进制序列。设混沌映射的输出值xnV[m,M],则量化函数为:

分段式三角混沌及其加密应用

取不同的初值,舍弃最初的100次迭代。计算10000个点,得到长为10000的二进制序列,为了验证这种定义方式是否合理符合达到混沌的要求,给出初始条件,见表5。

分段式三角混沌及其加密应用

1、频数检验

频数检验能够保证二值序列中0和1的个数大致相等,这也是二值序列具有随机性的必要条件。

计算公式为:

分段式三角混沌及其加密应用

其中n1为二值序列中的1的个数,x0为二值序列中的0的个数,与1自由度的x12分布比较,对应5%的显著性水平,x12的值为3.84,即只要得到的x12值不大于3. 84,则认为二值序列具有较好的随机性。实验结果表明,公式(8)定义的分段式三角混沌映射生成的序列顺利能够通过频数检验,并且x12得到的值远小于3. 84,通过选取不同的初始值得到的x12的值,通过选取不同的初始值可以从表6中看到频数检验的最后结果的值均不大于3. 84,可见该随机性很好。

分段式三角混沌及其加密应用

2、平衡度分析

设二值序列的长度为N,序列中1与0的个数分别为p和Q,则该二值序列的平衡度定义为:

分段式三角混沌及其加密应用

平衡度的值越小,说明序列中1与0的个数越接近,随机性越好。表6给出分段式三角混沌映射对不同初始条件生成序列的平衡度分布情况实验结果,其中序列长度为1oooo。通过选取不同的初始值可以看到平衡度分析的最后结果的值均接近O,可见该随机性很好。

3、初值敏感性

初值敏感性分析过程中,我们对混沌系统的初始条件进行微小变化,通过统计产生的二值序列中相应位置上的1和O的值的变化情况,计算相应的序列位变化率。位变化率定义为:

分段式三角混沌及其加密应用

其中n为序列长度,以n'为初始条件进行微小改变后生成的二值序列与原序列比较时,对应位置取值发生改变的位的个数,位变化率越接近5o%,说明该系统对于初始条件越敏感。表6给出了分段式三角混沌映射当初始条件发生微小变化时所生成的不同混沌序列的位变化率。通过选取不同的初始值可以从表中看到初值敏感性的最后结果的值均接近50%。满足混沌系统的参数要求。

4、Lyapunov指数

为了定量地刻画混沌系统相邻的两点经过循环迭代过程产生分离的快慢,人们引入Lyapunov指数来表示在多次迭代所引起的相邻离散点之间以指数形式的分离或靠拢情况。对应混沌系统的Lyapunov指数定义如下:

分段式三角混沌及其加密应用

Lyapunov指数小于0意味着经过混沌映射的迭代运算,相邻点最终要靠拢合并成一点,这时混沌系统对应稳定的不动点和周期运动,Lyapunov指数大于0意味着相邻点经过混沌映射的迭代计算最终要分离,此时混沌系统对应的轨迹产生局部不稳定。Lyapunov指数大于0可以作为判断序列是否为混沌序列的一个依据。一个正的Lyapunov指数,意味着在系统相空问中,无论初始两条轨线的间距多么小,其差别都会随着时间的演化而成指数率的增加以致达到无法预测,这就是混沌现象,从表6中可以看出分段式三角混沌映射当初始条件发生变化时所生成的不同混沌序列的Lyapunov指数变化情况。通过选取不同的初始值可以从表5中看到Lyapunov指数的最后结果的值均为正实数的值,满足混沌动力系统的要求。

通过对比,可以看到分段式三角混沌映射的各项技术指标均满足且总体优于三角混沌映射,分段式Logistic混沌映射和改进的三角混沌映射,三角混沌映射和改进的三角混沌映射以及分段式Logistic混沌映射各项性能指标虽满足混沌特性基本要求,但由于分段式Logistic混沌映射的初始值3.569946--≤μ≤4 F1t,它才能进入混沌状态,而三角混沌映射和改进的三角混沌映射,它们具有波动性和算法效率低等缺点,而分段式三角混沌映射的初始值没有严格的限制,且波动性小,算法效率高,通过表2,表3,表4和表6,已经看到,所以分段式三角混沌映射具有很好的灵活特性和安全特性,密钥空间大,可以应用在加密上,且能适应不同的加密场合的应用。

四、分段式三角混沌映射加密应用

1、密文交错扩散的加密

这里利用分段式三角混沌映射对图像进行加密,提出的密文交错扩散的加密具有优良的密码学特性和非线性特性,本文在该加密方法的基础上对中间混沌密钥序列K的长度的产生做出改进。然后,利用中间混沌密钥序列构造与加密图像有关的最终密钥序列Key,并利用最终密钥序列Key对图像像素进行两个回合加密。在加密过程中,我们将图像划分成前后两个子块,同时对两子块进行并行加密;并引人密文交错扩散机制。

2、加密过程

(1)首先生成中间混沌密钥序列K

将混沌序列进行改造,生成中间混沌密钥序列。设由系统生成的原始混沌序列表示为:

分段式三角混沌及其加密应用

其中L为待加密图像的像素点总数,No为超混沌系统的预迭代次数。为了消除混沌序列暂态过程带来的有害效应,以便增强序列对初始条件的敏感性,去掉原始混沌序列的前N0个值,得到长度为L的子序列{x(i):i=1,2,…,L},再按照变换式(14)对序列{x(i)}进行改造,得到改进序列:

分段式三角混沌及其加密应用

其中max-x和min-x分别是序列中的最大值,最小值,然后由改进序列{y(i)}经二次改造,得到长度为L的混沌密钥序列:

分段式三角混沌及其加密应用

其中|x|取x的绝对值;floor(x)取小于或等于x的最大整数;m为正整数,在本文中取m =14。

(2)产生密文C

设原始图像像素大小为M行、N列,总像素数为L=MXN,其矩阵表示形式为:

分段式三角混沌及其加密应用

相应的加密图像矩阵用类似于式(16)的矩阵C表示,按逐行扫描顺序所得的密文像素序列为:

分段式三角混沌及其加密应用

明文图像的前半子块依次由像素序列:

分段式三角混沌及其加密应用

组成,而后半子块则依次为像素序列:

分段式三角混沌及其加密应用

第1回合加密操作步骤如下:

步骤1 i→1;并对前一子块的第1个像素分别采用:

分段式三角混沌及其加密应用

生成最终加密密钥并进行加密操作;同时对后一子块的第1个像素分别采用:

分段式三角混沌及其加密应用

生成最终加密密钥并进行加密操作。在式(17)和式(18)中,bitxor(x,y)将x和y按其二进制值进行比特位异或运算;mod(x,y)求x除以y得到整数商以后的余数。Co∈[1,255J是一个预设的正整数,P(i)和C(i)分别是原始图像和加密图像第f个像素的值。

步骤2 i→1;并对前一子块的第i个像素分别采用:

分段式三角混沌及其加密应用

生成最终加密密钥且进行加密操作;同时对后一子块的相应像素分别采用与式(18)相同的公式生成最终加密密钥并进行加密操作4。

步骤3 重复步骤2,直到i=L/2。

第2回合加密操作过程如下。

步骤4 i-1;并对前一子块的第1个像素分别采用:

分段式三角混沌及其加密应用

生成最终加密密钥并进行加密操作。

步骤5 i-i+1;并对前一子块的第i个像素分别采用:

分段式三角混沌及其加密应用

生成最终加密密钥且进行加密操作;同时对后一子块的第1个像素分别采用:

分段式三角混沌及其加密应用

步骤6 重复步骤5,直到i=L/2,便完成了第2回合的加密操作,并得到密文图像C。

从上述加密过程可见,对图像像素加密所采用的最终加密密钥Key(i)不仅与当前混沌密钥K(i)有关,而且与另一子块前一个已经加密的密文像素值有关,即引入了密文交错扩散机制。因此,经过两个回合的加密后,任何像素值的变化都将影响到其余所有像素的密文值。

五、解密

解密过程是加密过程的逆操作,但解密的像素顺序为逆序。

小知识之Lyapunov指数

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