APP下载

基于Python的彩色图像忆阻系统多稳态加密

2018-02-28,,,

复杂系统与复杂性科学 2018年3期
关键词:初值加密算法密文

, ,,,

(南京师范大学南瑞电气与自动化学院,江苏 南京 210046)

随着通讯技术的飞速发展,信息传输过程中的保密性逐渐受到重视。近年来,应用混沌系统进行图像加密逐渐成为一个热门的研究方向。文献[1]提出了基于统一混沌和Logistic系统的图像加密算法;文献[2]使用MD5算法获得混沌序列的初值,利用了3种混沌系统进行加密;文献[3]提出了基于六维超混沌映射的加密算法,实现了对像素的置乱和扩散;文献[4]对3个颜色部分同时加密,减少了R、G、B3个通道间的相关性;文献[5]提出了一种新的四维磁控忆阻模型,并将其应用到灰色图像加密。然而,与灰色图像相比,彩色图像能够表达更多的信息,将忆阻系统应用于彩色图像加密的研究也不多。

Python是一种解释性的、具备动态语义的高层语言。它入门容易,语法简单,并且在工程和科研领域得到广泛应用。与常用的MATLAB软件相比,Python在图像处理方面存在诸多优势[6]:Python软件体积小,安装速度快,且完全免费;Python语言更加简洁易学,可读性较强;Python拥有众多种类的扩展库,这些扩展库更加轻便,且运算速度快,可以满足图像加密解密处理的需要;另外,Python语言环境在网络通讯方面功能强大,能够方便地将加密后的图片进行网络传输,从而实现保密通信。

本文利用Python环境进行编程,实现了一种基于文献[5]提出的忆阻模型的彩色图像加密。首先提出了一种较易实现的加密算法。其次,由于忆阻系统对初始值的极度敏感性,分析了该系统的多稳态特性。然后,以此为基础比较不同稳定状态下生成的密钥的加密效果,像素直方图和相邻像素相关性等分析表明忆阻系统混沌态的加密性能要优于其周期态。

1 加密算法

基于混沌系统的图像加密主要指利用混沌系统生成的随机序列对图像的像素点进行某种变换,使得变换后的图像失去原图的视觉特征,从而实现加密。加密算法是研究混沌加密的关键步骤之一。优秀的加密算法不仅要具有显著的加密效果,而且要具有一定的抗攻击能力。文献[7]分析了一种一维Logistic混沌图像加密算法,并将其应用于黑白图像加密。本文选用新型磁控忆阻混沌系统,将文献[7]算法进行改进,并将其应用于彩色图像加密。该加密算法主要由以下4个步骤构成:

1)三基色拆分。对要加密的图像的每一个像素的R、G、B分量进行拆分,获得三基色矩阵IR、IG和IB。

2)密钥生成。选择合适的初值x0、y0和z0产生混沌序列xn、yn和zn。将产生的3个混沌序列的各元素值使用公式(1)转换到0-255之间,组成3个新的序列Gx、Gy和Gz,用于混沌加密。

(1)

其中round(t)函数返回将t四舍五入到整数后的结果。

3)像素置换。运用灰度矩阵Gx、Gy和Gz将三基色矩阵IR、IG和IB按位异或运算,完成图像各点的像素值的置换过程,得到密文矩阵Cx、Cy和Cz。

(2)

其中bitxor(p,q)函数返回p和q按位异或运算后的结果。应注意的是,该函数在Python中并未直接给出,需要自己编写。

4)三基色合并。重新合并3个密文矩阵Cx、Cy和Cz,得到彩色密文图像。

解密是加密的逆过程。首先拆分密文图像的R、G、B分量,得到3个密文矩阵Cx、Cy和Cz。使用与加密过程完全相同的系统和初值x0、y0和z0产生混沌序列xn、yn和zn并使用公式(1)转换到0-255之间,得到序列Gx、Gy和Gz。将Gx、Gy和Gz与Cx、Cy和Cz按位异或得到原来的三基色矩阵IR、IG和IB。最后将解密获得的三基色矩阵合并,得到原来的明文图像。

2 系统特性分析

混沌是指非线性动力学系统展现出的类似随机的运动。其具有的确定性、有界不收敛性、非周期性、类随机性、初值敏感性等特点[8],可以用于信息安全加密;它能够通过对初值的设置正确完成信号的还原,因而可以用于对数据的正确解密。和一般的混沌系统相比,忆阻系统拥有更复杂的动力学行为、更强的类似噪声,其对初值的敏感性也更高[9-10],因而抗破译能力也更好,对它的研究具备重要的应用价值。

2.1 系统模型

本文选用文献[5]提出的四维磁控忆阻模型(式(3))来产生密钥序列进行加密操作。

(3)

其中,W(w)=a+3bw2为忆阻的忆导,a=-0.4,b=0.8,α=4,β=0.7和ξ=0.1。其中,a和b为忆阻模型参数,他们的取值决定了忆阻模型的有源与无源特性。α、β和ξ由电路模型推导而出。

选择初始条件(x,y,z,w)=(0.01,0,0,0),该系统能够产生双涡卷混沌吸引子,如图1所示。可以看出,该系统的混沌吸引子轨迹在特定的吸引域中是遍历的。

图1 不同平面上的相图Fig.1 Phase diagrams on different planes

2.2 多稳态特性分析

多稳态是指相同参数下系统拥有的不同稳定运行状态,其轨迹不仅是渐近稳定、单一的周期或混沌运动,而是大量不同轨迹共存的特殊形式,系统初始值将决定系统最终处于何种状态。由于忆阻系统对初值极为敏感,本文选择初始条件的第四项w作为变量,并利用李氏指数和分岔图分析当初值w变化时,系统的不同运行状态。

当初始条件w∈-1.6,1.6时,系统的李氏指数谱和xt的分岔图如图2所示。当w在区间-1.43,-1.1、-0.57,-0.29、-0.194,0.199和1.09,1.43变化时,系统处于混沌态,此时最大的李氏指数大于零;当w在区间-1.09,-0.97、-0.73,-0.58、-0.28,-0.195、0.2,0.393、0.96,1.087和1.44,1.52时,系统处于周期运动状态;当w在-0.96,-0.74和0.394,0.955变化时,系统为不动点;当w∈-1.6,-1.44∪1.53,1.6时,系统是发散的。

图2 初始值w变化的Lyapunov指数谱和分岔图Fig.2 Dynamic behaviors with W.R.T. w

从图3可以看出忆阻系统对初值的变化极为敏感,并且系统将有无数种稳定运行状态。为了清晰地观察系统的多稳态,随机选择部分数值进行相平面分析。图3a展示的是5种混沌状态共存的现象,黑色单涡卷对应的是w=-1.4,红色单涡卷对应的是w=-0.35,绿色单涡卷对应的是w=-0.1,紫红色单涡卷对应的是w=0.15,蓝色单涡卷对应的是w=0;图3b展示的周期三、周期二、周期一、不动点4种状态共存的现象,黑色对应的是w=1.075时的周期三状态,红色对应的是w=1.066时的周期二状态,绿色对应的是w=0.3时的周期一状态,紫红色对应的是w=0.8时的不动点。

图3 初始值w变化的共存相图Fig.3 Coexistence phase diagrams with different initial values of w

3 彩色图像多稳态加密

彩色图像由于鲜艳生动的特点,已经成为了人们沟通和交流的重要信息之一。随着网络通信技术的快速发展,彩色图像在存储和传输过程中的安全需求越来越高。如图4所示,以256×256像素的彩色Lena图为例分别测试忆阻系统在周期态和混沌态的加密效果,周期态加密选用初值(x,y,z,w)=(0.01,0,0,0.3),混沌态选用初值(x,y,z,w)=(0.01,0,0,0)。重点分析密文图像的像素直方图和相邻像素相关性。从图4中可直观地看出,使用周期态序列加密形成的密文图像色块分布不均,仍然保留了部分原图的特征。而使用周期态序列加密形成的密文色块分布均匀,具有明显的类似随机噪声的特点,完全无法分辨出原图的特征,加密效果良好。

图4 加密前后对比Fig.4 Before and after encryption

3.1 像素直方图分析

像素直方图能够反映图像中对于给定像素值,其像素点的个数。像素直方图分析也是评判算法加密效果的方法之一。原图与加密后图像的像素直方图如图5所示。容易看出,原图的像素直方图有明显的分布不均,使用周期态序列加密形成的密文图像在R、G、B3个通道的像素直方图虽都类似均匀分布,但仍然出现了几个较大的峰值。使用混沌态序列加密形成的密文图像,其像素直方图分布更加均匀,各通道均无法统计出有效的信息。且与原图相比,密文图像的像素直方图发生了显著变化,它遮盖了原本的分布规律。因此可以说明本文提出的算法能够抵御较强的统计分析。

3.2 相邻像素相关性分析

相邻像素相关性分析是指运用统计学的计算方法对加密算法的扩散性进行分析。相关系数ρx,y可以利用公式(4)定量计算,其计算方法[11]为

图5 加密前后像素直方图对比Fig.5 Comparison of pixel histogram before and after encryption

(4)

相关系数ρx,y通常在-1到1之间,其值越接近0,数据间的相关性就越小。

分别选取明文和两种稳态下的密文图像R、G、B3个通道中的点进行相邻像素相关性计算后取平均值,结果如表1所示。从表1看出,原图的相关系数近似为1,像素之间有较大的相关性,使用忆阻周期态加密形成的密文图像相邻像素相关性虽然有所改善,却不如混沌态序列效果好。忆阻混沌态加密后密文图像相邻像素相关性几乎为0,相邻像素间已基本不存在任何联系。可以说明混沌态序列能使原图像的统计特征更随机地、均匀地扩散到密文图像中,具有更好的加密效果。

3.3 抗攻击能力分析

以剪切攻击为例,分析上述加密算法的抗攻击能力。将使用混沌态序列加密后的密文图像右下角切去一块宽高为均为64像素的正方形,如图6a所示。观察图像解密效果,可以发现,解密后的图像,在右下方仍保留了一块无法被识别的区域。分析加密算法,不难得知,明文图像与密文图像在像素点的空间位置上是一一对应的,这一特性在使用周期态序列加密时也并未改变,这使得密文图像遭遇剪切攻击后对解密效果影响较大。经过分析,本算法无法抵抗最常见的剪切攻击,为提高该能力,可以考虑添加混沌置乱的算法,将加密后图像的每一个像素点进行置乱,以分散剪切攻击对图片局部造成的影响。

图6 解密前后对比Fig.6 Before and after decryption

图7 两种状态解密后对比Fig.7 Before and after decryption

3.4 密钥敏感性分析

初值敏感性是混沌系统的重要特性之一,该特性为混沌系统提供了巨大的密钥空间。解密时分别对周期态和混沌态的初值中w项增加10-6,即周期态解密选用初值(x,y,z,w)=(0.01,0,0,0.3+10-6),混沌态解密选用初值(x,y,z,w)=(0.01,0,0,10-6),解密效果如图7所示。可以发现,周期态解密后除极少数像素点外,基本还原出了原图的特征,密钥敏感性较差,而混沌态解密后的图像仍具有随机噪声的特点,无法辨认出原图特征,密钥敏感性较好。

4 结语

本文利用Python编程环境,实现了一种基于四维磁控忆阻模型的图像加密。首先提出了一种在Python下较易实现的加密算法。其次,由于忆阻系统对初始值的极度敏感性,分析了该系统的多稳态特性。然后,以此为基础比较不同稳定状态下生成的密钥的加密效果,重点分析了相邻像素相关性、像素直方图、抗攻击能力和密钥敏感性。可以看出不同的稳定状态会产生不同的加密效果,混沌序列加密效果更好,此特性的分析为选择适合的密钥提供了方法和支持。此外,忆阻混沌系统加密性能良好,可见其在保密通信中的应用前景广阔。

猜你喜欢

初值加密算法密文
一种支持动态更新的可排名密文搜索方案
具非定常数初值的全变差方程解的渐近性
基于模糊数学的通信网络密文信息差错恢复
一种适用于平动点周期轨道初值计算的简化路径搜索修正法
三维拟线性波方程的小初值光滑解
一种基于密文分析的密码识别技术*
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
云存储中支持词频和用户喜好的密文模糊检索
对称加密算法RC5的架构设计与电路实现