APP下载

二维离散分数阶Fourier变换的双混沌图像加密算法

2018-02-07谢国波姜先值

计算机工程与应用 2018年3期
关键词:明文加密算法密文

谢国波,姜先值

广东工业大学 计算机学院,广州 510003

1 引言

近几年随着的互联网高速发展,图像信息在传递过程中的安全问题受到越来越多的关注,为此如何在图像传输时进行加密处理引起国内外学者的广泛关注。图像信息不同于普通文本信息,其自身数据具有很强的相关性和冗余性,而传统的数据加密算法(DES)、公钥算法(RSA)、椭圆曲线算法(ECC)很难适用于图像加密中。近年来,专家指出混沌系统具有对初始条件的高度敏感性、正Lyapunov指数、分形与分维性等特点[1],陆续提出了多种基于混沌系统的图像加密方法[2-5]。如一次一密、比特加密、数学模型加密和DNA序列加密,但上述方法存在一定的缺陷,如一次一密密钥在传递和分发上存在很大困难,比特加密方法在进行加密时需将像素值全部转换成二进制进行图像加密,这样加密效率比较低,很耗时;数学模型加密方法需考虑的因素不利于加密算法的实现;DNA序列加密方法中的像素相关系数较高容易遭受攻击者解密。

针对上述加密方法存在的不足之处,本文提出了一种基于二维离散分数阶Fourier变换的双混沌交错图像加密算法。该算法直接根据明文像素值进行加密和生成密钥,能够很好地解决图像加密的效率和密钥传输的问题,除此之外还引入高纬度的混沌系统与分数阶Fourier变换进行加密,不但简化加密系统的实现,而且降低密文图像像素的相关性。首先以8×8为单位对明文矩阵分割处理,根据得到分割矩阵生成辅助密钥矩阵,再与输入的密钥进行算数运算得到高维Logistic映射和Chebyshev映射的输入密钥,这样能根据不同的明文生成不同的混沌序列,使选择明文(密文)攻击的方法失效。其次,本文引入了分数阶Fourier变换,对经过高维Logistic映射和Chebyshev映射的中间密文进行二次加密,进一步增加图像安全性,扩大了密钥空间,增强密文鲁棒性。最后对分数阶Fourier变换的输出矩阵进行Arnold置乱操作。实验仿真表明,本文加密算法除了提高抗差分攻击能力和抗统计分析能力外,还大大改善图像分布不均的情况。

2 分数阶Fourier变换及系统混沌映射

2.1 分数阶Fourier变换

分数Fourier变换它是一种线性算子,其中式(1)为分数阶Fourier变换的定义为[6-7]:

其中,分数阶Fourier变换的核函数为式(2):

对于数字图像的处理,需要用到二维分数阶Fourier变换处理,其中式(3)为二维连续分数阶Fourier定义[8]:

其中,x(s ,t)是原始二维信号,二维FRFT的变换核为式(4):

其中,α=p1π/2,β=p2π/2。而对于数字图像而言是用到二维离散FRFT变换[9],式(5)与式(6)为二维离散FRFT变换及其逆变换:

2.2 系统混沌映射

针对数字图像的灰度值及像素位置的情况,本文使用高维度的Logistic映射及Chebyshev映射进行双混沌扩散运算,使用Arnold映射进行像素置乱操作。

Logistic映射在混沌系统中是一个典型的离散动力模型,但是低维的Logistic便利性较差,存在周期窗口,无法抵制动力学退化现象,因此引用高维Logistic映射,其定义如公式(7)、(8)所示[10]:

Chebyshev映射是一维混沌系统的典型映射,定义如式(9)所示:

式(9)中,β为控制参数,且 -1≤xn≤1。当β≥2时,系统进入混沌状态。在混沌状态下产生的混序列具有很好的随机性和很强的不相关性,并且零均值白噪声统计特性和遍历统计特性一致,适用于在图像加密中使用。

Arnold变换又称为猫映射,最初由俄国数学家Arnold引入,经典的二维Cat映射具体表达式为式(10)所示[11]:

式(9)中N表示是数字图像矩阵的阶数,而其更多采用矩阵形式,其中二维Arnold矩阵表达如式(11)所示:

3 算法原理

本文提出的加密算法不同于传统加密方法,加密密钥不是直接由输入值生成,而是与明文紧密相连。也不同于传统的分数阶Fourier变换图像加密,先通过混沌序列对图像进行置乱,再进行分数阶Fourier变换导致密文轻易被破解。该算法首先根据明文生成一个辅助密码矩阵,然后与输入初始密钥进行算术运算得到密钥矩阵,再进行混沌加密。将得到加密的图像进行分数阶Fourier变换,最后进行Arnold置乱达到加密效果。该算法的加密过程如图1所示。

图1 图像加密与解密过程

3.1 双混沌扩散矩阵

普通灰阶图像尺寸大小一般为m×n,为了便于算法的讨论,设A表示为256×256的灰阶图像,对于不是8的倍数的行列,可用0填充像素值,使行列变成8的倍数。

步骤1首先对图像A进行行列分割,将矩阵A分别割成64×64个8×8的矩阵,且矩阵像素值的范围在[0,255]之间。

步骤2将每个8×8的像素值范围映射到[0,1]之间,并求出每个8×8矩阵像素值的平均值,如第一个8×8矩阵像素之和为sum1,其像素平均值为avg1。故由图像A可得到一个64×64的二维像素平均值矩阵,且像素平均值范围在[0,1]之间。

步骤3将步骤2的得到二维矩阵的奇数行与高维Logistic映射输入的ε相乘,步骤2的得到二维矩阵的偶数数行与Chebyshev映射输入的y0相乘得到一个新的64×64的二维矩阵。

步骤4取步骤3生成二维矩奇数数列元素分别作为高维Logistic映射初始密钥生成混沌序列。以第一行元素a11为例,找到a11对应的8×8的二维矩阵,将a11对应的8×8的维矩阵转换成L1={l1,l2,…,l64},输入到高维logistic映射当中,生成a11像素对应的K1={l1,l2,…,l64},然后将转换成新的8×8的二维加密矩阵。其中,l1,l2,…,l64分别作为xn()i的输入值。n=1,3,5,7,…表示为第奇数个8×8二维矩阵;i=1,2,…,64表示为第奇数个8×8二维矩阵转化成一维矩阵L1={l1,l2,…,l64}对应的像素位置,且取L=8×8,( )pq+1-pq=1。

步骤5取步骤3生成的二维矩阵偶数列a12元素分别作为Chebyshev映射初始密钥生成混沌序列。以第一行元素为例,取其元素a12生成混沌序列L2={l1,l2,…,l200,…,l264},去掉L2前200个元素取后面64个元素生成K2={l201,l202,…,l264},然后将转换成8×8的二维数组。

步骤6将a11,a12,a13,…,a164分别对应生成的8×8的二维数组,拼接在一起生成新8×256二维数组。剩余的8×8的二维数组同理根据步骤4、步骤5,生成对应的密钥矩阵,最终得到一个奇偶交错的256×256双混沌矩阵,其原理图如图2所示。

图2 双混沌交错矩阵

3.2 二维离散分数阶Fourier变换及Arnold混沌置乱

此阶段与传统分数阶Fourier变换不一样,传统分数阶Fourier变换是先通过混沌置乱然后再进行分数阶Fourier变换,而本文是经过双混沌扩散运算后,再分别进行X方向α阶DFRFT变换与Y方向β级DFRFT变换,最后才进行Arnold映射置乱,这样做的目的是为了改进传统分数阶Fourier变换加密图像的不均匀等特性。

步骤1将得到的256×256双混沌交错矩阵与图像A像素值进行异或运算,可得到一个新的256×256密文矩阵,使得图像A中像素的灰度值全部被改变,得到加密效果。

步骤2把步骤1中得到的加密矩阵看做一个行向量M=(M1,M2,…,M256),其中,M1=(m1,m2,…,m256)。T根据输入的参数α对向量M进行X方向的α阶的Fourier变换(DFRFT),最后可得一个新的加密复数矩阵。

步骤3把步骤2中得到的加密复数矩阵看做一个列向量根据输入的参数β对向量N进行Y方向的β阶的Fourier变换(DFRFT),又可得一个新的加密复数矩阵。

步骤4把得到的复数矩阵进行Arnold图像置乱,如公式(12)所示,其中[x′,y′]T为[x,y]经过第一乱置换得到的新坐标,把得到的复数矩阵进行200次Arnold映射,其中N=[length(A)+width(A)]/2。

3.3 图像解密过程

图像解密过程是图像加密的逆过程,实现程序大致一致。

4 实验结果及性能分析

4.1 实验结果

本文对图像的加密/解密算法是在Matlab 2014a的基础上,对256×256的灰阶Lena图进加密。实验过程中,高维Logistic映射与Chebyshev映射输入初始密钥如下所示:ε=0.314 852 245 6,y0=0.425 852 732 0,其中双混沌系统设定的控制参数u=3.954 895 423 9,β=3.142 594 643 1。而二维离散分数阶Fourier变换的控制参数X方向α=0.456 753 457 8,Y方向的β=0.657 7693 345。最终得到的实验结果如图3所示。

图3 加密/解密图

4.2 算法统计特性分析

对于图像统计特性的分析,主要从以下两方面进行分析:一方面是通过将明文图像与加密图像的灰度直方图进行分析,另一方面通过它们的元素之间的相关性进行评价分析。

4.2.1 直方图分析

通过本算加密后的灰度直方图如图4(c)所示,与明文图像图4(a)相比较,加密后图像的灰度能更好地隐藏图像信息,与图4(b)[12]这种传统分数阶Fourier变换相比,改善了其粗糙不光滑的现象,能够有效地抵制基于明文像素值的统计攻击,达到很好的加密效果。

4.2.2 统计学分析

选取图像任意一组相邻行或列像素点进行相关性分析,通过式(13)~(16)可以计算出像素之间得到相关系数。式中,x和y分别表示图像相邻元素的灰度值,cov()表示协方差,E()表示数学期望:

从明文和密文中随机去相邻两组做相关系数图,如图5所示,其中图5(a)中明文关系数图中像素点之间分布斜率趋近于1,像素值之间存在很强的线性相关性。而图5(b)中密文相关图中像素点分布很散乱,像素值之间几乎没有任何关联。

计算明文图像与密文图像水平、垂直和对角线方向相邻像素点之间的相关系数,并与文献[13-15]进行比较得表1。由表1可知,明文相关系数接近于1,说明其相邻像素点具有强相关。而密文相关系趋于0,说明其相邻像素点具有弱相关。且表1显示,本文加密算法的γxy更加小,能够更好扰乱像素之间相关性,达到更好的加密效果。

图4 灰度直方图

图5 相邻像素关系

表1 相邻像素相关系数表

4.3 抗差分攻击

对于图像加密算法的抗差分攻击的分析,主要从两方面进行分析:(1)对初始值的敏感性;(2)明文敏感性分析。

4.3.1 初始值的敏感性分析

初值敏感性是指一旦输入解密密钥发生微小变化,将导致解密图像产生显著变化,无法得到真实图像。本文采用双混沌系统和二维离散分数阶Fourier变换进行加密,其中图6(a)为正确解密密钥K1=[ε,y0,α,β],其中 ε=0.314 852 245 6,y0=0.425 852 732 0,α=0.456 753 457 8,β=0.657 769 334 5,当ε,y0,α,β分别发生微小变化时分别得到解密密钥K2,K3,K4,K5,其中,K2中ε=0.314 852 245 7,其他值不变得解密图6(b),K3中y0=0.425 852 732 1,其他值不变得解密图6(c),K4中α=0.456 753 457 7,其他值不变得解密图6(d),K5中β=0.657 769 334 4,其他值不变得解密图6(e)。由图6可见,即使解密密钥发生10-10的微小变化也无法成功解密,因此该算法具有很好的初值敏感性,能够有效抵抗差分攻击。

4.3.2 明文敏感性分析

对明文的敏感性是指当图像中的像素值发生微小变化时,都会得到截然不同的密文图像。本文通过明文像素值引入辅助矩阵,来增强密文对明文的依赖性,增强明文敏感性。一般采用NPCR(像素变化率)和UACI(归一化像素平均变化)这两个参数进行明文敏感性分析。取两幅密文图像M1和M2,它们之间仅仅在位置(i,j)之间像素值不同。当M1(i,j)=M2(i,j)时,则D(i,j)=0;否则,D(i,j)=1。NPCR与UACI的值见式(17)、(18),其中M,N为密文图像的行和列:

运用该算法输入相同密钥,进行两次加密,得到两幅密文图像。将其中一幅图像(55,198)位置的像素值189改成 190,根据式(16)、(17)可得 NPCR=99.64%,UACI=33.78%。由此可见该算法明文敏感性很强,能够有效抵抗差分攻击。

4.4 经典攻击类型

加密算法的攻击分析,通常是在告知攻击者详细的加密流程,只是对攻击者隐瞒密钥的情况下进行分析的。这个显著的要求在当今的安全网络中通常被称为Kerckhoff[16]原则。下面是Kerckhoff原则下四种经典的攻击:

(1)唯密文攻击(Ciphertext only attack)

攻击者手中除了截获的密文外,没有其他任何辅助信息。

(2)已知明文攻击(Known plaintext attack)

攻击者除了掌握密文,还掌握了部分明文和密文的对应关系。

(3)选择明文攻击(Chosen plaintext attack)

图6 正确/错误解密图

攻击者知道加密算法,同时能够选择明文并得到相应明文所对应的密文。

(4)选择密文攻击(Chosen ciphertext attack)

攻击者知道加密算法,同时可以选择密文并得到对应的明文。

显然选择明文攻击是最有效的攻击方法,加入加密算法能够有效抵制这种方法的攻击,也就能够有效抵制其他方法的攻击了。

然而选择性明文攻击这类破解方法在本文加密算法中是不适用的。主要有下面两方面原因:其一,本文加密算法的输入密钥是基于辅助密钥产生的,而辅助密钥又是基于明文图像产生的,想通过像素值全为0的二维图像矩阵进行异或操作得到密钥最终得到明文图像这方法几乎不可能。其二,本文加密算法对密钥的敏感性相当高,只要输入密钥有10-10的微小变基本都无法进行密文的破解。综上所述,本文的加密方法能够有效抵制选择明文攻击。

4.5 密钥空间分析

本文输入密钥都是采用双精度类型,其有效数据能达到16位,根据双混沌加密系统输入参数ε,y0与二维离散分数阶Fourier变换α,β输入密钥空间至少达到1064,若将其他输入参数也当做输入密钥的话,密钥空间将会变得更大,想通过穷举攻击来解密几乎不可能。由此可见,本文密钥空间能够有效抵制穷举攻击,确保图像的安全传输。

5 结束

针对现今混沌图像加密算法存在的一些不足之处,本文提出了一种全新的图像加密算法。该算法主要有两方面特点:第一,对于混沌序列的输入密钥,本文是借助明文图像生成,并随明文图像改变而改变的,能够有效抵制明文(密文)图像攻击;第二,本文引入二维离散分数阶Fourier变换进行图像加密,不但增强加密图像的复杂性,还大大改善传统二维离散分数阶Fourier变换灰阶直方图不够平滑的缺点。实验证明,本算法不单单具有较好的加密效果,而且具有较高的安全性。

[1]禹思敏.混沌系统与混沌电路:原理、设计及其在通讯中的应用[M].西安:西安电子科技大学出版社,2011.

[2]Liu H,Wang X.Color image encryption based on onetime keys and robust chaotic maps[J].Computers&Mathematics with Applications,2010,59(10):3320-3327.

[3]Liu H,Wang X.Color image encryption using spatial bitlevel permutation and high-dimension chaotic system[J].Optics Communications,2011,284(16):3895-3903.

[4]Wang X Y,Yang L,Liu R,et al.A chaotic image encryption algorithm based on perceptron model[J].Nonlinear Dynamics,2010,62(3):615-621.

[5]Liu H,Wang X,Kadir A.Image encryption using DNA complementary rule and chaotic maps[J].Applied Soft Computing,2012,12(5):1457-1466.

[6]Mendlovic D,Ozaktas H M.Fractional Fourier transforms and their optical implementation(I)[J].Journal of the Optical Society of America A,1993,10(9):1875-1881.

[7]Ozaktas H M,Mendlovic D.Fractional Fourier transforms andtheir optical implementation(II)[J].Journal of the Optical Scoiety of America A,1993,10(12):2522-2531.

[8]王雅庆,周尚波.基于分数阶Fourier变换的数字图像加密算法研究[J].计算机应用研究,2011,28(7):2738-2741.

[9]尚宇雄,尚宇.基于分数阶Fourier变换的图像加密算法[J].电子元器件应用,2011(3):52-54.

[10]Zhang Y Q,Wang X Y.A new image encryption algorithm based on non-adjacent coupled map lattices[J].Applied Soft Computing,2014,26:10-20.

[11]吴成茂.离散Arnold变换改进及其在图像置乱加密中的应用[J].物理学报,2014,63(9):83-102.

[12]Ye Guodong.Image scrambling encryption algorithm of pixel bit based on chaos map[J].Pattern Recognition Letters,2010,31(5):347-354.

[13]Liu S B,Sun J,Xu Z Q.An improved image encryption algorithm based on chaotic system[J].Journal of Computers,2009,11(4):1091-1100.

[14]Liao X F,Lai S Y,Zhou Q.A novel image encryption algorithm based on self-adaptive wave transmission[J].Signal Processing,2010,90(9):2714-2722.

[15]Kanso A,Ghebleh M.A novel image encryption algorithm based on a 3D chaotic map[J].Communications in Nonlinear Science and Numerical Simulation,2012,17(4):2943-2959.

[16]Wang Xingyuan,Teng Lin,Qin Xue.A novel colour image encryption algorithm based on chaos[J].Signal Processing,2012,92(4):1101-1108.

猜你喜欢

明文加密算法密文
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
奇怪的处罚
一种基于密文分析的密码识别技术*
奇怪的处罚
基于小波变换和混沌映射的图像加密算法
四部委明文反对垃圾焚烧低价竞争
云存储中支持词频和用户喜好的密文模糊检索
Hill加密算法的改进
对称加密算法RC5的架构设计与电路实现