基于标准映射和分数阶Lorenz混沌系统的图像加密新算法

2018-05-28 07:15:02陈裕城邱一峰叶瑞松
汕头大学学报(自然科学版) 2018年2期
关键词:明文加密算法密文

陈裕城,邱一峰,叶瑞松

(汕头大学数学系,广东 汕头 515063)

0 引言

随着多媒体技术和通信技术的快速发展,人们进行信息交流的方式变得丰富多彩,如电子邮件、微信等,与此同时,也常伴随着许多的网络安全隐患.数字图像因其具有直观、形象生动等不同于文本的特点占据了我们日常生活信息交流载体的重要比例,所以如何安全并快速地传送图像成为一个迫切需要解决的问题,而对图像内容的保护是安全传输图像不可缺少的部分,因此对图像进行保护就显得尤为重要.现阶段对数字图像进行保护主要有图像水印和图像隐藏两个方法,前者一般是为了保护图像的版权而嵌入不妨碍原图像内容表达的数字水印,而后者是对原图像的一些重要内容进行隐藏,又称为图像加密.从而在现实生活中,图像加密是对图像保护的重要内容.图像因其自身的一些固有特性如数据量大、数据冗余度高和相邻像素相关性强等使得大部分的传统文本加密算法如DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等不再适用于数字图像加密[1],因此研究者们提出了大量异于文本加密的算法对图像进行加密,其中,基于混沌理论的加密算法引起了人们极大地关注.混沌系统因其具有对初值和参数的极端敏感性、伪随机性和不可预测性等优良混沌特性而被广泛地应用于图像加密领域中[2-10].

混沌系统根据阶数的不同可分为整数阶混沌系统和分数阶混沌系统.近年来,随着分形几何与分数阶微积分理论的发展,越来越多存在于自然界中的分数阶混沌现象被人们发现[11].分数阶混沌系统是应用分数阶微积分来研究复杂混沌动力系统,分数阶微积分与整数阶微积分不同,整数阶微积分研究的是整数阶数的微分、积分算子特性及应用,而分数阶微积分则是研究任意阶次的微分、积分算子及应用,因而分数阶混沌系统的研究范畴就显得更加广.相比起整数阶混沌系统对初值和参数极端敏感、伪随机性和不可预测性等混沌特性外,分数阶混沌系统还具有一些独特的性质如可反映系统的历史信息、具有很强的历史记忆性、系统参数调节范围更大和系统不能重构等[12].分数阶混沌系统比整数阶混沌系统有更加复杂的吸引子、更大的参数空间等使得利用分数阶混沌系统来设计图像加密算法有非常好的应用前景.随着混沌同步、混沌保密通信等技术的发展,许多基于分数阶混沌系统的图像加密算法被提出[13-21].文献[14]基于Pecora和Caroll混沌同步理论构造了一个分数阶类Lorenz系统的主从式同步,然后通过Laplace变换理论导出了两个混沌系统实现同步的充分条件,最后通过将明文图像隐藏在混沌信号中的方式设计出了一种图像加密算法.该算法成功地利用分数阶混沌系统对图像进行隐藏,把分数阶混沌系统很好地应用在安全保密通信领域中,使得分数阶混沌系统成为研究图像加密算法的又一有力工具.文献[15]详细地分析了文献[14]的算法安全性并对其进行改进.分析表明文献[14]算法存在密钥的产生不依赖于明文、明文微小的变化不能在很大程度上引起密文变化、分数阶混沌系统的阶数和初值没有作为密钥等安全缺陷,并根据Kerckhoffs准则,成功地运用选择明文攻击破解该算法.最后提出基于置乱—扩散机制的改进方法,利用分数阶混沌系统产生两个伪随机序列对明文图像进行像素位置的置乱,在扩散阶段则采用反馈式的方式对置乱后的图像进行扩散.该算法较文献[14]具有良好的加密效果和统计特性,但在算法的设计上仍然存在采用同一混沌系统产生混沌序列、同时改变明文部分像素可能导致明文图像灰度值总和不变、明文对密钥敏感性不强和逐个像素加密导致整个算法运行速度变低等安全隐患.

基于以上的分析与总结,本文采用整数阶混沌系统和分数阶混沌系统相结合的方式提出基于标准映射和分数阶Lorenz混沌系统的图像加密新算法.本文的结构如下:在第1节简单地介绍标准映射和分数阶Lorenz混沌系统,包括它们的空间相位图、Lyapunov指数和时间序列分析结果等.第2节提出基于标准映射和分数阶Lorenz混沌系统的图像加密算法,本文提出算法的仿真实验及安全性能分析放在第3节,最后在第4节给出本文总结.

1 前期准备

1.1 标准映射

标准映射,有时又称Chirikov标准映射,它是一种从边长为2的方形区域到它自己的二维保面积映射.其数学公式定义如下[3]:

这里K是满足大于0且为整数的系统控制参数,(x,y)位于[0,2]×[0,2]的方形区域.由式(1)容易计算标准映射的雅可比矩阵的行列式值为1,因而标准映射是二维保面积映射,另外,可计算出其有两个不动点:(0,0),(,0).标准映射的系统参数K对其自身的混沌动力学行为起着控制的作用,图1(a)是当参数取为K=5时标准映射的空间相位图,从图中可以看到,系统的动力学轨道几乎遍历整个空间相位平面,一些由周期点形成的稳定区域镶嵌在其中,呈现分形现象,随着参数的不断增大,混沌现象越来越明显.Lyapunov指数是衡量两个不同变量运动轨道之间的分离或聚散程度.图1(b)是标准映射的Lyapunov指数随参数变化的曲线图,从图中可以观察到,标准映射有一个大于0和小于0的Lyapunov指数,所以在整个参数空间上系统(1)是处于混沌状态的.时间序列分析是对某件事大量已有的时间序列数据,用数学建模和大数据分析等的方法进行研究分析,寻找其变化规律,从而对未来的情况进行预测、决策和控制.我们测试了标准映射产生时间序列的相关性,采用时间序列的延迟k阶自相关性系数和延迟k阶互相关性系数作为度量指标,对于两个随机时间序列 x={x(0),x(1),…,x(N-1)},y={y(0),y(1),…,y(N-1)}的延迟 k 阶互相关性系数(crosscorr)和延迟 k 阶的自相关系数(autocorr)的数学公式定义如下:

这里mean(x)指的是序列x的算术平均值.图2是标准映射的两个变量的时间序列图.图3为标准映射变量x,y的自相关测试和两个变量之间的互相关性测试.从图中可以看到,在延迟不同的阶数k时变量x,y的自相关系和互相关系数值都很小,几乎接近于0,从而标准映射产生序列具有很强的随机性,因而具有不可预测等好的密码特性.

图1 (a)-(b)分别为标准映射的空间相位图和不同参数的Lyapunov指数曲线图.

图2 (a)-(b)分别为标准映射的变量x,y时间序列变化.

图3 (a)-(c)分别为标准映射产生时间序列的自相关和互相关测试结果.

1.2 分数阶Lorenz混沌系统

1.2.1 分数阶微积分方程的定义

作为整数阶微积分的推广,分数阶微积分具有更复杂的形式和更广泛的应用,而且相比整数阶微积分,分数阶微积分的计算复杂性大大增加.下面介绍常用的几种分数阶微积分定义[22].分数阶的基本函数之一是Gamma函数Γ(x),Gamma函数是广义的阶乘n!,n取非整数,甚至取复数值.

定义1:分数阶微积分定义为

这里当 x=n,有 Γ(n!)=(n-1)!.

定义2:Gr nwald-Letnikov分数阶微积分定义为

定义3:Riemann-Liouville分数阶微积分定义为

其中,q∈R,n是比q大的第一个整数,即n-1≤q<n.根据以上定义,幂函数和常数的q阶微分分别为

定义4:Caputo分数阶微分定义为

其中,m是大于q的第一个整数.

1.2.2 分数阶Lorenz混沌系统

分数阶Lorenz系统方程的定义为[22]:

其中q1,q2,q3为分数阶数,σ,ρ,β为系统参数.应用Adomian分解算法对以上方程进行数值求解,得到如图4所示分数阶Lorenz混沌系统吸引子相图,其中选取的时间步长为 h=0.005 s,初值为 [0.1,0.1,0.1],采用相同的分数阶数 q1=q2=q3=q=0.995,系统参数取值为σ=10,ρ=45,β=8/3.

图4 (a)-(d)分别为分数阶 Lorenz系统的吸引子及其 x-y,x-z,y-z投影图.

1.2.3 分数阶Lorenz混沌系统的复杂度分析

由于谱熵(Spectral entropy,SE)复杂度和C0复杂度分析具有与Lyapunov指数、分岔图、耗散性、相图观测等方法同样的效果[22].因此对分数阶Lorenz混沌系统产生的随机序列采用SE和C0复杂度分析测试.谱熵复杂度分析是利用傅里叶变换(FFT)域内能量分布特点,结合香农熵得出相应的谱熵值;当混沌序列功率谱分布越均衡,序列频谱越复杂,即混沌系统的复杂度越大,否则复杂度越小.另一方面,C0复杂度则是将混沌序列分解成规则和不规则成分,其测量值为序列中非规则成分所占的比例.基于FFT的C0复杂度算法,将信号变换域规则部分去掉,留下非规则部分能量所占比例越大,即对应时域信号随机性就越大,复杂度越大.分别通过固定其他参数而改变阶数q和参数ρ来研究分数阶Lorenz混沌系统的SE复杂度与C0复杂度,一方面,从图5(a)中可见,除了小部分区间,谱分布是均衡的,特别地,q在[0.75,1]区间内图像是处于平稳趋势的;而在图5(b)中,当系统处于周期态时,C0复杂度值为0.随着分数阶数q的增大,C0复杂度以较快的增速到达最大值,之后再随着q的增大而总体上呈下降趋势,系统处于混沌状态.另一方面,由图5(c)可以非常直观地看出,谱分布图总体上是均衡的.从图5(d)也可以观察到,当系统处于周期态时,C0复杂度值为0,并随着参数ρ的增长,C0复杂度以较快的增速到达最大值,之后就基本处于稳定状态.由此也可以得出分数阶Lorenz系统的参数ρ取值不应该小于24.综合以上分析,分数阶Lorenz系统生成的伪随机序列十分地接近随机序列,这对于设计一个安全性能高图像加密算法是非常有利的.

图5 (a)-(b)和(c)-(d)分别为分数阶数 q和参数ρ的 SE、C0复杂度分析.

2 基于标准映射和分数阶Lorenz混沌系统的图像加密算法

基于以上分析,在这一节提出一种基于标准映射和分数阶Lorenz混沌系统的图像加密算法.算法采用置乱-扩散机制,在置乱阶段利用标准映射产生伪随机序列构造坐标索引向量,然后按照从上到下、从左到右的扫描方式进行像素位置的置乱,在扩散阶段则采用不同的初值对分数阶Lroenz混沌系统进行迭代得到密钥数组,并通过明文、密文和密钥之间取模和按位异或运算得到最终密文.本文提出加密算法的流程图见图6,不失一般性,不妨记明文图像为P,其像素矩阵大小为M×N,明文图像的SHA256值为H.具体加密步骤如下:

图6 本文提出图像加密算法的流程图.

Step1读入明文,输入密钥.读取明文P,并记MN=M×N,设置标准映射的参数K和分数阶Lorenz混沌系统的分数阶数q和初值x0、y0、z0,输入防止过渡效应发生的预先迭代次数N0并采用式(11)计算新的N0值,最后计算明文图像P的SHA256函数值H.

Step2生成标准映射的初值x10,x20和产生两个相对位置向量index1,index2.首先将字符数组H转化为双精度数组并求其所有元素的和,记为sum_H,采用式(12),(13)计算标准映射的初值x10,x20.然后利用初值和参数K对标准映射进行迭代(N0+MN)次并丢弃前N0项得到两个大小均为1×MN的向量x1,x2,分别对x1,x2按升序的方式进行排序得到排序后的向量和由其在原向量中位置组成的相对位置向量index1,index2.

Step3对明文图像进行像素位置的置乱.首先将明文图像P按从上到下、从左到右地顺序拉成一个大小为1×MN的一维数组P1,设置i从1到MN,将P1的第i项放在一个与P1相同大小向量P2的第index1(i)项中产生第一次置乱像素序列P2,类似地,设置i从1到MN,把P2的第i项放在与P2相同大小向量P3的第index2(i)项得到第二次置乱像素序列P3,并将P3按从上到下、从左到右的方式堆成与明文相同大小的最终置乱图像P4.

Step4产生两个初始向量irv,icv.分别选取Step2产生的x1,x2向量的前M,N项形成新的向量x2,y2,并利用式(14),(15)计算得到行初始向量和列初始向量.

Step5计算新的预先迭代次数N00和分数阶Lorenz混沌系统新的初值x30,y30,z30.它们的计算公式如下:

Step6利用分数阶Lorenz混沌系统构造密钥矩阵key_r,key_c.分别取混沌系统的参数和分数阶数为(σ,ρ,β)=(10,28,8/3),q1=q2=q3=q,对分数阶混沌系统迭代(N00+MN))次并将得到的三个分维量按从上到下、从左到右的方式排成一个一维向量Y1,取由Y1前N00+MN项组成的向量为Y,按式(20)、(21)产生两个与Y相同大小的向量x3、y3,然后将丢弃x3、y3的前面N00项后的向量仍然记为向x3、y3,并分别按从上到下、从左到右的扫描顺序构造大小为M×N的密钥矩阵key_r,key_c.

Step6对置乱后的像素进行按行扩散.首先将初始行向量irv添加到最终置乱图像P4的最后一行形成大小为(M+1)×N的新矩阵,仍记为P4,设置i的值为1到M,计算P4的第(i+1)行到最后一行的所有像素灰度值的和,记为sum_re1,依据式(22)计算行密钥r1,然后根据式(23)对P4做行扩散运算得到P5.

Step7对P5进行按列扩散.首先将P5的最后一行丢弃产生P6,把初始列向量icv添加到P6的最后一列形成大小为M×(N+1)的新矩阵,仍记为P6,让j的值从1取到N,计算P6的第(j+1)列到最后一列的所有像素灰度值的和,记为sum_re2,根据式(24)计算列密钥c1,然后依据式(25)对P6做按列扩散运算得到密文P7.

注:以上加密过程中,mod(x,y)是指实数x除以实数y得到的余数,round(x)是指对实数x的四舍五入取整函数,floor(x)返回不超过实数x的最大的整数,bitxor(x,y)返回的是实数x与实数y的按位异或运算结果,abs(x)是指对实数x的取绝对值运算,P(i,:)是指矩阵P的第i行元素,P(:,j)是指矩阵P的第j列元素.解密过程是加密过程的逆过程,详细步骤不再赘述.

3 仿真实验与加密性能分析

3.1 仿真实验

采用MATLAB R2014a软件对本文提出的图像加密算法进行仿真.所有的实验均在同一台个人笔记本电脑上执行与实现,电脑的主要硬件环境如下:处理器:Intel(R)Core(TM)i7,安装内存:4.00GB;运行系统:Windows 8.1中文版.另外本文算法仿真实验的测试图片均来自图像数据库[23].对大小均为256×256的灰度图像Lena,Clock,Aerial用密钥 Key=(H,256,0.993,0.98,0.98,0.98)进行仿真,其结果如图7所示,可以看到,所有的密文图像均呈现杂乱无章分布且无明显纹理出现,攻击者不能从其中获取任何有关明文信息,因而说明本文提出算法对图像起到了很好的保护作用.另外,利用正确的密钥和密文图像可以无损地恢复原图像,从而使得本文提出算法在一些重要保密通信领域中有更加好的应用前景.

图7 (b),(e),(h)和(c),(f),(i)分别为Lena(a),Clock(d),Aerial(g)的密文图像和解密图像.

3.2 加密性能分析

一个安全性能强的算法应该能够抵抗绝大多数的已知攻击,比如已知明文或选择明文攻击、选择密文攻击和各种蛮力攻击等[7].为了检验本文提出算法的安全性和鲁棒性强弱,对于本文提出图像加密算法的重要安全分析如密钥空间分析、密钥敏感性分析、统计分析和差分分析等均在这一小节讨论.

3.2.1 密钥空间分析

一个图像加解密算法的密钥空间是指能够用在加解密算法过程中密钥的所有可能取值的总和.如果一个算法的密钥空间不够大,攻击者能够非常容易地利用蛮力攻击等方法对算法进行攻击,因此一个好的图像加密算法要有足够大的密钥空间.一般地,当一个密钥空间大于2128≈1030时,加密算法被认为是安全的[4].在本文提出的图像加密算法中,如果取密钥空间由Key=(H,K,q,x0,y0,z0)组成,其中,H为明文图像的SHA256值,仅改变明文图像的微小部分甚至1bit值均会引起完全不一样SHA256函数值,这也说明密钥的产生极端的依赖于明文,其可能取值为2128见文献[10],K为标准映射的系统参数,理论上K可以取到无穷大,但为了兼顾计算机的运行速度,取其量级为105,q和x0、y0、z0是分数阶Lorenz混沌系统的分数阶数和系统初值,本文取分数阶混沌系统的分数阶数均为q,如果取双精度的精度作为计算,那么分数阶数和系统初值的精度量级均可以取到10-14,容易计算出本文算法的密钥空间大小为2128×105×1056,很明显,这一结果远远大于理论值.事实上,如果把标准映射的系统初值和分数阶Lorenz混沌系统的系统参数和3个不同的阶数均取为本文提出算法的密钥组成部分,那么算法的密钥空间将变得更大,这说明了本文提出的加密算法足以抵抗蛮力攻击,从而具有较强的鲁棒性.

3.2.2 直方图分析

一幅图像的直方图是表示一幅图像灰度值分布的统计图表[24].一般来说,图像的直方图显示了表达一幅图像的不同灰度值的像素个数情况,对于一幅8bit的灰度图像,则显示256种不同的灰度级的分布情况.由于每个灰度级对应的概率或频率给出了对该灰度级出现的概率估计,所以直方图提供了图像的灰度值分布大概情况,即给出了一幅图像所有灰度值的整体描述.对于一个理想的图像加密算法,其加密图像的分布直方图应该尽可能均衡,这样才具备抵抗统计攻击的能力[4].为了检验本文提出加密算法的密文图像像素灰度值的分布情况,在图8画出了Lena明文图像和对应用本文算法加密得到密文图像的一维直方图,容易观察到,密文图像的像素灰度值分布较明文图像更加均衡,其直方图分布更加平坦,而明文图像则波动起伏较大,这说明了本文提出算法的有效性.为了克服一维直方图不能反映出像素灰度值在空间的分布情况和局部图像子块的像素灰度值分布等的不足,在图9和图10分别画出了明文图像Lena和对应本文提出算法密文图像的共生直方图与局部图像子块的一维直方图,从图9可以看到,明文图像像素灰度值的空间分布波动起伏较大,而密文图像则呈现出一致分布的趋势,使得攻击者不能从中读取任何有关明文图像像素的分布.另外,从局部图像子块直方图10分布情况来看,与整体图像的直方图有类似的结果,更加说明本文提出算法抵抗统计攻击的有效性.

图8 (a)-(b)分别为Lena及其密文的分布直方图.

图9 (a)-(b)分别为Lena及其密文的共生直方图.

图10 (a)-(h)分别对应密文的上、下、左、右、左上角、右上角、左下角、右下角图像子块的分布直方图.

3.2.3 相邻像素相关性分析

自然图像的像素一般与其相邻像素有很强的相关性,这将可能会导致有关明文信息的泄露等安全隐患[10].因此一个有效的图像加密算法应该移除或者大大地减轻这种相关性.为了比较和量化明文图像和密文图像相邻像素的相关性,分别随机地选取Lena明文及其密文在水平、垂直和对角方向上的5 000个像素点,它们的分布如图11所示,可以看到,不管是哪个方向,原始图像像素点均呈现线性分布,而加密图像已经明显地打破了这种相关性,像素点几乎遍历整个平面,呈现杂乱无章分布.可见我们提出的加密算法成功地消除了明文图像相邻像素之间的相关性.另外,为了量化随机选取像素点序列的相关性,利用式(26)计算出明文和密文不同方向像素点序列的相关性系数,计算结果如表1所示,可以看到,密文图像不同方向相邻像素对的互相关系数都非常接近于0,这也说明了本文提出算法大大地减弱了相邻像素相关的程度.

这里mean(x)是指序列x的均值.

图11 (a)-(c),(d)-(f)分别为Lena明文和密文相邻像素在水平、垂直和对角方向的分布.

表1 Lena明文与其密文分别在水平、垂直和对角方向上的相关系数

3.2.4 信息熵分析

信息熵是信息源的随机性和不可预测性的一个度量[4].一个信息源m的熵值H(m)可以由式子(27)来定义:

其中m是信息源,L是代表信号mi的比特数,P(mi)是信号mi出现的概率.对于灰度图像,L=8.一个在0到255范围内一致分布的随机图像,即每个灰度值出现的概率相同,容易计算信息熵的理想值为8.即是说加密算法得到密文图像的信息熵越接近于8就说明算法对图像信息隐藏得越好,从而不给攻击者泄露任何有关明文图像的信息.分别计算不同明文及其对应本文算法加密密文的信息熵,结果如表2所示,容易注意到,不同明文与对应密文的信息熵差别较大,而且不同密文图像的信息熵均与理想值非常地接近,这说明本文提出算法是强鲁棒性的.另外还计算了其他算法加密密文的信息熵,计算结果如表2最后三列所示,可以看到,本文提出算法与相比较其他算法加密得到的密文信息熵更加接近于理想值,信息的遗漏是负值,所以从信息熵攻击的角度来看,本文提出算法是安全的.

表3 不同明文与对应本文算法和其他算法得到密文的信息熵.

3.2.5 密钥敏感性分析

攻击者往往通过仅改变小部分密钥甚至是密钥的一个单位值和明文图像1个像素或是1个比特位,然后分别应用提出的加密算法去分析探究加解密结果,以期得到一些关于密钥和明文的信息,因此,对于一个图像加密算法来说,对密钥的极端敏感性是该算法鲁棒性强弱的重要指标.一个加密系统的密钥敏感性一般通过加密敏感性和解密敏感性两方面来考察,一方面,由提出加密算法加密的密文图像应该极端敏感于密钥,即是说,如果用两个差别很微小的密钥加密同一明文,那么相应密钥产生的密文应该完全不依赖于明文或者是它们之间的相关性可以忽略.另一方面,尽管在加密和解密过程的密钥相差非常的微小,甚至只有1比特差别,却不能够用解密算法来解得加密明文.在这里,首先采用密钥 Key=(H,K,q,x0,y0,z0)=(H,256,0.993,0.98,0.98,0.98)去加密Lena明文图像得到密文Image_en,然后对Key仅改动1个单位的变化分别得到如下6个不同的加密密钥:

Key5=(H,K,q,x0,y0+10-14,z0), Key6=(H,K,q,x0,y0,z0+10-14),其中,H1是随机改变明文图像1比特值得到的SHA256值.分别用上述密钥去加密同一幅明文图像Lena得到不同的密文,这些密文和它们与Image_en的差如图12所示,可以看到,用仅改变微小部分的密钥去加密同一幅明文图像得到的密文与Image_en相差非常的大.为了更好的量化不同密文之间的差异性,利用式(28)计算出了不同密文与Image_en的二维相关系数,结果如表4所示,从表中可以明显地知道,不同密文与Image_en之间的相关性x系数很小,几乎接近于0,即是说它们之间的相关性非常弱.这样从加密敏感性这一方面说明了本文提出算法的有效性.同样可以验证算法的解密敏感性,分别用Key和Key1-Key6去解密密文Image_en得到不同的解密图像如图13所示,可以观察到,只有用正确的密钥去解密Image_en才能成功地解出原图像,而其他仅改动1个单位的密钥却不能正确的解出原图像,类似于加密敏感性分析,表5计算了不同解密图像之间的二维相关系数,从表中可以看到,不同解密文之间的相关性非常的弱,几乎没有.这样我们就验证了解密敏感性.因此,综合以上,本文提出的算法对密钥极其敏感的,从而具有强鲁棒性.

这里H,W分别表示两个图像矩阵A、B的大小,mean(x)表示序列x的均值.

图12 加密敏感性测试:(a),(c),(e),(g),(i),(k)分别对应用 Key 和 Key1-Key6 加密得到的密文;(b),(d),(f),(h),(j),(l)分别为(a),(c),(e),(g),(i),(k)与 Image_en 的差.

表4 不同密钥产生的不同密文之间的相关系数.

图13 解密敏感性测试:(a)-(g)分别为用Key和Key1-Key6取解密密钥Key所产生密文的解密图像.

表5 不同密钥解密Image_en产生的不同解密文之间的相关系数.

3.2.6 差分攻击分析

差分攻击又称选择明文攻击,当一个加密算法能够抵抗选择明文攻击,那么该算法也能够抵御已知明文攻击和仅知密文攻击[27].实现差分分析的一般做法是仅改变明文图像像素的微小变化(通常是1bit或1个单位像素值),然后比较在同一密钥条件下分别对改变前后的明文图像进行加密得到两个密文图像,如果在明文图像和密文图像之间能够找到一些有利于确定加密密钥的信息,那么这样的分析就说明加密算法的鲁棒性很弱,反之,如果仅改变明文图像1bit的变化,加密算法就能够产生迥然不同地密文图像变化,这样的加密算法会使得差分分析不能够获取任何有关明文或密钥的信息,即是说,算法能够很好地抵御差分攻击.为了检验本文提出算法抵抗差分攻击的有效性,采用两个常用的度量:不同密文图像之间的像素改变率(number of piexls change rate,NPCR)和一致改变强度(unified average changing intensity,UACI),它们的数学公式定义如下:

这里M,N分别是矩形图像的行数和列数,L是表达一个像素所需要的bit位个数,对于灰度图像,它的值为L=8.C1(i,j),C2(i,j)分别对应明文图像改变前后的密文.对于一个理想的图像加密系统,NPCR,UACI的理想估计值分别为99.6094%,33.4636%[27].分别选取明文图像 Lena位置(12,34),(34,56),(56,78),(78,90),(108,235)处的像素并随机地改变其1bit值,然后利用本文提出算法对改变前后明文图像进行加密得到不同的密文并计算它们之间的NPCR和UACI值,计算结果如表6所示,可以看到,对不同位置的像素值仅随机地改变它们微小的部分,改变前后的明文对应本文算法得到的密文之间的NPCR和UACI值都非常接近于理想值,这也就说明本文提出算法是能够抵抗差分攻击的,从而表明本文提出算法具有较高的安全性能.

表6 不同位置的NPCR,UACI值 %

3.2.7 抵抗已知明文和选择明文攻击分析

很多加密算法已经被选择明文攻击和已知明文攻击破解[14-15],在本文提出的算法中,由标准映射和分数阶Lorenz混沌系统产生随机序列对明文图像进行置乱扩散,而不同分数阶混沌系统的初值和参数是由明文图像的SHA256值产生的,明文图像仅随机改变1bit的值都会引起完全不同SHA256值,这就是说本文提出加密算法产生的密文是极端地依赖于明文图像.所以从理论上来说本文提出算法对已知明文攻击和选择密文攻击是安全的.为了从实验的角度来说明本文提出算法对已知明文和选择明文攻击的有效性,采用大小为256×256全黑和全白的两幅图像进行测试,图14分别为全黑全白明文、密文和它们的直方图分布,从密文及其直方图分布来看,它们不能给攻击者提供任何有关明文图像的信息,从而本文提出的算法对图像起到了很好的保护作用.为了量化密文的一些统计特性,在表7本文计算了全黑和全白图像对应本文算法得到密文的信息熵和随机选取5 000个相邻像素点组成的像素点序列的相关系数,从表中可以明显看到本文提出算法抗击已知明文和选择明文的有效性,从而本文提出算法是强鲁棒的.

图14 (b),(e)和(c),(f)分别为全黑(a)和全白(d)的密文及其直方图分布.

表7 全黑和全白明文对应本文提出算法密文的信息熵和相关性系数.

4 总结

本文提出基于标准映射和分数阶Lorenz混沌系统的图像加密新算法,首先通过标准映射的空间相位图、Lyapunov指数和时间序列分析简单的分析其混沌特性,分析表明标准映射是典型的二维混沌映射且具有良好地随机性等,对分数阶Lorenz混沌系统进行复杂度分析等表明分数阶混沌系统具有比整数阶混沌系统更加复杂的空间结构和优良的随机性质等.然后利用标准映射和分数阶Lorenz混沌系统设计了一种图像加密算法,算法采用置乱-扩散结构,在置乱阶段利用标准映射产生随机数对明文图像进行像素位置的置乱,而在扩散阶段则由两个混沌系统相互作用产生随机数按照依行依列地方式对置乱后的像素进行扩散.最后对本文提出算法的相关安全性能分析被提出,所有的分析实验表明,本文提出算法是强鲁棒性的.

[1]毛骁骁,孙克辉,刘文浩.基于分数阶统一混沌系统的图像加密算法[J].传感器与微系统,2017(6):138-141.

[2]MATTHEWS R.On the derivation of a“chaotic”encryption algorithm[J].Cryptologia,1989,13(1):29-42.

[3]FRIDRICH J.Symmetric ciphers based on two-dimensional chaotic maps[J].International Journal of Bifurcation and chaos,1998,8(6):1259-1284.

[4]YE G,HUANG X.An efficient symmetric image encryption algorithm based on an intertwining logistic map[J].Neurocomputing,2017,251(C):45-53.

[5]PATIDAR V,PAREEK N K,PUROHIT G,et al.A robust and secure chaotic standard map based pseudorandom permutation-substitution scheme for image encryption[J].Optics Communications,2011,284(19):4331-4339.

[6]ZHANG Y,XIAO D.Double optical image encryption using discrete Chirikov standard map and chaos-based fractional random transform[J].Optics and Lasers in Engineering,2013,51(4):472-480.

[7]HAMDIM,RHOUMA R,BELGHITH S.A selective compression-encryption ofimagesbased on SPIHT coding and Chirikov standard map[J].Signal Processing,2017,131:514-526.

[8]祁燕,刘丽萍.标准映射和Lorenz混沌系统彩色图像加密算法[J].沈阳理工大学学报,2014,33(4):40-47.

[9]YE R.A novelchaos-based image encryption scheme with an efficientpermutation-diffusion mechanism[J].Optics Communications,2011,284(22):5290-5298.

[10]CHAI X L,GAN Z H,YUAN K,et al.An image encryption scheme based on three-dimensional Brownian motion and chaotic system[J].Chinese Physics B,2017,26(2):99-113.

[11]李水根,吴纪桃.分形与小波[M].北京:科学出版社,2002.

[12]孙毅.基于分数阶混沌的多媒体加密技术研究[D].昆明:云南大学,2014.

[13]ZHANG H,WANG X Y,WANG S W,et al.Application of coupled map lattice with parameter q,in image encryption[J].Optics&Lasers in Engineering,2017,88:65-74.

[14]XU Y,WANG H,LIY,et al.Image encryption based on synchronization of fractional chaotic systems[J].Communications in Nonlinear Science and Numerical Simulation,2014,19(10):3735-3744.

[15]AHMAD M,SHAMSIU,KHAN IR.An enhanced image encryption algorithm using fractional chaotic systems[J].Procedia Computer Science,2015,57:852-859.

[16]林珍香,阮志毅,钟一文.基于分数阶混沌时间序列的图像加密算法[J].应用数学与计算数学学报,2015,29(2):248-256.

[17]邵永晖,钟启龙,郑永爱.基于分数阶Chen系统的图像加密新算法[J].科学技术与工程,2014,14(2):159-164.

[18]孙甜甜,黄霞,李玉霞.基于分数阶时延混沌神经网络的图像加密[J].山东科技大学学报(自然科学版),2014,33(1):98-103.

[19]王雅庆,周尚波.基于分数阶陈氏混沌系统的图像加密算法[J].计算机应用,2013,33(4):1043-1046.

[20]朱伟,段文强,杨阳,等.基于分数阶超混沌系统的图像加密算法及安全性分析[J].重庆邮电大学学报(自然科学版),2012,24(4):501-506.

[21]潘勃,李骞,冯金富,等.一种新的离散混沌同步保密通信方案[J].计算机应用,2010,30(1):198-202.

[22]孙克辉.混沌保密通信原理与技术[M].北京:清华大学出版社,2015.

[23]The USC-SIPI Image Database[EB/OL].[2017/07/13].http://sipi.usc.edu/database/.

[24]张弘.数字图像处理与分析[M].北京:机械工业出版社,2013.

[25]WONG K W,KWOK B S H,LAW W S.A fast image encryption scheme based on chaotic standard map[J].Physics Letters A,2008,372(15):2645-2652.

[26]LIAN S,SUN J,WANG Z.A block cipherbased on a suitable use ofthe chaotic standard map[J].Chaos,Solitons&Fractals,2005,26(1):117-129.

[27]Cao W,Zhou Y,Chen C L P,et al.Medical image encryption using edge maps[J].Signal Processing,2017,132:96-109.

[28]PETRASI.Fractional-ordernonlinearsystems:modeling,analysis and simulation[M].Beijing:Higher Education Press,2011.

猜你喜欢
明文加密算法密文
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
奇怪的处罚
奇怪的处罚
基于小波变换和混沌映射的图像加密算法
四部委明文反对垃圾焚烧低价竞争
云存储中支持词频和用户喜好的密文模糊检索
Hill加密算法的改进