- 09/29
- 2015
-
QQ扫一扫
-
Vision小助手
(CMVU)
陈永强 胡汉平
摘要:针对数字图像为二维数字信号的特点,在一维Logistic映射基础上,提出并实现了二维混沌映射的图像流加密算法。借鉴现有的研究成果,对具有一次耦合项的二维Logistic映射系统进行了讨论分析,给出了系统出现混沌的条件和特点。运用流加密原理,详细实现了数字图像加解密算法的实现过程。实验表明,所提出使用的加密算法达到了数字图像加密的要求,并具有更安全的性能。
关键词:数据安全;混沌;流密码;数字图像处理
1、概述
随着Internet技术与多媒体技术的快速发展,多媒体通信成为人们进行信息交流的重要手段,信息的安全与保密显得越来越重要。由于图像信息形象、生动,被人类广为利用,也成为多媒体技术中一个必需的媒体元素和人类表达信息的重要手段。现在,图像数据的拥有者可以在Internet上发布和拍卖他所拥有的图像数据,这种方式不但方便快捷,不受地域限制,而且可以为数据拥有者节约大量的费用。但这同时也为不法分子利用网络获取未授权数据提供了渠道。图像发行者为了保护自身的利益,就需要可靠的图像数据加密技术。数字图像的安全已经成为现在计算机领域的一个重要主题。
混沌信号具有遍历性、宽带性、类噪声、对初始条件的敏感性、快速衰减的自相关和微弱的互相关性等特点,使得混沌特别适宜保密通信,为加密提供了丰富的机制和方法[1]。基于混沌的加密技术是近年来才发展起来的一种密码加密技术,其加密过程主要是利用由混沌系统迭代产生的序列,作为加密变换的一个因子序列。
目前图像加密技术主要有象素位置置乱加密技术[2]和象素灰度值加密技术[3]两大类方法。象素位置置乱加密技术的运算量比较大,要求对图像的所有象素点遍历多次,同时还要考虑地址之间的相关性。象素灰度值加密技术易实现、运算量小、效果较好。本文运用象素灰度值加密原理,提出并实现了基于二维Logistic混沌映射的数字图像流加密算法。
2、二维Logistic映射
常用的混沌动力系统有Logistic、Rossler、Tent和Lorenz等。Logistic映射系统简单实用,其一维形式研究使用的较多,但有文献指出一维Logistic映射生成的混沌序列经过简单地变换加密是一种平凡混沌加密系统,安全性难以保障,故本文采用的是文献[4]研究过的二维Logistic映射来加密水印图像。
2.1、二维Logistic映射定义
根据一维Logistic映射,定义二维Logistic映射为:
其中 和 是耦合项,可取两种情况:① 和 的一次耦合项;② 的对称二次耦合项。
采用具有一次耦合项形式的二维Logistic映射进行研究实现,映射形式为:
其动力学行为是由控制参数,和 决定,可有选择地研究控制参数沿参数空间中的轨线变化时系统行为的演化。
2.2、二维Logistic映射的混沌
非线性动力学系统的混沌具有不可预测性、不可分解性和具有规律性行为等特性,混沌定义为:
设 是一紧致的度量空间,是连续映射,称f 在 x上是混沌的,如果:① f具有对初值敏感依赖性;②f 在x 上拓扑传递;③ f的周期点在x 中稠密。
非线性系统随时间的演变将趋向于维数比原来相空间低的极限集合,即吸引子。随着控制参数的变化,简单吸引子发展为奇怪吸引子,此时系统是混沌的。研究混沌运动,可直接观察分岔图和相图,但因为混沌的复杂性,运动结果不容易判断,需要其他的混沌判据与准则。目前混沌运动的判据有庞加莱截面法、相空间重构、功率谱分析、关联维数、Lyapunov指数和测度熵等方法,其中Lyapunov指数是比较直接和方便的方法。Lyapunov指数是表征混沌运动的统计特征值之一,是相空间中相近轨道的平均收敛性或平均发散性的一种度量,可通过差分方程组计算。
设 空间上的差分方程: , f是 上的连续可微映射, 表示 f的Jacobi矩阵:
令 ,将的n个复特征根取模后,依从大到小顺序排列为 。
f的Lyapunov指数为 ,k=1,…,n ,从而可计算差分方程组的最大Lyapunov指数 , 决定轨道覆盖整个吸引子的快慢。只要吸引子至少有一个正的Lyapunov指数,可肯定是奇怪吸引子的,系统运动是混沌的。对奇怪吸引子,其 为正,且 越大,系统的混沌性越强。
对于二维Logistic映射,其Jacobi矩阵 为:
令,
将的2个复特征根取模后,依从大到小顺序排列为 ,Lyapunov指数为 ,k=1,2 。二维Logistic映射的奇怪吸引子, 为正,运动为混沌。
当 , 时,从具有一次耦合项的二维Logistic映射的Lyapunov指数图和分岔图中分析可知时, ,系统为周期运动; 时,大部分情况 ,对应为混沌运动,但有几处很窄处 ,为混沌区中的不同周期的周期窗口; 时, ,系统为混沌。
3、数字图像的二维Logistic混沌映射流加密
流密码是重要的一类对称密钥密码方案,即加密变换只改变一位明文,可看成块长度为1的分组密码[5]。在出现传输错误的情况下,使用流加密不会产生错误传播,比较适合图像数据的加密特点。
3.1、加密算法
本算法采用二维Logistic混沌映射所产生的 和 序列分别加密灰度图像的行和列。 和 是二维Logistic混沌映射系统迭代运算到P步的值。设是一个灰度级为L 的图像,其大小为, 是图像中一个象素点(s,t)处的十进制灰度值。选定密钥K和加密函数E, 是对图像I加密而得,即 。
加密函数E所描述的加密步骤如下:
(1)用二进制数序列表示每一象素点的灰度值为,其中。水印图像转换为二进制数表示 ,有M 行和Ml 列。
(2) 的小数部分转换成二进制数序列,并取前Ml 位表示为 。同理,的前Nl位表示为 。
(3)运用异或运算 , , ,第一次根据行依次对象素的灰度二进制序列加密,得到 。
(4)运用异或运算 ,, ,第二次根据列依次对象素的灰度二进制序列加密,得到 。
(5)还原二进制序列 为十进制值,并表示为 ,得到加密后的水印图像记为 ,完成全部加密过程。
3.2、解密算法
解密基本上是加密的逆过程。设接收到的加密水印图像为 ,解了密的图像为,解密过程可表示为 ,则解密函数D简述如下:
(1)象素灰度值 转换二进制数序列为 。
(2) 和 的小数部分分别表示为 和 。
(3)运用异或运算,根据列序依次对象素解密得到 。
(4)运用异或运算 ,根据行序依次对象素解密得到 ,再把 转换为十进制值 ,得到解密图像 。
由以上的加解密过程可知,在混沌系统的参数和初值不变的情况下,如果接收到的图像 没有经过任何图像处理,有 ,则解密后必有 ,反之就没有这个结果。
4、实验与分析
为验证算法的有效性和安全性,我们从ORL人脸库[6]中选择一幅灰度级为256、大小为64×64的人脸正面灰度图像进行了仿真实验,即 。选择二维Logistic混沌映射系统的控制参数为 和 ,系统初值为 和 , 。图1是加密示意,其中上部分从左到右分别是原图像、用序列行加密原图像的结果及在行加密基础上再用 序列加密的结果,下部分是对应图像的灰度分布直方图。图2(a)是仅改变的解密结果,(b)是仅改变 的解密结果,(c)是仅改变 的解密结果,(d)混沌映射系统少迭代一次 的解密结果。
图1 加密示意
(a) (b) (c) (d)
图2 错误参数的解密结果
从实验结果可看到,使用本文的二维Logistic混沌映射系统所产生的 和 序列两次加密图像,加密算法的计算量低,加密效果好,并且即使解密时系统参数有很微小的改动,也得不到正确的解密结果,算法的安全性也是很好的。用混沌系统的参数和初值构成加密算法的密钥 ,由于混沌系统对参数和初值的极度敏感性,理论密钥空间无穷大,有着近于“一次一密”的安全性,因此本加密算法的秘密全部寓于密钥之中,符合Kerckhoffs准则,是适应现代密码体制要求的流加密方法。
5、结论
基于混沌的图像加密技术是近年来才发展起来的一种密码加密技术,是把待加密的图像信息看成是按照某种编码方式的二进制的数据流,利用混沌信号来对图像数据流进行加密的。本文提出的算法得到了较好的加密效果,其安全性和计算性能合适,具有一定的实用价值。
参考文献
[1] 郝柏林.从抛物线谈起-混沌动力学引论[M].上海:上海科技教育出版社,1993
[2] 孙鑫,易开祥,孙优贤.基于混沌系统的图像加密算法[J].计算机辅助设计与图形学学报,2002,14(2):136-139
[3]陶栋,李之棠.混沌加密图像算法[J].计算机工程与科学,2003,25(4):7-9
[4] 王兴元.复杂非线性系统中的混沌[M].北京:电子工业出版社,2003
[5] Bruce Schneier.应用密码学:协议、算法与C源程序[M].北京:机械工业出版社,2000
[6] AT&T Laboratories Cambridge.The ORL Database of Faces[DB/OL].