多媒体数据,尤其是图像,给人类在信息利用方面带来了诸多方便,但也同时带来了安全隐患。图像敏感信息可能被窃取、篡改、非法复制和传播,因此信息安全问题倍受关注。

使用混沌映射产生伪随机序列进行序列密码加密的思想被提出之后,基于混沌系统的加密算法开始成为研究热点。基于单一混沌系统的图像加密算法,加密结构简单,运算时间短,但该方法所产生的密钥空间较小,容易受到攻击解密。以往的文献中基于单一混沌映射大多只对图像进行单一的操作,而当前数字图像加密主要使用置乱、置换和扩散3种操作。结合已有文献的优点和不足,本文拟对基于多混沌系统实现对彩色图像的加密算法加以改进,即在对灰度图像仅置换操作的基础上,分别用不同的混沌映射实现对彩色图像的置乱和置换扩散操作,并对该算法进行安全性分析。

一、加密算法基础

混沌是非线性动力系统中出现的一种貌似没有规律的类似随机的运动。混沌系统所具有的初值敏感性、遍历性、伪随机性等特性能够实现密码学中两个基本原则:混乱和扩散。因此,在信息安全中,混沌理论被广泛应用于加密技术中。如混沌具有对初值的敏感依赖性,只要初始条件稍有微小的扰动,就会使系统的最终状态出现很大的差异;混沌具有良好的伪随机性,因此应用在加密算法中可以提高抗攻击能力,提高算法安全性。

1、Arnold映射

Arnold变换俗称猫变换,二维Arnold映射是一种对等长图像进行置乱的映射,其数学表达式为:

基于多混沌系统的彩色图像加密算法

其中N表示图像的阶数,(x,y)是图像上像素点的坐标,(x',y')是置乱后的像素的坐标。对图像进行置乱处理后,明文像素之间的相关性降低,图像的抗攻击能力也有所提高d但猫变换具有一定的周期性,对尺寸固定的图像进行Arnold变换迭代,迭代一定周期的次数后,被置乱的图像总可以恢复为原始图像d因此针对猫映射这种缺点,对经过置乱变换后的图像再进行二次加密。

2、Logistic映射

Logistic映射是最为常见的一种离散系统的混沌模型,它是一个典型的非线性混沌方程,结构简单,容易实现,很好的体现了混沌所具有的一些特性,因此广泛使用在多种情况下,其数学表达式为:

基于多混沌系统的彩色图像加密算法

其中μ∈[0,4]为分岔参数。如果:

基于多混沌系统的彩色图像加密算法

则Logistic系统将表现为混沌性,此时产生的序列(xn,n=1,2,...)为混沌序列。此混沌序列的概率密度与初值无关,并且具有一定的遍历性和随机性。

3、Henon映射

法国天文学家Henon从球状云团以及Lorenz系统吸引子的研究中得到启发,提出了Henon迭代映射。Henon二维混沌映射,相对于单纯的一维映射来说,运算结构稍复杂,因此安全性较好,常作为伪随机序列发生器,其数学表达式为:

基于多混沌系统的彩色图像加密算法

其中a∈[1.2,1.4]和b∈(0.2,0.314)均为参数。

二、加密算法原理

RGB数字彩色图像可看成由FR、FG和FB三层三基色矩阵构成,每个基色矩阵元素由每层的像素点组成。对数字彩色图像进行加密传输时,先将三维空间的彩色图像RGB转换成3个二维的灰度图像fR、fG和fB,再按照灰度图像的加密方法实现对其加密处理。

利用Arnold混沌系统对3个灰度图像分别进行像素位置的置换,接着对置乱后图像的像素值利用混沌映射,实现置换操作。使用RGB原始彩色图像的总像素之和作为辅助密钥来修改Logistic和
Henon混沌系统生成的混沌序列的初始值,提高加密算法对明文图像的敏感性,安全性更高。再分别利用改进的Logistic和Henon混沌序列对置乱后的3个二维图像的奇数像素值和偶数像素值置乱扩散,得到3个加密图像后再合成,就是原始RGB图像的加密结果。而解密是加密图像的逆过程。

改进后加密算法的流程如图1所示。

基于多混沌系统的彩色图像加密算法

改进后加密算法的具体步骤如下。

步骤1首先将数字彩色图像RGB转换成三基色图像,再利用二维Arnlod混沌映射分别对三基色图像进行像素值的置乱操作。

步骤2取原始RGB彩色图像的像素值总和,对像素值之和做简单的取余256后取整等处理,使之取值范围在(0,1)之间,其结果作为辅助密钥修改混沌系统的初始参数。

步骤3根据Logistic映射和Henon映射的参数范围任给密钥参数U1,a,b以及初值x1o和X20。

步骤4用辅助密钥忌来修改Logistic和Henon混沌系统初始值,用给出的初始值和辅助密钥的平均值作为新的系统初始参数,再根据式(2)和式(3)构造生成2个长度为N×N的实数混沌序列{x1(i))和(x2(i)}。

步骤5按顺序取置乱后图像中的每个点(设某点的序号为n),若该点序号属于奇数,则由Logistic混沌序列的x1(n)生成加密密钥:

基于多混沌系统的彩色图像加密算法

若该点序号属于偶数,则由Henon混沌序列的x2(n)生成加密密钥:

基于多混沌系统的彩色图像加密算法

步骤6用三个基色灰度图像中的第礼个像素点的灰度值分别与上述产生的密钥是k(n)进行按位异或,得到置换后的像素值,重复操作直至加密完所有像素点。

步骤7将得到的加密处理的三基色灰度图像复合成彩色图像,即为原始RGB图像的加密图像。

改进后的加密算法首先对彩色图像分层,然后再分别对图像进行置乱和置换操作有效的解决单一的置乱操作不能改变图像的直方图,而单一的置换扩散操作不容易破坏相邻像素的相关性。对分解后的RGB图像分别使用不同的混沌系统对其加密,增大密钥空间,提高算法安全性;辅助密钥像素值之和K修改初值,增大RGB之间以及图像和混沌系统之间的相互关系,提高了加密算法对明文的敏感性。这样使得算法的加密效果和安全性都较高。

解密过程是加密的逆过程,用加密后三基色灰度图像中的第九个像素点灰度值与步骤6产生的密钥值进行按位异或操作,得到解密后像素值,再按照Arnold映射的逆过程对图像置乱相同次数,得到的图像就是原始图像。

改进后解密算法的流程如图2所示。

基于多混沌系统的彩色图像加密算法

改进后解密算法的具体步骤如下。

步骤1同加密算法步骤2至步骤5,输入相同的初始参数值,得到解密密钥k(n)。

步骤2 用hu密后的RGB三基色灰度图像中的第n个像素点灰度值与步骤1产生的密钥值进行按位异或操作,得到恢复置换的像素值。重复操作直至解密完所有像素点。

步骤3再利用二维Arnold混沌映射,利用相同的迭代次数和初始值,分别对三基色图像进行像索值的置乱恢复。

步骤4 将得到的解密处理的三基色灰度图像复合成彩色图像,即为解密图像。

三、实验仿真与分析

利用MATITAB来实现上述算法,对256×256大小的标准测试图lena原始图像进行加密。首先将原始图像转换成RGB三装色I图像,实验结果如图3所示。

基于多混沌系统的彩色图像加密算法

分别利用Arnold I映射、Logistic映射和Hcnon映射对三基色图像加密。算法密钥分别为Arnold映射迭代次数n,Logistic映射和Henon映射对应的参数和初值“u1,x1 (1),x2(1),a和b。在一定范围内设定密钥的初值,如令:

基于多混沌系统的彩色图像加密算法

得到三个加密后的三基色图像以及合成之后的原始彩色图像的加密图像如图4所示:

基于多混沌系统的彩色图像加密算法

改进后的加密算法基于三个不同的混沌系统,分别实现对明文图像置乱,置换扩散操作,密钥操作数均由各个混沌系统产生,遍历了图像的每个像素点,有效的解决单一的置乱操作不能改变图像的直方图,而单一的置换扩散操作不容易破坏相邻像素的相关性的问题。下面对算法安全性进行分析验证。

1、密钥空间分析

一种图像加密算法的密钥空间范围要足够大,才可以有效地抵御穷举攻击。改进后的图像加密算法,其密钥空间范围由n,x1 (l),x2(1),a和b五个参数构成,其中四个参数均可以精确表示到小数点后15位的双精度实数,则密钥空间大小为:

基于多混沌系统的彩色图像加密算法

可见该算法密钥空间足够大,可以有效的抵御穷举攻击。

2、初值敏感性分析

解密过程中,对密钥中的参数进行微小的改动,如果所得到解密图像无法识别,那么该算法的敏感性就很强。保持其他密钥参数不变,而分别取:

基于多混沌系统的彩色图像加密算法

对加密图像解密,得到如图5所示错误的解密图像,密钥参数的微小变动导致了解密结果的巨大差异。表明该加密算法具有很好的初值密钥敏感性。

基于多混沌系统的彩色图像加密算法

3、抗噪声攻击分析

用椒盐噪声干扰原始彩色图像。设置噪声密度为0.02,然后对加噪后的图像使用正确的密钥解密,得到的解密图像如图6所示。从图中可以看出,原始图像仍然可以很好的解密出来,基本保留了原始明文图像所具有的有效信息,解密图像没有出现明显失真的现象,说明了该算法具有很好的抗干扰能力。

基于多混沌系统的彩色图像加密算法

4、像素直方图

明文图像RGB三分垣的像素直方图以及加密后的RGB像素直方图分别如图7和图8所示。实验结果表明,与原始图像的像素直方图相比较,明文图像分布呈现出非均匀分布的统计特性,加密后的图像像素直方图分布近似均匀。说明该加密算法很好的掩盖了RGB像素值的分布情况,从而可以有效的抵抗统计分析和已知明文攻击。

基于多混沌系统的彩色图像加密算法

 

基于多混沌系统的彩色图像加密算法

5、相邻像素相关度

图像一般用来表示连续的信息,因此图像相邻像素点间应该具有很大的相关性。为了测试相邻像素点间的相关度,从原始明文图像和加密后的图像中各随机选择1000对相邻像素点,计算像素之间线性相关系数:

基于多混沌系统的彩色图像加密算法

其中:

基于多混沌系统的彩色图像加密算法

而x和y是图像中相邻像素点的灰度值,N为随机选择的像素点对。

计算所得相关统计结果如表1所示。

基于多混沌系统的彩色图像加密算法

原始图像中1000对相邻像素点水平方向的相关性如图9(a)所示,加密图像中相邻像素点水平方向的相关性如图9(b)所示。可以看出,加密后的图像相邻像素点之间的相关性分散呈现。这表明明文图像像素之间的统计特性已被扩散到密文中,因此该加密算法具有良好的扩散性。

基于多混沌系统的彩色图像加密算法

理论分析和实验结果表明:该算法密钥空间较大,明文图像数据充分置乱扩散,加密后的图像表达效果好,初值敏感性较强,可以有效地抵御穷举攻击,明文攻击和抗干扰性。因此安全性较好。

小知识之灰度值

指黑白图像中点的颜色深度,范围一般从0到255,白色为255,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途。