新高维超混沌系统的设计及其图像加密应用
2022-12-19赵坤何建斌
赵坤, 何建斌*
(1.闽南师范大学数学与统计学院, 漳州 363000; 2.闽南师范大学数字福建气象大数据研究所, 漳州 363000)
混沌系统是一类特殊的非线性动力学系统之一,它在确定性系统中能产生具有敏感依赖于初始条件的类随机运动行为,其运动轨迹具有不收敛、不发散和不周期等主要特点[1]。Lorenz[2]发现了首个混沌系统,引起了人们的广泛关注,并不断提出了新混沌吸引子和加深对混沌系统及理论的研究[3-6]。
混沌系统的基本特征是对初始值高度敏感性,即初始值的任意微小改变将对混沌系统轨迹产生巨大的变化,从而具有运动轨迹的往复非周期性、长期不可预测性、伪随机性和无序性等也是混沌运动的主要特点[7]。因此混沌系统常被用于图像加密算法设计和保密通信等,然而对于基于混沌系统加密和保密通信的安全性问题也引起了人们的普遍关注。一般低维混沌系统的加密算法可能存在一些破译方法的攻击问题,而高维超混沌系统产生的密钥流用于图像的加密领域加密效果好,且安全性能更高[8]。
众所周知,正李雅普诺夫指数的数量和大小是一个典型的衡量非线性动力学复杂性的指标,正李氏指数的数量越多,系统的复杂性越高,随机性越强,意味着利用该系统进行图像加密具有更好的加密效果[9]。学者们拓展研究了高维超混沌系统[10-11]。Liu等[12]提出DNA互补规则和混沌映射相结合的图像加密算法。Wang等[13]将元胞自动机与混沌相结合,提出了一种新的图像加密方法。Khanzadi等[14]提出了一种使用随机比特序列生成器并基于混沌映射的图像加密算法。Zhang等[15]提出了一种基于时空非相邻耦合映射格的图像加密算法。禹思敏等[16]回顾了过去混沌密码理论与应用的现状及存在的问题,并对其进行了综合评述,重点报道了近年来高维混沌密码及其在多媒体保密通信中的应用与硬件实现技术的进展,基于反控制方法设计无简并高维混沌密码增强数字混沌的抗退化能力。Li等[17]提出一种基于混沌帐篷图的新型图像加密方案,并且基于这种地图的图像加密系统表现出更好的性能。温贺平等[18]提出了一种基于Hadoop大数据平台和无简并高维离散超混沌系统的加密算法,该算法具有较好的执行效率,并且无简并高维离散超混沌加密算法能提高系统安全性能,具有更好的统计特性, 可通过严格的TESTU01测试。Zhu等[19]提出了一种改进的基于混沌的图像加密方案,该方案集成了置换、扩散和线性变换的过程。Wang等[20]基于分段线性混沌映射(piecewise linear chaotic map, PLCM)实现的动态随机耦合映射格模型,提出了一种具有随机交叉扩散的新型高灵敏度图像加密算法。Asgari-Chenaghlu等[21]提出了一种混合在一维混沌映射的多项式组合的动态图像加密算法。Chai等[22]又提出了一种基于动态DNA加密和混沌的彩色图像密码系统。Liu等[23]针对耗散混沌具有吸引子且易被重构混沌攻击的问题,提出了一种新的耗散混沌模型,并针对基于耗散混沌的加密算法存在的安全缺陷,设计了基于耗散混沌的加密算法[23]。Wang等[24]将Logistic映射、正弦映射和帐篷映射进行改进,提出了一种基于动态行置乱和锯齿变换的图像加密算法。林文兵等[25]提出了基于混沌映射和置换有序二进制编码的密文域可逆信息隐藏。邹东尧等[26]针对一维Logistic映射和Sine映射参数范围有限且混沌序列分布不均匀等问题提出改进的一维逻辑正弦混沌系统,在此基础上设计了一种对明文敏感度较高的图像加密算法。张淑霞等[27]针对现有的低维混沌系统和单调DNA编码系统安全性较低的问题提出一种超混沌系统与DNA编解码相结合的彩色图像加密算法,并且对仿真结果进行安全性分析,结果表明新算法提高了算法的加密效率,并增强了加密的安全性。此外,学者们也提出了基于混沌系统的其他加密算法[28-30]。
研究新的高维超混沌系统设计方法是重要热点课题之一,而基于混沌系统提出具有更高安全性的加密算法是混沌理论在信息加密应用的重要分支。与以上文献不同,本文基于平均特征值准则方法,利用渐近稳定的标称系统和控制器设计,构建了一个具有最大个数正李氏指数的八维新超混沌系统。为了克服低维混沌映射的缺点,获取更具随机性的序列,本文构造具有六个正李雅普诺夫指数的八维无简并离散超混沌系统并应用于图像加密算法设计,主要贡献概括为以下几个方面。
(1)通过控制器设计和位置选取,构建了具有六个正李氏指数的八维新超混沌系统。
(2)基于提出的新超混沌系统,设计适用于信息加密的伪随机序列,并以图像为案例分析该加密/解密算法的可行性和有效性。
(3)通过MATLAB软件仿真实验,该高维超混沌系统具有更强的伪随机性,并且该算法能够较好地抵御差分攻击和选择明文攻击等。现提出八维新超混沌系统,并设计基于该高维超混沌加密算法,期望该类超混沌系统的加密算法的应用能够提高图像加密的有效性和安全性,并在大数据时代背景下的图像或视频等多媒体信息加密发挥实用价值,丰富流密码算法理论及应用案例。
1 八维新超混沌系统与平衡点分析
根据高维混沌系统反控制方法[31],构造了一个具有最大个数正李氏指数的八维新超混沌系统。先设计连续线性标称系统的矩阵A,通过非奇异的相似变换矩阵P,得到线性系统为
(1)
式(1)中:变量X=[x,y,z,w,u,v,p,q]T;标称矩阵A和相似变换矩阵P分别为
(2)
而分块矩阵Ai(i=1,2,3,4)为
(3)
若施加一个控制矩阵C和一致有界的控制器f(σX,ε),得到受控系统为
(4)
(5)
若选取控制器参数ε=27、σ=5和控制位置为(i,j)=(8,1),则受控系统如式(6)所示:
(6)
由于控制器是连续一致有界的,该受控系统(6)也是有界的,选取初始值为(x0,y0,z0,w0,u0,v0,p0,q0)=(0.2,0.1,0.3,0.1,0.2,0.1,0.2,0.1)经过实验计算,该受控系统(6)的李氏指数为
(7)
显然,该受控系统具有6个正李氏指数的超混沌系统,其混沌吸引子相图如图1所示。
未受控系统(1)的平衡点只有零点,即
(x,y,z,w,u,v,p,q)=(0,0,0,0,0,0,0,0)
(8)
该平衡点相应的雅克比矩阵的特征值为
(9)
可知未受控系统(1)是渐近稳定的。而受控系统(6)的平衡点不仅具有一个平衡点(0,0,0,0,0,0,0,0),还存在非零的平衡点,可以近似归纳为两类平衡点,而相应的雅克比矩阵[9]为
(10)
式(10)中:ε=27,σ=5,则该系统在两类平衡点的特征值分别为
(11)
(12)
则受控系统(6)在两类平衡点处的特征值具有正实部,因而是不稳定的。此外,通过实验测试,控制位置(i,j)分别选取为(8,1)(8,3)(8,5)(8,6)(8,7)时,该受控系统(6)也可以生成具有6个正李氏指数的八维新超混沌系统。
2 八维新超混沌系统加密算法设计
2.1 伪随机序列预处理
根据上述八维新超混沌系统,设计灰度图像加密算法,先将超混沌系统进行离散化处理,采用4阶的龙格库塔算法,其计算公式为
(13)
选取初始值X0=(x0,y0,z0,w0,u0,v0,p0,q0)=(0.2,0.1,0.3,0.1,0.2,0.1,0.2,0.1),步长h=0.001,时间T=800,得八维新超混沌系统(6)的8个伪随机序列为
X=(x,y,z,w,u,v,p,q)
(14)
将伪随机序列(14)应用于图像明文信息的置乱和扩散加密,先进行序列预处理,步骤如下。
步骤1将伪随机序列(14),去掉x、y、z、w长度为1 000+mod(sum,σ×ε)的暂态混沌序列,选取长度为m×n的序列x、y、z、w。而伪随机序列u、v、p、q从第100+mod(sum,σ×ε)处开始选取长度为m×n的序列,其中m、n分别为图像高度和长度,sum为明文像素值的总和,mod为取模函数。
步骤2将序列x、y和z、w分别取绝对值和取模转化为序列S′1、S′2,取整运算变为序列S1、S2,即
(15)
式(15)中:abs是取绝对值函数;floor是向下取整函数;fix是向零取整函数。
步骤3将序列u、v、p、q进行求和、取模和取绝对值运算后转化为序列S′3,将序列S′3通过取模和取整运算生成序列S3,即
(16)
2.2 加密算法设计
利用伪随机序列S1、S2、S3进行图像的置乱和扩散加密,详细加密算法如下。
2.2.1 置乱加密I
将明文图像记为P0,大小为m×n。将图像矩阵P0按从上到下、从左到右的顺序转化为一维数组P′0,第一轮置乱加密步骤如下。
步骤1将伪随机序列S1按升序排列得到有序序列d1。
步骤2由d1在S1中的位置索引为序列值生成的映射序列,记为h1。
步骤3将序列值h1作为索引,将数组P′0变换到新数组P′1,变换公式为
P′1(i)=P′0[h1(i)],i=1,2,…,m×n
(17)
将置乱数组P′1转化为置乱后的图像P1。
2.2.2 置乱加密II
类似地,将上述置乱图像P1进行再进行置乱加密,达到双重置乱加密效果,步骤如下。
步骤1将伪随机序列S2按升序排列得到序列d2,由d2在S2中的位置索引为序列值生成的映射序列h2。
步骤2利用序列值h2作将置乱数组P′1变换到置乱数组P′2,即
P′2(i)=P′1[h2(i)],i=1,2,…,m×n
(18)
将置乱数组P′2转化为置乱图像P2。
2.2.3 扩散加密
利用序列S3将置乱图像P2进行扩散加密,步骤如下。
步骤1将置乱数组P′2中的第一个明文像素值与序列S3第一位进行一次异或(⊕)加密,即
P′3(1)=P′2(1)⊕S3(1)
(19)
步骤2将P′2从第二个明文像素值与前一个密文以及序列S3进行异或得到扩散加密数组P′3,即
P′3(i)=P′2(i)⊕P′2(i-1)⊕S3(i),
i=2,3,…,m×n
(20)
将数组P′3转化为密文图像P3。
2.3 解密算法设计
解密算法是加密算法的逆运算过程,根据接收端获取正确密钥恢复明文图像,具体解密过程如下。
步骤1将加密图像P3按从左到右、从上到下的顺序转化为一维数组P′3。
步骤2将数组P′3的第一个值与随机序列S3异或得到还原数组P′2的第一个值,即
P′2(1)=P′3(1)⊕S3(1)
(21)
而第二个明文与序列S3异或,再与前一个密文异或运算得到扩散还原数组P′2,即
P′2(i)=P′3(i)⊕S3(i)⊕P′2(i-1),
i=2,3,…,m×n
(22)
步骤3:利用序列S2和S1分别将数组P′2还原为置乱数组P′1和P′0,要按倒序方式来解密,即
(23)
最后将数组P′0转化为图像P0,获取原始明文图像。
3 实验仿真结果
根据提出的混沌加密算法,选取大小为512×512的Lena灰度图像,其像素值总和sum=32 515 995,加密系统的初值密钥为(x0,y0,z0,w0,u0,v0,p0,q0)=(0.2,0.1,0.3,0.1,0.2,0.1,0.2,0.1),ε=27,σ=5,w=20,w2=1,(i,j)=(8,1),通过MATLAB软件仿真实验,该混沌加密算法的图像加密和解密结果如图2所示。
图2 图像加密和解密结果Fig.2 Results of encryption and decryption image
通过图像加密和解密结果发现,明文图像经过加密后已经没有明显的规律,并且不能分辨出原明文图像的信息,说明该算法具有一定的加密效果。误差图像可以看出解密误差都为零,密文图像能够成功还原。
4 安全性分析
4.1 密钥敏感性分析
密钥的敏感性可以将密钥微小改变进行测试,如果密文还原失败,就说明算法对密钥具有较强的敏感性。以Lena灰度图像为例,验证了本算法对初始密钥的敏感性。根据测试结果,图3(a)是用正确密钥(x0,y0,z0,w0,u0,v0,p0,q0)生成序列S1、S2、S3得到的解密图像。若保持其他密钥不变,只改变一个密钥,即用与加密密钥存在微小差别的解密密钥对密文图像进行解密。图3(b)~图3(i)分别给出了微小误差密钥的解密结果,无法成功还原出明文图像。考虑到受控系统的矩阵A和P的参数均有64个元素,通过实验测试,表1给出了无法解密的密钥误差大小。
实验结果表明,使用正确密钥能够实现对加密图像精准解密,而使用存在微小差别的错误密钥解密的图像与原明文相差很大,无法还原明文图像。根据表1的测试结果,该算法的密钥空间(key space, KS)约为
KS=(1014)64×(1014)64×1015×(1016)6×(1017)2
=101 937>2210
(24)
表1 密钥敏感性测试结果Table 1 Test results of key sensitivity
4.2 统计分析
直方图是数字图像的像素值分布结果,可以体现图像加密效果,其横坐标为[0,255]的像素值,纵坐标为相应的频率。图4分别给出了原始图像与加密图像的直方图。显然,加密图像的直方图分布均匀,说明加密图像的像素值概率是近似相等的,该算法能够有效地抵抗统计攻击。
图4 图像的直方图Fig.4 Histogram of encrypted image
4.3 差分分析
通过两幅图像相应位置的像素值对比,像素数目变化率(number of pixels change rate, NPCR)表示不同像素点个数占全部像素点的比例,平均变化强度(unified average changing intensity, UACI)表示两幅图像像素值的平均差值,其计算公式为[32]
(25)
式(25)中:x为原密文图像;x′为明文改变后的密文图像。
若图像的一个像素值改变可以导致加密图像发生巨大变化,该算法具有较强的明文敏感性。将原始图像Lena中位置(1,55)的像素值由162变为161,图像Cameraman中位置(1,55)的像素值由169变为168,图像Barbara中位置(1,55)处的像素值由136变为135,然后加密得到新加密图像。表2给出了三幅图像的NPCR和UACI,测试结果与期望值接近,即原始图像的微小变化都将引起密文的明显变化,该加密算法能有效地抵抗差分攻击。
表2 NPCR和UACI测试结果Table 2 Test results of NPCR and UACI
4.4 相关系数
明文图像在水平、垂直、正对角线和反对角线方向的相邻像素之间具有很强的相关性。像素之间包含着图像信息,攻击者可以很容易地利用这些信息来破解密文。因而加密图像中相邻像素之间的相关性应达到大幅度降低,甚至为零。相关系数是衡量加密效果的一个重要指标,若图像中取N对相邻的像素点,记它们的灰度值为(ei,fi),(i=1,2,…,m×n),则向量e={ei}和f={fi}的相关系数计算公式[33]为
(26)
设ei的坐标为(ki,li),若fi坐标为(ki+1,li),计算结果为水平方向的相关系数。
从图像中随机选取1 000个样本点,表3为一些明文和密文图像在水平、垂直和对角方向上的相关系数,而图5为图像加密前后的相关情况。显然,明文图像相邻像素之间的相关系数接近1,表明相邻像素之间的相关性非常强,而密文图像接近0,表明加密算法降低了图像相邻像素之间的相关性。以Lena图像为例,与其他加密算法比较,本文算法的密文相关系数已经接近0。
表3 明密文相关系数Table 3 Correlation coefficients of plaintext and ciphertext
图5 Lena图像的相关分析Fig.5 Correlation analysis of Lena image
4.5 信息熵
信息熵反映了图像的平均信息量,而灰度图像的信息熵计算公式[36]为
(27)
式(27)中:pi为第i阶灰度值的概率,信息熵的值越接近8说明算法的加密效果就越好。根据式(27)求得加密图像的信息熵如表4,测试结果接近理想值。
表4 信息熵Table 4 Information entropy
4.6 NIST测试
NIST测试可用于检验序列的随机特性,包含单比特频率、块内频率、游程和非重叠模板匹配等15种测试。测试结果都计算出一个P-value大于0.01,则认为测试序列具有随机性[37]。
为了便于NIST测试,对混沌序列(14)进行预处理为(x′,y′,z′,w′,u′,v′,p′,q′),即
(28)
表5给出了序列(x′,y′,z′,w′,u′,v′,p′,q′)的NIST测试结果,超混沌系统的8个伪随机序列通过大部分测试。而这些序列按式(15)和式(16)的预处理方法,得到3个新伪随机序列S1、S2、S3,则能通过NIST的所有测试,具有更强的随机性。
表5 NIST测试结果Table 5 Test results of NIST
4.7 抗剪切攻击测试
攻击者若无法破译密文,也可能会对密文进行损毁或破坏,因而密文图像对抗剪切攻击能力也显得非常重要。为测试算法抗剪切攻击的性能,对密文图像的左上角、右上角、左下角和右下角分别进行1/16和1/4裁减及上下左右方向的1/2裁减,将裁剪后的图像进行解密还原。测试结果如图6所示,密文图像经过不同程度的裁减,依然能够从解密的图像中获取明文的大部分信息,算法对抗剪切攻击性能较好。
图6 剪切攻击测试Fig.6 Test of cropping attack
4.8 加密效率分析
时间复杂度用来衡量加密算法执行的时间长短,是衡量加密算法的一个重要指标。在加密算法安全的前提下,提高加密速度对于图像加密非常重要。不同算法的实际加密速率受到众多复杂因素影响,例如迭代次数、编程方法、编程软件等。经过测试计算,表6给出了对512×512的图像加密时间,本文算法与其他加密算法的时间对比,结果说明本文算法具有较好的加密效率。
表6 加密效率分析Table 6 Encryption efficiency analysis
5 结论
通过一类渐近稳定的标称线性系统和控制器设计,构造了具有六个正李氏指数的八维新超混沌系统,并在受控系统的多个控制位置发现了高维超混沌系统。将该超混沌系统生成的伪随机序列进行预处理,使得新伪随机序列能通过NIST测试,进而设计了将两轮置乱加密和扩散加密相结合的图像加密算法。该算法密钥与将明文图像灰度值总和有关,能够抵御差分攻击和选择明文攻击等。实验仿真表明,高维超混沌加密算法具有高度的密钥敏感性和良好的密文统计特性,可以应用于图像等多媒体信息的保密通信。