1. 引言
随着网络技术和数字图像处理技术的飞速发展,图像信息的存储、共享和传输的安全性成为一个重要的问题。由于图像本身的一些特性,如高度冗余和大容量数据,有效的图像信息加密技术必须加以研究。众所周知,混沌系统具有良好的内在特性,包括遍历性、伪随机性、对初始条件的高度敏感性等。这些混沌特性非常符合密码学中混淆和扩散的基本要求 [1]。此外,混沌系统很容易实现,基于混沌的密码系统通常具有速度快、成本低的特点。基于混沌的密码可以达到很好的加密效果,比许多传统密码更适合用于多媒体数据特别是图像数据的加密。在过去的几十年里,混沌系统在设计有效的密码系统时表现出优良的置换和扩散特性,关于基于混沌的图像加密的一些研究进展,可见 [2] [3] [4] [5] 及其参考文献。
近年来,中国剩余定理(CRT)被广泛应用于构造一些有效的基于混沌的图像加密算法。中国剩余定理是数论中关于同余的一个定理。它可以有效地应用于密码学和编码的研究领域 [6]。Zhu等人将二维超混沌系统与中国剩余定理相结合,提出了一种新的加密压缩方案 [7]。Brindhaa和Ammasai Goundenba也利用混沌映射和中国剩余定理设计了另一种图像加密压缩技术 [8]。本文将二维斜帐篷映射与中国剩余定理相结合,提出了一种新的置换扩散模式的彩色图像加密算法。在置换过程中,该算法利用二维斜帐篷映射生成混沌序列,并将混沌序列按升序排列,得到位置索引序列,用于打乱明文图像像素位置得到初步的置乱图像。在扩散过程中,利用中国剩余定理重构置乱后的图像颜色分量,改变图像颜色分量的值。然后引入具有实参数的广义Arnold映射生成伪随机灰度值序列,并利用伪随机灰度值序列对重构图像分量值序列进行进一步扩散。中国剩余定理和扩散运算的功能有效地改变了颜色分量的分布,达到了很好的加密效果。
论文的剩余部分将安排如下。第2节介绍一些预备知识,包括中国剩余定理、二维斜帐篷映射和带实参数的广义Arnold映射。第3节和第4节分别详细介绍本文所构造的彩色图像加密和解密算法。第5节提供加密算法的实验结果和性能分析。这些实验结果和性能分析包括密钥空间分析、密钥敏感性分析、直方图分析、相邻像素相关性分析、信息熵分析、差分攻击分析等。第6节提供一些结论。
2. 算法理论基础
2.1. 中国剩余定理
中国剩余定理是数论中关于同余的定理,它给出了一元线性同余方程组解的具体形式 [6] [7]。中国剩余定理说明:设
是k个两两互质的正数,则对任意的正整数
,同余式组
(1)
一定有解,且解在同余意义下是唯一的。若令
,则(1)的解可以表示为:
(2)
其中
,
是对
求余的模乘法逆元,满足
。
2.2. 扩展欧几里得算法求解CRT
扩展欧几里得算法是用于解决形如
(
是整数常数,
是整数)的不定方程求整数解问题的一种方法。它需要先满足
的最大公约数
可以整除d,才能够用于求整数解。
逆元是指使在满足
条件下,
成立的x值。可以应用扩展欧几里得算法求得该值,这是由于
存在解
,两边同时对m取模可以得到
,这表
明x就是a关于模m的逆元。
有了扩展欧几里得算法,我们可以用下面的算法来求解中国剩余定理:
对于同余式组
,其中
。令
,由于
,所以
,
。根据扩展欧几里得算法,我们可以找到整数
和
使得
,因此
,从而同余式组
的解可表示为
。
2.3. 二维斜帐篷映射
二维斜帐篷映射
的输出序列具有混沌性、遍历性、均匀分布特性和很好的弱相关
等随机特性,其数学表达式如(3)所示 [9]。
(3)
其中
。从文献 [9] 中可以容易得知,二维斜帐篷映射的两个Lyapunov指数为
.
显然
都是大于0的数,这意味着二维斜帐篷映射在
上是混沌的。
2.4. 广义Arnold映射
离散广义Arnold映射可以表示为
(4)
其中
,与经典的Arnold映射不同的是,
由整数扩展为实数,这显著增加了密钥空间的大小 [3]。该映射的最大Lyapunov特征指数为
,因此对于任意
,该
映射都是混沌的。
3. 图像加密方案
3.1. 图像加密算法简述
本加密算法采用对像素值进行扩散,对像素位置进行置乱的两步经典加密框架。首先,利用二维斜帐篷映射生成混沌序列,通过对混沌序列进行升序排列得到位置置乱索引序列,将彩色图像的R、G、B分量分别进行位置置乱。然后,将R、G、B分量对应的一维灰度值序列整合得到一个数据值增大但数据个数减少的序列,利用中国剩余定理对整合的数据序列进行取模运算,得到相应的数值在0~255之间的3个新的灰度值序列,再利用广义Arnold映射生成伪随机密钥流,通过将灰度值序列与密钥流进行整体的比特异或运算,进一步扩散图像像素值,得到最终的加密图像。详细过程在以下小节中说明。
3.2. 加密算法流程
Step 1.读入彩色明文图像PI (尺寸为
),按式(5)计算S0。
(5)
Step 2.给定初始值
,系统参数
,用二维斜帐篷映射(3)迭代生成混沌序列
、
,其中S0与明文图像相关,可以使算法很好的抵抗差分攻击。舍弃序列
的前S0
个值以避免混沌序列的过渡效应。
Step 3. 利用式(6)对序列
进行排序,得到升序序列
和相应的位置置乱索引序列
。
(6)
Step 4. 从明文图像PI中得到三个颜色分量矩阵R、G、B,将其分别重塑为一维向量RV、GV、BV。利用位置索引序列
对RV、GV、BV的元素进行位置置乱,得到中间置乱序列RV1、GV1、BV1,如式(7)所示:
(7)
Step 5. 将序列RV1、GV1、BV1进行线性组合得到数值较大的序列Q,其值的范围为
,如式(8)所示:
(8)
现利用中国剩余定理实现图像像素值的初步扩散。选取互素的4个数值小于256的质数
,其中
比较接近256,且满足
。将
分别除以
得到余数
,即:
Step 6. 对
,将
分别与
进行比特异或运算得到
,如式(9)所示:
(9)
Step 7. 将序列
合成一个向量,记为
,对向量P做整体的灰度值扩散。首先,给定初始值
和系统参数
,利用广义Arnold映射迭代
次,舍弃前面30个点以避免混沌序列的过渡效应。得到两个长度为
的混沌序列
。然后,按式(10)组合序列
得到长度为
的混沌序列Z。通过式(11)对Z进行量化,形成伪随机的灰度值序列密钥流S。最后,对序列P的灰度值进行扩散得到密文序列C,如式(12)所示。
(10)
(11)
(12)
通过式(12)得到的密文像素不仅取决于相应的密钥流元素,还取决于所有先前的像素值,有利于图像的抗差分攻击性能。
Step 8. 将序列
从左至右按每组
个元素转化为二维矩阵,分别构成密文彩色图像矩阵F的R、G、B三个分量灰度矩阵,从而得到密文图像F。
4. 算法解密流程
4.1. 图像解密算法简述
因为该加密算法中每步都可逆,所以解密过程为相应加密过程的逆过程。需要注意的是,在解密过程中除了用到外部密钥之外,解密所需的密钥还包含加密过程中生成的与明文自相关的密钥流序列RGBV2。由于RGBV2是通过中间密钥流序列Q与外部密钥的数学运算得到的,序列Q是由混沌序列置乱明文图像分量后再组合得到的,因此RGBV2不会暴露明文中的任何信息,可以作为公开密钥形式公布。同时,由于二维斜帐篷映射的过渡点舍弃值是结合明文信息生成的,使得加密算法对明文具有较高的敏感性,提升了加密的安全强度。
解密图像首先需要拿到图像加密的密钥,所需的密钥说明如表1所示:
4.2. 解密算法流程
Step 1. 读取彩色密文图像F的三个分量矩阵,将三个矩阵拉直变为一维行向量并从左至右拼接为序列C。
Step 2. 首先按4.1中Step 7的方法生成混沌序列Z。然后,根据式(11)对Z进行量化,形成伪随机的灰度值序列密钥流S。通过式(13)还原序列C得到序列P:
(13)
Step 3. 从序列
中按从左至右每组
个元素的方式做分割得到序列
。将
分别与
做比特异或运算得到
,
如式(14)所示:
(14)
Step 4. 利用中国剩余定理(式(15))计算得到
。
(15)
Step 5. 由序列Q依次还原得到序列
,过程如式(16)所示:
(16)
Step 6. 由式(17)计算得到S0,结合密钥中二维斜帐篷映射的初值和控制参数,迭代二维斜帐篷映射(式(3))
次,再舍弃前S0个值得到序列
。
(17)
Step 7. 利用式(6)对序列
进行排序,得到升序序列
和相应的位置索引序列
,并还原
,得到
如式(18)所示:
(18)
将序列
分别重塑为二维矩阵,分别构成彩色明文图像的三个彩色分量矩阵,从而得到解密的图像。
5. 仿真结果和安全性分析
为了评估该加密算法的性能,我们使用Matlab R2018a和一台配备Intel core i5-7200U处理器和8GB内存的计算机对256 × 256的标准彩色图片Lena进行了安全测试。密钥选取为:中国剩余定理的模数
,二维斜帐篷映射的初值
,控制参数
,广义Arnold的初值
,控制参数
。实验结果显示,对Lena图像进行一轮加解密的总时间为0.97 s。图1展示了明文图像通过本文的加密算法得到的加密图像和解密图像,在密文图像中没有任何可获取的有效视觉信息,算法可对图像进行正确的无损解密操作。在本节的下一部分中,我们将以数值和可视化图形的形式展示此方案的有效性和鲁棒性。
(a)
(b)
(c)
Figure 1. Experimental simulation results: (a) Lena plaintext image; (b) Lena ciphertext image; (c) Lena decryption image
图1. 实验仿真结果:(a) Lena明文图像;(b) Lena密文图像;(c) Lena解密图像
5.1. 密钥空间分析
密钥空间是指在密码系统中所有可能取到的密钥总数。高效的加密系统应具有足够大的密钥空间,以使系统能够抵抗穷举攻击。根据文献 [10],为防止加密算法被穷举攻击破解,密钥空间至少要大于2100,而且密钥空间越大,表示加密算法的安全级别越高。在我们提出的算法框架中,使用的密钥包括二维斜帐篷映射的初值
和控制参数
,广义Arnold映射的初值
和控制参数
以及扩散过程中选取的模数
。考虑到64位双精度数字的计算精度可达到为10−15,即使不考虑
的选取可能性,本文的加密方案的密钥空间也可达
,远远大于2100,足以抵抗穷举攻击。
5.2. 密钥敏感性分析
一个好的加密系统应该对密钥的细微变化非常敏感。灵敏度可通过NPCR (像素数变化率)和UACI (统一平均变化强度)进行定量评价,NPCR和UACI的值越接近其数学期望值NPCR = 99.59%,UACI = 33.4635% [11]。加密性能越好,说明密文对密钥的变化越敏感。NPCR和UACI的计算式如(19)所示。
(19)
其中
是图像的尺寸,D是尺寸为
的矩阵,定义如(20):
(20)
C1是通过原始密钥加密得到的加密图像,而C2是对密钥做出微小调整后得到的加密图像。为了研究所提出算法的密钥敏感性,我们通过使用两个稍微不同的密钥加密相同的明文图像来获得的两个密文图像之间的差异,每次我们仅改变八个密钥中的一个,对进行检验的密钥分别采取+10−14和−10−14的调整,计算两次调整密钥后密文图像变化的NPCR与UACI的平均值。结果如表2所示,可以看到,所提出的图像加密算法对密钥的微小变化均非常敏感,即使在一个密钥值的级别上存在微小的差异,得到的密文图像变化也是很大的。这使得我们提出的算法对几种明文攻击具有鲁棒性。

Table 2. Results of key sensitivity (%)
表2. 密钥敏感性的结果(%)
5.3. 统计分析
Shannon在其论著 [12] 中指出,通过统计分析可能破译许多加密系统。为了证明所提出的加密方案的安全性,我们进行了以下统计测试。
直方图分析。图像直方图通过绘制每个强度级别上的像素数来给出图像的像素分布 [13]。如果密文图像的直方图分布越均匀,表明加密效果越好,从加密图像中推断原图像信息越是困难。图2显示了lena明文图像及其密文图像的像素直方图。可以看到,明文图像的像素直方图提供了很多关于它的信息。然而,加密图像的像素直方图是平坦且分布比较均匀的。这意味着加密图像不会向攻击者提供任何统计信息。
相关性分析。相邻像素相关性反映图像相邻位置像素值的相关程度。良好的图像加密算法能有效降低相邻像素的相关性。在实验中,我们从原始图像和加密图像中随机选取6000对相邻像素(包含RGB三个颜色通道),并在水平、垂直和对角线方向上分析相关性。相关系数由式(21)计算。
(21)
其中
和
表示某对相邻像素的像素值,T是选取的图像像素的总数。表3显示了Lena图像中相邻像素之间在水平,垂直和对角线上的相关性。

Table 3. Correlation coefficient between adjacent pixels
表3. 相邻像素之间的相关性系数
结果显示,明文图像的相邻像素相关性极强,而密文图像在所有方向上的相邻像素相关性接近于零,这与接近1的明文图像的相关性不同。这表明加密算法可以很好地削弱相邻像素的相关性。为更加直观展示结果,每种方向的相邻像素相关性分布在图3中展示:
图3显示,Lena明文中垂直、水平、对角线三个方向的像素点都集中在对角线方向上,表明像素之间的相关性较强。而密文中三个方向的像素点较均匀地布满整个平面,表明密文的像素之间的相关性很弱。相关的定量和定性分析表明,通过所提出的方法得到的密文图像在相邻像素之间具有足够低的相关性,表明算法的扩散性能良好。
5.4. 抗差分攻击分析
在这种攻击中,入侵者稍微修改明文图像并观察加密结果的变化。目的是找出明文图像和密文图像之间的一些有意义的关系。如果明文图像中的微小变化可以在整个密文图像中反映出来,则可以保护加密方案免受此类攻击 [14]。本文提出的方案有很好的抗差分攻击性能,因为密文中的每个像素不仅取决于相应的密钥流元素,而且还取决于前面的像素值。此外,为了量化变化程度,我们使用了两个最常用的指标:像素数变化率(NPCR)和统一平均变化强度(UACI)。设P1和P2是只有一个像素不同的明文图像,他们对应的密文图像分别为C1和C2。NPCR和UACI的计算式如(19)所示。在本文的实验中,随机选取像素图像中的100个像素(包含RGB三个颜色通道),在每一次改变中对其中一个像素的值增加1,将变更后加密的图像与原加密图像进行对比,计算两副密文图像的UACI及NPCR。经过100次的试验后得到NPCR和UACI的平均值分别达到99.61%和33.49%,表明本文的图像加密算法对明文的微小差异非常敏感,可以有效抵御差分分析的攻击。
5.5. 信息熵分析
信息熵是反映信息随机性的重要参数。图像的信息熵是一种度量随机特征的统计形式,能测试不确定性,能反映出图像中平均信息的多少。信息熵可通过式(22)计算:
(22)
其中
表示像素
出现的概率,L是像素的灰度级总数。对于8位图像,其灰度级总数为
,L为256。在这种情况下,如果加密图像的像素完全均匀分布,则所有灰度级的出现概率为1/256,最佳信息熵
。本文加密算法加密明文图像lena后得到的密文图像信息熵为7.9972,接近于最大值8,表明密文图像中的信息不确定度很大,能被攻击的可能性很小,很难泄露信息,该算法具有较高的安全性。
6. 总结
在本文中,我们提出了一种基于中国剩余定理和混沌系统的图像加密方案。在该加密方案中,我们应用二维斜帐篷映射对明文图像的像素进行位置置换,并根据中国剩余定理对图像的颜色分量进行重构。然后,利用广义Arnold映射对置乱并重构后的密文序列进行灰度值扩散,以改变置乱后图像的像素直方图分布。实验结果表明,本算法具有庞大的密钥空间,较高的加解密效率,且加密后的图像直方图是均匀、平滑的,相邻像素的强相关性也被有效打破。极大地降低了明文统计信息被暴露的风险。另外,抗差分攻击分析与信息熵分析表明,加密算法对明文具有较高的敏感性,具有较高的安全性。
基金项目
论文研究资助项目为广东省大学生创新创业项目以及广东省基础与应用基础研究基金项目 (No. 2020B1515310018)。
NOTES
*通讯作者。