张雪锋,王培森
(西安邮电大学 网络空间安全学院,陕西 西安 710121)
随着互联网和多媒体技术的发展,越来越多的数字图像在互联网上传播。如何防止数字图像在传输过程中的信息泄密,成为了信息安全领域的研究热点之一[1]。
目前,主流的数字图像保护技术包括信息隐藏、数字水印和数字图像加密技术[2-4]等。其中,数字图像加密技术通过将原始图像转化为不可识别的噪声图像以实现对图像的保护,可以有效防止数字图像内容信息的泄露,成为当前数字图像保护的主流技术之一[4]。
数字图像加密技术主要包括压缩感知、小波变换和混沌理论[5-8]等。混沌是一种类似随机的伪随机现象[9]。混沌系统具有对初始值的敏感性、长期的不可预测性和遍历性等特点[10],与加密算法对加密性能的要求具有一致性,设计性能优越的混沌系统已经成为了密码技术的主要研究方向之一[11-12]。
常见的一维混沌系统包括Logistic、Sine和Tent混沌系统等[13-15]。一维混沌系统的结构简单,易于实现,但存在密钥空间小和混沌行为简单的缺陷,可以对其混沌轨道进行估计,并对其参数或者初始值进行预测[13],这些弱点限制了其在安全领域的应用。
与一维混沌系统相比,高维混沌系统至少有两个变量,如Henon映射[16]、Lorenz系统[17]和Chen系统[18]等。另外,高维混沌系统通常具有更大的密钥空间、更复杂的结构和更好的混沌性能,这使得它们的轨道更加的难以预测,在抗攻击方面,比一维混沌系统更具优势,成为了一种很好的加密选择,得到了更广泛的关注。例如,文献[19]提出一种二维 Sine-Logistic组合映射(2D Sine Logistic Modulation Map,2D-SLMM)混沌系统,将Sin、Logistic两种映射组合起来,利用正弦映射和系统参数来调节Logistic映射的输出,以增强系统的随机性和非线性。但是,该混沌系统密钥空间较小,随机性较差,且输出未能在相空间中均匀分布。文献[20]提出一种二维Logistic-Sin组合映射(Two-Dimensional Logistic-Adjusted-Sine Map,2D-LASM)混沌系统,将Logistic和Sin两种映射组合起来,输出结果从一维扩展到二维,但存在密钥空间小、混沌行为不稳定的情况。文献[21]提出一种基于余弦变换的组合混沌系统模型,同样存在密钥空间小、混沌行为简单的问题,但是,该模型的优点是可以利用该模型生成不同的混沌系统。
为了扩大密钥空间,提高加密效果,拟在文献[21]提出的混沌系统基础上,提出一种通用的n维组合混沌系统,并以二维混沌系统为例,仿真分析该二维混沌系统的李雅普诺夫指数、分岔图、相关性、初值敏感性等相关性能,并将其应用于较为经典的图像加密算法中,以验证所提加密算法的安全性。
Logistic映射[13]迭代序列值的数学表达式为
xi+1=μxi(1-xi)
(1)
其中:xi∈(0,1)表示第i(i=1,2,…,n)次迭代序列值;μ∈(0,4)为系统参数,当3.569 946…<μ≤4,时,系统进入混沌状态。
Tent映射[14]迭代序列值的数学表达式为
(2)
其中,r∈(0,1)为系统参数,当0.5≤r≤1时,Tent映射进入混沌状态。
Sine映射[15]迭代序列值的数学表达式为
xi+1=βsin(πxi)
(3)
其中,β∈(0,1)为系统参数,当0.87<β≤1时,Sine映射出现混沌现象。
文献[21]提出一种基于余弦变换的组合混沌系统模型,其次迭代序列值的数学表达式为
xi+1=cos(π(F(a,xi)+G(b,xi)+β))
(4)
其中:a和b为控制参数;F(a,xi)和G(b,xi)分别为Logistic、Sine和Tent映射中的任意两种组合;β为一个常数。
该混沌系统模型为一个一维混沌系统,其系统密钥空间较小,混沌行为较简单。
在文献[21]的基础上提出一种n维组合混沌系统模型,其迭代序列值的数学表达式为
(5)
为了证明提出的混沌系统的有效性,下文将给出当n=2时生成的混沌系统并对其进行性能分析。
表1 不同二维混沌系统的函数表达式
以Logistic和Sine混沌映射组合而成的2D-LSCCM混沌系统为例,分析其相关性质。
混沌轨迹显示了从给定初始状态开始随着迭代次数的增加,对应每次迭代后输出的变化。混沌轨迹在一定程度上能够反映混沌系统输出的随机性。如果一个混沌系统的轨迹占有较大的相空间,则表明其具有良好的随机输出和更好的遍历性,从而具有更好的安全性能。
为了显示不同混沌系统的实际行为,将各混沌系统的初始参数x1和y1均分别设置为0.7和0.4;2D-LSCCM混沌系统的系统参数μ1,α1=0.96,α2=0.9;2D-SLMM混沌系统参数α=1,β=3;2D-LASM混沌系统参数μ2=0.99。迭代10 000次,相比于其他两种混沌系统,2D-LSCCM混沌系统的相空间范围为[-1,1],输出在相空间中占有较大的面积且分布近似均匀,而其他两种映射的相空间均为[0,1],且输出在相空间未能均匀分布,说明2D-LSCCM混沌系统具有良好的随机性。不同二维混沌系统的混沌轨迹如图1所示。
图1 不同二维混沌系统的混沌轨迹
Lyapunov指数表征了系统在相空间相邻轨道间发散或者是收敛的平均指数率,其描述混沌系统对初始状态的不可预测性和敏感性,是衡量一个混沌系统安全性能的重要指标[22]。
正的Lyapunov指数意味着无论两个系统的轨迹多么接近,它们的差异在每次迭代中都会发散地增大,从而最终导致轨道分离。正的Lyapunov指数表明该系统对初始值比较敏感。负的Lyapunov指数意味着经过混沌映射的迭代运算,相邻点最终要靠拢合并成一点,此时系统对应稳定的不动点和周期运动。负的Lyapunov指数表明该系统对初始值不敏感。Lyapunov指数是否大于0可以作为一个系统是否是混沌系统的重要依据。一个多维的系统可以有多个Lyapunov指数,如果有一个以上的正Lyapunov指数,这种现象称为超混沌行为,具有超混沌行为的动力系统具有极好的混沌性能,其输出更加的难以预测。
不同混沌系统的Lyapunov指数如图2所示。其中,图2(a)为2D-LSCCM混沌系统的Lyapunov指数,当系统参数μ1∈[-0.16,-2]∪[0.16,2]时系统的Lyapunov指数大于0,系统进入稳定的混沌状态。图2(b)为2D-SLMM混沌系统的Lyapunov指数,当系统参数α∈[0.89,1],β=3时,系统的Lyapunov指数大于0,系统进入稳定的混沌状态。图2(c)为2D-LASM混沌系统的Lyapunov指数,当系统参数μ2∈[0.38,0.91]时,系统的Lyapunov指数大于0,系统进入混沌状态。
图2 不同混沌系统的Lyapunov指数
仿真结果表明,与其它混沌系统相比,当n=2时,提出的2D-LSCCM混沌系统具有更大的混沌范围,可以更快的进入混沌状态,进一步说明了提出的混沌系统具有更家复杂的混沌行为。
分岔图是分析一个系统是否具有混沌行为的常用工具。通过分岔图可以直观的区分出混沌系统的混沌区域和非混沌区域,不同二维混沌系统的y分量分岔图如图3所示。由图3可以看出,随着参数μ1的增加,相比于其他两种混沌系统,提出的2D-LSCCM混沌系统能够更快地进入到混沌状态,且具有更大的混沌范围,意味着将2D-LSCCM混沌系统用于图像加密算法时,算法具有更大的密钥空间,对暴力攻击的抵御性更强。
图3 不同二维混沌系统的分岔图
将2D-LSCCM、2D-SLMM和2D-LASM混沌系统在y维度迭代400次,其所生成的混沌序列在其对应区间上的分布情况如图4所示。实验结果表明,随着迭代次数t的增加,2D-LSCCM混沌系统生成的序列在[-1,1]之间随机分布,2D-SLMM和2D-LASM混沌系统生成的序列均只在[0,1]之间随机分布,说明2D-LSCCM混沌系统不仅具有较好的随机性,并且区间更广阔,具有更好的加密性能。
图4 不同混沌系统在y维度的序列分布
为了进一步分析生成的混沌系统性能,将生成的混沌序列转化为二值序列,然后,对转化后的二值序列做进一步的比较。当n=2时,提出的2D-LSCCM混沌系统生成的序列{x1,x2,…,xi},{y1,y2,…,yi}向对应二值序列{b1,b2,…,bi},{c1,c2,…,ci}的转化方式为
(6)
对比混沌系统2D-SLMM、2D-LASM的二值序列转化方式为
(7)
采用自相关和互相关的方法来评估生成序列之间的随机性,设生成序列的长度为N,该序列的自相关系数[23]的定义为
(8)
其中,m为步长参数。
自相关系数的值与步长m的取值有关。对于理想的随机序列,自相关函数应为δ函数,当步长变化时,如果自相关系数变化越小,说明对应序列的随机性越好。
假设不同的二值序列b1n和b2n的长度均为N,则两个序列的互相关函数定义为
(9)
互相关函数取值越接近0,说明两个序列的差异程度越大,越互不相关。
不同混沌系统的自相关和互相关分析结果分别如图5和图6所示。
图5 不同混沌系统的自相关分析结果
图6 不同二维混沌系统的互相关分析结果
可以看出,相较于其他两种系统,提出的组合混沌模型生成的二维混沌系统产成的序列自相关和互相关系数都更加接近于理想情况的计算结果,说明2D-LSCCM混沌系统生成的序列随机性能较好。
采用位变化率来体现混沌系统的初值敏感性,通过对混沌系统的初始参数进行微小的变化,统计产生的二值序列中-1和1数量的变化,位变化率的定义为
(10)
其中:N为序列的长度;N′为对初始参数进行微小改变后所产生的二值序列与原序列比较时,对应位置的值发生改变的位的个数。位变化率越接近于50%,说明该系统对于初始参数越敏感。
三种不同二维系统的初始值均设置x为0.9,y分别为0.1,、0.2、0.3和0.4,改变后的初始值为x=0.9,y1=y+0.1×10-6。3种不同的二维混沌系统初始参数发生微小变化时所生成序列y维度的位变化率如表2所示。可以看出,所提混沌模型生成的二维混沌系统产生序列的位变化率均接近于50%,说明生成的序列随机性良好。
表2 维度混沌序列的位变化率
频数检验是检验一个序列是否具有随机性的性能指标。频数检验主要看生成的二值序列中-1和1的数量是否接近,频数的定义为
(11)
其中:n1表示二值序列中1的个数;n0表示二值序列中-1的个数。
表3 不同二维混沌系统y维度的频数检验结果
将提出的混沌系统2D-LSCCM应用于较为经典图像[24]的加密中,对256×256大小的Lena、Elaine和Gray明文图像行实验测试。当2D-LSCCM混沌系统用于图像加密时,密钥长度应不小于2128,以此混沌系统的系统参数和初值作为密钥,理论上具有无穷的密钥空间,考虑到计算机的有限精度效应,采用精确到小数点后15位的双精度实数表示,提出系统的密钥空间为
1015×1015×1015×1015×1015=1075>>2128
足以抵抗密钥穷举攻击。
不同混沌系统的密钥空间如表4所示。可以看出,相比于其它两种混沌系统,提出的2D-LSCCM混沌系统具有更大的密钥空间,可以较好地抵御穷举攻击。
表4 不同混沌系统的密钥空间
使用提出混沌系统加、解密图像及其直方图分布情况如图7所示。可以看出,使用生成的2D-LSCCM混沌系统的加密算法加解密效果良好,加密图像直方图均匀,在使用正确密钥进行解密时才可以恢复出明文图像,说明该算法具有良好的安全性能。
图7 加解密图像及其直方图分布情况
针对单一混沌系统密钥空间小,混沌行为简单的缺陷,通过加权组合的形式,提出一种高维组合混沌系统模型,并以生成的二维混沌系统为例,采用混沌轨迹、Lyapunov指数、分岔图、相关性等方法对生成的混沌系统进行了性能分析。实验结果表明,生成的二维混沌系统具有更大的混沌空间、更复杂的混沌行为、更好的初值敏感性,相比于其它系统有更好的混沌性能。另外,将所提混沌系统应用于图像加密时,具有较大的密钥空间和较好的安全性能。