一种基于新复合混沌系统的图像加密算法
2017-11-30廖雪峰
廖雪峰
(温州大学瓯江学院,浙江温州 325035)
一种基于新复合混沌系统的图像加密算法
廖雪峰
(温州大学瓯江学院,浙江温州 325035)
提出了一种由 Logistic映射和正弦映射组合而成的复合混沌系统.与原混沌系统相比,复合混沌系统产生的混沌序列性能更好,且产生混沌特性的参数范围更大.为了验证新复合系统在图像加密中的应用效果,提出了一种新的图像加密方案,该方案证明了新系统在加密应用中的有效性.理论分析和仿真实验表明,该加密方案具有良好的密码学性能,算法能够抵抗蛮力攻击、统计分析攻击、差分攻击、选择明(密)文攻击.
混沌;复合混沌系统;图像加密
随着信息技术的飞速发展,大量信息都将以电子数字形式进行存储和传输.因此,保证信息使用的安全性已成为信息时代的一个重要问题.图像数据作为一类重要信息,具有一些与普通文本信息不同的固有特征,如数据量大、数据冗余性强、相邻像素之间的相关性高.此外,图像数据在保密通信传输中难以实现实时性,因此寻求既快速又安全的加密方法是非常必要的.目前被广泛使用的传统块加密方法由于效率低而难以满足实时通信的要求[1].由于混沌系统具有对初始条件和系统参数的高灵敏度,以及类随机性强、易于准确再生等特点,使得混沌系统被运用到密码系统中来,且特别适合需要高效率的图像加密.因此,基于混沌映射的图像加密技术得到了广泛研究.在一些研究中,利用混沌序列生成 S盒进行加密[2-4].基于混沌的加密系统设计有两大技术至关重要:一是生成安全密钥的技术,二是使用密钥加密的算法设计技术.
关于安全密钥的生成技术,采用的混沌系统可以分为两大类:一维(1D)和多维(MD).目前,MD映射被广泛应用于图像加密系统,但是由于其结构复杂和参数多,导致其硬件/软件实现和计算的复杂度增加.相反一维混沌映射在这些方面有一些优势,即:结构简单,易于硬件/软件实现,计算开销低.但是一维混沌映射也有一些问题[5-7]:(1)产生混沌行为的参数范围小,(2)输出混沌序列的数据分布不均匀.因此,产生混沌性能更好的一维混沌系统是非常有意义的.
关于加密的算法设计技术,很多学者提出了采用置乱-替代结构的混沌图像加密算法.王青松等[8]提出了基于Logistic混沌系统的位置和灰度变换的图像加密算法.廖琪男等[9]提出了基于超混沌序列和移位运算的图像加密算法,利用三个超混沌序列先后对图像实施像素位置置乱、像素值扩散与混淆的操作.但文献[8-9]的算法使密钥与加密图像无关,且置乱序列与替代操作的独立,导致文献[8]和[9]的算法不能抵抗选择明文攻击,其等效密钥分别被文献[10]和[11]破解.
在分析上述两方面问题的基础上,本文提出了一种基于Logistic映射和正弦映射组合的一维复合混沌映射模型,采用混沌分岔特性图和 Lyapunov指数图评估系统模型的混沌性能,通过复合混沌映射产生性能更优的密钥序列.并在考虑现有加密体系结构抗选择明文攻击性能差的基础上,提出一种基于新复合混沌系统的改进型混淆-扩散结构的图像加密算法.改进的算法针对原始加密策略中混淆阶段与扩散阶段密钥独立的缺点,使混淆阶段与扩散阶段的密钥序列相关,提高了算法抵抗选择明(密)文攻击的性能.
1 一维复合混沌映射的构建
1.1 Logistic映射
Logistic映射是一种著名的一维混沌映射,它是一个结构简单却能产生复杂混沌行为的动力学系统.Logistic映射的传统数学模型由式(1)表示:
其中,μ为系统参数,μ∈(0, 4].xn表示系统的状态值(n = 0, 1, 2,…),x0是状态初值,输出序列xn∈(0, 1).因为Logistic映射产生的序列具有混沌性,所以在图像加密中被广泛采用.
通过作分岔图和Lyapunov指数图(图1)可以得到系统出现混沌现象的参数范围.Logistic映射的分岔图如图1(a)所示,其混沌范围仅限于μ∈[3.57, 4]参数范围.Lyapunov指数是一个评价混沌性能的定量指标,当 Lyapunov指数为正值时,映射具有混沌特性,且值越大,混沌性能越好.Logistic映射的Lyapunov指数图如图2(a)所示,由图2(a)可知,当参数μ<3.57时,Logistic映射的Lyapunov指数小于零;这意味着Logistic映射只能在μ∈[3.57, 4]这个小参数范围内出现混沌行为.其次,由图1(a)可以发现,Logistic映射输出混沌序列的数据分布是非均匀的(数据在[0, 1]范围内数目不均衡,接近1或接近0的数据比较少).在加密系统中,混沌序列是密钥序列的来源,因此输出不均匀的混沌序列必定对加密图像数据分布有影响.
1.2 正弦映射
正弦映射(Sine Map)也是一种结构简单的一维混沌映射,其定义由式(2)描述:
其中,μ为系统参数,μ∈(0, 4],xn∈(0, 1)是输出的混沌序列(n = 0, 1, 2,…).
正弦映射的分岔图和Lyapunov指数图分别如图1(b)和图2(b)所示,可以看出正弦映射与Logistic映射具有相似的混沌特性,因此正弦映射也存在混沌范围小、数据分布不均匀的缺点.
1.3 新的一维复合混沌映射
为了解决Logistic映射和正弦映射中存在的前述问题,本文提出一个由Logistic映射和正弦映射组合而成的一维复合混沌系统,本文称之为Logistic-Sine映射,其数学表达式如式(3)所示:
其中,μ∈(0, 8]是系统参数,xn∈(0, 1)是输出的混沌序列(n = 0, 1, 2,…),x0是序列的初始值.mod(x,y)表示对x求以y为模的运算.新提出的混沌系统同样结构简单,因此易于硬件和软件实现.为了验证新系统的混沌特性,作出新系统的分岔图和Lyapunov指数图,分别如图1(c)和图2(c)所示.由图中结果可知,新系统产生混沌特性的参数范围是(0, 8],比Logistic映射或正弦映射出现混沌行为的参数范围更大,因此在保密通信应用中能获得更大的密钥空间,而且新系统产生的混沌序列的数据在整个[0, 1]范围分布更均匀.
图1 系统分岔图Fig 1 System Bifurcation Diagrams
图2 系统Lyapunov指数图Fig 2 Lyapunov Exponents Diagrams
2 基于混沌的图像加密方案
将新的复合混沌系统应用于图像加密中,提出一个新的图像加密算法.
2.1 加密算法
设明文灰度图像大小为L= M×N,M、N分别为行数和列数,将明文像素值矩阵按列优先次序转化为一维像素序列A={A(i)},i=1, 2, …,L.本加密算法采用5个参数(μ1,μ2,x0,y0,N0,Q0)作为原始密钥,加密算法由图像置乱和两轮像素值替代扩散操作组成.
算法具体步骤描述如下:
1)生成原始混沌序列.分别以(μ1,x0)与(μ2,y0)作为新混沌系统式(3)的参数,各自迭代(N0+L)次,生成两个长度均为(N0+L)的混沌序列;去掉序列前面N0个值以避免迭代暂态过程带来的有害效应,得到两个长度为L的混沌序列,分别记为U={U(i)}与V={V(i)},i=1, 2, …,L.
2)对序列U进行升序排序,得到一个大小有序的序列K,并得到一个索引序列R={R(i)},i=1, 2, …,L.R(i)的值是有序序列K中元素K(i)在原序列U中的位置序号,R(i)∈[1,L]范围的整数.由于混沌序列中是不会出现重复值的,所以不同的i值对应的R(i)值各不相同;序列R将作为置乱图像像素位置的密钥序列,能确保原来不同位置的像素被置乱到新的位置也不同.
3)对序列V的每个元素值按式(4)进行处理,得到一个整数序列S={S(i)},i=1, 2, …,L.S(i)∈[0, 255]范围的整数;round(x)实现对x向上取整;序列S将用于图像像素值的替代与扩散加密.
4)对图像明文序列A按照式(5)的置换算法实施置乱,得到置乱后的像素序列P.
5)对置乱后的像素序列P按照式(6a)和式(6b)的算法对各像素值进行替代扩散操作,所有像素操作完成后得到中间密文序列Q,下式中bitxor(x, y)表示对x、y按二进制位进行异或运算.
6)对密文序列Q按照式(7a)和式(7b)的算法进行第二轮像素值替代扩散操作,得到最后密文序列C.将序列C转换为M×N矩阵B,B就是最终加密图像.
2.2 解密过程的基本算法
图像的解密过程与相应的加密过程具有对称性,故解密操作与加密操作互逆.解密过程的基本操作步骤可概要性叙述如下:
1)生成密钥序列R和S,与加密过程方法完全一样.
2)将密文图像B转换为一维序列C,对加密步骤6)进行逆操作,依次按式(8a)和式(8b)操作,待所有像素处理完后得到中间密文序列Q.
3)对加密步骤5)进行逆操作,依次按式(9a)和式(9b)处理所有的像素,即可恢复出序列P.
4)针对置乱公式(5),按公式(10)进行反置乱操作,即可恢复出明文像素序列A.
将恢复出来的序列A转换为二维矩阵,即得到解密图像.
3 仿真实验与安全性分析
3.1 加密效果测试
在对本文算法进行测试的实验中,选用了256×256大小8位灰度级的Lena图像作为原始图像,实验环境为Windows 7+Matlab 2016b.加密系统的初始密钥集为(μ1=7.98, μ2=4.23, x0=0.27,y0=0.34, N0=1000, Q0=254).加密前后图像分别如图3(a)和图3(b)所示,图3(c)则是密文图像对应的直方图(它刻画像素值分布规律).图3(b)表明,密文图像与原明文图像已截然不同,两者已经毫无关联.图3(c)则表明密文图像的像素值分布已非常均匀,可抵抗统计分析攻击.解密图像与图3(a)一致.
图3 加密效果图Fig 3 Encryption Effect Image
3.2 抗蛮力攻击与选择明(密)文攻击性能分析
一种算法抵抗蛮力攻击(穷举攻击)的性能如何,取决于算法中可以使用的不同密钥的组数,即算法的密钥空间.算法中可以使用的不同密钥数越大,算法抵抗穷举攻击的性能越好.本文算法中采用的密钥为参数集{μ1, μ2, x0, y0, N0, Q0};实验验证浮点数的精度可达15位小数,μ1, μ2的整数部分可取0 - 8共9种值;N0取值约有1000种,Q0有256种取值;所以,总的密钥空间可达9×9×1060×1000×256≈4.3167×1063.假如尝试1组密钥解密图像需要耗时1秒,则穷举4.3167×1063组密钥需要耗时大约4.3167×1063/(365×24×3600)年=1.3688×1056年,这个时间开销在实际中是不可行的,故如此大的密钥空间足可抵抗蛮力攻击.
本文算法在像素值替代扩散环节不仅使用了替代密钥序列S,而且还使用了置乱密钥序列R,实现了两种序列的强耦合.因此,即使攻击者用选择的明文和获得的对应密文,也无法同时破解序列S和序列R.所以,算法可抵抗选择明(密)文攻击.
3.3 相关性实验测试
实验过程中,从图像中从不同方向(水平、垂直、对角)随机选取n组相邻像素对,分别计算三种方向的相邻像素之间的相关系数,计算公式如式(11)所示[12]:
其中,xi和yi分别代表某个方向第i组相邻像素的两个像素的值,表示的平均值,表示 yi的平均值,γ即为该方向所对应的相邻像素的相关系数.在计算本文图像γ值的时候,n值取图像某个方向的全部相邻像素对的组数,分别对明文和密文图像的三种相关系数进行了计算,计算结果列于表1.从表1的实验结果可以发现,原始明文图像的γ值非常接近1,意味着明文图像的相邻像素相关性很强;但密文图像的γ值却非常接近0,意味着密文图像的相邻像素已基本上不存在相关性.表1也同时给出了本文算法用Logistic和Sine映射系统加密所得密文图像的相应结果;对Logistic和Sine系统,为了确保系统处于混沌状态,取μ1=3.98, μ2=3.57,而其它密钥参数与复合系统的相同.由表1可看出,对于相同加密算法,采用新的复合混沌系统加密与采用任何单一系统加密相比,前者所得密文图像的相关系数值绝大多数情况下更低(绝对值更小),因此,采用复合混沌系统加密对破坏相邻像素相关性效果更好.
表1 三种系统加密的密文图像相邻像素的相关系数对比Table 1 Comparison of Correlation Coefficient in Cipher-images with Three System Keys
3.4 加密图像的信息熵测试
度量一种信息源信息分布的随机性强度常用信息熵指标.如果一种信息源A的可能取值有n种,其各种取值的数集为{a0,a1,…,an-1},则其信息熵H可用公式(12)计算[12]:
其中,P(ai)表示值ai在信源A中出现的概率.
对256级灰度的图像来说,其像素值为[0255]范围的整数,共有256种取值.若每一种像素值以相同的概率出现在密文图像中的话,则该密文图像的所有像素值出现的概率P(ai)都是1/256,那么该图像的信息熵H= 8,也就是说完全随机分布的图像具有的信息熵是8.对于非完全随机的图像来说,其信息熵一定是小于8的.一种密文图像的信息熵如果越接近8,则它的像素分布随机性就越强,其安全性越高.实验中分别采用Logistic、Sine以及复合系统加密Lena图像,得到三种密文图像的信息熵如表2所示.可见,采用复合混沌系统加密的结果优于Logistic系统或Sine系统.
表2 三种系统加密的密文图像信息熵对比Table 2 Comparison of Information Entropy in Cipher-images with Three System Keys
3.5 敏感性测试
3.5.1 密文对明文的敏感性测试
当明文图像发生1比特的微小改变时,若对应的密文图像发生的改变越大,则表示密文对明文的敏感性越强,这种敏感性越强,则抵抗差分攻击的性能越强.人们常用像素数改变率NPCR(Number of Pixels Chang Rate)和归一化平均改变强度UACI(Unified Average Changing Intensity)这两个指标度量加密算法对明文的敏感性.设两个明文图像仅只有一个像素不同(相差1比特),两者的密文图像中相同位置第(i,j)点的像素值分别表示为C1(i,j)和C2(i,j).用Dij表征C1(i,j)和C2(i,j)是否相同,若相同取Dij为0,若不同取Dij为1.则NPCR与UACI分别可以用公式(13)和(14)计算[12]:
而且可以分别用式(15)和式(16)计算NPCR与UACI的理想期望值[12]:
其中,M和N分别代表图像的像素行数与列数,m代表图像的颜色深度.对于颜色深度为8位的灰度图像(m=8),计算可得 NPCR的理想期望值为 NPCRE=99.6094%,UACI的理想期望值为UACIE=33.4635%.在测试本文算法敏感性的实验中,我们做了5组实验,每组实验中从原图像中任取1个像素(其中有2组选的像素分别是第1点与最后1点),每次只允许像素值改变量为1,得到5种密文图像.然后由5种密文图像与原始图像对应的密文图像比较,就可以计算得到5组NPCR和UACI值,结果如表3所示.从表3可以看到,本文算法加密所得的密文图像,其NPCR和UACI值都非常接近相应的理想期望值,即只要明文图像中有一个像素的像素值发生1比特的微小改变,都会引起密文图像中几乎全部像素的值发生变化,从而证实了本文算法的密文对明文具有很强的敏感性,也就是说,本文算法具有优异的抗差分攻击性能.
表3 明文图像微小改变时NPCR和UACI测试结果Table 3 The Results of NPCR and UACI with Slight Change in Plain-text Images
3.5.2 密文对密钥的敏感性测试
如果只要解密时所用的密钥与加密时所用的密钥有细微差别,就能导致解密图像与原始明文图像毫不相关,则说明算法对密钥非常敏感.这种密钥敏感性越强,算法的安全性就越高.在本文算法实验中,每次使解密密钥集(μ1, μ2, x0, y0)中的一个参数与加密参数存在一个微小改变量10-15,即:对加密密钥集(μ1=7.98, μ2=4.23, x0=0.27, y0=0.34, N0=1000, Q0=254)所加密的 Lena 图像,解密时分别使(μ1, μ2, x0, y0)取下列值(其它不变):(7.98+10-15, 4.23, 0.27, 0.34); (7.98, 4.23+10-15,0.27, 0.34); (7.98, 4.23, 0.27+10-15, 0.34); (7.98, 4.23, 0.27, 0.34+10-15).得到的解密结果如图4所示,由图4可见,从每一个解密图像中都得不到原图像的任何信息.
图4 错误密钥解密后的图像Fig 4 Decrypted Image with Error Secret Key
4 结 语
本文在Logistic和Sine映射的基础上构造了一个新的一维离散复合混沌系统,新混沌系统比原Logistic和Sine混沌系统能在更大参数范围内产生混沌行为,且生成的伪随机序列数据分布更均匀.在此基础上,将本文新的一维离散复合混沌系统应用于图像加密,提出了一种改进的图像加密新算法.在改进的算法中用两个混沌序列分别生成像素置乱和像素值替代扩散密钥序列,并使替代加密与位置置乱密钥序列相关,使选择明文(密文)攻击失效.理论分析和仿真实验证实了算法的安全性和新系统对提高加密性能的作用.
本文算法具有如下特点:(1)密钥空间大,具有抵抗穷举攻击的优异性能.(2)加密图像的像素值具有均匀分布特性,密文的随机性强,因此密文具有抗统计攻击的性能.(3)加密算法对明文和密钥都具有极端的敏感性,因此密文具有良好的抗差分攻击性能.(4)算法将图像扩散加密的密钥序列与置乱加密的密钥序列相耦合,使算法具有抵抗选择明(密)文攻击的性能.该算法也可以扩展应用于RGB彩色图像的加密.
[1] Li S J, Chen G R, Cheung A, et al. On the design of perceptual MPEG-Video encryption algorithms [J]. IEEE T Circ Syst Vid, 2005, 17(2): 214-223.
[2] Khan M ,Shah T. An efficient chaotic image encryption scheme[J]. Neural Comput Appl, 2015, 26(5): 1137-1148.
[3] Khan M, Shah T, Batool S I. Construction of S-box based on chaotic Boolean functions and its application in image encryption[J]. Neural Comput Appl, 2016, 27(3): 677-685.
[4] Belazi A, Khan M, El-Latif A A A, et al. Efficient cryptosystem approaches: S-boxes and permutationsubstitution-based encryption [J]. Nonlinear Dynam, 2017, 87(1): 337-361.
[5] Norouzi B, Mirzakuchaki S, Seyedzadeh S M, et al. A simple, sensitive and secure image encryption algorithm based on hyper-chaotic system with only one round diffusion process [J]. Multimed Tools Appl, 2014, 71(3): 1469-1497.
[6] Kassem A, Hassan H A H, Harkouss Y. Efficient neural chaotic generator for image encryption [J]. Digit Signal Process, 2014, 25(2): 266-274.
[7] Arroyo D, Diaz J, Rodriguez F B. Cryptanalysis of a one round chaos-based Substitution Permutation Network [J].Signal Process, 2013, 67(2): 1358-1364.
[8] 王青松,范铁生.基于位置和灰度变换的混沌图像置乱算法[J].小型微型计算机系统,2012,33(6):1284-1288.
[9] 廖琪男,卢守东,孙宪波.结合超混沌序列和移位密码的数字图像加密算法[J].小型微型计算机系统,2015,36(2):332-337.
[10] 廖雪峰.一种混沌双变换图像加密算法的分析与改进[J].温州大学学报(自然科学版),2014,35(5):8-16.
[11] 朱从旭,卢庆.对结合超混沌序列和移位运算图像密码的攻击[J].山东大学学报(理学版),2016,51(5):67-71.
[12] Behnia S, Akhshani A, Mahmodi H, et al. A novel algorithm for image encryption based on mixture of chaotic maps[J]. Chaos Soliton Fract, 2008, 35(2): 408-419.
(编辑:封毅)
An Image Encrypting Algorithm Based on a New Compound Chaotic System
LIAO Xuefeng
(Oujiang College, Wenzhou University, Wenzhou, China 325035)
A type of compound chaotic system which is composed of Logistic map and sine map is proposed in this paper. Compared with the original chaotic system, the chaotic sequences generated by the composite chaotic system have better performance, and the parameter range of the chaotic properties is even larger. In order to verify the application effect of the new composite system in image encryption, a new image encryption scheme is raised. The effectiveness of new system in image encryption application is verified in this scheme. Theoretical analysis and simulation experiment show that the very encryption scheme has good cryptographic properties, and the algorithm can resist brute force attack, statistical analysis attack, differential attack and chosen plaintext/ciphertext attack.
Chaos; Compound Chaotic System; Image Encryption
TP309.7
A
1674-3563(2017)04-0053-09
10.3875/j.issn.1674-3563.2017.04.008 本文的PDF文件可以从xuebao.wzu.edu.cn获得
2017-03-19
温州大学院校合作科研项目资助课题(2015Y020)
廖雪峰(1980- ),女,湖南娄底人,讲师,硕士,研究方向:混沌密码学