基于Logistic映射与排序变换的图像加密算法是利用混沌映射对初值的敏感性和伪随机性,通过对生成的混沌序列排序来得到图像置乱的地址变换码,由于排序的不规则性,因此新的混沌图像置乱算法具有较强的保密性能。通过对该算法的置乱性能分析并进行仿真实验,结果表明,新算法具有良好的图像文件加密性能。
一、基于混沌映射与排序变换的图像置乱算法设计
1、混沌系统加密算法设计
Logistic映射是一个非常简单,却又具有重要意义的非线性迭代方程,它具有确定的形式。并且系统不包含任何随机因素,但系统却能产生看似完全随机的,对参量的动态变化耜初值极为敏感的混沌现象,所以文中选用Logistic映射迭代来产生混沌序列。
我们以256×256的图像1为例。
第一步:选取下列迭代方程:
其中而为映射变量,它的取值范围为:
-1<xn<1
第二步:给定初值x1。由(1)式迭代N-1次得到(x1,x2,…,xn)序列,并对它们排升(或降)序得新的序列:(x'1,x'2,…,x'n)。
第三步:定位xi在x'i中的位置序数,得到序数序列记为:r(t,:)=(r1,r2,…,rn)(其中t=1,2,…,256)。
第四步:以r为图像I的像素矩阵A的第一(或N)行的地址置换码,对矩阵A进行行地址变换。
第五步:以r为图像I的像素矩阵A的第一(或N)列的地址置换码,对矩阵A进行列地址变换。
第六步:循环一到五步,直到矩阵I全部行、列变换完为止,即图像加密完成。为达到更好的效果,也可以再重复一个循环,一般一个循环周期完成就可以了。
MATLAB例程如下:
2、解密算法设计
当用户输入正确的密钥后,将加密算法逆向运算,即前三步循环N次,得到r(N×N)和s(N×N)的矩阵,第四、五步交换,并把“第一(或N)行/列”改为“第N(或一)行/列”,再循环N次就得到解密图像了。
MATLAB例程如下:
二、基于排序变换的混沌图像置乱性能分析
由迭代方程式(1)来产生混沌实值序列,并进行置乱算法统计分析。用于图像置乱的灰度图像I大小取为256×256pixels。基于排序变换的混沌图像置乱性能分析如下。
1、时间复杂度分析
如采用量化方法,同样采用行置换,则首先必须将混沌映射区间[-1,1]划分为256个连续子区间,为取得最佳量化速度,则要使点xn落入各个子区间的概率相等。由Logistic轨道分布的概率密度函数:
易知,各划分点为:
若随机选取1000个初值,并通过对迭代产生的混沌序列进行量化来产生置换地址码,则遍历256个地址码的时间特性如表1所示。
由表1可以看出,用量化方案来产生置换地址码不仅所需迭代次数非常多,而且同初值的关系也较大。
另外,通过实验也发现,由于随着地址码的增加,遍历全部地址码所需迭代次数增加迅速,因此使得采用量化方案的置换对较大的图像不得不采用局部置乱或分块置乱技术,这样从整体上说,就降低了置乱的效果。
由于多值量化也需大量的比较运算,所以基于排序变换的混沌置换地址码生成方案较量化方案在时间复杂度上相对较低。由于新算法所用混沌映射迭代次数大大减少,且与初值无关,从而使得加密解密的速度有很大提高。
2、不动点分析
如果原图像像索点经过置乱变换后,像素点的地址没有发生变化,则称此像素点为该最乱变换的不动点。不动点的数目越少,置乱的效果就越好,保密性也就越高。
表2是对256×256pixels大小的灰度图像,采用随机选取的10000个初值,通过基于排序变换的混沌图像行置乱算法构造的置乱变换的不动点统计分析的结果。
由表2可以看出,由于基于排序变换的混沌图像行置乱算法的不动点的个数只占整幅图像所有像素点的0.3896 ~0,45%。因此取得了很好的置乱效果。
3、像素点自然序分析
如果原图像中相邻的像素点,置乱后它们的地址虽然都发生变化,但仍然相邻,则称之为自然序。若置乱后图像的自然序越少,刚置乱的效果越好,保密性也就越高。表3是对256×256pxels大小的灰度图像,采用随机选取的10000个初值,通过基于排序变换的图像混沌行置乱算法置乱后,图像每个4×4方阵内自然序点出现比例的统计分析结果。
从表3可以看出,经基于排序变换的混沌置乱算法置乱后,加密图像中每个4×4方阵内出现的自然序个数比例在796以下,由于相邻的像素点基本都被拆散,从而取得了很好的置乱效果。
三、基于Logistic映射与排序变换的图像加密算法的仿真结果
使用MATLAB 6.5进行仿真实验如图1所示。
图(d)是当key=0.400 001时利用该方法来对256×256大小的lena灰度图像进行置乱后的图像,(b)、(c)是只对lena分别进行行和列置乱所得的图像,图(e)是密钥正确时所得的解密图像。(f)是key墨0.400 002时所得的懈密图像a由实验结果可见:使用该算法对图像进行加密,加密后的图像已不能番出原图像的任何轮廓,当key略有差异时,就根本不能正确解密图像,密钥为(-1,1)之间的任何实数,密钥空间也足够大,由此可见该算法具有较高的安全性。
四、抗攻击实验
1、剪切和篡改攻击
图1(g)和(i)是对已加密图像进行剪切或篡改,解密后得到的图像(h)、(j)仍然可辨清轮廓,由于该算法对图像各点置乱较均匀,无论剪切任何部位的一定面积图像,解密后的图缘都可基本辨清其轮廓。
2、噪声污染
图1(k)中加入Speckle噪声。(m)加入Gaussian噪声,(l)和(n)是它们的解密图像,由图可以看出:该算法有较好的抗噪声性能。
本文提出一种基于混沌映射与排序变换的图像置乱算法,该算法克服了普通混沌图像置乱算法在混沌序列整数化时对混沌序列随机性造成破坏的缺陷,由于排序变换的强不规则性,增加了算法对混沌映射初始值的敏感度与置乱的复杂度,从而使得新的混沌图像置乱算法具有较高的安全保密性能。
小知识之置乱
所谓“置乱”,就是将图像的信息次序打乱,将a像素移动到b像素的位置上,b像素移动到c像素的位置上……使其变换成杂乱无章难以辨认的图像。