当前混沌加密系统大多采用单向扩散机制,导致计算效率和加密解密速度较低,且都忽略了时间延迟现象,使其序列自相关性较高,无法满足安全、实时的传输需求。为此,本文设计了时间延迟函数和双向扩散机制,采用双向扩散机制与时间延迟相融合的算法,并借助仿真手段来检验本文算法的加密性能。

一、图像加密算法背景介绍

近年来,随着超混沌系统理论及实际工程应用的不断发展,为图像加密提供了一种新的有效保护手段。超混沌系统具有多个正的Lyapunov指数、轨迹难以预测与分析等特征,在图像加密领域中得到了广泛应用。提出了改进的AES超混沌系统图像加密算法,并对该算法的安全性进行了分析与研究,仿真实验结果表明该加密系统安全性高,密钥空间巨大,具有较强敏感性能,抗选择明文攻击能力与抗差分攻击能力大幅度增强。设计了一种新的四维超混沌Chen系统对图像进行加密研究,实验结果表明该加密系统密钥空间巨大,抗选择明文攻击能力强。

在以上这些基于混沌理论的加密算法中,都使用了置乱一扩散结构。为了达到较好的加密效果,一般要使用多次置乱、多次扩散,要经过3轮~5轮的整体“置乱·扩散”处理才能使得这些像素点的布局影响到整个密文。这些算法的加密实质如图1所示。

从图1可知,想要得到理想加密性能,需进行多次置乱、多次扩散;然而,改变一个像素值,就需要一个对应的密钥流元素,生成一个加密元素又需要进行一个置乱、迭代一次混沌系统以及量化处理。这样就大大地增加了计算量和成本,导致较慢的加解密速度和计算效率,无法满足实时传输要求。且这些混沌加密系统都没有考虑时间延迟特征,导致其序列自相关性较高,降低了加密系统的安全性。

二、超混沌LORENZ系统

采用超混沌LORENZ系统生成对应序列,其模型如下:

其中,X,Y,Z,W均为状态参量,是x,y,z,w对时间f的微分;r为该系统的控制参数;x,y,z以及w是系统参量;a,c,b以及r均为系统参数,典型值分别为10,8/3以及28,r=0.85。设初始图像P大小为MxN,具有M行和N列,该图像的总大小为L=MxN。假设正整数No,时间间隔为1,设定超混沌LORENZ系统的初值(x0,Yo,z0,w0)以及系统参数A,B,c及R,利用四阶龙格·库塔公式迭代求解该超混沌系统,得到了4个序列A={xi},A2={Yi},A3={zi},A2 ={wi},I=1,2,L,(L+N1)/4,则超混沌LORENZ系统产生的超混沌序列A= {A1,A2,A3,A4}。

然而当前基于混沌序列的加密算法都没有考虑时间延迟,导致超混沌序列的自相关性还不是十分理想,安全性较低。因此,本文提出时间延迟函数来解决这个问题。

三、时间延迟函数

时间延迟是自然界普遍存在的现象,在图像加密领域中的混沌序列生成过程中仍然存在。本文采用logistic映射作为序列的生成器,其模型如下:

通过时间延迟函数式(3)将时间延迟引入到超超混沌伪随机序列A中,连续进行迭代计算,得到关于时间延迟的混沌序列:A'= {A'1,A'2,A'3,A'4}。

其中,k∈[1,2,L];λk1,λk2,λk3以及λk4分别表示生成对应的伪随机序列A'1,A'2,A'3以及A'4的第k个时间延迟值,这个时间延迟值由logistic映射模型控制。

由于时间延迟造成额外的时间成本,因此需要将这个时间延迟值见进行合理的限制,使花费成本较低。若时间延迟λ在t时间间隔步骤范围内,如式(4)所示:

其中,floor(h)代表与z相距最小的整数;mod(h,f)代表的是h对t取余。

四、图像加密算法描述

本文提出的加密算法流程如图2所示。

该加密算法的描述如下:

步骤1假设图像尺寸为MxN,设置好本文的初始条件x0,Yo,z0,wo以及参数a,b,c,r。

步骤2使用步骤1的初始条件以及混沌参数,根据超混沌LORENZ系统模型进行迭代计算,得到四维超混沌伪随机序列A= {A1,A2,A3,A4},其中:Ai={xi},A2 ={Yi},A3={zi},A2={wi},i∈[O,n+l]。

步骤3根据时间延迟函数将λ值引入到序列A中,并进行迭代计算,得到时间延迟序列:

步骤4每个序列中的元素按照从上到下的顺序进行排列,形成一个新的序列B'= {B'1,B'2,B'3,B'4},其中:

步骤5在A'= {A'1,A'2,A'3,A'4}中找出B'= {B'1,B'2,B'3,B'4}对应的每个元素的位置,形成一个位置集合D={D1,D2,D3,D4),其中:D1={Xi},D2={Yi},D3={Zi},D4={Wi}。且元素之间的对应关系为:

步骤6使用集合D对初始图像进行置乱处理,得到置乱图像P’。

步骤7利用密钥流元素计算公式量化步骤3得到的时间延迟混沌序列,得到与之相应的密钥流元素Zμn,将此4个密钥流元素形成一个序列:

计算公式如下:

其中,abs(φn)是|X|的取值;round(X)是取x的整数;floor(X)代表的是与x相距最小的x整数(<X);mod(X,IO代表的是X对y取余;L是图像的灰度等级。

步骤8序列根据双向扩散机制对置乱图像进行扩散处理。先进行正向扩散,利用式(7)~式(11)从图像的第一个像素到最后一个像素进行扩散,Z中每个元素都在区[o,255]内,正向扩散机制操作模型如下:

其中,CO为选择的像素值常量;Ci,Ci-1分别为当前像素值与前一个像素值。为使加密算法与明文图像紧密相连,令Co为置乱图像的第一个像素值与最后一个像素值的平均值;Pi'是置乱像素;Zxi表示第i元素,令Zx0等于置乱图像第一个像素值。α1β1是加密系统中额外2个控制参数。

正向扩散处理后,并没有结束,而是进行反向扩散处理,反向扩散模型如下:

其中,i=MxN,MxN-1,L,1。

步骤9直到双向扩散处理完毕后,得到加密元素序列E,按照从上到下,从左到右的顺序将E中的每个元素进行排列,输出加密图像。

五、仿真实验结果及分析

1、时间延迟对混沌序列自相关性影响的对比分析

为了体现本文将时间延迟引入到超混沌序列后所产生的时间延迟混沌序列的自相关性优势,将所产生的混沌序列作为对照组。图3为混沌序列的自相关性系数变化仿真结果。未考虑时间延迟的超混沌序列的自相关性如图3(a)所示,其自相关性呈现无规则波动的分布状态,但是波动幅度较大,表明其自相关性还不是很理想;图3(b)是本文算法处理后的混沌序列的自相关性分布。

 

从图3中可知,将时间延迟引入到超混沌序列中,其自相关性达到了较为理想的状态,当m不断变化时,自相关系数变化的程度相当小。可见,时间延迟能显著消除序列的自相关性,使其达到理想效果,具有更好的伪随机性。

2、加密算法安全性能仿真分析

借助Matlab仿真软件对本文加密算法的加密质量进行验证。输入一个边长L为256的正方形明文图像,色灰度为256。仿真结果如图4(a)~图4(c)所示。其中,r=-0.85,初值依次为xo=2.5,Yo=6.2,zo=4.8,wo=3.9。

(1)灰度直方图

灰度直方图能够直接反映出像素的分布状况。从图5(a)可知,初始图像的灰度分布不均匀,波动程度较大;而经过位置集合置乱方法置乱后的像素灰度直方图与图5(a)相同,如图5(b)所示,表明它们的伪随机性以及冗余性较低,容易被攻击者破译。而经过本文加密算法处理后的图像灰度直方图发生了根本性变化,如图5(c)所示,呈现出均匀状态,拥有较高的加密安全性。

(2)密钥空间

根据本文加密算法描述可知,本文图像加密算法的密钥空间包括了超混沌LORENZ系统的初始条件以及控制参数,Logistic模型的初值以及时间延迟值。假设计算精度达到l0-16,则本文算法的密钥空间为(1 016)10=10160,显著大于2100。可见,本文加密算法所具有的密钥空间是巨大的,具有相当强的抗穷举攻击能力。

(3)相邻2个像素点的相关性分析

一个理想的加密算法应能有效消除2个相邻像素点的相关性。在初始与密文图像中随意择取1 600对相邻像素点,以计算Yxy。其模型如下:

图6是初始图像与密文的2个相邻像素点在水平轴线上的相关性测试结果。从图6(a)可知,明文图像的相邻像素值聚集成一条对角线,说明其具有较强的相关性,达到0.962 7;而经过本文算法操作后,其像素值均匀地布满了整个灰度平面,如图6(b)所示,约为0.002 3。表明其相关性得到了明显消除。

其他2个方向的相关性实验结果如表1所示。从表1也可知,明文图像相关性是较高的,而经过本文提出的加密算法处理后的密文图像关性得到了大幅度降低,趋于0。

(4)计算效率以及抵御差分攻击性能的对比分析

本文根据像素变化率rNPCR以及平均变化强度SUACI来评估该算法的加密性能。其模型如下:

根据上述公式计算得到rNPCR=99.62%,SUAa=33.35%,分别如图7(a)和图7(b)所示。因此,本文提出的算法中任何一个初值一旦发生极其微小的变化,则其相应的密文之间的差异度巨大。从图中也可看到,本文加密算法的像素变化率和平均变化强度都是在迭代1次时,就达到了理想的效果;则需要经过3轮迭代计算才能达到一样的效果。可见,本文算法具有较高的计算效率,避免了多轮“置乱·扩散”的时耗问题。

(5)加密速度

一个良好的加密系统应该具有较快的加密速度和解密速度,特别是对于实时互联网的应用。采用睿酷3.5 GHz双核CPU,4 GB的内存,操作系统为Windows XP。采用本文加密算法对大小为256x256像素的图像进行加密,其加密速度达到了31.34 MB/s。主要原因是本文算法使用了双向扩散机制,从而明显提高了加密速度。本文算法的加密速度非常适用于实时互联网的应用。

小知识之Lyapunov指数

Lyapunov指数是衡量系统动力学特性的一个重要定量指标,它表征了系统在相空间中相邻轨道间收敛或发散的平均指数率。对于系统是否存在动力学混沌, 可以从最大Lyapunov指数是否大于零非常直观的判断出来: 一个正的Lyapunov指数,意味着在系统相空间中,无论初始两条轨线的间距多么小,其差别都会随着时间的演化而成指数率的增加以致达到无法预测,这就是混沌现象。