基于5D超混沌的图像加密算法*

2021-03-04 08:27伍朝阳
关键词:明文解密直方图

伍朝阳,周 瑛

(福建技术师范学院,福建 福清 350300)

随着通信技术和因特网的飞速发展,人们对信息安全的重要性越来越重视了.图像是人们熟知的媒介并在网络上广泛的传播.为了保护重要图像和隐私图像,人们提出了多种加密方法[1-3].混沌理论作为一种非线性科学,具有对系统参数和初始条件高度敏感性、伪随机性、各态遍历性和可重复性等特点,非常适合用来加密.目前相关人员已经提出了很多基于混沌理论的图像加密方法[4-6].其中有许多加密算法是基于低维混沌映射[7-9].低维混沌映射简单方便,但是具有小的密钥空间和系统参数,用来进行图像加密并不十分安全.采用高维混沌映射来产生随机序列会使图像加密系统更加安全.高维混沌系统有超过1个正的李雅普诺夫指数.与低维混沌系统相比,高维混沌系统能够产生更加复杂的动态行为和更高的随机性[10-15].笔者拟用5D超混沌系统产生伪随机序列,并对序列进行预处理,产生置乱矩阵,最后对图像作扩散操作,以进一步增强图像的安全性.

1 5-D超混沌系统

1.1 5-D 超混沌系统

5-D超混沌系统[16]定义如下:

(1)

其中a1,a2,a3,a4,a5,a6,a7是系统参数.当a1=30,a2=10,a3=15.7,a4=5,a5=2.5,a6=4.45,a7=38.5时,5D超混沌系统处于混沌状态并生成5个随机序列.混沌系统的序列分布如图1所示.

图1 混沌序列分布

1.2 随机序列预处理

假设明文图像P是大小M×N的灰度图像,其中M和N分别是图像的行和列.

随机序列预处理步骤如下:

(ⅰ)根据密钥计算系统(1)的迭代初始值,得到

(2)

(ⅱ)迭代系统(1)N0次去除暂态效应,

其中floor(x)表示返回小于等于x的最大整数.

(ⅲ)继续迭代系统(1)MN/4次,产生5个随机实数序列,即X=(x1,x2, …,xMN/4),Y=(y1,y2, …,yMN/4),Z=(z1,z2, …,zMN/4),U=(u1,u2, …,uMN/4),V=(v1,v2, …,vMN/4).

(ⅳ)从5个序列中选择4个序列,并将它们组合成长度为MN的新序列.根据排列组合理论,共有120 种组合方式.例如K1=(Y,Z,V,X),K2=(X,V,Z,U),K3=(V,X,Z,Y),K4=(U,Y,Z,V).

[g,h]=sort(K4),

其中:sort(x)表示对序列x按大小进行排序;i=1, 2, …,MN;j=1, 2, 3;g为新的序列;h为序列g的索引.

2 置乱和扩散方法

2.1 置乱方法

置乱方法具体如下:

(ⅱ)对矩阵S按列进行排序得到索引矩阵C;

(ⅲ)对矩阵C进行列扩展得到矩阵CE.以矩阵C中的相应元素作为行坐标,以该元素所在的列作为列坐标.假设矩阵C中第e行元素为Ce,1,Ce,2,…,CeN,那么矩阵CE中第e行元素为(Ce,1,1),(Ce,2,2),…,(CeN,N).

(ⅳ)以CE中的元素对作为坐标找到矩阵S中对应的元素并按大小进行排序,得到排序后的坐标矩阵T.

(ⅴ)利用矩阵T对明文图像P进行置乱,得到置乱图像P′.

为了更好地阐明置乱过程,现举例说明.假设明文图像P和随机矩阵S是4×4的矩阵,如图2所示.接下来进行以下操作:

图2 置乱过程

(1)对随机矩阵S按列进行升序排序,得到索引矩阵C.

(2)以C中的元素作为行,以该元素所在的列作为列进行扩展,得到由序列对组成的扩展矩阵CE.

(3)以CE中每一行的序列对作为坐标,找到矩阵S中对应元素并进行升序排序,得到排序后的矩阵T.

如矩阵CE中第2行元素分别是(2,1),(1,2),(3,3)和(2,4).以这4个元素对作为坐标对应的S中的元素分别为0.38,0.42,0.98和0.31,对它们按升序排序得到0.31,0.38,0.42和0.98,对应的索引号为2,3,4,1.因此矩阵T中的第2行元素为(1,2),(3,3),(2,4)和(2,1).

(4)以矩阵T作为置乱矩阵对明文图像P进行置乱,得到置乱图像P′.

2.2 扩散方法

扩散过程具体如下:

(ⅲ)通过如下公式得到序列Q:

其中:circshift[u,v,w]表示对二进制序列u进行w比特的循环移位操作;LSB(w)为向量w的最低有效位,二进制值v决定循环移位的方向,v=1为右循环,v=0为左循环.

(ⅳ)变换二进制序列Q为十进制形式.

(ⅴ)通过如下公式得到扩散序列B:

(ⅵ)变换序列B到图像矩阵P″,P″即为所求加密图像.

解密过程是加密过程的逆运算,这里就不再详述.

3 实验结果与讨论

3.1 实验结果

图3 明文图像及其加密图像和解密图像

3.2 密钥空间分析

本研究的密钥空间是由5D超混沌系统的5个初始值决定的.如果系统精度是10-15,那么系统的密钥空间是(1015)5=1075≈2249.本研究设计的算法5DHS与2DDTM[17],SFTS[18],SPQCM[19]的密钥空间比较结果见表1.

表1 密钥空间的比较

由表1可知,5DSH比2DDTM,SFTS,SPQCM具有更大的密钥空间,能够有效地抵御暴力攻击.

3.3 密钥敏感性分析

一个好的加密系统应当对初始密钥很敏感.当其中的一个密钥发生微小改变(10-15)而其余密钥保持不变时,系统将会生成2个完全不同的加密图像.同样,当仅有一个密钥发生微小变化(10-15)时,系统也不能够正确的解密图像.密钥敏感性测试结果如图4所示,这4幅图分别是只有x1,x2,x3,x4发生变化而其他值保持不变得到的图像.不同加密和解密图像之间的差异见表2.

图4 密钥敏感性测试结果

表2 密钥发生微小变化时所获得的加密与解密图像

由图4和表2可见:当密钥发生微小改变时,将会生成完全不同的加密图像;将发生微小变化的密钥用于解密,也不能获得正确的解密图像.这说明系统对密钥是敏感的.

3.4 直方图分析

加密图像的直方图应当尽可能分布得比较均匀.3个明文图像的直方图及明文图像的加密图像的直方图如图5所示.

图5 明文图像的直方图及明文图像的加密图像的直方图

由图5可见,明文图像的像素值集中在某些区域,而加密图像的直方图分布更加均匀平滑.因此所提出的算法能够抵御统计攻击.

采用卡方测试[20-21]来衡量直方图的均匀度χ2,

其中oi和ei分别为像素灰度级的实际分布和期望分布,

表3 直方图的卡方测试

由表3可知,5DSH的测试值都小于理论值293.25,因此可以认为5DSH的直方图分布是均匀的并能够通过卡方测试.

3.5 相关性分析

明文图像的相邻像素具有很大的相关性,而加密图像相邻像素的相关性应该接近为0.像素x和y之间的相关性系数rxy定义为

其中

分别从明文图像Peppers及其加密图像中随机选择7 225对水平、垂直和对角方向的相邻像素,图6示出了明文图像Peppers及其加密图像在3个方向上的相关性结果.

图6 明文图像Peppers及其加密图像的在3个方向上的相关性结果

由图6可见,明文图像之间具有很强的相关性,而加密图像之间的相关性大大减小.

明文图像Peppers及其加密图像在3个方向上的相关性系数见表4.

表4 明文图像Peppers及其加密图像在3个方向上的相关性系数

由表4可知,明文图像的像素之间相关性较大,而加密图像像素之间的相关性较小.

3.6 信息熵分析

信息熵是衡量随机性最重要的特征.令m是信息源,信息熵定义为

其中p(mi)为信号mi的频率,L为mi的总和.加密图像的信息熵见表5.

表5 信息熵的比较

由表5可知:加密图像的信息熵接近于理想值8,因此5DSH能够抵御熵攻击;5DSH比2DDTM和SFTS方法具有更大的信息熵.

表6 局部熵

由表6可知,所有的局部熵都能够通过置信度为0.001和0.01的测试,只有1个不能通过置信度为0.05的测试.由此可见,用5DSH得到的加密图像具有很高的随机性并能够抵御熵分析攻击.

3.7 差分攻击分析

像素改变率(Number of Pixel Changing Rate,NPCR)和一致平均改变强度(Unified Average Changed Intensity,UACI)是衡量明文敏感性非常重要的2个指标.像素改变率和一致平均改变强度的计算公式分别为

其中:

C1和C2分别为明文图像改变一个像素前后所得到的加密图像.像素改变率和一致平均改变强度的计算见表7.

表7 加密图像Peppers的像素改变率和一致平均改变强度

由表7可知,5DHS的像素改变率和一致平均改变强度结果比DKSM和SFTS的更好,说明它能够更有效抵御差分攻击.

3.8 剪切和噪声攻击分析

一个好的加密系统应该能够抵御剪切和噪声攻击.以Peppers加密图像(图3(c)加密)为例,图7示出了将其剪切1/8,1/4,1/2后的图像及相应的解密图像.

图7 Peppers加密图像的剪切攻击图像及相应的解密图像

由图7可见,加密图像丢失1/8,1/4和1/2数据时,解密出的图像虽然含有噪声,但是图像是可以辨认的.

将常用的椒盐噪声和高斯白噪声加到Peppers加密图像(图3(c)加密),相应的解密图像如图8所示.

图8 Peppers加密图像噪声攻击后的解密图像

由图8可见,当高斯白噪声的方差由0.001变到0.01时,解密图像上会出现更多噪声点,但是解密的图像还是可辨认的.受椒盐噪声攻击的图像具有类似的性质.

4 结语

本研究提出了一种基于5D超混沌的图像加密算法.首先,根据给定的初始密钥,产生5D超混沌系统的初始迭代值.然后混沌序列被预处理产生新的序列.基于列排序和行排序的二维置乱方法被提出,采用循环移位去增强系统的安全性,最后对图像进行扩散处理,得到加密图像.通过采用高维混沌系统,能够产生随机性更好的序列.实验结果和理论分析表明,作者提出的算法具有大的密钥空间,能够抵御差分攻击、统计攻击、暴力攻击、剪切和噪声攻击等.未来会对系统的效率以及运行时间进行进一步的分析.

猜你喜欢
明文解密直方图
符合差分隐私的流数据统计直方图发布
炫词解密
解密“一包三改”
炫词解密
用直方图控制画面影调
奇怪的处罚
中考频数分布直方图题型展示
奇怪的处罚
基于空间变换和直方图均衡的彩色图像增强方法
四部委明文反对垃圾焚烧低价竞争