基于超混沌系统和密文交错扩散的图像加密新算法

2012-07-25 04:11朱从旭胡玉平孙克辉
电子与信息学报 2012年7期
关键词:明文密文解密

朱从旭 胡玉平 孙克辉

①(中南大学信息科学与工程学院 长沙 410083)

②(广东省电子商务市场应用技术重点实验室 广州 510320)

③(中南大学物理与电子学院 长沙 410083)

1 引言

随着多媒体信息处理技术的广泛应用以及互联网、云计算技术的快速发展,多媒体数据日益广泛地在因特网或云计算节点间传播和存储。如何有效保护用户的秘密信息不被非法者使用,根本的措施是信息保密传输和存储。传统密码学作为一般数据加密手段却不太适合于图像数据加密,原因是图像类的信息具有数据量大、数据之间相关性高等特点。具有这种特点的数据用传统密码学加密会导致效率很低。在新的应用背景下,基于混沌的信息加密[1]和基于混沌同步的保密通信[2]已成为两种典型的非传统信息保密技术。混沌序列具有的内在伪随机性、非周期性和可确定的快速再生性,正与密码学所要求的特性天然相关;因此,混沌在信息加密中有着良好的应用前景,尤其在图像加密场合有许多独特优势等待开发。

但是,以往研究的混沌加密技术大多数基于低维离散混沌映射[3-8],少数基于 3维连续混沌系统[9,10]。虽然低维混沌系统由于形式简单而具有计算时间开销小的优点[1];但由于其密钥空间小,序列的复杂度不高,导致密码系统安全性不高。而高维混沌系统尤其是超混沌系统,由于具有4个以上的状态变量,因此密钥空间更大;另外,超混沌系统具有两个以上正的 Lyaponuv指数,其非线性行为更复杂也更难以预测。这些特点使得超混沌系统用于图像加密无疑会提高系统的安全性。因此,随着现代计算机系统性能的不断提高,探索基于高维超混沌系统的图像加密算法将成为主流需求。文献[11]较先提出了一种基于超混沌系统的典型图像加密算法,该算法由图像像素位置置乱和像素值加密两个阶段组成。但是,文献[12]发现该算法存在安全缺陷,其主要原因是该算法的密钥与明文无关,导致无法抵御已知明文攻击;其次是该算法的置乱和替代加密独立,使置乱过程成为摆设。最近,文献[13]提出了一种基于新型超混沌系统的图像加密算法,该算法在加密过程考虑了密钥与明文的相关性,但总体上沿用了文献[11]的像素位置置乱和像素值加密的基本结构。调研发现,现有研究工作中对连续时间高维混沌序列的优化改造问题关注的不多;然而,混沌密码的安全性很大程度上依赖于混沌序列的分布特性、复杂性和随机性[14]。因此,对超混沌序列进行进一步改造无疑能提高密码的安全性。此外,如何提高超混沌图像加密算法的效率也值得研究。为了获得高安全与高效率的图像加密方案,本文提出了基于下列核心思想的超混沌图像加密算法:其一,对超混沌序列进行优化改进,提高其随机性和分布的均匀性。其二,建立密钥与明文的复杂相关性,增强密文对明文和密钥的敏感性。其三,省略像素置乱步骤,采取并行交错的加密策略,提高加密效率和算法的复杂性。

2 超混沌密码算法

2.1 超混沌系统模型及其序列改造

在本文的密码方案中,我们采用如下新型超混沌系统[15]:

原始的超混沌序列并不适合直接用于图像加密,其原因有二:一是实数序列的数值类型与数字图像的像素值类型不匹配;二是数字化原始超混沌序列的分布特性和伪随机特性并不很理想。基于以上原因,我们首先对原始超混沌序列进行改造,(1)使改进序列具有Golomb提出的理想伪随机序列所拥有的特性,即均匀的分布特性;自相关函数接近d函数;互相关函数接近 0。(2)使改进序列的数据类型适合于图像数据加密。

将混沌序列进行改造,生成中间混沌密钥序列的步骤如下:

(1)设由系统生成的原始混沌序列表示为{xj(i):i=1,2,…,N0+L/4;j=1,2,3,4}。{xj(i)}包括 4 个(j=1,2,3,4)长度为(N0+L/4)的实数序列。其中,L为待加密图像的像素点总数,N0为超混沌系统的预迭代次数。

(2)为了消除混沌序列暂态过程带来的有害效应,以便增强序列对初始条件的敏感性,去掉原始混沌序列的前N0个值,得到 4个长度分别为L/4的子序列{xj(i):i=1,2,…,L/4;j=1,2,3,4};再按照变换式(2)对序列{xj(i)}进行改造,得到改进序列{yj(i)}:

其中max_xj和min_xj分别是第j个序列中的最大值、最小值,j=1,2,3,4。然后由改进序列{yj(i)}经二次改造,得到4个混沌密钥子序列{zj(i)}:

其中|x|取x的绝对值;floor(x)取小于或等于x的最大整数;m为正整数,在本文中取m=14。

(3)将改造后的4个子序列合并成长度为L的混沌密钥序列K,合并方式如式(4)所示:

下面通过实验证明:改进后的超混沌密钥序列具有更好的伪随机性和均匀分布特性。任取一组状态变量初值(x10,x20,x30,x40)=(2.5, 5.2, 3.0, 7.3),时间步长t1=0.001, 利用四阶五级Runge- Kutta法求解系统式(1)的状态方程组。以{z1(i)}和{z2(i)}两个子序列的前 2000项为例,计算改造后序列{z1(i)},{z2(i)}的自相关系数以及两个子序列{z1(i)}与{z2(i)}之间的互相关系数。计算前将序列值归一化到[-1,1]范围:Z1(i)=(z1(i)-127.5)/127.5,Z2(i)=(z2(i)-127.5)/127.5;得到的相关系数结果分别如图1(a), 1(b)和1(c)所示。从图 1(a)和 1(b)看出,前两个改进序列的自相关函数都非常接近d函数;而从图 1(c)也可以发现,前两个改进序列之间的互相关系数非常接近于 0。进一步的实验表明,其余几个改进子序列具有类似的结果。图1(d)则给出了中间混沌密钥序列K的数值分布曲线,结果表明,生成的中间混沌密钥序列值分布均匀。

图2给出了改进前的X序列的对应结果。取前两个序列得到的相关系数结果分别如图 2(a), 2(b)和2(c)所示。可见,原始序列的自相关函数并不是d函数;前两个原始序列之间的互相关系数也不接近于 0。进一步的实验表明,其余几个原始子序列具有类似的结果。图 2(d)则给出了中间混沌密钥序列K0的数值分布曲线,K0是将原始序列按线性转换公式xxj(i)=[xj(i)-max(xj)]×255/[max(xj)-min(xj)]直接转换成[0,255]范围整数序列后,再连接起来所得到的中间密钥序列。结果表明,这样生成的中间混沌密钥序列值分布是不均匀的。

2.2 新的图像加密算法

本文提出的超混沌图像加密算法的主要思路是:采用超混沌系统的4个状态变量的初值作为原始密钥;首先由超混沌系统式(1)生成4个混沌实数序列;然后将混沌实数序列按 2.1节所述方法进行优化改造,并得到性能优化的中间混沌密钥序列K。接下来,利用中间混沌密钥序列构造与加密图像有关的最终密钥序列Key,并利用最终密钥序列Key对图像像素进行两个回合加密。在加密过程中,我们将图像划分成前后两个子块,同时对两子块进行并行加密;并引入密文交错扩散机制。

设原始图像像素大小为M行、N列,总像素数为L=M×N,其矩阵表示形式为P

相应的加密图像矩阵用类似于式(5)的矩阵C表示,按逐行扫描顺序所得的密文像素序列为{C(i),i=1,2,…,L}。明文图像的前半子块依次由像素序列{P(1),P(2),…,P(L/2)}组成, 后半子块依次由像素序列{P(L/2+1),P(L/2+2),…,P(L)}组成。

第1回合的加密操作由步骤1至步骤3描述。

步骤1i←1;并对前一子块的第1个像素分别采用式(6a)与式(6b)生成最终加密密钥并进行加密操作;同时对后一子块的第1个像素分别采用式(7a)与式(7b)生成最终加密密钥并进行加密操作。

图1 改进混沌序列的相关性和混沌密钥的值分布特征

图2 原始混沌序列的相关性及生成的密钥序列值分布特征

在上述公式中,bitxor(x,y)将x和y按其二进制值进行比特位异或运算;mod(x,y)求x除以y得到整数商以后的余数。C0是一个预设的正整数,C0∈[1,255]。P(i),C(i)分别是原始图像和加密图像第i个像素的值。

步骤2i←i+1;并对前一子块的第i个像素分别采用式(8a)与式(8b)生成最终加密密钥且进行加密操作;同时对后一子块的相应像素分别采用与式(7a)和式(7b)相同的公式生成最终加密密钥并进行加密操作。

步骤3 重复步骤2,直到i=L/2,便完成了第1回合的加密操作。

第2回合加密操作由步骤4至步骤6描述。

步骤4i←1;并对前一子块的第1个像素分别采用式(9a)与式(9b)生成最终加密密钥且进行加密操作;同时对后一子块的第1个像素分别采用式(10a)与式(10b)生成最终加密密钥并进行加密操作。

步骤5i←i+1,并对前一子块的第i个像素分别采用式(11a)与式(11b)生成最终加密密钥并进行加密操作;同时对后一子块的第i个像素分别采用与式(10a)和式(10b)相同的公式生成加密密钥并进行相应的加密操作。

步骤6 重复步骤5,直到i=L/2,便完成了第2回合的加密操作,并得到密文图像C。

从上述加密过程可见,对图像像素加密所采用的最终加密密钥Key(i)不仅与当前混沌密钥K(i)有关,而且与另一子块前一个已经加密的密文像素值有关,即引入了密文交错扩散机制。因此,经过两个回合的加密后,任何像素值的变化都将影响到其余所有像素的密文值。

设解密图像用矩阵D表示,其像素值的表示形式类似于矩阵式(5),按逐行扫描顺序所得的解密图像像素序列为{D(i),i=1,2,…,L},L为图像像素总数。解密过程是加密过程的逆操作;但解密的像素顺序为逆序。2个回合的解密操作共由 8个步骤组成。

第1回合的解密操作由下列步骤1至步骤4描述。

步骤 1i←L/2。

步骤 2 对后半子块的第i个像素分别采用式(12a)和式(12b)生成解密密钥并进行解密:

对前半子块的第i个像素分别采用式(13a)和式(13b)生成解密密钥并进行解密操作:

步骤 3i←i-1, 并判断新的i值:如果i>1,则执行步骤2;否则,执行步骤4。

步骤 4 对后半子块的第 1个像素采用与式(12a)及式(12b)相同的计算公式生成密钥并进行解密操作;而对前半子块的第1个像素则分别采用式(14a)和式(14b)生成解密密钥并进行解密操作,于是完成了第1回合的解密。

第2回合的解密操作由下列步骤5至步骤8组成。

步骤 5i←L/2。

步骤 6 对后半子块的第i个像素分别采用式(15a)和式(15b)生成解密密钥并进行解密:

对前半子块的第i个像素则分别采用式(16a)和式(16b)生成解密密钥并进行解密:

步骤7i←i-1, 并判断新的i值:如果i>1,则执行步骤6;否则,执行步骤8。

步骤 8 对后半子块的第 1个像素分别采用与式(15a),式(15b)相同的公式生成解密密钥并进行解密操作;而对前半子块的第1个像素则分别采用式(17a)和式(17b)生成解密密钥并进行解密操作。

完成步骤8的操作后,就得到了最终的解密图像D。

3 实验仿真与性能分析

实验中使用256×256的8位Elaine灰度图像和其它经典测试图像,在Matlab7.1下仿真。式(1)的系统参数取:a=27.5,b=3,c=19.3,d=2.9,e=3。这样,系统式(1)是超混沌的。取系统状态初值为(2.5,5.2,3.0,7.3);微分方程组数值求解的时间步长取0.001;其它参数为:N0=1000,m=14,C0=52。对原始Elaine图像进行2个回合的加密,加密前后的直观效果如图3所示。

图3 图像加密直观效果

3.1 密钥空间和执行效率分析

本文方案采用超混沌系统的4个状态变量初值作为原始密钥,用15位小数的双精度实数表示。因此,密钥空间可以达到1015×1015×1015×1015=1060≈2199,相当于199 bit的密钥长度。若将预迭代次数N0和正整数C0也作为原始密钥,则密钥空间更大。故本文算法具有抗穷举攻击的能力。实验硬件环境为2.13 GHz Intel Celeron CPU, 2 GB 内存和120 GB硬盘的笔记本计算机;软件环境为 Windows XP+Matlab7.1编译器。加密过程全部改用双字节整数运算,加密一幅 256×256的灰度图像耗时约0.047 s;比文献[13]的结果0. 82 s约快了17倍。效率提高的主要途径在于省去了置乱环节、采用整数运算且实行子图并行加密策略。

3.2 统计特性分析

(1)像素值分布特性 图4分别给出了Elaine明文图像和密文图像所对应的像素值分布直方图,由图 4(a)可见,原始图像的像素值分布是不均匀的;但图4(b)表明,密文图像的像素值却呈现出平坦而均匀的分布特性,即加密图像的像素值在[0,255]范围内出现的概率几乎均等。因此,本文算法将能够有效地抵抗统计攻击。

(2)原始图像和加密图像的2维相关性 两个数据矩阵之间的2维相关系数定义为

图4 原始图像和加密图像的直方图

(3)相邻像素之间的相关性分析 从图像中选取所有邻居像素对(包括水平、垂直和对角方向的3类邻居对),用式(19)分别对每一类相邻像素之间的相关系数进行计算[11]:

其中xi和yi分别表示图像中第i组邻居像素的两个像素值;,分别为像素值xi与yi的平均值;M0为邻居像素对的组数;r即为相邻像素的相关系数。取与前所述相同的初始参数对Lena图像进行加密,计算加密前后图像3种方向的r系数,所得结果如表2第2,第3列所示。尽管明文Lena图像的相邻像素存在高度相关性(r→1);但对应密文图像的相邻像素已几乎不相关(r→0)。表 2同时也给出了文献[11]和文献[13]同样基于超混沌的图像加密算法的相应结果。对比已有算法,本文算法所得的密文图像的r系数比文献[11]和文献[13]密文图像的所有r系数更低,表明本文算法对于打破相邻像素之间的相关性取得的效果更好。

表1 4种测试图像中密文与明文图像之间的相关系数

表2 明文和密文Lena图像的相邻像素相关性

3.3 抗差分攻击能力分析

对明文的敏感性越强,算法抵抗差分攻击的能力也就越强。可以用像素数改变率NPCR(Number of Pixels Change Rate)指标度量加密算法对明文的敏感性;也可以用归一化像素值平均改变强度UACI(Unified Average Changing Intensity)指标度量敏感性。当两个明文图像仅存在一个像素不同时,设它们的密文图像中第(i,j)点的像素值分别为C1(i,j)和C2(i,j)。若C1(i,j) =C2(i,j),定义D(i,j)= 0 ;若C1(i,j) ≠C2(i,j),定义D(i,j) = 1。则NPCR与UACI的计算公式分别为[1]

NPCR与UACI的理想期望值可以用下列公式计算

图5 Lena图像密文对明文的敏感性指标

3.4 对密钥敏感性的测试

一个好的加密算法应该对密钥具有强烈的敏感性,即密钥的微小变化,将导致密文截然不同。本文实验中先以(x10,x20,x30,x40)=(2.5,5.2,3.0,7.3)为加密密钥,对 Cameraman图像进行加密;然后用稍微不同的密钥对加密图像进行解密(解密密钥每次仅使其中1个初始变量改变 1 0-10),图6分别给出了正确密钥和x10错误密钥的解密 Cameraman图像。可见,密钥的微小差异导致不能正确解密。为了度量解密图像和原始图像的差别,引入均方误差MSE指标,设原始图像及其解密图像分别表示为P={P(i,j)}和D={D(i,j)},i=1,2,…,M,j=1,2,…,N。则图像D与P之间的均方误差计算公式为

图6 正确密钥和错误密钥的解密结果

对Cameraman图像,表3第1行给出了本文算法正确密钥及4组错误密钥所得解密图像分别与原始图像之间的均方误差值,结果表明,正确密钥可以实现完全精确解密;而具有微小错误的解密密钥所解密的图像将与原始图像相差巨大。这体现了算法对密钥的敏感性。表3第2行给出了文献[13]算法所得解密图像分别与原始图像之间的均方误差值。比较而言,本文算法对初始密钥x10和x20更敏感;而文献[13]算法对初始密钥x30和x40更敏感。这是由于两个超混沌系统的特性差异决定的。

表3 不同解密密钥的解密图像相对原始图像的均方误差

3.5 信息熵分析

信息熵是反映信息的随机性的重要度量指标。设s代表一种信息源,则s的信息熵H(s)可以用式(25)进行计算:

其中P(si)表示符号si出现的概率,2n是信息源s的总状态数。对一个能发出 2n个符号的真随机信源,其信息熵就是n。以一幅 256级灰度图像作为信息源为例,其像素值有28种可能值,因此一幅 256级灰度图像的理想信息熵应该是 8。如果一幅 256级灰度图像的加密图像具有接近8的信息熵,则表明该密文图像接近随机分布。我们对标准Lena图像用本文算法加密,得到其密文图像信息熵为7.9976,非常接近理想值8。

3.6 混沌序列改进前后的加密性能对比

下面通过实验测试,对比本文改进混沌序列相对于原始混沌序列所得加密图像的性能差异。我们分别用图1的K序列与图2的K0序列得到中间混沌密钥,然后用本文相同的加密方法加密同样的Lena图像,对两种加密图像的主要统计指标(2维相关性CAB,相邻像素的相关系数r及信息熵)进行计算,结果如表4所示。结果表明,用改进序列生成的密钥加密图像具有更小的相关系数但更大的信息熵,因此,得到的加密图像将具有更好的安全性。

表4 混沌序列改进前后所得加密图像的统计结果对比

4 结束语

本文提出了改造新型超混沌系统混沌序列并结合密文交错扩散机制的并行加密思想,优化改造的超混沌序列具有更好的随机均匀分布特性。通过将待加密图像分块,以及对两个子块引入密文交错扩散和并行加密机制,提高了加密效率和密文对明文的敏感性。实验结果和分析表明,该算法具有如下特点:密钥空间大、加密效率高;加密图像像素具有均匀的统计分布特性;密文和明文以及相邻像素之间的相关性都非常趋近于零;算法具有较强的抗差分攻击能力和对密钥的高度敏感性。因此,本文提出的加密算法可以用于图像在因特网节点间、云计算核心与节点间的保密通信,以及图像信息保密存储等应用场合。

[1]Wang Y, Wong K W, Liao X,et al.. A new chaos-based fast image encryption algorithm[J].Applied Soft Computing, 2011,11(1): 514-522.

[2]黄丽莲, 尹启天. 基于输出控制的混沌同步保密通信系统[J].电子与信息学报, 2009, 31(10): 2402-2405.

Huang Li-lian and Yin Qi-tian. A chaos synchronization secure communication system based on output control[J].Journal of Electronics&Information Technology, 2009,31(10): 2402-2405.

[3]Akhavan A, Samsudin A, and Akhshani A. A symmetric image encryption scheme based on combination of nonlinear chaotic maps [J].Journal of the Franklin Institute, 2011,348(8): 1797-1813.

[4]Yang H, Wong K W, Liao X,et al.. A fast image encryption and authentication scheme based on chaotic maps [J].Communications in Nonlinear Science and Numerical Simulation, 2010, 15(11): 3507-3517.

[5]Zhu Z L, Zhang W, Wong K W,et al.. A chaos-based symmetric image encryption scheme using a bit-level permutation [J].Information Sciences, 2011, 181(6):1171-1186.

[6]Tong X and Cui M. Feedback image encryption algorithm with compound chaotic stream cipher based on perturbation[J].Science China Information Sciences, 2010,53(1): 191-202.

[7]Zhang G and Liu Q. A novel image encryption method based on total shuffling scheme[J].Optics Communications, 2011,284(12): 2775-2780.

[8]Wang X Y and Wang L L. A new perturbation method to the Tent map and its application[J].Chinese physics B, 2011,20(5): 500509.

[9]Guan Z H, Huang F J, and Guan W J. Chaos-based image encryption algorithm [J].Physics Letters A, 2005, 346(1-3):153-157.

[10]Özkaynak F and Özer A B. A method for designing strong S-Boxes based on chaotic Lorenz system[J].Physics Letters A,2010, 374(36): 3733-3738.

[11]Gao T and Chen Z. New image encryption algorithm based on hyper-chaos[J].Physics Letters A, 2008, 372(4): 394-400.

[12]Rhouma Rhouma and Safya Belghith. Cryptanalysis of a new image encryption algorithm based on hyper-chaos[J].Physics Letters A, 2008, 372(38): 5973-5978.

[13]卢辉斌, 孙艳. 基于新的超混沌系统的图像加密方案[J]. 计算机科学, 2011, 38(6): 49-52.

Lu Hui-bin and Sun Yan. Image encryption scheme based on novel hyperchaotic system[J].Computer Science, 2011, 38(6):49-52.

[14]陈小军, 李赞, 白宝明, 等. 一种基于模糊熵的混沌伪随机序列复杂度分析方法[J]. 电子与信息学报, 2011, 33(5):1198-1203.

Chen Xiao-jun, Li Zan, Bai Bao-ming,et al.. A new complexity metric of chaotic pseudorandom sequences based on fuzzy entropy[J].Journal of Electronics&Information Technology, 2011, 33(5): 1198-1203.

[15]Wang H X, Cai G L, Miao S,et al.. Nonlinear feedback control of a novel hyperchaotic system and its circuit implementation [J].Chines Physics B, 2010, 19(3): 030509.

猜你喜欢
明文密文解密
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
炫词解密
解密“一包三改”
炫词解密
奇怪的处罚
一种基于密文分析的密码识别技术*
一种基于密文分析的密码识别技术*
奇怪的处罚
四部委明文反对垃圾焚烧低价竞争