针对数字图像的传输,我们提出了一种基于密钥的图像像素置乱变换加密算法,并在此基础上实现了基于混沌和小波理论的数字图像加密。该方法利用小波的多尺度特性对图像分解,只留取其低频信息压缩图像,再利用Logistic系统生成的混沌序列作为密钥进行加密。

基于混沌和小波理论的图像加密技术的实现

我们首先采用小波分解图像压缩算法,应用小波的多尺度特性对图像进行分解,根据人类的视觉特性,只留取其低频部分(即近似部分),去掉高频系数。接着,采用Logistic混沌系统生成的混沌序列作为密钥,再对压缩后的图像做基于密钥的图像像素置乱加密。整个图象加密模型如图1所示,设计过程基本上可以分为图像压缩与混沌加密两大块。

基于混沌和小波理论的图像加密技术

1、利用小波变换对图像压缩

小波变换是一种时-频域分析方法,它介于纯时域分析和纯频域分析的传统富氏分析之间,它由于同时具有时频域的良好的局部化性质而优于富氏变换,而且随着信号不同频率成分在时空域中取样的疏密而自动调节,在低频部分具有较高的频率分辨率和较低的时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,可以达到效率高、质量佳的效果,被誉为数学显微镜。基于小波变换的这一特性,可观察函数的任意细节并加以分析。

小波变换的思想是用一族函数去表示或逼近一信号,这一族函数称为小波函数系,它是通过一基本小波函数的伸缩和平移构成的,用其变换系数即可描述原来的信号。因此,小波变换的定义是把某一被称为基本小波(也叫母小波 mother wavelet)的函数Ψ(t)做位移τ后,再在不同尺度a下与待分析的信号x(t)做内积:

基于混沌和小波理论的图像加密技术

式(1)为小波变换的定义式,小波变换具有多分辨率(multi-resolution),也叫多尺度(multi-scale)的特点,可以由粗及细地逐步观察信号。 在图像数据压缩中,我们采用的是二维离散小波变换。多分辨分析实现二维离散正交小波变换的算法。利用小波变换压缩图像分以下三个步骤:

① 利用二维离散小波变换将图像分解为低频近似分量和高频水平、高频垂直、高频对角细节分量。

② 根据人的视觉特性对低频及高频分量分别作不同的量化(即压缩)。

③ 利用逆小波变换重构图像。

利用wavedec2 函数,按小波变换对lena.bmp图像进行多尺度分解;每次只提取原图像中低频近似分量,舍弃其高频细节分量。利用appcoef2函数提取低频系数,detcoef2函数提取高频系数。使用bior3.7小波对图像分解,其二层分解及压缩结果如图2所示:

基于混沌和小波理论的图像加密技术

基于混沌和小波理论的图像加密技术

从图2及表一的压缩结果可以看出,压缩后的图像保留了原始图像的大部分信息,但图像压缩比却很高,这就是小波变换的优势所在。这样,经过小波分解和压缩后的图像形成了一幅较小的图片,更适合传输。接下来,就要对压缩后的图像设计一种合适的加密算法进行加密。

2、混沌序列

混沌现象是在非线性动力系统中出现的确定性、类似随机的过程,这种过程既非周期又不收敛,并且对初始值有极其敏感的依赖性。从时域上看,混沌映射得到的序列类似于随机序列,相关性较弱,具有很好的类白噪声特性,因此可以用来产生伪随机信号或伪随机码。原理上只要增加迭代次数,伪随机码的周期可以很长。通过混沌系统对初始值和结构参数的敏感依赖性,可以提供数量众多、非相关、类随机而又确定可再生的信号。由于上述特点,本文采用混沌序列作为加密序列。混沌加密技术已成为一种新兴的加密技术。

离散时间动态系统Logistic映射的定义为:

基于混沌和小波理论的图像加密技术

当选取参数μ= 2.000 00时,系统工作于混沌态,输入不同的初始值,可对应产生一个迭代序列,即混沌序列。此时的迭代方程为:

基于混沌和小波理论的图像加密技术

此时Logistic 映射的输入输出都分布在区间[ - 1, 1 ]上, 为满映射。可任意选取一个初始值0x,迭代产生一个序列来计算系统(3)的Lyapunov指数, 从而验证系统(3) 的混沌特性. 我们取初始值0x= 0. 4 迭代得到一个序列, 计算它的Lyapunov 指数为:

基于混沌和小波理论的图像加密技术

计算结果表明, 该系统的Lyapunov 指数大于0。 故系统(3)为混沌系统, 所产生的序列为混沌序列。 当初始值分别取10x=0.400000和20x=0.400001,生成的混沌序列图3所示:

基于混沌和小波理论的图像加密技术

通过图3 可以说明,即使两个初始值0x相差很小(只有0.000001),但n 到一定大小的时候,两个xn的起伏就有很大的差别,变得不相关。因此,混沌序列可以用作加密序列。

3、加密算法的设计

图像一般加密、解密系统可由图4和图5表示:

基于混沌和小波理论的图像加密技术

设计加密算法主要在于找出一种合适的对图像像素点的加密变换,在此,我们选择位置关系置乱的加密算法,它的核心就是位置关系映射,目的就是找一种算法简单、加密效果好、抗破译能力强的映射关系,而现在广泛认为基于混沌密钥的排列算法是可行的,因此该算法的关键就是利用混沌序列生成位置参数,再选择一个排列规律按照这个参数进行图像像素点的重排。

根据上述思想,笔者经过分析及大量的试验发现,如果将生成的混沌序列进行按照大小关系重新排列,将原序列的元素在排序后的序列中的位置映射到新的一维数组中,这将是一个非常好的位置参数矩阵。因为它具有如下优点:

1)数组中元素均为整数,适合作为位置关系的映射;

2)数组中的元素没有重复,只是顺序被打乱;

3)它包含了各个位置参数,从而使图像数据在打乱后不会丢失。根据上述优点我们不难想到,可以利用生成的位置参数分别把行、列顺序打乱,这样置乱后的图像不会看出原图像的信息,相邻像素点没有关联,从而得到很好的加密效果。而此算法最重要的优点,就是它的算法简单,相对于一般的置乱算法,它的运算量要小很多,生成的混沌序列也无需太长。以较小的运算量获得较强的加密效果,这正是保密通信所追求的目标。

下面介绍这一算法的具体实现过程:

读入图像像素矩阵IM×N,按照Logistic混沌系统,取μ=2,初始值x0=0.4进行迭代,n取max(M,N),生成混沌序列{kx|k=0,1,2,3,…n}(对于生成的混沌序列,最好不选用初始段部分序列,这样能加强加密效果)。把生成的混沌序列按照从小到大的顺序重排,找出原序列中的元素在排序后的序列中的位置,并生成位置序列{kxh|k=0,1,2,3,…n}。接着,按照位置序列中的元素[xhi](i=1,2,3,…,M),把图像矩阵中的第i列整列移到第[xhi]列。当把所有的列都移动完成后,再对所有的行做相同的移动,即把第i行整行移到第[xhi](i=1,2,3,…,N)行。变换后的图像矩阵得到了完全置乱的目的。图6是仿真结果:

基于混沌和小波理论的图像加密技术

可以看出,加密后的图像看不出原图像的丝毫信息,加密效果比较好。且本算法加密速度快,相对于魔方加密算法,这种算法的运算量要小很多。

图7是对此算法解密0x分别取0.400000和0.400001的结果。由图7可以看出,混沌序列的初始值相差仅0.00001却完全得不到正确的解密结果,这就是利用混沌序列加密的优势,它具有较强的抗攻击、抗破译能力。实验结果验证了该算法的可行性。

基于混沌和小波理论的图像加密技术

图8是对加密后的图像分别加入高斯噪声和椒盐噪声,以模拟在信道中传输后解密的结果,其中椒盐噪声强度为0.02,高斯噪声均值为0,方差为0.005。可以看出,加密后的图像由于受到噪声的污染,而导致解密出的图像存在一定程度的失真,但是接收者仍然能够获得图像的主要信息。

本文成功地运用了混沌及小波理论实现了对数字图像文件加密仿真。对待处理的图像先利用二维离散小波变换进行分解及压缩,只留取变换后的低频系数,舍去高频系数,达到了理想的压缩效果。对压缩后的图像进一步利用混沌序列进行加密,采用非传统的加密算法,将图像像素点置乱重排,加密效率高,安全性好,解密方便,无失真。

小知识之小波理论

小波理论是以某些特殊函数为基将数据过程或数据系列变换为级数系列以发现它的类似频谱的特征,从而实现数据处理。