1、混沌理论与小波变换技术结合的图像加密算法 王鸣天 郭玉奇 曲阜师范大学物理工程学院 摘 要: 为保证图像数据的安全可靠传输, 论文提出了小波变换和 Logistic 混沌映射相结合的图像二次加密算法。首先, 应用小波变换技术提取图像的低频、水平、垂直以及对角分量, 应用 Arnold 置乱法对所提取的分量系数加密。然后, 应用一维 Logistic 变换把一次加密后图像序列映射生成混沌序列, 实现图像二次加密。通过实验研究表明, 经过二次加密后的图像在使用正确密钥时能够成功解密。密钥灵敏度测试实验验证了该算法可有效抵抗错误密钥的攻击, 提高了信息传输的安全性。关键词: 图像加密; 小波变换;
2、混沌理论; Arnold 置乱; Logistic 映射; 作者简介:王鸣天, 男, 曲阜师范大学, 主要研究方向为图像分析与图像加密;作者简介:郭玉奇, 女, 曲阜师范大学, 主要研究方向为图像处理与分析。Image encryption algorithm based on chaos theory and wavelet transformWang MingTian Guo YuQi College of Physics and Engineering, Qufu Normal University; Abstract: In order to transmit image data s
3、afely and reliably, this paper proposes an encryption algorithm based on the combination of wavelet transform and Logistic chaotic map. Firstly, wavelet transform is used to decompose the image, extracting the low frequency, horizontal, vertical and diagonal coefficients and using Arnold scrambling
4、method to shuffle the extracted coefficients. Then, using the one-dimensional Logistic transform, some chaotic sequences can be generated and the image is encrypted by two times. Finally, through the experimental study, the encrypted image can be successfully decrypted when using the correct key. Th
5、e experimental result shows that the proposed algorithm can effectively resist the attack of wrong keys.Keyword: image encryption; wavelet transform; chaos theory; Arnold scrambling; one-dimensional Logistic map; 0 引言图像加密方案中基于混沌的加密方案被广泛地应用。1998 年 Fridrich 首次应用猫映射和面包师映射构造了二维混沌映射对图像进行加密, 提出了将混沌映射离散化为整
6、数点的一般化方法1。陈果等人分析了二维 Standard 混沌映射并将其应用在数字图像加密中2。文献3-文献10也分别介绍了混沌理在图像加密算法中的应用。尹显东, 姚军等人提出在小波域上模板加密与非线性矩阵变换相结合的算法, 提高了加密强度11。单华宁、刘家胜等人应用小波变换理论、混沌理论实现了图像的加密运算12,13。上述研究主要是针对低维混沌序列进行的, 导致它们的密钥空间不够充足, 序列的保密性不够健全。基于上述研究, 论文提出了基于混沌理论和小波变换相结合的图像二次加密算法具。首先, 对图像应用小波变换分解得到图像一次分解的低频、水平、垂直以及对角分量系数, 对提取的高低频分量系数进行
7、 Arnold 置乱加密, 然后用一维 Logistic 变换把一次加密后的图像序列映射产生混沌序列实现二次加密。1 数学基础1.1 混沌理论我国数学家李天岩和美国数学家 Yorke, 二者在其论文中对混沌作了如下的数学定义。Li-Yorke 定义:对于闭区间a, b上的连续映射函数 f (x) , 若以下条件得以满足时, 即为混沌。存在闭区间 I 上的不可数子集 S 且其应满足条件, 如条件 (1) (2) 。条件 (2) 函数 f (x) 的周期点周期无上界作为非线性理论的典型代表, 混沌理论是不确定性与稳定性的结合体。对初值的敏感性、状态遍历性、对参数的敏感性以及内在随机性等性质都是其不
8、确定性的体现;此外, 混沌序列的产生一点也不繁琐, 一个映射公式加上一个初值, 就可以唯一确定地生成一序列, 这又体现了其稳定性;再加上混沌信号不仅具有连续的宽带频谱, 而且是类似噪声特性的非周期信号, 这些特点使得它具有天然的隐蔽性, 且将其与加解密系统的密码特性之间建立了紧密的联系。混沌理论的这些优点, 使得应用混沌理论来研究图像加密是件很自然的事。1.2 一维 Logistic 映射Logistic 映射作为一个典型的非线性混沌方程, 最早是被生态学家用来描述种群的变化。而现在, 在保密通信领域中常常使用 Logistic 映射。对于一维Logistic 映射, 其数学表达式如式 (1)
9、 。其中 被称为控制参数, i 为迭代次数, X i为状态变量。在 值确定的情况下, 初值 X0每取1中的一个值, 就会对应一个确定的混沌序列;控制参数 还决定着系统的特性, 换言之, 其取值不同, 由数学表达式 (1) 所确定的系统将表现不同的特性, 当 3.56994564 时, Logistic 映射处于混沌区域。1.3 小波变换小波变换可分为连续小波变换和离散小波变换, 其在信号处理中的应用最早是源于尺度变换和平移变换的方法。正因为小波变换可以更好地去分析和处理现实中的信号, 因此它被广泛地用于图像的加密、分割、压缩等变换域的图像处理领域。定义:设 为其傅里叶变换, 若容许性条件得到满
10、足时, 称其为一个基本小波。对小波母函数 进行平移变换和尺度变换, 可得函数式 (5) 变换称作连续小波或者分析小波, 其中 (t) 为基本小波或者母小波, a 为尺度参数, 为平移参数。对 L (R) 空间中的任意函数 f (t) 在小波基下展开, 称为 f (t) 的连续小波变换, 表达式为:离散小波变换就是在连续小波变换基础上对基本小波的尺度参数 a 和平移参数 进行离散化。由于在对尺度参数 a 进行离散化时, a 总是取正数, 所以为了确保小波逆变换可以进行的容许性条件也略微有些变化, 如式 (4) 。当进行离散小波变换时, 对式 (4) 中的相关参数离散化常采用幂级数的方式, 即令
11、a=a0 (m 为整数, a 01) , 当 a0=2 时, 对应的位移间隔为 2 T s, 得到离散小波函数为:于是, 任意函数 f (t) 的离散小波变换为:2 算法实现步骤加密实现的过程分为两部分, 其一是对小波变换后的系数的置乱, 另一是利用产生的混沌序列进行的序列加密。设 (x n, y n) 为图像中的点, 应用式 (7) 对像素点进行 Arnold 变换, 此处 N 取图像的宽或高, p、q 均为参数。经过 (7) 式的 n 次运算后, 点 (x n, yn) 变成了置乱图中的点 (x n+, 1 y n+1) , 也就是说点 (x n, y n) 处的像素在空间上搬移到点 (x
12、 n+1, y n+1) 处, 这样, 通过逐点的像素搬移就实现了整幅图的灰度置乱, 依次对低频、水平、垂直以及对角系数进行置乱, 得到新的低频、水平、垂直以及对角系数。对置乱后的系数进行小波重构, 得到第一次加密后的图图像 B (i) 。根据式 (8) 进行计算改变像素灰度值, 实现对图像的二次加密。式 (8) 中, p (x, y) 和p (x, y) 分别为原图和加密后的图像在点 (x, y) 处的灰度值, x (i) 为混沌序列。解密过程是加密过程的逆过程, 设 p (x, y) 和 p (x, y) 分别表示原图和加密后的图像在点 (x, y) 处的灰度值, 并设混沌序列为 x (i
13、) , 解密过程可用式 (9) 表示。选用一维 Logistic 映射来产生混沌序列, 选定 值和初值 (注意应与加密处的取值一致) 之后代入式 (1) 进行迭代, 生成混沌序列 x 1 (i) , 将其与经二次加密后的图像 y (i) 进行按位异或, 即 z (i) =x1 (i) y (i) , 可得经第一次解密后的图像 z (i) 。由式 (10) 计算得解密后的低频、水平、垂直及对角系数, 逐点的像素搬移将恢复灰度置乱的图像系数。然后, 应用恢复的系数对图像进行小波重构得到解密图像。上述加密、解密过程可通过以下几个步骤实现。(1) 对输入的原始图像序列进行预处理;(2) 对实验图像进行
14、预处理, 选用 d b 1 小波基函数, 做一次小波变换提取低频系数 c a 1, 水平系数 ch1, 垂直系数 cv1 以及对角系数 cd1。(3) 选择 Arnold 置乱参数 p=1 0, q=5, 置乱次数 n=10。对步骤 (2) 中提取出的系数进行 Arnold 置乱, 得到经置乱后的低频系数 ca2、水平系数 ch2、垂直系数 cv2 以及对角系数 cd2。(4) 对步骤 (3) 处理得到的系数 ca2、ch2、cv2、cd2 进行小波逆变换, 得到第一次加密图像。(5) 选定映射初值 =3.6, x 1=0.3, 应用一维 Logistic 映射生成混沌序列。(6) 把步骤 (
15、5) 产生的混沌序列与步骤 (4) 得到第一次加密图像按位异或, 实现图像的二次加密。加密流程图如图 1。图 1 加密流程图 下载原图(7) 选用与步骤 (5) 相同的参数, 应用一维 Logistic 映射产生混沌序列与二次加密图像按位异或运算, 完成一次解密。(8) 选用 db1 小波基函数, 对步骤 (7) 的结果进行小波变换, 提取此时的低频、水平、垂直以及对角分量。(9) 对步骤 (8) 中提取的小波系数进行 Arnold 复原, 对复原结果进行小波逆变换, 完成对图像的第二次解密。解密过程流程图如图 2 所示。图 2 解密流程图 下载原图3 算法实现与结果分析实验在联想 Y470、
16、2.40GHz 的 CPU、Windows764 位操作系统上进行, 选用MATLAB 7.11 软件对算法进行实验。为检验论文提出的图像加密算法的有效性, 选用尺寸为 512512 的 Lena 图像作为实验样本图像。实验 1 算法的有效性实验。(1) 实验图像小波变换后得到图像的低频、水平、垂直、对角系数, 如图 3。各分量系数 Arnold 置乱结果如图 4。图 3 小波变换各分量图 下载原图图 4 小波变换各分量 Arnold 置乱结果图 下载原图(2) 对步骤 (1) 结果做小波逆运算重构得到一次加密后的图像, 如图 5。一维Logistic 映射的混沌序列与图 5 所示的加密图像做
17、异或运算得到二次加密图像, 如图 6。图 5 一次加密图 下载原图图 6 二次加密图 下载原图图 7 原始图像 下载原图(3) 把步骤 (2) 的结果应用一维 Logistic 映射生成的混沌序列解密, 实现一次解密, 如图 8 (a) 。一次解密图像小波变换的分量图如图 8 (b) (e) 。图 8 一次解密图及各分量系数解密图 下载原图(4) 对步骤 (3) 计算得到的小波系数进行 Arnold 复原, 重构图像的分量图以及解密图, 如图 9。图 9 小波系数解密及解密图 下载原图从图 5-图 7 对比一次加密、二次加密后的图像和原始图像可以发现, 二次加密后得到的是一幅更加杂乱无章的图像
18、, 无明显的纹理特征, 而且从中无法识别出与原图像相关的信息, 这说明加密效果比较好。分析图 9 (e) 与图 7 可以看出, 解密结果好, 很好的还原了图像的原始信息。实验 2 密钥灵敏度试验。为了测试二次加密后的图像对密钥的敏感度, 选用Lena 图像, 研究 Logistic 映射的参数 和初值 x1的数值与解密的关系。实验中密钥正确值为 , 实验结果如表 1、图 10 所示。表 1 密钥灵敏度测试 下载原表 图 1 0 密钥灵敏度测试 下载原图分析以上实验结果, 不难发现, 当解密密钥正确时 ( ) , 为图 10中 (1) 图, 图像可以正确解密;保持 值大小不变, 只对 x1进行少
19、许改动, 即当 时, 得到图 10 中的 (2) 图, 图像因密钥错误不能够被解密;保持 x1大小不变, 只对 值进行少许改动, 即当 时, 得到图 10中的 (3) 图, 图像因密钥错误不能够被解密;同时改变 和 x1的大小时, 即当 时, 同样因为密钥错误而不能解密, 得到图 10 中的 (4) 图;依照表 1 中 (5) - (10) 中数据, 依次增大错误密钥与正确密钥的差别, 通过实验验证发现错误密钥仍然无法正确解密。从图 10 结果发现输入错误的解密密钥时, 无法解密出正确的图像, 这说明对图像经过二次加密后, 有效地抵抗了错误密钥的攻击。绘制图像加密前后的灰度直方图, 如图 11
20、。图中横坐标表示的是图像的灰度值, 纵坐标表示在某一灰度值下像素的个数。从图 11 可以发现, 原始图像的灰度值分布参差不齐, 不同灰度值下像素的个数相差较大;而经过二次加密后, 得到的灰度直方图分布非常均匀, 不同灰度值下像素的个数几乎相同, 这使得原始图像信息的隐蔽性增强。观察解密后的灰度直方图, 它与原始图像的灰度直方图相比较, 二者变化趋势势一致, 成功地进行了解密。图 1 1 加密前后灰度直方图 下载原图4 小结论文提出了一种有效的基于空间域和小波域的图像加密方案。通过实验研究, 说明了论文提出的基于一维 Logistic 混沌映射与小波变换的图像加密方法有效、可靠。算法改善了加密效
21、果, 加大了加密强度, 能够有效抵抗错误密钥的攻击, 提高了数据的传输速度, 具有较高的安全性和实用性。参考文献1Fridrich J.Symmetric ciphers based on twodimensional chaotic mapsJ.International Journal of Bifurcation and Chaos, 1998, 8 (6) :1259-1290. 2陈果, 廖晓峰.一种基于混沌映射的图像加密算法J.计算机应用, 2005, 25:121-123. 3孙鑫, 易开祥, 孙优贤.基于混沌系统的图像加密算法J.计算机辅助设计与图像学报, 2002, 14 (
22、2) :136-139. 4朱从旭, 胡玉平, 孙克辉.基于超混沌系统和密文交错扩散的图像加密新算法J.电子与信息学报, 2012, 34 (7) :1736-1738. 5刘泉, 李佩玥等.基于可 Markov 分割混沌系统的图像加密算法J.电子与信息学报, 2014, 36 (6) :1272-1273. 6陈帅, 钟先信等.基于离散数字混沌序列的图像加密J.电子与信息学报, 2007, 29 (4) :899-900. 7底晓强, 母一宁等.一种基于 TLM 超混沌细胞神经网络图像加密新算法J.红外与激光工程, 2014, 43 (12) :4171-4172. 8吴成茂.离散 Arno
23、ld 变换改进及其在图像置乱加密中的应用J.物理学报, 2014, 63 (9) :1-3. 9江帆, 吴小天, 孙伟.基于稀疏矩阵的 Arnold 数字图像加密算法J.计算机应用, 2015, 35 (3) :726-729. 10邓晓衡, 廖春龙等.像素位置与比特双重置乱的图像混沌加密算法J.通信学报, 2014, 35 (3) :217-218. 11尹显东, 姚军等.基于小波变换域的图像加密技术研究J.信息与电子工程, 2005, 3 (1) :1-5. 12单华宁, 王执铨, 王国清等.一种基于小波变换的混沌图像加密方法J.计算机应用, 2003, 6.199-201. 13刘家胜, 黄贤武等.基于混沌与小波变换的图像加密算法J.微电子学与计算机, 2007, 24 (12) :6-8. 14张欢.基于空间域的混沌图像加密算法研究D.桂林:桂林电子科技大学, 2011:2-3. 15孙燮华.图像加密算法与实践基于 C#语言实现M.1 版.北京:科学出版社, 2013:12-15.