«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (11): 158-165, 174  DOI: 10.19678/j.issn.1000-3428.0059928
0

引用本文  

曾祥秋, 叶瑞松. 基于改进Logistic映射的混沌图像加密算法[J]. 计算机工程, 2021, 47(11), 158-165, 174. DOI: 10.19678/j.issn.1000-3428.0059928.
ZENG Xiangqiu, YE Ruisong. Chaotic Image Encryption Algorithm Based on Improved Logistic Map[J]. Computer Engineering, 2021, 47(11), 158-165, 174. DOI: 10.19678/j.issn.1000-3428.0059928.

基金项目

国家自然科学基金(11771265);广东省普通高等学校重点研究项目(2019KZDXM034);广东省基础与应用基础研究基金(2020B1515310018)

通信作者

叶瑞松(通信作者), 教授、博士

作者简介

曾祥秋(1995-), 女, 硕士研究生, 主研方向为图像信息安全

文章历史

收稿日期:2020-11-06
修回日期:2021-02-06
基于改进Logistic映射的混沌图像加密算法
曾祥秋 , 叶瑞松     
汕头大学 数学系, 广东 汕头 515063
摘要:经典Logistic映射存在系统参数范围受限、混沌序列分布不均等问题。对Logistic映射进行改进并将其应用于图像加密中,设计一种置乱与扩散同时操作的图像加密算法。对经典Logistic映射增加模运算并对其所生成序列进行二进制比特重排,利用改进Logistic映射生成具有更好混沌特性的伪随机序列并用于加密系统的置乱和扩散阶段。将所生成的伪随机矩阵与明文图像矩阵进行异或操作以实现明文图像预加密。在此基础上,采取置乱与扩散同时操作的策略以置乱和扩散预加密后的图像从而得到密文图像。安全性分析及实验结果表明,该算法具有良好的加密性能和安全性,可以抵抗暴力攻击、差分攻击等常见攻击。
关键词图像加密    Logistic映射    混沌特性    置乱    扩散    
Chaotic Image Encryption Algorithm Based on Improved Logistic Map
ZENG Xiangqiu , YE Ruisong     
Department of Mathematics, Shantou University, Shantou, Guangdong 515063, China
Abstract: The classical Logistic map suffers from the limited range of system parameters and the uneven distribution of chaotic sequences.In this paper, the Logistic map is improved and applied to image encryption, and on this basis an image encryption algorithm is proposed based on simultaneous scrambling and diffusion operations.Modular operations are added to the classical Logistic map to perform binary bit rearrangement on the generated sequence.Then the improved Logistic map is used to generate pseudo-random sequences with better chaotic features for scrambling and diffusion stages of the cryptosystem.On this basis, the pseudo-random matrix and plain image matrix are bitxored to realize pre-encryption of the plain image.Finally, the scrambling and diffusion operations are performed simultaneously on the pre-encrypted image to get the final encrypted image.Security analysis and experimental results show that the proposed algorithm exhibits excellent encryption performance and high security.It can resists common attacks, such as brute-force attacks and differential attacks.
Key words: image encryption    Logistic map    chaotic characteristics    scrambling    diffusion    

开放科学(资源服务)标志码(OSID):

0 概述

在大数据时代,信息具有极大的价值,图像是承载信息的一个重要载体,某些图像隐含的信息至关重要。因此,必须保证数字图像的传输、存储、访问等过程安全可靠。图像加密技术能够保障多媒体数据的隐私和保密性,是目前保护图像安全最有效的方法之一,在许多应用中发挥着重要作用,如军事图像数据库、付费电视、保密视频会议、健康管理系统、在线私人相册等[1]

常见的图像加密方案主要有2种策略:一类重点关注加密系统中随机序列的生成方式;另一类关注加密算法的结构设计。在第一类图像加密策略中,随机序列的生成方式大部分基于混沌系统,在基于混沌序列的图像加密方案中,研究人员大多关注混沌映射的构造,原因是加密系统的安全性依赖其所使用的混沌系统的复杂性。现有的混沌映射具有周期性短、点分布不均匀、控制参数受限等缺点,因此,有很多学者针对混沌系统进行改进,以获得更好的安全性。文献[2]以混沌系统的初始值和参数作为密钥,采用改进Joseph遍历的方法对图像进行加密。文献[3]利用2个现有混沌映射作为种子映射,将余弦变换作为框架,从而生成一种新的混沌映射,并将其应用于所设计的图像加密算法中。文献[4]提出一种基于比特反转的增强型数字混沌映射,其可以有效增强密钥流的混沌特性。高维混沌映射比一维混沌映射更具安全性,前者经常直接被用于加密系统中:文献[5]直接利用二维Logistic映射进行图像加密;文献[6-7]分别利用二维和三维可逆模块化混沌映射加密灰度图像和彩色图像,它们有效增大了密钥空间;文献[8]将Logistic映射和sine映射相耦合,将一维映射扩展到二维并用于图像加密以获得更快的速度和更好的性能。在关注加密算法结构设计的图像加密策略中,利用DNA运算和比特层次进行加密是常见的做法[9-10]。文献[11]利用DNA序列实现多图像加密中基于索引的置乱和扩散操作。文献[12]提出一种结合缠绕Logistic映射、动态DNA编码与运算的彩色图像加密算法。文献[13]利用比特替换的方法将混沌映射置乱后的图像序列融合为2组混沌序列,从而产生中间密文并有效隐藏明文信息。文献[14]提出基于PWLCM混沌映射、交叉替换和循环移位以实现比特级加密的图像加密算法。

在上述2类图像加密策略的启发下,本文改进传统的一维Logistic映射,提出一种同时进行置乱与扩散的加密算法。通过增加模运算使传统Logistic映射的混沌参数范围变大,参数范围突破(0,4]的限制,利用该混沌系统设计的加密系统的密钥空间也将扩大。为了使改进Logistic映射在原有参数范围(0,4]中所生成的序列具有更好的混沌特性,本文对改进映射所生成的序列进行比特重排,以使序列具有更好的混沌特性、遍历性、初值敏感性、伪随机性。利用改进Logistic映射生成混沌序列用于预加密以及置乱-扩散阶段的加密。为了抵抗已知明文攻击或者选择明文攻击,加密算法的密钥流设计不仅与密钥有关,同时还和明文图像信息相关联。

1 基于改进Logistic映射的混沌系统

本文对经典的一维Logistic混沌映射进行改进,利用改进的Logistic映射构造一个新的混沌系统。用分叉图、Lyapunov指数图以及SP800-22Rvlla的15标准检测对照改进前后混沌系统所生成序列的混沌特性,结果表明,改进后的混沌映射比传统Logistic映射具有更好的混沌特性和更大的参数范围。

一维Logistic映射[15]的数学表达式如式(1)所示:

$ {X}_{n+1}=\mu \times {X}_{n}\times (1-{X}_{n}) $ (1)

其中:$ \mu $为控制参数,$ \mu \in \left(\mathrm{0, 4}\right] $,只有当$ 3.569\mathrm{ }945\mathrm{ }627\le \mu \le 4 $时,序列$ {X}_{n} $才处于混沌状态。

为在一维Logistic映射的基础上解决控制参数范围受限、点分布不均等问题,本文对传统的Logistic映射进行改进,具体如下:

$ {X}_{n+1}=\mathrm{m}\mathrm{o}\mathrm{d}\left(r\times {X}_{n}\times (1-{X}_{n}), 1\right) $ (2)

其中:$ r\ne 0 $为控制参数;$ {X}_{n}\in \left(\mathrm{0, 1}\right) $;模函数$ \mathrm{m}\mathrm{o}\mathrm{d}(s, t) $表示取模,返回余数。显然,式(2)是式(1)的推广。虽然增加模运算会提高运算量以及加密系统的时耗,但是增加模运算可以使得式(2)中参数$ r $的范围突破(0,4]的限制,从而扩大系统的混沌区域以及加密系统的密钥空间。为了使式(2)在参数范围(0,4]中所生成的序列具有更好的混沌特性,本文对式(2)所生成的序列进行比特重排,此时式(2)生成序列的具体步骤如下:

1) 将$ r $和初始值$ {X}_{0} $代入式(2)得到新的$ {X}_{1} $,再将$ {X}_{1} $化为$ L $位的二进制形式。例如,假设$ {X}_{1} $为0.75,把0.75写成$ L $位的二进制形式,$ L $可以取任意的正整数,假设$ L=16 $,则有0.75→0.1100000000000000。

2) 将小数点后的二进制序列进行比特重排,将奇数位比特值倒序排在前半部分,将偶数位比特值倒序排在后半部分,得到一个新的数,如图 1所示。

Download:
图 1 比特重排示意图 Fig. 1 Bit rearrangement diagram

3) 将第2步中得到的二进制数转化为十进制数,作为新的初始值$ {X}_{1} $,代入式(2)得到下一个值,如此重复第2步和第3步,得到一个长度为$ n $的混沌序列。

比特重排能够提升序列的混沌性能,当系统初值和系统参数发生微小改变时,在刚开始的混沌过渡态中2个轨道的点差别十分小,意味着过渡态中的序列值改变不大,将这样的点列量化为整数,将大概率出现相同的整数值。对所生成的差异小的点列进行比特重排,可以使得重排后的2个更新点列的差异变大,从而使更新序列具有更好的敏感依赖性、伪随机性、遍历性等混沌特性。图 2分别为Logistic映射和基于改进Logistic映射进行比特重排的新混沌映射的分岔图,从中可以看出,本文改进的混沌映射比传统Logistic映射具有更大的混沌参数范围,新混沌系统在(0,4]范围内具有更好的混沌特性,其对所有参数所生成的序列均遍历整个(0,1)状态空间,并且具有更好的分布均匀性。

Download:
图 2 2种映射的分岔图 Fig. 2 Bifurcation diagrams of two kinds of maps

对初始值的敏感依赖性是一个可以清晰表达动力系统混沌性质的重要属性,该性质可以用Lyapunov指数来刻画,利用计算机数值计算得到的Lyapunov指数若是正值,说明系统具有混沌性,Lyapunov数值越大,系统的混沌性越强。图 3所示为Lyapunov指数图,其中:图 3(a)为经典Logistic映射的Lyapunov指数图,参数范围为(0,4],混沌区域为$ 3.569\mathrm{ }945\mathrm{ }627\le \mu \le 4 $图 3(b)为对Logistic映射进行模运算之后的新Logistic映射的Lyapunov指数图,其混沌参数范围更大,但不是所有参数对应的Lyapunov指数都是正值;图 3(c)是对新Logistic映射进行比特重排之后得到的改进Logistic映射的Lyapunov指数图,所有参数对应的系统Lyapunov指数均是正值,并且较大,达到21以上,远大于传统混沌映射的Lyapunov指数。从图 3可以看出,在改进Logistic映射中,所有参数对应的系统均具有正值的Lyapunov指数并且数值相对较大,说明本文所提改进Logistic映射具有更好的混沌性能。

Download:
图 3 3种映射下的Lyapunov指数情况 Fig. 3 The case of Lyapunov exponent under three kinds of maps

通过检测序列在2个不同时刻的相关程度,可以进一步刻画序列的伪随机性。将控制参数$ r $和初始值$ {X}_{0} $分别设置为0.23和3.98,分别将这2个参数进行微小的改变,改变量均为$ {10}^{-14} $,得到2个新序列,将新序列和原序列进行互相关系数计算。图 4(a)图 4(b)分别是由改进前后混沌系统所产生混沌序列的自相关系数图,图 4(c)~图 4(f)为混沌序列互相关系数图,图 4(c)图 4(d)是改进前混沌系统所产生序列的互相关系数图,图 4(e)图 4(f)是改进后混沌系统所产生序列的互相关系数图。

Download:
图 4 混沌序列的自相关和互相关系数图 Fig. 4 Coefficient diagram of autocorrelation and cross correlation of chaotic sequences

SP800-22Rvlla标准由美国国家标准技术研究所(NIST)提出,专门用于对密码应用中的随机数或伪随机数发生器产生的二进制随机序列进行统计测试。SP800-22Rvlla测试给出了15种测试方法[1],通过每种测试计算一个$ p $值并与给定的显著性水平作比较,从而判断被测试的比特序列是否具有随机性。将混沌序列转化为比特序列的具体方法是将混沌序列值转化为二进制形式,然后取小数点后的前52位比特值组成比特序列。利用SP800-22Rvlla来测试比特重排前后的混沌系统所产生的混沌序列是否具有随机性,设置比特序列长度为$ {10}^{6} $,显著性水平为0.01,当测试$ p $值大于显著性水平时,检验通过,测试结果如表 1~表 3所示。

下载CSV 表 1 SP800-22Rvlla测试结果 Table 1 SP800-22Rvlla test results
下载CSV 表 2 随机旅行测试结果 Table 2 Random travel test results
下载CSV 表 3 随机旅行变种测试结果 Table 3 Random travel variant test results

表 1~表 3可以看出,比特重排后的混沌系统所生成的比特序列可以通过15个子测试,而重排前的混沌系统所生成的比特序列只能通过15个子测试中的一部分,说明由新混沌系统所生成的序列具体更好的随机性。

由混沌系统的分岔图、Lyapunov指数图以及SP800-22Rvlla标准测试实验结果可以看出,比特重排后得到的改进混沌系统的随机性能优于比特重排前系统,前者所产生序列的混沌性能更优。

2 图像加密算法 2.1 加密系统密钥

在整个加密过程中使用的密钥包括6个部分,分别为$ {X}_{1} $$ {r}_{1} $$ {X}_{2} $$ {r}_{2} $$ L $$ Z $,前5个分别是2个新混沌映射的初始值和系统参数值以及将混沌序列转化为二进制形式时所取小数点后的位数,$ Z $是与明文相关的量,其目的是提高加密系统的明文敏感性,计算如式(3)所示:

$ Z=\mathrm{m}\mathrm{o}\mathrm{d}\left(\mathop \sum \limits_{x=0, y=0}^{x=M-1, y=N-1}f\left(x, y\right), 40\right)+30 $ (3)

其中:$ f $表示输入的明文图像,大小为$ M\times N $

2.2 图像加密过程

本文加密算法采用预加密、置乱与扩散同时进行的结构,以对灰度图像进行加密,算法流程如图 5所示。

Download:
图 5 加密算法流程 Fig. 5 The procedure of encryption algorithm

将大小为$ M\times N $的灰度图像作为输入,加密算法的具体步骤如下:

步骤 1  产生混沌序列$ K $。利用密钥$ {X}_{1} $$ {r}_{1} $$ L $$ Z $以及第2节提出的新混沌系统,迭代$ Z $次,跳过混沌系统的过渡态,再迭代$ n $次,生成长度为$ n $的混沌序列$ K=({k}_{1}, {k}_{2}, \cdots , {k}_{n}) $$ n=M\times N $

步骤 2  生成随机矩阵$ \boldsymbol{F} $。将步骤1中得到的序列$ K $进行量化,转化为与明文图像大小相同的随机矩阵$ \boldsymbol{F}=\mathrm{m}\mathrm{o}\mathrm{d}\left(\mathrm{f}\mathrm{l}\mathrm{o}\mathrm{o}\mathrm{r}(K\times {10}^{8}), 256\right) $,其中,函数$ \mathrm{f}\mathrm{l}\mathrm{o}\mathrm{o}\mathrm{r}\left(x\right) $返回不大于$ x $的最大整数。

步骤 3  预加密。将随机矩阵$ \boldsymbol{F} $与明文图像$ \boldsymbol{P} $进行比特异或操作,得到新的图像$ \boldsymbol{PC}$${\boldsymbol{PC}} = {\boldsymbol{PC}} \oplus {\boldsymbol{F}}$

步骤 4  分块。将$ \boldsymbol{PC} $分成大小均等的4个部分,每个块大小均为$ {M}_{1}\times {N}_{1} $

步骤 5  分块同时进行置乱与扩散操作,具体流程如图 6所示。

Download:
图 6 置乱与扩散同时操作的流程 Fig. 6 The operation process of scrambling and diffusion is carried out simultaneously

图 6所示流程具体步骤如下:

1) 将每个矩阵块按行优先原则转换为一维数组,数组长度为$ {n}_{1} $$ {n}_{1}={M}_{1}\times {N}_{1} $

2) 产生2个待置换的位置$ {D}_{1}\mathrm{、}{D}_{2} $。位置$ {D}_{1} $为顺序位置$ m $($ m $从第一个位置开始顺序往后取)。位置$ {D}_{2} $由第2节所提混沌系统及式(4)计算得到:首先利用密钥$ {X}_{2} $$ {r}_{2} $$ L $以及新混沌系统迭代一次得到一个数$ d $,再利用式(4)计算位置$ {D}_{2} $

$\begin{array}{l} D = {\rm{mod}}({\rm{floor}}(d \times {10^8}), {n_1}) + 1\\ {D_1} = m{\rm{, }}{D_2} = {\rm{mod}}(D \oplus {D_1}, {n_1}) + 1 \end{array}$ (4)

3) 判断位置$ {D}_{1}\mathrm{、}{D}_{2} $是否被重复选取。如果$ {D}_{1}\mathrm{、}{D}_{2} $中有一个被重复选取,则跳过该位置。若顺序位置$ {D}_{1} $被重复选取,则$ {D}_{1} $向后顺延一位,$ {D}_{1}=m+1 $;若随机位置$ {D}_{2} $已被选取过,则$ {D}_{2} $向后顺延一位,即$ {D}_{2}={D}_{2}+1 $

4) 利用比特平面翻转和动态异或扩散位置$ {D}_{1}\mathrm{、}{D}_{2} $处的像素值:

(1) 比特平面翻转。将位置$ {D}_{1}\mathrm{、}{D}_{2} $处的像素值$ PC{D}_{1}\mathrm{、}PC{D}_{2} $分解为8个比特平面,高4位比特平面和低4位比特平面翻转交换,然后合成得到新的灰度值$ PC{Z}_{1}\mathrm{、}PC{Z}_{2} $

(2) 动态异或。$ Y $由位置$ {D}_{1}\mathrm{、}{D}_{2} $动态生成,$ Y=\mathrm{m}\mathrm{o}\mathrm{d}({D}_{1}\times {D}_{2}, 256) $,然后将灰度值$ PC{Z}_{1} $$ PC{Z}_{2} $分别与$ Y $进行动态异或,${Z_1} = PC{Z_1} \oplus Y$${Z_2} = PC{Z_2} \oplus Y$,得到$ {Z}_{1}\mathrm{、}{Z}_{2} $

5) 交换$ {D}_{1}\mathrm{、}{D}_{2} $位置处的像素值。

6) 利用$ {X}_{2}=\mathrm{m}\mathrm{o}\mathrm{d}(d\times {D}_{2}, 1) $生成新的初始值$ {X}_{2} $,代入混沌系统生成新的$ d $后,代入式(4),产生新的随机位置$ {D}_{2} $,顺序位置$ {D}_{1}=m+1 $

步骤 6  在同时进行置乱与扩散操作后,将所有的块合并成一块,顺时针旋转90°,再重复一次置乱与扩散操作,得到新图像$ \boldsymbol{PZ}$

步骤 7  将$ \boldsymbol{PZ} $顺时针旋转180°得到$ \boldsymbol{PZ}_{1} $,重复1轮上述操作,得到密文图像$ \mathit{C} $

本文所提加密算法的解密过程是加密的逆过程,进行反向操作即可无失真地还原明文图像,本文不再详述。

3 实验结果及安全性分析

为了验证本文加密方案的性能,采用标准256×256的Lena、Clock和Walter Cronkite灰度图像进行实验,加密系统的密钥设置为:$ {X}_{1}=0.76 $$ {r}_{1}=17.92 $$ {X}_{2}=0.21 $$ {r}_{2}=0.35 $$ L=56 $。3张图像的加密结果如图 7所示,其中:图 7(a)图 7(b)分别为Lena的明文和密文图像;图 7(c)图 7(d)分别为Lena的明文和密文图像的直方图;图 7(e)图 7(f)分别为Clock的明文和密文图像;图 7(g)图 7(h)分别为Walter Cronkite的明文和密文图像。

Download:
图 7 本文方案的加密结果 Fig. 7 The encryption results of this scheme
3.1 密钥空间

基于改进Logistic映射的混沌图像加密系统的密钥包括$ {X}_{1} $$ {X}_{2} $$ {r}_{1} $$ {r}_{2} $$ L $$ Z $,其中:$ {X}_{1} $$ {X}_{2} $的取值范围在0~1之间;$ {r}_{1} $$ {r}_{2} $可取任意非零的数值;$ {X}_{1} $$ {X}_{2} $$ {r}_{1} $$ {r}_{2} $的步长均为$ {10}^{-14} $。因此,密钥空间大小为$ {10}^{56} $,大于$ {2}^{100} $,即所提加密系统的密钥空间足够大,可以有效抵抗穷举密钥攻击。

3.2 密文统计特性分析 3.2.1 直方图分析

利用直方图可以直观地看出一幅图像的像素值分布特征,为了进一步从客观上说明直方图的均匀性,本文利用$ {\chi }^{2} $检验进行验证。取常用的显著性水平$ \alpha =0.05 $,临界值为$ {\chi }^{2}\left(\mathrm{255, 0.05}\right)=293.25 $。通过计算,Lena、Clock、Walter Cronkite的密文图像$ {\chi }^{2} $统计量分别为273.14、252.66、197.91,均比$ {\chi }^{2}\left(\mathrm{255, 0.05}\right) $小,即在显著性水平为0.05的情况下,可以认为密文图像直方图呈现均匀分布。

3.2.2 相邻像素相关性

明文图像在水平、垂直、对角方向上的相邻像素之间相关性都较强,理论上而言,通过加密系统加密后的密文图像在各个方向上的相关性很弱才表明加密系统的加密效果理想。为了测试密文图像的相邻像素相关性,在密文图像各个方向上随机选取2 000个相邻像素值,通过式(5)、式(6)计算相邻像素的相关性系数,计算结果如表 4所示。

$\begin{array}{l} {r_{xy}} = \frac{{{\rm{cov}}(x, y)}}{{\sqrt {D\left( x \right)} \times \sqrt {D\left( y \right)} }}\\ {\rm{cov}}(x, y) = \frac{1}{N}\sum\limits_{i = 0}^N {({x_i} - E(} x))({y_i} - E(y)) \end{array}$ (5)
$ E\left(x\right)=\frac{1}{N}\mathop \sum \limits_{i=0}^{N}{x}_{i} \text{,} D\left(x\right)=\frac{1}{N}\mathop \sum \limits_{i=0}^{N}({x}_{i}-E{\left(x\right))}^{2} $ (6)
下载CSV 表 4 相邻像素相关性系数统计结果 Table 4 Statistical results of correlation coefficient of adjacent pixels

表 4可以看出,明文图像在各个方向上的相邻像素相关性很强,而密文图像在各个方向上的相邻像素相关性很弱。与文献[16-17]算法相比,本文算法可以降低相邻像素的相关性。

3.3 敏感性分析

敏感性包括密钥敏感性、明文敏感性等,是指密钥或者明文发生微小改变时加密后得到的2幅密文图像是否有显著差别。衡量2幅图像的差别主要有定性方式和定量方式2种方法:定性方式直接显示2幅图像的差异;定量方式主要通过计算像素变化率(NPCR)和归一平均变化强度(UACI)进行衡量。NPCR和UACI的计算公式分别为式(7)和式(8),其中,函数$ D $用来比较2个数值是否相等,当$ {C}_{1}(i, j)={C}_{2}(i, j) $$ D\left({C}_{1}(i, j)\right., $ $ \left.{C}_{2}(i, j)\right)=0 $;否则,$ D\left({C}_{1}(i, j), {C}_{2}(i, j)\right)=1 $

$ \mathrm{N}\mathrm{P}\mathrm{C}\mathrm{R}({C}_{1}, {C}_{2})=\frac{1}{MN}\mathop \sum \limits_{i=1}^{M}\mathop \sum \limits_{j=1}^{N}\left|D\left({C}_{1}(i, j), {C}_{2}(i, j)\right)\right|\times 100\mathrm{\%} $ (7)
$ \mathrm{U}\mathrm{A}\mathrm{C}\mathrm{I}({C}_{1}, {C}_{2})=\frac{1}{MN}\mathop \sum \limits_{i=1}^{M}\mathop \sum \limits_{j=1}^{N}\frac{\left|{C}_{1}(i, j)-{C}_{2}(i, j)\right|}{255}\times 100\mathrm{\%} $ (8)
3.3.1 密钥敏感性

密钥敏感性强是指在加密或解密过程中,密钥发生微小的变化,在加密同一个明文图像得到的2个密文图像或者解密同一个密文图像得到的2个明文图像之间有巨大差异。对于密钥$ {X}_{1} $$ {X}_{2} $$ {r}_{1} $$ {r}_{2} $$ L $,每次实验改变其中一个密钥值,其他保持不变,分析2个密文图像之间的差异。利用Lena、Clock和Walter Cronkite图像进行实验,计算所得密文图像的NPCR和UACI值,计算结果如表 5所示。从表 5可以看出,本文加密系统具有很好的密钥敏感性。部分解密结果如图 8所示,解密系统同样具有良好的密钥敏感性。

下载CSV 表 5 加密过程的密钥敏感性 Table 5 Key sensitivity of encryption process 
Download:
图 8 部分解密结果 Fig. 8 Partial decryption results
3.3.2 明文敏感性

拥有良好明文敏感性的加密算法可以有效抵抗差分攻击。使用同一密钥对差别微小的2个明文图像进行加密,得到的2幅密文图像相差较大,即说明加密系统具有明文敏感性。随机改变明文图像的一个位置像素值或一个灰度级来产生具有微小差别的2幅明文图像,重复随机选取像素位置100次,经过相同密钥加密后得到2幅密文图像,计算2幅密文图像之间的NPCR和UACI值。100个NPCR和UACI值的平均结果如表 6所示,从表 6可以看出,本文方案的NPCR和UACI值接近NPCR和UACI的数学期望值(99.609 4%和33.463 5%),说明本文加密系统具有很好的明文敏感性,与文献[18-19]算法相比,本文算法在抵御差分攻击上具有更好的性能。

下载CSV 表 6 明文敏感性对比结果 Table 6 Plaintext sensitivity comparison results 
3.4 信息熵分析

信息熵可以反映图像的随机性或不确定性。如果一幅图像随机性越强,那么其信息熵越接近于数学理论值[20]。信息熵的计算公式为:

$ H=-\mathop \sum \limits_{i=0}^{T}p\left(i\right)\mathrm{l}\mathrm{b}p\left(i\right) $ (9)

其中:$ T $是灰度等级数;$ p\left(i\right) $表示灰度值$ i $出现的概率。对于$ T=256 $的灰度随机图像来说,$ H $的理论值为8。各个明文图像和密文图像的信息熵结果如表 7所示,从表 7可以看出,密文图像的信息熵接近于理想值,与文献[18-19]算法相比,本文算法信息熵结果更优,其可以更好地抵御信息熵攻击。

下载CSV 表 7 信息熵对比结果 Table 7 Information entropy comparison results
4 结束语

本文对经典Logistic映射进行改进,添加模运算并对所生成的序列进行比特重排,使得新混沌映射所生成的序列具有更好的混沌特性,并利用改进混沌系统所生成的序列设计一个包含预加密且同时进行置乱与扩散操作的图像加密方案。在预加密阶段对图像像素进行预处理,扩散图像的像素值,然后利用改进Logistic映射随机不重复生成置乱-扩散的像素位置,其中,由简单的交换实现置乱,对像素的比特平面进行翻转和动态异或完成扩散。实验结果表明,该图像加密方案具有较高的安全性,可以抵抗暴力攻击、差分攻击、统计攻击、明文攻击等。本文是对标准256×256灰度图像进行加密与解密研究,下一步考虑将加密方案推广到彩色图像领域,同时在加密性能与加密时间2个方面进行折中以获得更好的加密效果。

参考文献
[1]
ZHANG Y. Chaotic digital image cryptosystem[M]. Beijing: Tsinghua University Press, 2016. (in Chinese)
张勇. 混沌数字图像加密[M]. 北京: 清华大学出版社, 2016.
[2]
WANG X, SUN H. A chaotic image encryption algorithm based on improved joseph traversal and cyclic shift function[J]. Optics & Laser Technology, 2020, 122: 10584-10590.
[3]
HUA Z, ZHOU Y, HUANG H. Cosine-transform-based chaotic system for image encryption[J]. Information Sciences, 2019, 480: 403-419. DOI:10.1016/j.ins.2018.12.048
[4]
ALAWIDA M, SAMSUDIN A, TEH J S. Enhanced digital chaotic maps based on bit reversal with applications in random bit generators[J]. Information Sciences, 2020, 512: 1155-1169. DOI:10.1016/j.ins.2019.10.055
[5]
WANG X, ZHANG Y, ZHAO Y. A novel image encryption scheme based on 2-d Logistic map and DNA sequence operations[J]. Nonlinear Dynamics, 2015, 82(3): 1269-1280. DOI:10.1007/s11071-015-2234-7
[6]
BROUMANDNIA A. Designing digital image encryption using 2D and 3D reversible modular chaotic maps[J]. Journal of Information Security and Applications, 2019, 47: 188-198. DOI:10.1016/j.jisa.2019.05.004
[7]
BROUMANDNIA A. The 3D modular chaotic map to digital color image encryption[J]. Future Generation Computer Systems, 2019, 99: 489-499. DOI:10.1016/j.future.2019.04.005
[8]
HUA Z, JIN F, XU B, et al. 2D Logistic-Sine-coupling map for image encryption[EB/OL]. [2020-10-01]. http://www.huazhongyun.cn/wp-content/themes/homepage/Paper_PDF/2D%20Logistic-Sine-Coupling%20Map%20for%20Image%20Encryption.pdf.
[9]
ARTILES J, CHAVES D, PIMENTEL C. Image encryption using block cipher and chaotic sequences[J]. Signal Processing: Image Communication, 2019, 79: 24-31. DOI:10.1016/j.image.2019.08.014
[10]
LIU D D, ZHANG W, YU H, et al. An image encryption scheme using self-adaptive selective permutation and inter-intra-block feedback diffusion[J]. Signal Processing, 2018, 151: 130-143. DOI:10.1016/j.sigpro.2018.05.008
[11]
ENAYATIFAR R, GUIMARAES F G, SIARRY P. Index-based permutation-diffusion in multiple-image encryption using DNA sequence[J]. Optics and Lasers in Engineering, 2019, 115: 131-140. DOI:10.1016/j.optlaseng.2018.11.017
[12]
YANG J Y, WU H. Color image encryption algorithm based on chaotic system and dynamic DNA coding and operation[J]. Computer Engineering, 2018, 44(2): 151-157. (in Chinese)
杨吉云, 吴昊. 基于混沌系统和动态DNA编码与运算的彩色图像加密算法[J]. 计算机工程, 2018, 44(2): 151-157. DOI:10.3969/j.issn.1000-3428.2018.02.027
[13]
XIE G B, WANG T. A chaotic image encryption algorithm based on pixel scrambling and bit substitution[J]. Microelectronics & Computer, 2016, 33(3): 80-85. (in Chinese)
谢国波, 王添. 基于像素置乱和比特替换的混沌图像加密算法[J]. 微电子学与计算机, 2016, 33(3): 80-85.
[14]
HASHEMINEJAD A, ROSTAMI M J. A novel bit level multiphase algorithm for image encryption based on PWLCM chaotic map[J]. Optik, 2019, 184: 205-213. DOI:10.1016/j.ijleo.2019.03.065
[15]
PHATAK S C, RAO S S. Logistic map: a possible random-number generator[J]. Physical Review E, 1995, 51(4): 3670-3678. DOI:10.1103/PhysRevE.51.3670
[16]
LIU W C, LIU Y P. Image encryption algorithm based on Logistic chaos scrambling[J]. Scientific and Technological Innovation Information, 2020(36): 125-126. (in Chinese)
刘为超, 刘义沛. 基于Logistic混沌置乱的图像加密算法[J]. 科学技术创新, 2020(36): 125-126. DOI:10.3969/j.issn.1673-1328.2020.36.055
[17]
LI K, ZHANG T. Application of Logistic mapping in digital image encryption algorithm[J]. Information & Communi-cations, 2017(1): 139-140. (in Chinese)
李凯, 张婷. Logistic映射在数字图像加密算法中的应用[J]. 信息通信, 2017(1): 139-140.
[18]
NIU Y, ZHANG X C. Chaotic image encryption algorithm based on bit permutation and DNA sequence[J]. Computer Engineering and Applications, 2017, 53(17): 130-136. (in Chinese)
牛莹, 张勋才. 基于比特置换与核酸序列库的混沌图像加密算法[J]. 计算机工程与应用, 2017, 53(17): 130-136.
[19]
HU C J, RUAN C, NIU Z X. Image encryption algorithm based on improved Logistic map[J]. Computer Systems & Applications, 2019, 28(6): 125-129. (in Chinese)
胡春杰, 阮聪, 牛智星. 基于改进Logistic映射的图像加密算法[J]. 计算机系统应用, 2019, 28(6): 125-129.
[20]
SHANNON C E. Communication theory of secrecy systems[J]. Bell System Technical Journal, 1949, 28(4): 656-715.
Download:
图 1 比特重排示意图 Fig. 1 Bit rearrangement diagram
Download:
图 2 2种映射的分岔图 Fig. 2 Bifurcation diagrams of two kinds of maps
Download:
图 3 3种映射下的Lyapunov指数情况 Fig. 3 The case of Lyapunov exponent under three kinds of maps
Download:
图 4 混沌序列的自相关和互相关系数图 Fig. 4 Coefficient diagram of autocorrelation and cross correlation of chaotic sequences
下载CSV 表 1 SP800-22Rvlla测试结果 Table 1 SP800-22Rvlla test results
下载CSV 表 2 随机旅行测试结果 Table 2 Random travel test results
下载CSV 表 3 随机旅行变种测试结果 Table 3 Random travel variant test results
Download:
图 5 加密算法流程 Fig. 5 The procedure of encryption algorithm
Download:
图 6 置乱与扩散同时操作的流程 Fig. 6 The operation process of scrambling and diffusion is carried out simultaneously
Download:
图 7 本文方案的加密结果 Fig. 7 The encryption results of this scheme
下载CSV 表 4 相邻像素相关性系数统计结果 Table 4 Statistical results of correlation coefficient of adjacent pixels
下载CSV 表 5 加密过程的密钥敏感性 Table 5 Key sensitivity of encryption process 
Download:
图 8 部分解密结果 Fig. 8 Partial decryption results
下载CSV 表 6 明文敏感性对比结果 Table 6 Plaintext sensitivity comparison results 
下载CSV 表 7 信息熵对比结果 Table 7 Information entropy comparison results
基于改进Logistic映射的混沌图像加密算法
曾祥秋 , 叶瑞松