遗传模拟退火算法和混沌系统的图像加密方法

2019-11-08 08:30罗玉玲欧阳雪曹绿晨丘森辉廖志贤岑明灿
西安电子科技大学学报 2019年5期
关键词:明文模拟退火密钥

罗玉玲,欧阳雪,曹绿晨,丘森辉,廖志贤,岑明灿

(1.广西师范大学 电子工程学院,广西壮族自治区 桂林 541004;2.北京理工大学 信息与电子学院,北京 100081)

随着互联网的高速发展,信息安全的重要性也日趋重要,图像、视频等信息作为互联网的主流信息载体,其安全性更成为了研究热点。然而,由于图像相邻像素具有高度相关性,使得针对常规文本设计的传统加密算法,如高级加密标准(Advanced Encryption Standard,AES)和数据加密标准(Data Encryption Standard,DES)等并不适用于图像加密。因此设计新型的图像加密算法已经成为研究的重点[1-2]。

目前许多图像加密方法采用的是传统的“置乱-扩散”的加密框架,配合新型的加密算法设计和混沌系统从而达到良好的加密效果,因此目前许多图像加密算法的设计使用这一结构[3-4]。尽管这些图像加密方案有许多的优点,但是仍然存在一些局限性。首先,明文图像的像素值在置乱阶段保持不变,即置乱图像的直方图保持不变,攻击者可以很容易地通过选择明文攻击来获取密钥并恢复置乱图像[5];其次,一些加密算法被证明是不安全的。例如,文献[6]证明了一种基于S盒的图像加密方法很容易被选择明文攻击所攻破。另外,文献[7]分析了一种基于混沌幅相频率模型非线性自适应滤波器的图像加密方法,该方法被证明加密过程是不安全的。此外,混沌系统具有复杂非线性动力学性能,其拥有良好的伪随机特性、轨道的不可预测性以及对初始状态和控制参数极端敏感等特性,使得混沌系统在许多领域得到广泛的应用[8]。然而,低维混沌系统具有密钥空间小和安全级别低等风险,并且由于计算机的有限精度,混沌系统会出现动力学退化和短周期现象[9]。因此,基于低维混沌系统的图像加密方法容易受到攻击和破坏。例如,文献[10]分析了基于Logistic映射的图像加密方案的安全性,该文献通过选择明文攻击可以获得加密密钥,并利用该密钥破解加密图像。

遗传模拟退火算法(Genetic Simulated Annealing Algorithm,GSAA)是将遗传算法和模拟退火算法相结合的一种优化算法[11]。其中遗传算法包含3个基本算子(选择、交叉和变异)加入模拟退火算法,使之提高算法的效率。因此,尝试采用遗传模拟退火算法的设计思想对图像进行加密,以提高加密算法的安全性和加密效率。同时,高维混沌系统如Chen混沌系统[12]和广义Henon系统[13]可以避免混沌系统动力学的退化。

基于以上图像加密方法所存在的安全性问题,笔者根据遗传模拟退火算法的设计思想来设计新的算法,改进“置乱-扩散”的加密框架,并结合高维混沌系统设计了一种新型的彩色图像加密方法。该方法为了提高“置乱-扩散”加密框架的安全性,根据遗传模拟退火算法中的选择和交叉操作对明文进行置乱,并且利用变异操作对置乱图像进行最终加密。该设计可以解决单纯的置乱或扩散操作存在安全性低,易被单独攻击和传统密码攻击分析问题,同时也增强了置乱和扩散的联系。此外,Chen混沌系统和广义Henon系统产生的伪随机序列可以避免加密过程中混沌系统动力学性能退化行为。

1 混沌系统

由于Chen混沌系统和广义混沌Henon映射具有良好的动力学性能,因此非常适合图像加密。Chen混沌系统的动力学方程为

(1)

当控制参数a1=35,b1=8/3和c1=28时,系统处于混沌状态。此外,广义Henon映射由一组差分方程组成,其表达式为

(2)

当参数1.54

2 图像加密方法

假设彩色明文图像I由红色层IR、绿色层IG和蓝色层IB组成,各层大小为M×N。加密流程如图1(a)所示。该方法主要包括混沌系统的预处理、选择和交叉、基于模拟退火算法的置乱和变异操作。首先,利用MD5消息摘要算法(MD5 Message-Digest Algorithm,MD5)计算混沌系统的初始值并迭代混沌系统,生成的密钥流分为两组,其中一组用于图像的选择和交叉操作,另一组用于置乱操作。然后,根据计算明文图像和置乱图像的适应度来判断该算法是否可以继续执行。如果满足条件,则进行变异操作;否则,重新执行以上操作,直到满足条件。最后,通过变异操作得到最终加密图像E。

图1 图像加密流程图和选择交叉过程

2.1 预处理

MD5用于生成算法混沌映射的初始值,它的作用是当两个图像有细微差异时,它们的值是完全不同的,因此MD5对明文图像高度敏感。首先,将明文图像I作为MD5的输入,并把生成的128位密钥H分成32个子密钥,每个块的长度是4位,即H=h1,h2,h3,…,h32。然后,定义参数x′1,y′1,z′1和x′2,y′2,z′2的值。因此混沌系统的初始值x1(1),y1(1),z1(1)和x2(1),y2(1),z2(1)如下:

(3)

根据该初始值迭代Chen混沌系统(1)(M×N-1)次,获得两组混沌序列x1(i),y1(i),z1(i)和x2(i),y2(i),z2(i),之后根据式(4)对混沌序列进行量化处理,得到量化序列。

(4)

其中,1≤i≤M×N-1;mod(m,r)是取模运算操作,即返回m除以r后的余数;F(u)返回小于或等于u的最近整数。

2.2 适应度函数的选取

适应度函数的选取直接影响到遗传算法的效率,并且将适应度函数要求函数值非负是必要的。在该方法中,以文献[14]中提出的评价图像质量的测量函数为标准来确定模拟退火算法的适应度函数,即将图像视为一个整体来计算其适应度,可以得到明文图像红色层IR、绿色层IG和蓝色层IB的适应度值FR1、FG1和FB1:

(5)

其中,F表示适应度函数,Im表示图像矩阵。

2.3 选择和交叉操作

在选择和交叉操作中,利用二进制混沌序列作为掩码,通过掩码中“0”和“1”来选择和交叉图像。如果掩码值是“1”,则保持图像的位不变;否则,翻转该图像的位来获得新的位。选择和交叉的过程如图1(b)所示。对明文图像各层IR,IG和IB及量化序列X1,Y1和Z1首先进行二进制位平面分解(BBD)产生8个位平面,并重新组成一维向量,生成大小为M×N×8的二进制位序列I′R,I′G,I′B和X′1,Y′1,Z′1。然后设置X′1,Y′1,Z′1为掩码,并对明文二进制位序列I′R,I′G,I′B进行选择是否进行交叉操作。最后恢复到像素级,生成大小为M×N的交叉序列I″R,I″G和I″B。

2.4 基于模拟退火的图像置乱

模拟退火算法是一种随机寻优算法,在该方法中用于设计最优伪随机序列对交叉图像进行置乱操作来获得置乱图像。基于模拟退火的图像置乱步骤如下:

(1)产生目标函数。设计目标函数的目的是计算不同混沌序列在相同位置上不同元素的值。在该方法中,以两个混沌序列之间的差异程度作为标准,根据式(6)对混沌序列X2,Y2和Z2进行减法操作,得到目标函数L1,L2和L3(1≤i≤M×N)。

(6)

(7)

(8)

(9)

通过选择、交叉和置乱操作可以改变明文图像的像素值和像素位置,并且其直方图与明文图像有很大差别,因此该操作可以有效抵抗统计攻击。

2.5 变异操作

(10)

并迭代广义Henon混沌系统(2)(M×N-1)次,获得混沌序列x3(i),y3(i),z3(i)(1≤i≤M×N)。然后对混沌系统进行量化处理,得到量化序列X3,Y3和Z3:

(11)

其中,Α(u)返回u的绝对值,F(u)返回小于或等于u的最近整数。

(12)

其中,变异序列的初始值ER(1),EG(1)和EB(1)为

(13)

最后,将变异序列ER,EG和EB合并获得最终加密图像E。

3 实验结果与分析

实验环境为Matlab R2014A,采用3.90 GHz的Intel i5处理器,内存为4.0 GB,并且实验参数设为[a1=35,b1=8/3,c1=28,a2=1.56,b2=0.5]。为了测试该方法的性能,对大小为256×256的彩色图像“Lena”进行加密,其明文图像和加密图像如图2(a)和(b)所示,并且其明文图像和加密图像的直方图如图2(c)和(d)所示。从图2可以看出,加密图像与明文图像完全不相同,并且加密图像类似于噪声图像。此外,加密图像在R、G和B层的直方图分布是均衡的,表明该加密方法可以有效地对图像进行加密,并且可以很好地抵抗统计分析攻击。

图2 图像加密结果

3.1 密钥空间分析

密钥空间是所有参与图像加密密钥的集合,一个较大的密钥空间可以抵抗任何穷举攻击。因此,一个有效的加密算法的密钥空间应大于2100才有能力抵抗穷举攻击[15]。在该方法中,密钥的计算精度约为252[16],因此加密参数和密钥[a1,b1,c1,a2,b2,x1,y1,z1,x2,y2,z2]的密钥空间为2572。表1列出了几种加密方法的密钥空间比较结果。结果表明,与其他文献相比,文中方法的密钥空间更大,因此,文中方法可以抵抗穷举攻击。

表1 文中方法与其他文献的实验结果对比

3.2 信息熵分析

信息熵是衡量随机性的重要标准。根据香农定理,消息源m的熵H(m)定义为

(14)

其中,p(mi)是mi出现的概率,N是mi的位数。在理想情况下,当图像的像素随机分布时,8位二进制表示的灰度图像的信息熵应接近8。表1列出了“Lena”“Peppers”和“Baboon”图像的信息熵以及与不同方法之间的比较结果。数据表明,每个加密图像的信息熵都接近理论值8,这说明该方法具有良好的信息熵特性。

3.3 差分攻击

为了抵抗差分攻击,加密算法需要对明文图像高度敏感,即稍微改变明文图像像素的一个的位就能产生完全不同的加密图像。以下两种标准可以衡量加密算法对明文图像的敏感性,即像素变化率(Number of Changing Pixel Rate,NCPR)和统一平均变化强度(Unified Average Changing Intensity ,UACI)。像素变化率和统一平均变化强度定义如下:

(15)

(16)

(17)

其中,N和U分别是像素变化率和统一平均变化强度的值。E1是正确的加密图像,E2是只改变明文图像一个位得到的加密图像,D是概率分布。在理想情况下,像素变化率和统一平均变化强度的期望值分别为99.609 4%和33.463 5%[1]。在本次测试中,随机选取“Lena”“Peppers”和“Baboon”的R、G和B层各100个像素,通过改变每个像素的最低位得到其像素变化率和统一平均变化强度平均值,结果如表1所示。表1中像素变化率和统一平均变化强度接近于期望值,证明该方法对明文图像具有较强的敏感性,可以有效地抵制差分攻击。

3.4 密钥敏感性分析

一个良好的加密系统应该对所有密钥都具有高度的敏感性。在本次测试中,改变密钥和参数,进行1014的修改,得到如图3(c)的加密图像,并且将所得到的新的加密图像与原始密钥的加密图像进行比较,得到图3(d)的图像。由结果可知,修改密钥的加密图像与原始密钥的加密图像之间存在巨大差异,这表明文中方法对密钥高度敏感,即密钥发生轻微变化时,对应的加密图像将完全不同。因此,文中方法可以有效地防御穷举和统计攻击。

图3 密钥敏感性测试

3.5 相关系数分析

由于明文图像的像素在水平、垂直和对角方向与相邻像素高度相关(通常接近于1)。因此,有效的图像加密算法可以降低这种高相关性,即加密图像的相关系数应接近于0。相关系数的定义如下:

rxy=cov(x,y)/[(x)(y)]1/2,

(18)

表2 “Lena”图像和对应加密图像相邻像素在不同方向上的相关系数

图4 “Lena”和对应加密图像在水平、垂直和对角线方向上的相邻像素分布

3.6 分析选择/已知明文攻击

传统密码攻击分析算法包:唯密文攻击、已知明文攻击、选择明文攻击和选择密文攻击。在这4种攻击中,选择明文攻击对密码系统最具威胁性。因此,一个安全的加密系统如果能够抵御选择明文攻击,则它也可以抵抗其他3种攻击。在该方法中,Chen混沌系统的初始值是由明文图像的MD5的值与明文和置乱图像的适应度生成,它们是交叉和选择、置乱和变异过程中的重要组成部分。因此,加密图像非常依赖明文图像,并且对抵抗已知攻击和选择明文攻击是安全的。

对于已知明文攻击,攻击者可以通过加密一些特殊图像尝试找到加密密钥。在本次测试中,选择大小为512×512的纯白色和纯黑色图像进行加密并获得它们的加密图像的直方图,如图5所示,相应的信息熵和相关系数列于表3。从结果可以看出,这些特殊加密图像的直方图是均衡的,信息熵接近8,并且加密图像的相关系数接近于0。这表明加密图像是无法获得任何有用的信息,并且该方法可以适用于特殊图像,攻击者无法使用相同的密钥解密其他加密图像。因此,该方法可以有效抵抗已知明文攻击和选择明文攻击。

3.7 时间复杂度分析

算法时间复杂度是分析图像加密性能重要的标准之一。换句话说,一个好的加密方法不仅要求较高安全性,而且要求加密速度快[2]。在本次测试中,大小为256×256的“Lena”“Peppers”和“Baboon”图像的加密时间和与其他相关工作的比较如表1所示,其中所提出的方法明显快于其他方法。此外,使用高性能设备或并行计算可以进一步减少执行时间。

4 总 结

基于遗传模拟退火算法和混沌系统,笔者提出了一种彩色图像加密方法。首先对明文图像进行选择和交叉操作,然后利用模拟退火算法生成的最优伪随机序列对图像进行置乱。此外,为了增强图像各层的相关性,利用彩色图像交互方法对置乱图像进行交互式变异操作。实验结果表明,该方法具有较大的密钥空间和较高的安全性,可以抵抗常见的密码分析学攻击。将来会针对图像的实时安全通信,提出运算效率更高的图像加密方法。

猜你喜欢
明文模拟退火密钥
结合模拟退火和多分配策略的密度峰值聚类算法
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
基于遗传模拟退火法的大地电磁非线性反演研究
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
改进模拟退火算法在TSP中的应用
奇怪的处罚
基于模拟退火剩余矩形算法的矩形件排样
奇怪的处罚