APP下载

基于深度学习的新混沌信号及其在图像加密中的应用*

2021-12-16赵智鹏周双王兴元

物理学报 2021年23期
关键词:明文加密算法密文

赵智鹏 周双 王兴元

1) (重庆师范大学数学科学学院,重庆 401331)

2) (大连海事大学信息科学技术学院,大连 116026)

为提高单一混沌系统图像加密的安全性,本文提出了基于深度学习的图像加密算法.首先,利用超混沌Lorenz 系统产生混沌序列.其次,利用长短期记忆人工神经网络(long-short term memory,LSTM)复杂的网络结构模拟混沌特征构造新的混沌信号.然后,利用最大Lyapunov 指数,0-1 测试,功率谱分析、相图以及NIST 测试对新信号的动力学特征进行分析.最后,将新信号应用到图像加密中.由于该方法生成的新信号不同于原有混沌信号,而且加密系统具有很高的复杂结构和非线性特征,故很难被攻击者攻击.仿真实验结果表明,本文提出的图像加密算法相比其他一些传统方法具有更高的安全性,能够抵抗常见的攻击方式.

1 引言

近年来,随着互联网快速的发展,通过网络进行信息传输越来越频繁,由于攻击者可以截取信息或者改变信息的数据,从而达到破坏数据传输的目的,对信息的传输带来了巨大的威胁.图像作为信息传递的主要载体,找到一种实用的图像加密算法是很重要的[1-4].为了提高图像传输过程中的安全性,研究人员提出了很多传输方案[5,6].随着混沌理论的发展,研究表明混沌系统具有复杂的动力学行为和初值敏感性等特征[7-10],使得其在图像加密中有很好的效果[11-13].因此研究人员结合混沌理论提出了越来越多的混沌图像加密算法[14-35].

混沌信号是混沌图像加密的核心,一个具有复杂动力学行为的混沌信号对图像加密有很好的效果,混沌信号主要由以下主要由以下2 种混沌系统产生.第1 种是低维混沌系统,如Logistic 映射和Tent 映射[36,37].该系统结构简单,运行快,易于硬件实现,但是该系统容易退化且密钥空间较小.第2 种是高维混沌系统,该系统具有较复杂的行为和更多的参数,并且具有很强的抗退化能力[38],例如Wang 系统,Lorenz 系统和Chen系统等.此外,在时间和空间方向上均具有混沌行为的时空混沌也是高维混沌系统,如耦合映像格子系统(coupled map lattice,CML)[39],随机连接耦合格子时空混沌系统[40],线性与非线性混合耦合时空混沌系统(mixed linear-nonlinear coupled map lattice,MLNCML)[41].

为了更好地把混沌信号应用到图像加密中,近年来,很多学者对此进行了研究,产生了很多基于混沌系统的图像加密算法.一类是基于非AI 技术的混沌图像加密算法,如Yasser 等[13]提出了一种基于混合混沌系统的图像加密算法;石航和王丽丹[42]提出了一种基于压缩感知和多维混沌系统的多过程图像加密方案;庄志本等[43]提出了基于新的五维多环多翼超混沌系统的图像加密算法;Zhang和Wei[44]结合Lorenz 系统和DNA 计算提出的彩色图像加密算法;Zhang和Wang[45]结合线性与非线性混合耦合时空混沌系统(MLNCML)提出的对称图像加密算法等.另一类是基于AI 技术的混沌图像加密算法,如陈炜等[46]利用BCNN模型对图像进行压缩,再利用混沌系统对图像进行加密;He 等[47]使用了LSTM 的网络结构对图像进行置乱和扩散也取得了不错的效果;葛钊成和胡汉平[48]的研究成果表明神经网络在图像加密中已有一定的积累,并展现出比传统技术更好的应用效果.虽然这方面的研究成果并不是很多,但是为混沌密码学开辟了新的思路.

近年来,随着深度学习技术和硬件条件的提高,已经有研究人员将深度学习算法运用到混沌时间序列的预测中,如熊有成和赵鸿[49]用LSTM 搭配合适的组合策略,验证了低维情况下LSTM 预测混沌时间序列能取得较好效果;Sangiorgio 等[50]进一步验证了使用LSTM 预测混沌时间序列不仅能取得较好效果,还可以获得不错的鲁棒性;黄伟建等[51]结合混沌系统相空间重构理论,提出了一种基于深度学习算法的混沌时间序列混合预测模型(Att-CNN-LSTM).因为深度学习具有较复杂的结构,它预测生成的新混沌信号与原有混沌信号相比有一定差异,且具有良好的混沌特性,所以能够应用在图像加密中.为了提高单一混沌系统的安全性,本文提出了一种基于深度学习的混沌图像加密算法.首先通过深度学习产生新的混沌信号,然后将其用在图像加密中.由于深度学习的参数具有敏感性,故其可以作为加密算法的密钥,整个加密算法的密钥空间相对传统的混沌系统图像加密算法更大,增大了穷举攻击的难度,通过统计分析及与文献的对比可知,本文具有较高的安全性.本文首先介绍所提方法使用的混沌系统及神经网络,接着提出加密算法,最后进行仿真实验及安全性能分析.

2 预备知识

利用深度学习生成新混沌信号用来进行图像加密,由于新的混沌信号可以基于任意混沌系统(如Logistic 映射,Lorenz 系统,Chen 系统等),因此选择其中一种混沌系统来说明本文的方法.接下来,介绍所提出的加密算法中用到的混沌系统及LSTM 神经网络.

2.1 混沌系统

由于超混沌系统有多个正的Lyapunov 指数,相对于一般混沌系统具有较强的抗退化的能力,系统的动态行为更加难以预测,因此在保密通信方面比一般的混沌系统具有更高的使用价值[52].由于篇幅原因,本文选择超混沌Lorenz 系统来实现本文的方法,超混沌Lorenz 系统可表示为如下方程:

其中,a,b,c和r为超混沌Lorenz 系统的参数.当a=10,b=8/3,c=28,—1.52<r<—0.06 时,该系统呈现超混沌态,如图1所示,当r=—1 时,(1)式具有4 个Lyapunov 指数,λ1=0.3381,λ2=0.1586,λ3=0,λ4=-15.1752.

图1 超混沌Lorenz 相图三维投影Fig.1.Three dimensional projection of hyperchaotic Lorenz phase diagram.

2.2 LSTM 神经网络

长短期记忆人工神经网络(long-short term memory,LSTM)是一种时间递归的神经网络(RNN)[53].在实际的应用中,RNN 容易受梯度消失或梯度爆炸的影响,难以捕获到序列之间的长期依赖,使得训练异常困难.所以为了解决RNN 梯度消失的问题,LSTM 被提出并广泛被使用.本文选择LSTM神经网络来实现本文的方法.

LSTM 的结构有很多种形式,但是都有类似的结构(如图2所示),主要都包含输入门、输出门、遗忘门.LSTM 单元的计算公式如下:

其中,It是输入门,Ft是遗忘门,Ot是输出门.Xt是时间步t的输入,Ht是隐藏状态,Ct是记忆细胞,FC 代表全连接层.训练模型示意如图2所示.

图2 LSTM 训练模型示意Fig.2.LSTM training model diagram.

3 加密算法

本文提出的加密算法是一个扩散到置乱再到扩散的过程.该加密算法主要步骤如图3和图4所示,设明文图像记为P,其大小为M×N,灰度等级为 256.

图3 混沌图像加密算法流程图(I)Fig.3.Chaotic image encryption flow chart algorithm (I).

图4 混沌图像加密算法流程图(Ⅱ)Fig.4.Chaotic image encryption flow chart algorithm (Ⅱ).

1) 设置混沌系统的参数以及初值并产生混沌信号.密钥K={x0,y0,z0,w0,r1,r2},其中{x0,y0,z0,w0}为状态初值,r1,r2是取值范围为 [0,255]的整数随机数.

2) 设置深度学习的参数并产生新的混沌信号.借助超混沌Lorenz 系统产生4 个伪随机信号,依次记为X,Y,Z,W,其大小均为M×N,具体步骤如下.

Step 1使用密钥K 中的{x0,y0,z0,w0}作为超混沌Lorenz 系统的迭代初始值,使用ode45 函数迭代超混沌Lorenz 系统,得到4 个伪随机序列,依次记为{xi},{yi},{zi},{wi},i=1,2,···,MN;

Step 2将伪随机序列{yi}截取长度为s的部分序列用LSTM 网络深度学习,训练数据的比例是p,初始学习率为q,学习率下降因子为u,隐藏节点数为o,截取训练的序列长度为s.得到预测后新的序列=1,2,···,MN};

Step 3对进行混沌特性判断,如果为混沌序列,则进入Step 4;否则重新设置参数,返回Step2;

Step 4借助于下列公式将序列{xi},,{zi}和{wi},i=1,2,···,MN依次生成矩阵X,Y,Z,W:

这里,k=1,2,···,M;l=1,2,···,N,floor(t) 返回小于或等于t的最大整数,mod1 用于取序列的小数部分,绝对值用于将负的状态值x+y′,y′,z和w转化为正数.

3)置乱与扩散对图像进行加密

①进行扩散算法Ⅰ,借助伪随机矩阵Y将明文图像P变换为矩阵A,具体步骤如下.

Step 1令i=1,j=1 ;

Step 2将P(i,j)变换为A(i,j),即

A(i,j)=[P(i,j)⊕Y(i,j)⊕r1]mod 256;

Step 3令j=j+1 ;

Step 4将P(i,j)变换为A(i,j),即

A(i,j)=[P(i,j)⊕A(i,j-1)⊕Y(i,j)]mod 256;

Step 5如果j <N,跳转到Step 3;否则,令j=1,i=i+1,如果i≤M,跳转到Step 6;否则,跳转到Step 8;

Step 6将P(i,j)变换为A(i,j),即

Step 7跳转到Step 3;

Step 8结束.

② 进行置乱算法.置乱算法将图像A置乱为图像B,具体步骤如下.

Step 1对于图像A中给定的一个像素点坐标 (i,j),根据(2)式和(3)式计算得到 (m,n) 的值:

如果m=i或Z(i,j),或者n=j或W(i,j),或者Z(i,j)=i,或者W(i,j)=j,则A(i,j) 位置保持不变;否则,A(i,j) 与A(m,n) 互换位置.

Step 2当坐标 (i,j) 按从左到右、从上到下的扫描顺序遍历图像A中的所有像素点时,重复Step 1,将图像A转化为图像A′.

Step 3将图像A′做如下处理:

reshape(A′,1,MN)把图像A转换成MN维行向量.

Step 4将伪随机矩阵X做如下处理:

reshape(X,1,MN)把伪随机矩阵X转换成MN维行向量.

Step 5将X中重复的元素只保留一个.

Step 6将集合{1,2,···,MN}中未出现在X中的元素按从小到大的顺序排列在X的末尾.

Step 7对A′做如下处理:

i=1,2,···,floor(MN/2),floor(t)表示返回小于或等于t的最大整数.

Step 8对B做如下处理,将图像A′转化为图像B:

③最后进行扩散算法Ⅱ,扩散算法Ⅱ是从图像的最后一个像素点向前扩散,借助于伪随机矩阵Y将图像B变成矩阵C,具体步骤如下.

Step 1令i=M,j=N;

Step 2将B(i,j)变换为C(i,j),即

C(i,j)=[B(i,j)⊕Y(i,j)⊕r2]mod 256;

Step 3令j=j-1 ;

Step 4将B(i,j)变换为C(i,j),即

C(i,j)=[B(i,j)⊕C(i,j+1)⊕Y(i,j)]mod 256;

Step 5如果j >1,跳转到Step 3.否则j=N,i=i-1,如果i≥1,跳转到Step 6;否则,跳转到Step 8;

Step 6将B(i,j)变换为C(i,j),即

Step 7跳转到Step 3;

Step 8结束.

矩阵C即为所得密文图像.

4 解密过程

解密过程为加密过程的逆过程.

Step 1输入密文图像C,4 个伪随机矩阵X,Y,Z,W以及2 个伪随机数r1,r2;

Step 2进行扩散算法Ⅱ的逆算法,得到矩阵B1;

Step 3进行置乱算法的逆算法,得到矩阵A1;

Step 4进行扩散算法Ⅰ的逆算法,得到明文图像P.

5 计算机仿真试验结果

5.1 深度学习产生新混沌信号

为了得到新的序列,利用LSTM 网络对超混沌Lorenz 系统生成的序列{yi}进行深度学习.模型训练过程如图5所示,可以看出,在250 次迭代后,得到的LSTM 模型的均方根误差(RMSE)和损失函数(Loss)均接近于0,表示模型的拟合程度较好,可以进行预测.从图6和图7可以看出,深度学习得到的新混沌信号与超混沌Lorenz系统生成的混沌信号{yi}是不一样的.

图5 LSTM 模型训练过程Fig.5.LSTM model training process of .

图6 LSTM 模型预测Fig.6.Forecast of LSTM model.

图7 截取的{yi}Fig.7.Part of {yi}.

5.2 动力系统分析

为了说明新混沌信号特点,在最大Lyapunov指数、0-1 测试、功率谱、随机性等方面对新混沌信号进行分析,并与超混沌Lorenz 系统产生的混沌信号{yi}进行对比.

5.2.1 最大Lyapunov 指数分析

最大Lyapunov 指数 (largest Lyapunov exponent,LLE) 是一个较为典型的判断一个系统是否具有混沌特性的工具.从时间序列提取最大Lyapunov 指数是Wolf 等[54]在1985 年提出的一种数值方法,此方法现已广泛应用,具体如下.

1)设给定时间序列{y(k)},重构的m维的相空间为

其中τ为延迟时间.

2)任意选取初始点Y(k0),设其与最近的邻近点Y0(k0)的距离为d(k0),从k0时刻到k1时刻两点的距离超过设定值µ:

3)保留Y(k1),并找其最近邻点Y1(k1),使得

并使得d′(k1) 与d(k1) 的夹角达到最小,然后重复2)—3)过程,直到穷尽所有的数据点,此时追踪演化过程中总迭代次数为N,则最大Lyapunov 指数为

图8 Wolf 方法求最大Lyapunov 指数过程图Fig.8.Using wolf method to find the largest Lyapunov exponent processof.

5.2.20 -1 测试

0-1 测试是一个能够衡量时间序列是否有混沌的一种测试算法,与李雅普诺夫指数不同的是,它不需要进行相空间重构,通过输出结果是否接近于1,来判别混沌现象的产生[55,56].

对于给定的时间序列{x(i),i=1,2,···,N},选取任意的c ∈[0,π],定义函数p(n) 与q(n) 如下:

如果函数p(n) 与q(n) 的轨迹表现为布朗运动,则函数M(n)随时间线性增长;如果函数p(n) 与q(n)的轨迹是有界的,则函数M(n) 是有界的.定义均方位移M(n)的渐进线性增长率Kc如下:

如果Kc≈1,表示该时间序列具有混沌的特性;如果Kc≈0,则表示该时间序列不具有混沌特性.

为了验证序列与{yi}是否具有混沌特性,对序列与{yi}进行0-1 测试.测试结果如图9和图10所示,均方位移M(n) 的渐进线性增长率Kc接近于1,所以序列与{yi}均具有混沌特性.

图9 新混沌信号0-1 测试图Fig.9.0-1 test image of the new chaotic signal.

图10 超混沌Lorenz 系统混沌信号0-1 测试图Fig.10.0-1 test image of the hyperchaotic Lorenz signal.

5.2.3 功率谱分析

为了验证序列与{yi}是否具有周期性,进行功率谱分析,如图11和图12所示,实验结果表明,序列与{yi}不具有周期性,且具有连续性和噪声背景,因此可以用来进行图像加密.

图11 新混沌信号功率谱图Fig.11.The spectrum image of the new chaotic signal.

图12 超混沌Lorenz 信号功率谱图Fig.12.Spectrum image of hyperchaotic Lorenz signal.

5.2.4 三维相图

观察序列与{yi}的三维相图,如图13和图14所示,从图中可以看出存在一个吸引域,各个相点不断绕圈、折叠,不断地靠近和远离这个吸引域,但又不同于随机运动,像这样的绕圈运动表示序列是混沌的,因此序列与{yi}是混沌的.

图13 序列 的相图Fig.13.Phase diagram of .

图14 序列 {yi} 的相图Fig.14.Phase diagram of {yi}.

5.2.5 随机性分析

为了验证序列与{yi}的随机性,选择了包括了15 个测试的NIST,统计结果后得到概率(p值),表1与表2中列出了序列与{yi}的NIST测试结果.从表1和表2可以看出,所有p值明显大于0.01,所以序列与{yi}与通过了NIST 测试,这意味着序列与{yi}具有很好的随机性.

表1 新混沌时间序列NIST 测试Table 1.NIST test of the new chotic time series.

表2 超混沌Lorenz 混沌序列NIST 测试Table 2.NIST test of the hyperchaotic Lorenz time series.

5.2.6 混沌信号的特征对比

通过以上实验,将对比结果列在表3中.从此表可知,新混沌信号与原混沌信号通过功率谱分析、相图及NIST 测试结果可以说明均具有混沌特征与随机性.然而新信号的最大Lyapunov 指数与0-1 测试结果均高于原信号,说明其具有更明显的混沌特征.所以基于深度学习生成的新混沌信号更适合用于图像加密.

表3 混沌信号统计参数对比Table 3.Comparison of statistical parameters of chaotic signals.

5.3 新混沌信号的应用

本节展示了一些常见的灰度图像仿真结果,其中Lena 图来自网址(https://www.ece.rice.edu/~wakin/images/ [2021-01-01]),其余图像来自网址(http://sipi.usc.edu/database/database.php?volu me=misc[2021-01-01]).图像大小分别为 256×256,512×512,1024×1024,灰度图像的加密与解密实验结果如图15所示.从图15可以看出,本文方法可以进行有效的加密和解密.

图15 数字图像加密解密实验图 (a)鸟(256× 256)原图;(b)鸟(256× 256)加密图;(c)鸟(256× 256)解密图;(d)辣椒(256×256)原图;(e)辣椒(256× 256)加密图;(f)辣椒(256× 256)解密图;(g)Lena(512× 512)原图;(h) Lena(512× 512)加密图;(i) Lena(512× 512)解密图;(j) 液体泼洒(512× 512)原图;(k) 液体泼洒(512× 512)加密图;(l) 液体泼洒(512× 512)解密图;(m)机场(1024× 1024)原图;(n) 机场(1024× 1024)加密图;(o) 机场(1024× 1024)解密图;(p)飞机(1024× 1024)原图;(q)飞机(1024×1024)加密图;(r)飞机(1024× 1024)解密图Fig.15.Experimental picture of digital image encryption and decryption:(a) Original bird image;(b) encrypted bird image;(c) decrypted bird image;(d) original pepper (256× 256) image;(e) encrypted pepper (256× 256) image;(f) decrypted pepper (256×256) image;(g) original Lena (512× 512) image;(h) encrypted Lena (512× 512) image;(i) decrypted Lena (512× 512) image;(j) original splash (512× 512) image;(k) encrypted splash (512× 512) image;(l) decrypted splash (512× 512) image;(m) original airport (1024× 1024) image;(n) encrypted airport (1024× 1024) image;(o) decrypted airport (1024× 1024) image;(p) original airplane (1024× 1024) image;(q) encrypted airplane (1024× 1024) image;(r) decrypted airplane (1024× 1024) image.

5.4 安全性分析

5.4.1 差分攻击

差分攻击是攻击者针对明文图像,改变一个像素值然后加密图像,观察两个加密后的密文图像之间的差距,从而找到规律,破解算法.

NPCR (number of pixels change rate)与UACI(unified average changing intensity)是差分攻击的两个重要指标,它们通过 (4)式和(5)式计算出来[57]:

c1和c2是两幅图像,图像的尺寸是W×H.如果c1(i,j)/=c2(i,j),则D(i,j)=1,否则,D(i,j)=0.

理论上NPCR 与 UACI 的值越接近99.6094%和33.4635%越好.本文选取P(256,256)的像素值做出改变,并计算出它们的NPCR 与 UACI 结果,如表4所示.对比代表性的文献[10,13,58,59]中的NPCR 与 UACI,对比结果如表5所示.实验结果及对比结果表明,该算法的NPCR 与 UACI已经很接近理论值了,因此本文提出的加密算法具有很好的抵抗差分攻击的能力.

表4 NPCR和UACITable 4.NPCR and UACI.

表5 NPCR和UACI 的平均值与其他加密算法的比较Table 5.The average of NPCR and UACI and comparison with other algorithms.

5.4.2 密钥空间分析

在此图像加密系统中,x0,y0,z0和w0的精度为 10-14,r1和r2为0 至255 的整数随机数.训练数据的比例p的精度为 10-14,初始学习率q的精度为 10-14,学习率下降因子u的精度为 10-14,隐藏节点数o的取值范围为 [1,M×N -2],截取进行深度学习的序列长度s的取值范围为

而代表性的文献[10,13,58-61]中的密钥空间分别为1098,>255×10145,2283,2399,24×1045和2256,实验结果及对比结果表明,本算法是足够安全的.

5.4.3 密钥敏感性分析

一个好的算法是对密钥敏感的,即对密钥做出微小的改变,然后还原,会得到完全不同的结果.本文选取的密钥x0:

对x0改变生成新密钥:

由于用错误的密钥进行还原,所以不能有效解密,如图16(a)—(c)所示.此外,由于本文中对{yi}进行深度学习后生成了新的序列进行加密,因此对加密图用{yi}不能进行有效解密,如图16(c)所示.综上,本文加密方法具有较高的密钥敏感性.

图16 密钥敏感性 (a)明文图像;(b)密文用解密结果;(c)密文用 {yi} 解密结果Fig.16.Sensitivity of secret key:(a) Original image;(b) error key restoring diagram;(c) error key {yi} restoring diagram.

5.4.4 直方图分析

直方图分析是检测密文像素值分布是否均匀,一个好的加密算法,密文直方图应该是均匀的.否则该加密算法是不安全的,攻击者就能从密文中找到规律,从而破解该算法.

图17展示了不同分辨率的灰度图像明文直方图与密文直方图.通过观察,明文直方图分布是不均匀的,当经过本文的加密算法,密文直方图分布是均匀的.因此攻击者很难从密文中找到规律从而破解算法.因此本文具有很好的抵抗统计攻击的能力.

图17 加密解密图像直方图 (a)鸟(256× 256)原图与明文直方图;(b)鸟(256× 256)加密图和密图直方图;(c)辣椒(256×256)原图与明文直方图;(d)辣椒(256× 256)加密图和密图直方图;(e) Lena(512× 512)原图与明文直方图;(f) Lena(512×512)加密图和密图直方图;(g)水滴泼洒(512× 512)原图与明文直方图;(h)水滴泼洒(512× 512)加密图和密图直方图;(i)机场(1024× 1024)原图与明文直方图;(j)机场(1024× 1024)加密图和密图直方图;(k)飞机(1024× 1024)原图与明文直方图;(l)飞机(1024× 1024)加密图和密图直方图Fig.17.Histograms of plain images and ciphered images:(a) Original image and histogram of bird (256× 256);(b)cipher image and histogram of bird (256× 256);(c) original image and histogram of pepper (256× 256);(d) cipher image and histogram of pepper(256× 256);(e) original image and histogram of Lena (512× 512);(f) cipher image and histogram of Lena (512× 512);(g) original image and histogram of splash (512× 512);(h) cipher image and histogram of splash (512× 512);(i) original image and histogram of airport (1024× 1024);(j) cipher image and histogram of airport (1024× 1024);(k) original image and histogram of airplane (1024× 1024);(l) cipher image and histogram of airplane (1024× 1024).

5.4.5 相关性分析

除上述直方图分析外,统计分析中还有一种检测指标,相邻像素值的相关性,其包括水平相邻像素相关性,垂直相邻像素相关性,对角相邻像素相关性.一个好的加密系统,加密后得到的密文各个相邻像素值的相关性越接近于0 代表加密效果越好,这样攻击者就不能从密文中得到有效地信息,很好的保护了加密算法.接下来,我们使用下面的公式来计算相邻像素值的相关性[62]:

首先,本文在Lena 明文和密文中随机选取5000 对像素点进行测试,如图18所示.从图18可以看出,明文各个方向具有很强的相关性,而从密文的相关性具有很小的相关性.

图18 Lena 图相关性分析 (a)明文;(b)密图Fig.18.Correlation coefficients of Lena:(a) Original image;(b) encrypted image.

接下来,对其他图片进行仿真,计算结果陈列在表6中,并与一些代表性的文献[10,13,58,59]的密文相关性作对比,其结果展示在表7中.实验结果表明,本文的算法与一些代表性的文献作对比,可以发现,明文的3 个方向上相关性很高,经过本文算法的加密,密文的3 个方向上相关性变得很低,与其他方法一样都接近于0.因此本文具有更好的安全性,能够抵抗统计攻击.

表6 图像相关系数Table 6.Correlation coefficients of images.

表7 密文图像相关系数比较Table 7.Comparison of the correlation coefficients of images.

5.4.6 信息熵分析

信息熵代表信息混乱的程度,像素值越混乱信息熵越接近8,信息泄露的可能性越小,信息熵通过(6)式计算[63]:

在(6)式中,p(si)代表si发生概率.理论上信息熵的值越接近8,代表像素值分布越混乱,信息泄露的可能性就越小.采用灰度图像房屋(house),摄影师 (cameraman),鸟(bird),辣椒 (pepper),Lena,水滴泼洒 (splash),飞机(airplane)(512×512),坦克(tank),卡车 (truck),机场 (airport),飞机(airplane)(1024×1024)进行检测.选取不同的差分攻击位置,在表8中分别给出了明文的信息熵以及密文的信息熵,代表性文献[10,13,58,59]中Lena(512×512)的信息熵分别为7.9993,7.9993,7.9993,7.999239.实验结果表明我们得到的密文信息熵7.9993和其他方法一样都非常接近于8,表示信息泄露的可能性很小,攻击者几乎不能从密文中找到有效信息,因此本文提出的算法具有很好的安全性.

表8 信息熵Table 8.Information entropy of images.

5.4.7 鲁棒性分析

鲁棒性是检验加密算法抗干扰能力的重要指标.在传输过程中信息有可能部分丢失或受到噪声污染,因此需要设计一个加密算法,即使丢失一部分信息,也可以通过解密程序得到明文的一些主要信息.我们通过剪切攻击和噪声攻击两种方式来检测本文加密算法的鲁棒性.

图19(a)—(c)展示了不同程度的剪切攻击,图19(d)—(f)展示了不同程度的高斯白噪声攻击,从图中可以看出,尽管密文丢失一些信息或者一些信息被污染,还可以通过解密得到明文的一些主要信息,因此本文的加密算法具有较好的鲁棒性.

图19 抗攻击性检验 (a) 10%剪切;(b) 30%剪切;(c) 80%剪切;(d) 0.001 高斯白噪声攻击;(e) 0.01 高斯白噪声攻击;(f) 0.1 高斯白噪声攻击Fig.19.Anti attack test:(a) 10% data missed;(b) 30% date missed;(c) 80% data missed;(d) attack of 0.001 Gaussian white noise;(e) attack of 0.01 Gaussian white noise;(f) attack of 0.1 Gaussian white noise.

5.4.8 已知明文和选择明文攻击的分析

全黑或全白图像经常被用来评估所提出的密码系统对已知明文和选择明文攻击的抵抗力.对全黑图像与全白图像进行加密解密,结果如图20所示,可见我们的方法可以对这两个图进行有效的加密和解密.接着对全黑图像与全白图像进行统计分析,如表9所列.通过此表可以得出,各种指标均接近理论值,因此本图像加密算法对已知明文和选择明文攻击具有较好的抗攻击性.

图20 全黑全白图加密解密图像Fig.20.Encryption and decryption image of all black and all white image.

表9 全黑全白图的统计分析Table 9.The statistical analysis of all-black image and all-white image.

6 结论

本文提出了一种基于深度学习的图像加密算法,利用LSTM 神经网络对混沌序列进行深度学习,生成了新的混沌信号,将其用来进行图像加密.相对于其他神经网络模型,深度学习模型具有复杂的结构和较多的参数,这给破解带来了很大的难度.通过对比实验结果表明,该算法具有更好的安全性,能抵抗常见的攻击.但是由于设备条件限制,对于较大数据集,加密算法的效率有待提高.

猜你喜欢

明文加密算法密文
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
奇怪的处罚
混沌参数调制下RSA数据加密算法研究
一种基于密文分析的密码识别技术*
一种基于密文分析的密码识别技术*
奇怪的处罚
基于小波变换和混沌映射的图像加密算法