基于位平面和Lorenz混沌系统的灰度图像加密算法
Gray Image Encryption Algorithm Based on Bit-Plane and Lorenz Chaotic System
DOI: 10.12677/AAM.2022.119724, PDF, HTML, XML, 下载: 360  浏览: 651  科研立项经费支持
作者: 李兰馨, 李 雪, 周 蝶, 雷升琼, 高仕龙*:乐山师范学院数理学院,四川 乐山;卢城霖, 宋少燚:乐山师范学院电子信息与人工智能学院,四川 乐山
关键词: 位平面Lorenz混沌系统置乱广义Gray码图像加密Bit Plane Lorenz Chaotic System Scrambled Generalized Gray Code Image Encryption
摘要: 本文提出了一种基于位平面和Lorenz混沌系统的灰度图像加密算法。首先利用置乱广义Gray码对图像进行置乱,再对置乱图像进行位平面分解并转换为两组二值向量,并与Lorenz混沌系统生成的两组序列按位异或的方式进行加密运算得到加密图像。直方图分析、信息熵分析以及相关性分析等实验结果表明本算法具有较好的加密性能,具有一定的抗统计攻击的能力。
Abstract: In this paper, a grayscale image encryption algorithm based on bit-plane and Lorenz chaotic system is introduced. Firstly, the image is scrambled by using the scrambled generalized Gray code, and then the scrambled image is decomposed into bit-planes and converted into two sets of binary vec-tors. Finally, the encrypted image is obtained by bitwise XOR operation between the binary vector and the two sets of sequences generated by the Lorenz chaotic system. The experimental results of histogram analysis, information entropy analysis and correlation analysis show that the algorithm has better encryption performance and certain ability to resist statistical attacks.
文章引用:李兰馨, 卢城霖, 李雪, 周蝶, 宋少燚, 雷升琼, 高仕龙. 基于位平面和Lorenz混沌系统的灰度图像加密算法[J]. 应用数学进展, 2022, 11(9): 6835-6842. https://doi.org/10.12677/AAM.2022.119724

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进制码为 u = ( u n 1 u n 2 u 1 u 0 ) q ,置乱广义Gray码变换有如下表达 [11]。

[ g n 1 g n 2 g 0 ] = [ a 0 , 0 a 0 , 1 a 0 , n 1 a 1 , 0 a 1 , 1 a 1 , n 1 a n 1 , 0 a n 1 , 1 a n 1 , n 1 ] [ u n 1 u n 2 u 0 ] ( m o d q ) (1)

其中 q 2 为正整数, a i , j 为整数, i , j = 1 , 2 , , n 1 。当系数行列式 | ( a i , j ) | 与q互素的时候,以上变换称为u的q进制广义Gray码变换, g ( u ) = ( g n 1 g n 2 g 1 g 0 ) q 称为u的q进制广义Gray码。

特别的,当q = 2时,可得特殊变换矩阵

A = [ 1 1 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 ] (2)

假设对于任意的非负整数u,其对应的二进制码为 u = ( u n 1 , u n 2 , , u 1 , u 0 ) 2 ,则二进制下u的置乱广义Gray码变换的结果为 g ( u ) = ( g n 1 , g n 2 , , g 1 , g 0 ) 2 ,其中

g n 1 = i = 0 n 1 u i , g i = u n 2 i , i = 0 , 1 , 2 , , n 2 (3)

Gray码对数字图像置乱效果显著,效率高,具有极好的遍历性和通透性,并且变换算法简单,便于在计算机上实现。

2.3. Lorenz混沌系统

Lorenz系统起源于大气对流简化模型,是一个一阶非线性自治微分方程组。Lorenz在1963年首先证明了这个系统中存在混沌现象。Lorenz系统产生的混沌序列具有对初值敏感和不可预测性等优点,能在一定程度上抵抗穷举攻击。Lorenz系统的结构比低维系统复杂,并且用Lorenz混沌系统生成混沌序列的密钥可包括其三个初始值和三个参数值,从而使密钥空间显著高于低维混沌系统。

包含三个变量的Lorenz混沌系统表示为

{ x ˙ = a ( x y ) y ˙ = b x y x z z ˙ = x y c z (4)

式中 a , b , c 表示系统参数,当 a = 10 , b = 30 , c = 8 3 时,其Lorenz混沌吸引子实验仿真结果见图2

Figure 2. Lorenz chaotic attractor

图2. Lorenz混沌吸引子

3. 算法步骤

3.1. 图像的置乱

1) 将灰度图像 P m × n 按列展开,得到列向量K。

2) 在列向量K中,提取每一个元素对应的位置,形成一个列向量 K 1 = [ 1 , 2 , , m n ] T

3) 将 K 1 中每一个元素u转换成对应的二进制码 u = ( u n 1 u n 2 u 1 u 0 ) 2 ,再通过置乱广义Gray码变换公式(3)进行置乱,得到一个新的二进制码 g = ( g n 1 , g n 2 , , g 1 , g 0 ) 2 ,将新生成的二进制码转换成对应的自然数字,由此便可得到置乱后的位置列向量 K 2

4) 将K根据向量 K 2 进行位置置乱,得到列向量L。

3.2. 图像的加密

1) 将上述置乱后的列向量L利用位平面分解得到8个长度为mn的0、1码向量,并构成位平面组 I = [ I 1 , I 2 , , I 8 ] ,分别提取位平面组中的前四个向量和后四个向量按列转换为长度为4mn的一维数组 Y 1 Y 2

2) 取参数 a = 10 , b = 30 , c = 8 3 ,利用Lorenz混沌系统生成三组混沌序列,任取一组序列令为X,

从X中先后截取两段长度为4mn的序列记为 X 1 X 2 ,并转换为二进制表示,得到二进制序列 B 1 B 2

3) 将 B i Y i 按位异或运算得到 E i , i = 1 , 2 ,再将 E 1 E 2 按列合并成一维数组E,将二进制的E转化成十进制,并将其转换为矩阵W,则W是加密后的图像。

上述加密算法的逆过程即是解密算法,我们通过其逆过程就可得到对应的解密图像。

4. 仿真实验与分析

选取大小为256 × 256的Lena图像作为实验图像,首先通过二进制置乱广义Gray码变换对图像进行置乱得到向量L,然后将列向量L利用位平面分解得到两个一维数组 Y 1 Y 2 ,再利用Lorenz混沌系统生成两组二进制序列 B 1 B 2 ,最后分别将 B 1 B 2 Y 1 Y 2 按位异或运算,从而得到加密图像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]),说明此算法安全性越高。灰度图像的信息熵可通过以下公式计算

H = i = 0 2 N 1 p ( s i ) l o g 2 p ( s i ) (5)

其中H表示此灰度图像的信息熵,N表示图像的灰度级, p ( s i ) 表示像素值 s i 出现的概率,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

*通讯作者。

参考文献

[1] 李春虎. 基于混沌的图像加密关键技术研究[D]: [博士学位论文]. 成都: 电子科技大学, 2018.
[2] 李涛. 基于混沌的图像加密算法研究与实现[D]: [硕士学位论文]. 哈尔滨: 黑龙江大学, 2020.
[3] 薛香莲. 一种新的基于Lorenz超混沌系统的位平面置换图像加密方法[J]. 网络安全技术与应用, 2015(6): 101+103.
[4] 袁煜然. 基于Cat映射和Lorenz映射的图像加密算法研究[D]: [硕士学位论文]. 南京: 南京邮电大学, 2008.
[5] 秦秋霞, 梁仲月, 徐毅. 基于Logistic-Tent混沌映射和位平面的图像加密算法[J]. 大连民族大学学报, 2022, 24(3): 245-252.
[6] 谢国波, 朱柳. 双混沌和广义Gray码相融合的图像加密算法[J]. 计算机工程与应用, 2018, 54(16): 197-202.
[7] 林琳. 基于Arnold变换和Lorenz混沌系统的彩色图像加密算法[J]. 电子设计工程, 2014, 22(18): 165-168.
[8] 谭永杰, 马苗. 位平面与Gray码相结合的图像置乱方法[J]. 计算机工程与应用, 2010, 46(16): 174-177.
[9] 侯德智. 基于混沌理论与动态DNA编码的图像加密算法[D]: [硕士学位论文]. 哈尔滨: 东北林业大学, 2018.
[10] 姚雪. 一种基于位平面和HVS的信息隐藏算法研究[D]: [硕士学位论文]. 阜新: 辽宁工程技术大学, 2014.
[11] 王广超, 罗来鹏. 一种广义Gray码及其在数字图像置乱中的应用[J]. 赣南师范学院学报, 2007(3): 41-44.
[12] 王晓辉. 基于矩阵变换的图像加密方法[J]. 微型电脑应用, 2021, 37(9): 1-3+7.