2. 水利部南京水利水文自动化研究所, 南京 210012
2. Nanjing Automation Institute of Water Conservancy, Ministry of Water Resources, Nanjing 210012, China
随着数字技术、通信技术的飞速发展与普及, 图像信息成为多媒体和网络中最重要的信息之一. 然而, 由于互联网的不确定性与开放性, 在图像数据传输过程中, 其信息数据安全性问题越来越受到重视. 所以, 如何保证数字图像的安全性显得特别重要, 图像加密是最直接有效的途径之一. 传统的加密方法加密效率低、时间较长, 不再适用于图像加密[1,2]. 由于混沌系统具有伪随机性、初值敏感性等特性, 因此将混沌系统应用到图像加密中非常契合. 随着研究的不断深入, 混沌图像加密算法和技术有了相当大发展[3–6].
文献[7]提出基于logistic映射图像加密算法. 简单易实现, 效果良好, 但是单一的映射加密安全性较差. 文献[8]提出一种基于图像分区的置乱算法. 该算法首先对原始图像进行分块置乱,再对相邻像素值进行异或运算置乱图像. 谢国波[9]提出了结合logistic映射和Arnold映射对图像进行加密, 提高了置乱和扩散两者之间的关联性, 增加了图像的安全性. 文献[10]提出了加强型超混沌加密算法, 相比低维系统密钥空间大, 非线性行为复杂化, 虽提高了图像的安全性, 但是效率不高[11–13].
本文在cubic映射和logistic映射基础上, 提出了一种改进logistic映射的图像加密算法. 首先改进logistic映射对图像进行置乱, 然后将置乱图像进行相邻像素间按位异或运算、交叉换位操作, 实现了对数字图像的加密. 实验结果表明, 本文算法不仅达到了较好的加密效果, 而且安全性好, 抵抗统计攻击和差分攻击强等特点.
1 Logistic映射及改进 1.1 Logistic映射Logistic映射是一个典型的非线性迭代方程. 其方程如下:
${x_{k + 1}} = \mu {x_k}(1 - {x_k})$ | (1) |
其中, 当3.5699<
1.2 改进的Logistic映射
目前一维离散混沌映射有logistic映射和cubic映射以及它们的衍生映射, 其共同点都是系统参数少, 混沌区间窄, 混沌的复杂性较低, 函数形式简单. 为了克服以上不足, 本文将logistic映射和cubic映射进行结合改进, 其方程表达式如下所示:
$ \left\{ {\begin{array}{*{20}{c}} {{x_{k + 1}} = \mu {y_k} - c{x_k}{y_k}} \\ {{y_{k + 1}} = ax_k^2 - b{x_k}} \end{array}} \right. $ | (2) |
式中,
为了检验改进logistic映射系统伪随机性的好坏, 分别对logistic映射改进前后进行了NIST测试, 测试结果如表1所示, 从表1可以看出, logistic序列有5项密钥通过, 改进logistic映射全部通过, 表明改进后映射的伪随机性高于经典的logistic映射.
2 改进的加密算法设计 2.1 位置置乱
本文应用改进的logistic映射置乱明文图像, 其主要步骤如下:
(1) 将原始明文图像转换成二维矩阵, 分别将其行数和列数放在数组C1和C2中;
(2) 计算原始明文图像所有像素值之和为sum, 通过式(3), 得到辅助密钥k;
$ k = od (sum,256)/255 $ | (3) |
(3) 设改进logistic映射的初始值为
(4) 设置初始条件
(5) 对序列
首先对置乱图像C中每个像素和它前面相邻的像素进行按位异或运算, 再对其异或运算的结果进行像素值的交叉换位, 得出最终加密图像. 其主要步骤如下:
(1) 设置乱图像C的第一个像素的灰度值为C(1)与255进行异或, 得到
(2) 置乱图像C的第二个像素的灰度值C(2)与Q(1)进行异或操作, 得到
(3) 依次将图像的每个灰度值C(i)与Q(i-1)进行异或, 得到
解密过程为加密过程的相反过程, 只要在正确的密钥条件下, 按照加密过程的相反操作处理就可以恢复得到原始图像.
3 仿真结果本文采用经典的Lena作为原始图像, 大小为256×256, 在 Matlab7.0平台上仿真实验, 运行得到加密图像. 图3(b)为置乱图像, 图3(c)为密文图像, 图3(d)为正确解密图像.
4 算法分析 4.1 直方图分析
图4(a)为明文图像的灰度直方图, 图4(b)为密文图像的灰度直方图. 从图4可以看出, 明文图像的像素点分布不均匀, 密文图像的像素点分布相对均匀, 很好地隐藏了明文图像的统计特性, 达到了预期的要求.
4.2 密钥空间分析
本文加密算法中改进的logistic映射有4个系统参数和2个初始值共6个密钥值. 假如计算机精度可以达到
信息熵是衡量信号源不确定性的重要参数, 图像越是混乱, 信息熵就越接近理想值, 其定义式为:
$ H(m) = \sum\limits_{i = 1}^{2N - 1} {P({m_i})} {\log _2}\frac{1}{{P({m_i})}} $ | (4) |
其中,
为了检验与分析加密前后图像的相关性, 分别从明文和密文中随机性地选取2000对相邻的像素, 使用式(12)计算相关性:
$\left\{ {\begin{array}{*{20}{l}} {D(x) = 1/n\sum\limits_{i = 1}^n {{{[{x_i} - E(x)]}^2}} } \\ {\operatorname{cov} (x,y) = 1/n\sum\limits_{i = 1}^n {[{x_i} - E(x)][{y_i} - E(y)]} } \\ {r = \operatorname{cov} (x,y)/(\sqrt {D(x)} \sqrt {D(y)} )} \end{array}} \right.$ | (5) |
其中, E(x)、E(y)分别是x, y的期望; n是像素点的个数; cov(x, y)是x, y的协方差; r相关系数,
图5至图7分别是明文图像和密文图像在垂直、水平、对角线方向相邻点分布情况. 从各图中可以看出, 明文图像中的点基本上都集中在对角线周围, 即图像相邻点相关性很强. 而密文图像中的像素点均匀集中在坐标上, 即密图相邻点相关性低.
由表2可得到, 明文图像的相邻像素点相关性系数趋近于1, 而密文图像的相关性较小, 其相关系数靠近于0, 可以得出密文图像的相邻间像素点基本不再相关. 相比较其他算法[4,9,14], 可见该算法的相关系数r更小一点, 说明本文加密算法具有良好的扩散性.
4.5 差分攻击分析
为了测试明文图像一个像素的变化对该算法整体加密结果的影响, 采用两种常见的措施[15]: 像素变化率(NPCR)和统一平均变化程度(UACI). 若一个像素值的变化导致密文图像发生显著地改变, 就可以说明算法能抵御差分攻击.
$NPCR = \frac{{\sum\limits_{i,j} {D(i,j)} }}{{m \times n}} \times 100\% $ | (6) |
$UACI = \frac{1}{{m \times n}}\left[ {\sum\limits_{i,j} {\frac{{\left| {{C_1}(i,j) - {C_2}(i,j)} \right|}}{{255}}} } \right] \times 100\% $ | (7) |
其中,
现从图像中随机选取5个像素点, 分别将像素值加1, 再对改变像素值后图像进行加密, 应用式(13)和式(14)进行计算. 对得到的值取平均值NPCR= 99.61%和UACI=31.62%. 这就说明当改变原始图像lena(256×256)一个像素时, 会使密文图像接近100%的NPCR变化, UACI也在31%以上. 说明本文加密算法抵抗差分攻击能力比较强.
5 结束语本文提出了基于改进logistic映射的图像加密算法. 先利用改进的logistic映射对图像进行位置置乱, 再进行相邻像素间按位异或、交叉换位操作得到最终加密图像. 仿真实验分析表明, 该算法可以达到良好的加密效果、简单易实现、安全性较好, 在数字图像通信传输中, 具有良好的实用价值.
[1] |
François M, Grosges T, Barchiesi D, et al. A new image encryption scheme based on a chaotic function. Signal Processing: Image Communication, 2012, 27(3): 249-259. DOI:10.1016/j.image.2011.11.003 |
[2] |
胡春杰, 陈晓, 郭银. 基于多混沌映射的光学图像加密算法. 激光杂志, 2017, 38(1): 110-114. |
[3] |
张健, 房东鑫. 应用混沌映射索引和DNA编码的图像加密技术. 计算机工程与设计, 2015, 36(3): 613-618. |
[4] |
Kanso A, Ghebleh M. A novel image encryption algorithm based on a 3D chaotic map. Communications in Nonlinear Science and Numerical Simulation, 2012, 17(7): 2943-2959. DOI:10.1016/j.cnsns.2011.11.030 |
[5] |
Wang XY, Yang L. A novel chaotic image encryption algorithm based on water wave motion and water drop diffusion models. Optics Communications, 2012, 285(20): 4033-4042. DOI:10.1016/j.optcom.2012.06.039 |
[6] |
Lin R, Liu QN, Zhang CL. A new fast algorithm for gyrator transform. Laser Technology, 2012, 36(1): 50-53. |
[7] |
刘刚, 王立香. 一种新的基于混沌的图像加密算法. 电视技术, 2008, 32(12): 22-24. DOI:10.3969/j.issn.1002-8692.2008.12.007 |
[8] |
朱晓升, 廖晓峰. 基于图像分区的置乱算法. 计算机技术与发展, 2015, 25(12): 52-55, 59. |
[9] |
谢国波, 丁煜明. 基于Logistic映射的可变置乱参数的图像加密算法. 微电子学与计算机, 2015, 32(4): 111-115. |
[10] |
Zhu CX, Sun KH. Cryptanalysis and improvement of a class of hyperchaos based image encryption algorithms. Acta Physica Sinica, 2012, 61(12): 120503. |
[11] |
Wang XG, Zhan M, Lai CH, et al. Error function attack of chaos synchronization based encryption schemes. Chaos, 2004, 14(1): 128-137. DOI:10.1063/1.1633492 |
[12] |
Pan TG, Li DY. A novel image encryption using Arnold cat. International Journal of Security and its Application, 2013, 7(5): 377-386. DOI:10.14257/ijsia |
[13] |
张海涛, 姚雪, 陈虹宇, 等. 基于分层Arnold变换的置乱算法. 计算机应用, 2013, 33(8): 2240-2243. |
[14] |
赵芳玲, 马文涛. 一种图像混合加密算法仿真研究. 计算机仿真, 2012, 29(5): 278-282, 290. DOI:10.3969/j.issn.1006-9348.2012.05.068 |
[15] |
王静, 蒋国平. 一种超混沌图像加密算法的安全性分析及其改进. 物理学报, 2011, 60(6): 83-93. |