现今社会, 随着网络的普及以及智能化的不断发展, 大量数据不断产生并传输, 这就可能涉及到个人身份、公司文件甚至是国家机密等信息, 而信息在传输过程中可能会发生信息丢失或者受到噪声的影响, 更为严重的可能存在信息泄露和信息篡改等安全问题, 这就可能对个人, 社会以及国家造成不可挽回的损失. 因此信息安全问题就显得尤为重要.
为保证多图像在传输过程中的安全性, 研究者通常从频域和空域两方面来实现图像加密. 基于频域的实现方法主要是通过小波变换[1]、梅林变换[2]、傅里叶变换[3]等频域变换将图像信息从空域转换为变换域, 进而实现多图像加密的方法. 但图像经过频域变换后, 只提取低频部分来进行图像加密, 这会导致高频部分图像信息丢失, 不能完全恢复原始图像. 之后研究者发现混沌系统具有不可预测以及初值敏感等特性, 故将其作为空间域图像加密的主要手段. 比如, 文献[4]提出了一种改进的埃农映射和非线性组合混沌系统的多图像加密方案. 文献[5]将DNA序列和细胞自动机组合, 提出了基于DNA序列和图像矩阵索引的多图像加密方案. 2021年, Bian等人[6]提出了利用托普利茨矩阵鬼影成像和椭圆曲线编码实现多图像加密的方案.
由于传统多图像加密技术中, 大多都是直接采用将多幅明文水平垂直拼接后直接进行加密操作的方法, 这就会导致图像加密过程复杂和运行效率低, 以及在传输过程中占用带宽过大, 致使传输效率过低的问题. 为了解决这种问题, 本文将压缩感知技术[7, 8]和超混沌系统结合实现多图像加密. 通过将随机正整数与明文图像的部分信息结合得到混沌系统的初始值, 利用混沌系统产生加密过程中所需的测量矩阵、置乱序列以及扩散序列, 将加密过程与明文密切相关, 提高密文对明文的敏感性. 利用压缩感知技术对图像进行压缩, 有效降低处理数据量, 提高加密和传输效率.
1 相关知识 1.1 压缩感知技术压缩感知技术是继奈奎斯特采样理论的又一重要发明, 其不再规定信息采集速度需要超过原信道传输带宽的2倍以上, 才能够完全的重构出原始信息. 压缩感知理论更多的是从信息自身的结构特征中出发, 运用信息的稀疏特征, 对信息进行了压缩采集[9, 10]. 图1为压缩感知技术的理论框架. 在本文中, 通过小波变换和并行测量压缩图像, 通过分段弱正交匹配追踪算法[11]重构原始图像信息.
1.2 超混沌系统
为了获得更不可预测的伪随机序列, 在本文中选择四维超混沌系统来生成加密过程中所需要的测量矩阵、置乱序列及扩散序列. 四维超混沌系统[12]的定义如式(1)所示:
$ \left\{ \begin{gathered} {x_{n + 1}} = \frac{{{\gamma _1}\sin ({\beta _1}{x_n})}}{{{\omega _1}\sin {{\left( {{{\textit{z}}_n}} \right)}^2} + {\alpha _1}}} \\ {y_{n + 1}} = \frac{{{\gamma _2}\sin ({\beta _2}{y_n})}}{{{\omega _2}\sin {{\left( {{x_n}} \right)}^2} + {\alpha _2}}} \\ {w_{n + 1}} = \frac{{{\gamma _3}\sin ({\beta _3}{w_n})}}{{{\omega _3}\sin {{\left( {{y_n}} \right)}^2} + {\alpha _3}}} \\ {{\textit{z}}_{n + 1}} = \frac{{{\gamma _4}\sin ({\beta _4}{{\textit{z}}_n})}}{{{\omega _4}\sin {{\left( {{w_n}} \right)}^2} + {\alpha _4}}} \\ \end{gathered} \right. $ | (1) |
其中,
本文提出了基于压缩感知和超混沌系统的多图像加密算法. 方案中利用随机正整数和明文图像信息产生超混沌系统初始值, 再将混沌序列随机组合构建受控测量矩阵、置乱矩阵和扩散矩阵. 对于拼接后的明文图像而言, 实现了“一图一密”, 使算法具备抵挡选择明文攻击的能力; 其次在并行测量前进行混沌矩阵置乱, 改变图像在水平和垂直方向上的像素位置, 使得系数矩阵不平衡的稀疏度得以改善; 最后通过无重复置乱和双向加模扩散操作得到密文. 具体加密流程图见图2.
2.1 混沌系统初始值预处理步骤1. 设4幅明文图像I1、I2、I3、I4的大小为
$ \left\{ {\begin{array}{*{20}{l}} \begin{gathered} t = round{{(M}} \times r{\text{)}} \\ {a_1} = \displaystyle\sum\limits_{i = 1}^t {\displaystyle\sum\limits_{j = 1}^t {C(i, j)} /(t \times t)} \\ \end{gathered} \\ {{a_2} = \displaystyle\sum\limits_{i = 1}^{t/2} {\displaystyle\sum\limits_{j = 1}^{t/2} {C(i, j)} /(t/2 \times t/2)} } \\ {{a_3} = \displaystyle\sum\limits_{i = 1}^M {\displaystyle\sum\limits_{j = 1}^N {C(i, j)} /\left( {M \times N} \right)} } \\ {{a_4} = floor\left( {\displaystyle\sum\limits_{i = 1}^M {\displaystyle\sum\limits_{j = 1}^N {C(i, j)} /\left( {M \times N} \right)} } \right)} \end{array}} \right. $ | (2) |
其中, r表示压缩率(0<r<1),i和j是图像像素在平面坐标系中对应的横坐标和纵坐标, 其中
步骤2. 用户输入4个随机正整数k1、k2、k3和k4, 分别将其对4进行取模运算得到处理后的4个参数
步骤3. 混沌系统最初初始值为x0、y0、w0和z0, 结合步骤1–2求得的参数, 采用式(3)计算混沌系统迭代时的初始值
$ \left\{ \begin{gathered} {x'_0} = \bmod ({a_1} \times 10 ^ \wedge{k'_1} + {x_0}, 1) \\ {y'_0} = \bmod ({a_2} \times 10 ^\wedge{k'_2} + {y_0}, 1) \\ {w'_0} = \bmod ({a_3} \times 10 ^\wedge{k'_3} + {w_0}, 1) \\ {{\textit{z}}'_0} = \bmod ({a_4} \times 10 ^\wedge{k'_4} + {{\textit{z}}_0}, 1) \\ \end{gathered} \right. $ | (3) |
本阶段实现了图像并行压缩过程, 假设待加密的明文图像C的尺寸为
步骤1. 通过离散小波变换得到一个小波变换基矩阵. 利用式(4)对明文图像C进行稀疏变换, 获得与明文图像同尺寸的稀疏系数矩阵C1, 式中的符号T代表转置操作.
$ C1 = Psi \times C \times Ps{i^{\rm{T}}} $ | (4) |
步骤2. 根据预先设置的阈值Ts, 将系数矩阵C1中所有不大于阈值Ts的值通通变换为零, 得到的矩阵记作C2. 根据迭代初始值将混沌系统迭代运行MN+500次, 前500次伪随机序列舍弃以获得具有较好混沌特性的伪随机序列, 进而得到4个伪随机序列X、Y、Z、W.
步骤3. 采用文献[13]中提出的混沌矩阵置乱方法置乱C2, 其中将伪随机序列X重建为与明文图像相同大小的二维矩阵CX作为混沌矩阵, 置乱后的矩阵为C3.
步骤4. 将混沌序列W中的前t个值进行升序排列, 排列后得到一个新的索引序列TW . 通过式(5), 利用TW和部分哈达玛矩阵
$ Ph{i_i} = {H_{W\left( {{T_W}\left( i \right)} \right)}}, \; i = 1, 2, \cdots , t $ | (5) |
步骤5. 用
$ C5 = round\left( {255 \times \frac{{C4 - min }}{{max - min }}} \right) $ | (6) |
其中, 参数min和max分别指压缩矩阵C4中的最小值和最大值, round为四舍五入操作.
2.3 二次加密步骤1. 将压缩图像C5按列展开为一维向量, 记作C6. 对Y序列经过式(7)的处理, 接着过滤掉Y中重复出现的数值, 然后将1–t×N之间没有在Y中存在的正整数按升序的规律插入到Y的末端, 得到序列值唯一的Y序列, 再按式(8)的规则进行交换位置, 得到无重复置乱后的一维向量C7.
$ Y = \bmod \left( {floor\left( {\left( {Y\left( {1:t \times N} \right) + 50} \right) \times {{10}^{15}}} \right), t \times N} \right) + 1 $ | (7) |
$ C6\left( {{Y_i}} \right) = C6\left( {{Y_{t \times N - i + 1}}} \right) $ | (8) |
其中,
步骤2. 将4个伪随机序列X、Y、Z、W根据排列组合的基本原理组合成为4MN长度的混合序列. 本文中采用其中两个伪随机序列, 分别是
步骤3. 将伪随机序列CXYWZ和CZYXW分别代入式(9)和式(10), 生成双向扩散操作所需的伪随机数向量
$ \left\{ \begin{gathered} {\textit{Sm}} = \bmod \left( {round\left( {{C_{XYWZ}} \times pow2\left( {16} \right)} \right), L} \right) \\ {\textit{Sm}}1 = {{\textit{Sm}}^{1:t \times N}} \\ {\textit{Sm}}2 = {{\textit{Sm}}^{2 \times t \times N + 1:3 \times t \times N}} \\ \end{gathered} \right. $ | (9) |
$ \left\{ \begin{gathered} Qm = \bmod \left( {round\left( {{C_{ZYXW}} \times pow2\left( 8 \right)} \right), L} \right) \\ Qm1 = Q{m^{1:t \times N}} \\ Qm2 = Q{m^{2 \times t \times N + 1:3 \times t \times N}} \\ \end{gathered} \right. $ | (10) |
其中, L=256表示灰度级水平, pow2表示以2为基底的幂函数.
步骤4. 用户输入正向扩散和逆向扩散的初始值(Bm0, Cm0), 通过式(11)–式(12)得到扩散后的一维向量C8.
$ \left\{ \begin{array}{l} B{m_i} = \bmod \left( {Bm0 + {\textit{Sm}}{1_i} + Qm{1_i} + C{7_i}, L} \right), \; i = 1 \\ B{m_i} = \bmod \left( {B{m_{i - 1}} + {\textit{Sm}}{1_i} + Qm{1_i} + C{7_i}, L} \right), \\ \qquad\;\;\; i = 2, 3, \cdots , t \times N \\ \end{array} \right. $ | (11) |
$ \left\{ \begin{array}{l} C{8_i} = \bmod \left( {Cm0 + {\textit{Sm}}{2_i} + Qm{2_i} + B{m_i}, L} \right), \; i = t \times N \\ C{8_i} = \bmod \left( {C{8_{i + 1}} + {\textit{Sm}}{2_i} + Qm{2_i} + B{m_i}, L} \right), \\ \qquad\;\;\; i = t \times N - 1, \cdots , 1 \\ \end{array} \right. $ | (12) |
步骤5. 把一维向量C8重建为t×N大小的二维矩阵C9, 即密文图像.
3 相应的解密算法解密就是把对应的加密过程的逆过程, 其具体解密流程简述如下.
步骤1. 将密文图像C9按列展开为一维向量C8. 利用伪随机数向量
步骤2. 利用伪随机序列Y中前t×N的序列片段对一维向量C7进行无重复置乱的反过程, 得到重排后的一维向量C6. 并将C6重建为二维矩阵C5, 即压缩图像.
步骤3. 对压缩图像C5实施逆量化, 得到压缩矩阵C4, 并使用分段弱正交匹配追踪重构算法按列从矩阵C4中重构出矩阵C3. 再对其进行混沌矩阵置乱还原, 得到矩阵C1.
步骤4. 利用离散小波变换的反变换从矩阵C1恢复出大小为M×N的明文图像C, 并对其进行分割, 得到4幅原始图像I1、I2、I3、I4.
4 仿真实验及安全性分析本文采用4幅大小为256×256的灰度图像进行实验, 分别为: Lena、Cameraman、Peppers和Woman. 实验主机环境为Intel Core I7-6700, 机带RAM为8 GB, 具有3.41 GHz 的处理器, 以及 64 位Windows 10 操作系统. 实验使用Matlab R2019b软件实现仿真测试. 系统的密钥由混沌系统初始值预处理前的值x0、y0、w0和z0、加模扩散的两个初始值Bm0和Cm0、用户自定义的4个参数k1、k2、k3和k4组成. 实验是在阈值Ts=25、x0=0.5、y0=0.4、w0=0.3、z0=0.6、Bm0=Cm0=0、k1=5、k2=30、k3=8和k4=20, 压缩率r=0.25的基础上进行的.
4.1 加解密结果图为了直观的观测加解密效果, 本节对其进行仿真实验, 结果如图3所示, 其中图3(a)–图3(d)为原始图像, 图3(e)为密文图像, 图3(f)–图3(i)为4幅解密图像. 从结果图中可以看出, 密文像素分布均匀, 并且在视觉上解密图像难以和明文图像进行区分.
4.2 密钥空间
本文提出的加密算法, 密钥包括混沌系统初始值预处理前的值x0、y0、w0和z0、加模扩散的两个初始值Bm0和Cm0以及用户自定义的4个参数k1、k2、k3和k4. 在本文提出的方案中, 整个系统是在灰度级为256、双精度和64位Windows 10操作系统下进行的. 根据IEEE浮点标准[15], 64位双精度计算精度为
信息熵是反映加密效果的一个重要指标, 用于判断图像内部各像素灰度值的出现是否接近等概率, 体现了加密体系的混乱程度. 图像的信息熵越大, 成功抵御熵攻击的概率就越大. 表1统计了明文图像的信息熵, 并将其与文献[16–18]进行了比较. 对比文献[16], 本文算法具有较高的信息熵; 而由于本文没有采用较为复杂的像素置乱方法, 故信息熵略低于文献[17, 18].
4.4 相邻像素相关性本节以Lena原始图像为例, 对比了明文与密文像素点间相关关系密切程度的分布情况如图4所示. 图4(a)–图4(c)表示明文图像Lena的相关部分, 图4(d)–图4(f)显示密文图像的相关部分. 表2用真实数据更加准确的对比了明文与密文的像素相关性.
由图4可以看出: 明文图像Lena相邻之间的像素相关性分布非常集中, 整体呈现线状分布; 而密文图像像素点分布散落分布在整个区域内, 意味着加密后图像内部相邻像素间近乎没有相关关系. 结果表明, 本文提出的加密算法可以有效地消除明文图像内部相邻像素间密切的相关关系.
由表2仿真数据可以得出: 明文图像的像素相关性非常趋近于1, 而经过加密算法的密文图像像素分布均匀, 整个结果数值表明本文提出的加密算法能够有效扰乱图像像素分布情况. 对比文献[19, 20], 本文所提算法的像素相关系数更小, 密文像素分布更随机.
4.5 差分攻击分析一个良好的加密系统应满足密文与明文之间像素差异很大. 攻击者无法通过改变图像中某个像素来分析密文之间的差异, 进而无法判断加密体系中的具体过程. 对差分攻击进行分析时, 常像素数目变化率(number of pixels change rate, NPCR)和统一平均变化强度(unified average change intensity, UACI)[21-24]进行测量. 在本节实验中, 通过改变明文图像中一个像素值, 来计算密文之间的NPCR和UACI, 结果如表3所示. 根据不同大小图像对应的理论临界值, 可以判断本文算法的NPCR和UACI 均在有效范围内, 表明算法可以有效抵御差分攻击. 对比文献[21, 25], 本文所提算法优于其他方案. 因此, 该方案能够抵抗差分攻击, 且比其他多图像加密方案更强.
4.6 鲁棒性分析
由于网络传输过程中, 会导致图像丢失部分的图像信息, 因此本节通过切割部分密文来模拟在传输过程中受到的影响, 并通过峰值信噪比(peak signal to noise ratio, PSNR)和结构相似性(structural similarity, SSIM)[26]两个指标对其进行结果分析. 在本节实验中, 将密文图像分别在左上角、中间和右下角位置丢失8×8、16×16和32×32大小的数据来模拟数据丢失, 以Lena图为例计算SSIM和PSNR值. 实验结果如表4所示, 表显示了不同位置丢失不同尺寸数据时的SSIM和PSNR值.
从结果可以看出: 随着图像丢失的数据越来越多, SSIM和PSNR值逐渐减小; 当数据丢失的位置发生变化时, SSIM和PSNR变化不大, 意味着该算法能够在受位置影响较小的情况下抵抗数据丢失攻击. 总而言之, 即使在传输过程中丢失部分密文信息, 通过正确的密钥信息, 解密图像内容依然可以进行分辨, 表明所提出的算法具有一定的抗剪切攻击性能.
5 结语本文将压缩感知技术与超混沌系统结合实现多图像加密算法. 与其他算法不同的是该算法通过明文图像信息产生超混沌系统初始值, 达到“一图一密”的密钥模型, 增强了密文抵挡选择明文攻击的能力; 其次在并行测量前进行混沌矩阵置乱, 改变图像在水平和垂直方向上的像素位置, 缩小了系数矩阵中所有列向量存在的稀疏度差异, 最后对压缩后的图像数据进行无重复置乱和双向加模扩散操作, 再次改变图像像素值及像素位置, 使图像像素分布更均匀, 削弱了第一次行列置乱可能导致的像素分布不均匀情况以及量化误差对鲁棒性的影响.
通过仿真实验数据可得, 本文算法的密钥空间足够大, 可以有效抵抗穷举攻击; 利用Lena图对比明文与密文之间像素分布情况, 可以发现密文像素均匀地分布在整个相位空间内, 表明本文算法可以有效扰乱像素分布; 通过改变明文中某一个像素值来计算NPCR和UACI指标, 数据显示两指标均在有效范围内, 表明密文对明文具有强敏感性, 可以抵御差分攻击; 在鲁棒性分析实验中, 通过切割部分密文来模拟信息在传输过程中受到的影响, 结果显示该算法能够在受位置影响较小的情况下抵抗数据丢失攻击. 通过对比相似文献, 本文算法在以上指标中具有较好优势, 但由于方案中置乱操作略为简单, 导致密文信息熵略低于其他文献, 表明算法成功抵御熵攻击的概率较低, 在以后的研究过程中将从提高信息熵入手.
[1] |
朱薇, 杨庚, 陈蕾, 等. 基于小波变换和改进双随机相位编码的多图像加密算法. 南京邮电大学学报(自然科学版), 2014, 34(5): 87-92. DOI:10.14132/j.cnki.1673-5439.2014.05.023 |
[2] |
Pan SM, Wen RH, Zhou ZH, et al. Optical multi-image encryption scheme based on discrete cosine transform and nonlinear fractional Mellin transform. Multimedia Tools and Applications, 2017, 76(2): 2933-2953. DOI:10.1007/s11042-015-3209-x |
[3] |
穆晓芳, 亓慧, 李晓宾. 基于傅里叶域向量计算的多图像联合加密算法(英文). 机床与液压, 2019, 47(18): 126-131. DOI:10.3969/j.issn.1001-3881.2019.18.022 |
[4] |
Kari AP, Navin AH, Bidgoli AM, et al. A novel multi-image cryptosystem based on weighted plain images and using combined chaotic maps. Multimedia Systems, 2021, 27(5): 907-925. DOI:10.1007/s00530-021-00772-y |
[5] |
Enayatifar R, Guimarães FG, Siarry P. Index-based permutation-diffusion in multiple-image encryption using DNA sequence. Optics and Lasers in Engineering, 2019, 115: 131-140. DOI:10.1016/j.optlaseng.2018.11.017 |
[6] |
Bian ZX, Zhang LH, Ye HL, et al. Multiple-image encryption based on Toeplitz matrix ghost imaging and elliptic curve cryptography. Laser Physics Letters, 2021, 18(5): 055206. DOI:10.1088/1612-202X/abf5cc |
[7] |
杜鑫昌, 高瑜翔, 曹远杰, 等. 基于混沌压缩感知和DNA编码的多图像加密算法. 无线电工程, 2022, 52(3): 476-483. DOI:10.3969/j.issn.1003-3106.2022.03.019 |
[8] |
Ni RJ, Wang F, Wang J, et al. Multi-image encryption based on compressed sensing and deep learning in optical gyrator domain. IEEE Photonics Journal, 2021, 13(3): 7800116. |
[9] |
田强宝, 谢冬. 基于压缩感知和随机像素置换的多图像联合加密方案. 杭州师范大学学报(自然科学版), 2020, 19(2): 208-214. |
[10] |
罗玉玲, 梁钰婷, 张顺生. 基于压缩感知的混沌图像加密研究综述. 广西师范大学学报(自然科学版), 2022: 1–10. https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFQ&dbname=CAPJLAST&filename=GXSF20220512001&v=MTAxMTA4PUlqWFlhTEc0SE5QTXFvNUhaT3NPWXc5TXptUm42ajU3VDNmbHFXTTBDTEw3UjdxZFplWm1GaXZsVnJ2UElG. (2022-05-13).
|
[11] |
Blumensath T, Davies ME. Stagewise weak gradient pursuits. IEEE Transactions on Signal Processing, 2009, 57(11): 4333-4346. DOI:10.1109/TSP.2009.2025088 |
[12] |
杨可心, 吴昭辉, 郝瑞斌, 等. 四维混沌系统及其在图像加密中的应用. 计算机应用研究, 2020, 37(11): 3433-3436. |
[13] |
Hua ZY, Jin F, Xu BX, et al. 2D logistic-sine-coupling map for image encryption. Signal Processing, 2018, 149: 148-161. DOI:10.1016/j.sigpro.2018.03.010 |
[14] |
蒋东华, 刘立东, 陈颖频, 等. 基于分数阶Chen超混沌系统和压缩感知的可视化图像加密算法. 小型微型计算机系统, 2021: 1–9. http://kns.cnki.net/kcms/detail/21.1106.TP.20210923.1457.014.html. (2021-09-24).
|
[15] |
孟浩, 李博, 杨耀森. 基于有限素域乘法群与倾斜帐篷的图像加密算法. 计算机应用与软件, 2020, 37(2): 282-287. DOI:10.3969/j.issn.1000-386x.2020.02.044 |
[16] |
Bisht A, Dua M, Dua S. A novel approach to encrypt multiple images using multiple chaotic maps and chaotic discrete fractional random transform. Journal of Ambient Intelligence and Humanized Computing, 2019, 10(9): 3519-3531. DOI:10.1007/s12652-018-1072-0 |
[17] |
Patro KAK, Soni A, Netam PK, et al. Multiple grayscale image encryption using cross-coupled chaotic maps. Journal of Information Security and Applications, 2020, 52: 102470. DOI:10.1016/j.jisa.2020.102470 |
[18] |
Ul Haq T, Shah T. Algebra-chaos amalgam and DNA transform based multiple digital image encryption. Journal of Information Security and Applications, 2020, 54: 102592. DOI:10.1016/j.jisa.2020.102592 |
[19] |
Zarebnia M, Pakmanesh H, Parvaz R. A fast multiple-image encryption algorithm based on hybrid chaotic systems for gray scale images. Optik, 2019, 179: 761-773. DOI:10.1016/j.ijleo.2018.10.025 |
[20] |
Zhang XQ, Hu YM. Multiple-image encryption algorithm based on the 3D scrambling model and dynamic DNA coding. Optics & Laser Technology, 2021, 141: 107073. |
[21] |
Liu JY, Yang DD, Zhou HB, et al. A digital image encryption algorithm based on bit-planes and an improved logistic map. Multimedia Tools and Applications, 2018, 77(8): 10217-10233. DOI:10.1007/s11042-017-5406-2 |
[22] |
蒋东华, 刘立东, 王兴元, 等. 基于细胞神经网络和并行压缩感知的图像加密算法. 图学学报, 2021, 42(6): 891-898. |
[23] |
王永, 江功坤, 尹恩民. 基于二维耦合映像格子模型的图像加密. 西南交通大学学报, 2021, 56(6): 1337-1345, 1354. |
[24] |
赵洪祥, 谢淑翠, 张建中, 等. 基于改进型Henon映射的快速图像加密算法. 计算机应用研究, 2020, 37(12): 3726-3730. |
[25] |
Zhang L, Zhang XQ. Multiple-image encryption algorithm based on bit planes and chaos. Multimedia Tools and Applications, 2020, 79(29): 20753-20771. |
[26] |
Xu QY, Sun KH, Cao C, et al. A fast image encryption algorithm based on compressive sensing and hyperchaotic map. Optics and Lasers in Engineering, 2019, 121: 203-214. DOI:10.1016/j.optlaseng.2019.04.011 |