1. 引言
在大数据正在成为信息时代核心战略资源的时代下,如何保护数据资产已引起各国高度重视。与此同时,国际上有关数据泄露、数据窃听、数据滥用等威胁国家安全的危机事件屡见不鲜。如何开展数据安全治理,提高数据信息安全成为了当务之急。在当今大数据时代,图像往往充当网络传输以及计算机存储中的数据信息载体,因此,图像加密技术在保护数据信息真实性以及维持数据信息完整性过程中发挥着不可替代的作用。而早期的混沌加密思想仅仅利用混沌系统生成密钥,之后再将密钥与明文图像进行异或操作,由此得到的加密图像已经被证实是不安全的。为了提高加密效果,在实际操作中常常将混沌系统与DCT域、位平面等相结合,使图像加密系统的安全性更高 [1]。
文献 [2] 提出一种基于Logistic映射和二维Lorenz混沌系统的灰度图像加密算法,该算法将Logistic映射和二维Lorenz系统相结合,作用于同一图像加密算法中,提高了图像系统的安全性,有效地实现了对数字图像的保护。文献 [3] 提出一种基于Lorenz超混沌系统的位平面置换图像加密方法,该算法利用Lorenz系统生成的三组混沌序列来置乱位平面,以此达到置乱效果。文献 [4] 将Cat映射和Lorenz混沌系统相结合,由此设计得到的算法经分析表明有较高的安全性,并且在相同的加密强度下加密速度得到了提高。文献 [5] 提出的基于Logistic-Tent混沌映射和位平面的图像加密算法具有能显著提高图像的信息熵,降低图像邻近像素的相关性等优点,具有良好的加密效果。文献 [6] 将Kent映射、Logistic混沌映射和广义Gray码相融合,得到的算法置乱效果好且具有较好的安全性,但算法思想复杂。文献 [7] 提出了基于Arnold变换和Lorenz混沌系统的彩色水印图像加密算法提高了图像的抗攻击性,可以在一定程度上保护图像信息,但算法的置乱程度不高。文献 [8] 提出了一种新的图像加密方法,将位平面分解与Gray码相结合,先后两次对图像进行置乱,实验结果表明置乱效果明显且实现简单,但安全性有待进一步提高。文献 [9] 提出的基于均匀置乱和Lorenz映射的图像加密算法可以有效地抵御穷举攻击、统计攻击、差分攻击,具有较高的安全性。
本文将位平面和Lorenz混沌系统相结合,提出了一种新的算法。置乱广义Gray码置乱效果明显优于Gray码,用其对图像进行置乱,置乱程度高且操作简单,再利用位平面分解将图像转换为两组向量,接着使用Lorenz混沌系统生成两组伪随机序列,最后将由两种方式生成的二值向量按位异或的方式进行运算,从而实现了对图像的加密。直方图分析、信息熵分析以及相关性分析等实验结果表明该算法能有效增强加密图像抵抗攻击的能力。
2. 理论基础
2.1. 位平面
二进制下,由同一比特位上的数值作为元素生成的一幅二值图像,称为位平面。对于灰度图像,由于每个像素点的灰度值可由8位的二进制0、1码来表示,依次提取每一个像素点的同位置的二进制数值可组成一个位平面,由此可以将图像分解成8个位平面。以Lena图像为例,从低至高按位排列得到8个位平面,每一个位平面实际上代表了图像不同频率的分量。如图1所示,我们可以看到,位层数越小,频率越高,代表的是图像的细节特征;位层数越大,频率越低,代表的是图像的轮廓特征。低位平面的像素可视性的权重较小,轮廓信息少,我们可以利用低位平面的冗余部分进行加密信息的嵌入和提取 [10]。随着层数的增大,图像像素的杂乱程度随之降低,包含了更多的图像信息。

Figure 1. The original gray image and its bitmap after decomposition
图1. 原始灰度图像及其分解后的位图
2.2. 置乱广义Gray码变换
置乱广义Gray码变换是广义Gray码变换的一种特殊情况,并涵盖其可逆变换。对于任意非负整数u,其q进制码为
,置乱广义Gray码变换有如下表达 [11]。
(1)
其中
为正整数,
为整数,
。当系数行列式
与q互素的时候,以上变换称为u的q进制广义Gray码变换,
称为u的q进制广义Gray码。
特别的,当q = 2时,可得特殊变换矩阵
(2)
假设对于任意的非负整数u,其对应的二进制码为
,则二进制下u的置乱广义Gray码变换的结果为
,其中
(3)
Gray码对数字图像置乱效果显著,效率高,具有极好的遍历性和通透性,并且变换算法简单,便于在计算机上实现。
2.3. Lorenz混沌系统
Lorenz系统起源于大气对流简化模型,是一个一阶非线性自治微分方程组。Lorenz在1963年首先证明了这个系统中存在混沌现象。Lorenz系统产生的混沌序列具有对初值敏感和不可预测性等优点,能在一定程度上抵抗穷举攻击。Lorenz系统的结构比低维系统复杂,并且用Lorenz混沌系统生成混沌序列的密钥可包括其三个初始值和三个参数值,从而使密钥空间显著高于低维混沌系统。
包含三个变量的Lorenz混沌系统表示为
(4)
式中
表示系统参数,当
时,其Lorenz混沌吸引子实验仿真结果见图2。
3. 算法步骤
3.1. 图像的置乱
1) 将灰度图像
按列展开,得到列向量K。
2) 在列向量K中,提取每一个元素对应的位置,形成一个列向量
。
3) 将
中每一个元素u转换成对应的二进制码
,再通过置乱广义Gray码变换公式(3)进行置乱,得到一个新的二进制码
,将新生成的二进制码转换成对应的自然数字,由此便可得到置乱后的位置列向量
。
4) 将K根据向量
进行位置置乱,得到列向量L。
3.2. 图像的加密
1) 将上述置乱后的列向量L利用位平面分解得到8个长度为mn的0、1码向量,并构成位平面组
,分别提取位平面组中的前四个向量和后四个向量按列转换为长度为4mn的一维数组
和
。
2) 取参数
,利用Lorenz混沌系统生成三组混沌序列,任取一组序列令为X,
从X中先后截取两段长度为4mn的序列记为
和
,并转换为二进制表示,得到二进制序列
和
。
3) 将
与
按位异或运算得到
,再将
与
按列合并成一维数组E,将二进制的E转化成十进制,并将其转换为矩阵W,则W是加密后的图像。
上述加密算法的逆过程即是解密算法,我们通过其逆过程就可得到对应的解密图像。
4. 仿真实验与分析
选取大小为256 × 256的Lena图像作为实验图像,首先通过二进制置乱广义Gray码变换对图像进行置乱得到向量L,然后将列向量L利用位平面分解得到两个一维数组
和
,再利用Lorenz混沌系统生成两组二进制序列
和
,最后分别将
、
和
、
按位异或运算,从而得到加密图像W。
实验结果直观表明,加密后,难以从密文图像中提取到有效信息,并且解密后的图像相比明文图像没有损坏,加密和解密效果见图3。

Figure 3. Comparison of encryption and decryption images
图3. 加密、解密图像对比
除此以外,我们还可以从定性和定量的角度来分析算法的加密效果。
4.1. 统计直方图
直方图可以用来描述图像像素分布的均匀程度。图4是明文图像和密文图像的直方图的对比,可以发现,明文图像的直方图中出现多个波峰以及波谷,而密文图像的直方图基本上保持均匀分布。根据信号处理理论,密文图像呈现高频噪声特性,因此攻击者难以从密文中获取有效信息,从而密文图像的抗统计分析攻击的能力也得到增强。

Figure 4. Comparison of plaintext image histogram and ciphertext image histogram
图4. 明文图像直方图与密文图像直方图对比
4.2. 信息熵
我们知道,在物理界中熵是描述事物无序性的量,熵越大则事物越混乱。类似的,熵在信息论中可以用来表示随机变量的不确定程度。当需要衡量一种加密算法的安全性时,可通过计算密文图像的信息熵的大小,当信息熵越大,越接近于8 (理想状态下随机图像的信息熵值为8 [12]),说明此算法安全性越高。灰度图像的信息熵可通过以下公式计算
(5)
其中H表示此灰度图像的信息熵,N表示图像的灰度级,
表示像素值
出现的概率,H的单位为bit。
经计算,密文图像的信息熵为7.9970,明显大于明文图像的信息熵,说明本文提出的算法加密性能很好。图像加密前后信息熵大小的比较见表1。

Table 1. Entropy test of gray image encryption algorithm
表1. 灰度图像加密算法信息熵测试
4.3. 相关性分布
最后分析图像相邻像素的相关性。由于图像由很多个像素点构成,每一个像素点会有相应的像素值,而相邻的像素点的像素值会比较接近,也就是说相邻像素之间的相关性很高。这个特点也常常被用于进行图像修复,但是这个特征也容易造成图像信息的泄露,攻击者可通过一个点的像素值来推测得到其周围的像素值,进而获取到图像的信息。所以相邻像素的相关性低是有效的加密算法的必备特点。
对明文图像和加密图像,分别从水平、垂直两个方向分析相邻像素点的相关性,将同一行或同一列的前后相邻两个像素点的像素值分别作为点的x坐标和y坐标,将这些点在坐标平面上画出,从而得到图像的相关性分布,见图5、图6。

Figure 5. The horizontal and vertical correlation of plaintext
图5. 明文水平和垂直方向上的相关性

Figure 6. The horizontal and vertical correlation of ciphertext
图6. 密文水平和垂直方向上的相关性
从图中我们可以看到明文图像两个方向的相邻像素对沿对角线分布,说明无论是水平还是垂直两个方向相邻像素点的值差别不大,也即是具有较强的相关性,而密文图像两个方向的相邻像素对则分布较为均匀,说明此时邻近像素相关性较低。由此可知本算法达到了降低邻近像素相关性的目的,可以较好地保护数字图像信息。
5. 结语
本文提出了一种基于位平面和Lorenz混沌系统的灰度图像加密算法,将位平面和Lorenz混沌系统结合在一起。先用置乱广义Gray码对图像进行置乱,再用位平面对图像进行分解并转换为两组二值向量,接着使用Lorenz混沌系统生成两组序列,并将由位平面分解得到的两组向量与混沌系统生成的两组序列分别进行按位异或操作,从而实现对图像加密的目的。仿真实验表明,该算法具有置乱程度好、统计直方图均匀、图像的信息熵较大和图像相邻像素相关性较低等优点,是一种行之有效的算法。但算法的安全性还有待进一步研究。
基金项目
本文得到四川省科技厅项目(NO:2018JY0256);乐山师范学院校级重大项目(NO:LZDP010);乐山师范学院2021年创新创业训练计划资助项目(NO:S202110649089);乐山师范学院2021年创新创业训练计划资助项目(NO:202110649003)资助。
NOTES
*通讯作者。