APP下载

基于Logistic混沌系统与魔方变换的图像加密方案

2012-04-29董虎胜陆萍

计算机时代 2012年11期

董虎胜 陆萍

摘要: 设计了一种基于Logistic映射与魔方变换的图像加密方案。该方案采用改进的混沌序列二值化方法,并借用魔方变换的思想,将二值序列转换所得的整数序列与图像像素值运算后,对图像的行列分别作循环移位完成对图像的加密。实验结果分析表明,该加密方案具有良好的图像加密效果,对于常见的攻击具有较强的抗干扰能力。

关键词: Logistic映射; 混沌系统; 魔方变换; 图像加密

中图分类号:TP391文献标志码:A 文章编号:1006-8228(2012)11-12-04

Scheme of image encryption based on logistic chaos system and magic cube transformation

Dong HuSheng, Lu Ping

(Dept. of Information, SuZhou Institute of Trade & Commerce, Suzhou, Jiangsu 215009, China)

Abstract: An image encryption algorithm based on logistic map and magic cube transformation is proposed. The encryption scheme adopts an improved chaotic sequence binarization method and the idea of magic cube transformation. Values of Image's pixels are changed by the operation with integers acquired by binary sequence first, and then image is scrambled by cyclic shift of rows and columns. Experimental results show that the algorithm has good encryption performance and fine anti-attack capability.

Key words: logistic map; chaos system; magic cube transformation; image encryption

0 引言

在信息技术飞速发展的今天,大量的数字媒体信息通过互联网方便快捷地发布与传播,这在给人们带来方便的同时也存在着许多安全隐患。数字媒体信息由于其自身特点极易被复制、篡改与存储,使得数字信息传输中的安全问题显得越来越重要。为了保证图像数据在传输中的安全,广泛应用了图像加密与置乱技术。由于传统的加密技术将图像作为一般数据流处理,不考虑其多媒体特性,使得其在应用中存在诸多缺陷[1],为此,人们不得不探索更为优秀的加密系统。近年来,越来越多的学者开始使用混沌系统对图像进行加密[2-5]。文献[2]采用Logistic混沌序列在DCT域对图像完成了加密处理。文献[3]采用混合混沌系统生成了分布特性更为优良的混沌序列对图像加密。文献[4,5]在对图像的加密中使用三维或更高维的超混沌系统。

本文设计了一种基于Logistic混沌系统与魔方变换思想的图像加密方案。在采用改进的 Logistic混沌系统的二值序列获取方法后,生成的二值序列具有更优秀的分布特性。该加密方案在利用混沌序列与图像的像素值运算后,再作魔方旋转置乱完成对图像的加密。实验证明该加密方案算法简单、运算量低,具有优秀的图像加密效果。

1 Logistic混沌系统

混沌现象最早由美国气象学家Lorenz在研究模拟天气预报时发现,为非线性动力系统的一种确定性的、类似随机的过程,其不存在重复的周期也不发生收敛,在系统初始值微小变化的情况下将生成截然不同的结果,即对初始值“敏感”。利用混沌系统的这些特性,仅需使用少数的密钥即可通过迭代生成数量众多、不相关、类随机且可再生的混沌序列。迄今为止,人们已经发现多种具有混沌特性的系统,从简单的一维系统到高维的超混沌系统在图像加密中均有应用。由于高维的混沌系统构造相对复杂,因此实际应用中大量使用的是一维混沌系统。

一维离散时间非线性动力系统的定义:

xk+1=τ(xk)⑴

其中,xk∈V,k=0,1,2,…称为状态,τV→V为一映射,将当前状态xk映射到下一状态xk+1。确定初值x0后通过迭代,则可获得序列X={xk|k=0,1,2,…},该序列即该离散时间动力系统的一条轨迹。

1.1 Logistic映射

Logistic映射是一种被广泛使用的一维混沌序列生成器,其结构较为简单,表示为:

xk+1=μxk(1-xk)⑵

其中xk为映射变量,μ为分支参量。当μ∈[3.569945972,4]、xk∈(0,1)时,Logistic映射工作于混沌状态。由不同的初始值x0所获取的序列X={xk,k=0,1,2,…}具有非周期性及不收敛的特征,且对初始值非常敏感。随着μ的增加,系统将不断经历倍周期分叉,当μ达到3.569945972时,系统进入混沌状态,当2.6≤μ≤4时绘制出的Logistic映射倍周期分岔图如图1所示。

图1Logistic映射倍周期分岔图

当μ=4时,由Logistic映射生成的混沌序列的概率分布函数为:

通过ρ(x)可获得Logistic映射所产生的混沌序列的一些重要的统计特性。其中混沌序列轨迹点的均值为:

选择两个不同的初始值x0与y0通过迭代生成不同的序列,计算序列的相关性函数如下:

取初始值x0分别为0.4与0.400001分别迭代50次后,生成的混沌序列如图2所示,其中,实线是初值为0.4的迭代轨迹,虚线是初值为0.400001的迭代轨迹。由图2可见在迭代近20次后,序列开始分岔,且相差很大,说明Logistic混沌序列对初值非常敏感。

图2Logistic映射初值敏感性测试

(a) 序列自相关(b) 序列互相关

图3Logistic映射序列自相关与互相关特性图

取初值为0.4与0.400001,在迭代5000次后对生成的序列计算其自相关与互相关特性,在相关间隔为-1000~1000时如图3所示,其中,图3(a)为初值为0.4所获得序列的自相关特性图,图3(b)为两序列的互相关特性图。由图3可见Logistic混沌序列具有白噪声的分布特性。

通过上述分析可知该混沌动力系统具有确定性,且结构形式简单、对初值敏感,可生成具有白噪声统计特性的序列,适合应用于图像信息加密。

1.2 混沌二值序列与整数序列的获取

在图像加密运算中一般需要使用二值序列或整数序列,二值序列的获得可对由Logistic映射生成的混沌序列根据阈值τ,由阈值函数Г(·)获得:

整数序列可通过对从获得的二值序列B={bk,k=0,1,2,…}中截取L位序列转化为整数而实现:

其中,Sb为截取的b(i:i+L-1),bit2num(·)为二值序列转换为整数函数。

为了保证加密的效果,混沌二值序列应具备良好的随机性。但是,采用上述方法生产的二值序列存在着安全性不高的缺点,在将二值序列转换成十进制数时容易出现“聚集”现象[6],为此,可采用不同的初始值x0与y0分别迭代生成两路序列X与Y进行比较的改进方法,通过比较xk与yk而获取二值序列B,即将式⑹改进为:

取x0=0.4按式⑹二值化后以8位为单位转换为十进制结果,如图4(a)所示,采用x0=0.4、y0=0.45按式⑻二值化后转换为整数,结果如图4(b)所示。由图4可知采用式⑹直接转换所得的十进制数产生了“聚集”现象,而采用式⑻获得的十进制数具有良好有随机性分布,其统计特性明显得到改进,将其应于图像加密可获得更好的安全性。

(a) 按式⑹转换结果 (b) 按式⑻转换结果

图4二值序列转换为整数的随机性比较

2 基于混沌与魔方的图像加密方案

2.1 图像的魔方变换

魔方是一种被分割为诸多可旋转的小块的立方体结构,图5为一种常见且简单的3×3×3魔方玩具,其各轴向上每一层的所有子块组成的面均可旋转,这样可将原先排好的图案打乱,而采用相同的逆向旋转则可以将图像还原。对于图5所示的魔方,虽然其结构非常简单,但要将其复原却非常困难。若将魔方旋转变换应用于具有大量行、列的数字图像的置乱,在对不同的行列采用具有随机性、次数不同的旋转后,若要复原将极具难度,而这正达到对图像加密的目的。

图53×3×3的魔方结构

由于魔方变换是对三维空间上的处理,而图像是二维数字矩阵,为此本文采用循环移位的方法以使其适用于图像的加密。对于一幅数字图像,在对其将各行、列分别作次数不同的数据循环移位操作后,会有效地打乱原图像像素的分布,实现对图像数据的置乱与加密。此方法在应用于图像加密时数据运算量低,而且可以适用于任意大小的图像,而不像Arnold变换、幻方变换、Hilbert曲线变换等仅适用于方阵图像。

2.2 图像加密与恢复

设原始图像I的大小为M×N,各像素灰度值为I(i,j),i=1,2,…,M,j=1,2,…,N,图像的加密过程描述如下。

⑴ 根据系统参数μ及两个系统初始值x0、y0,通过迭代生成适合长度len的混沌序列Sx与Sy,为保证序列具有足够的长度,要求len≥4MN。为进一步增强系统的安全系统,对两路序列均舍弃前t项。

⑵ 根据式⑺获得二值序列B,并根据该像素I(i,j)在当前图像中的位置p:

p=(i-1)×M+j⑼

取混沌二值序列B(p:p+7)与I(i,j)作异或运算得到像素值改变的图像I':

⑶ 根据阈值τx及τy分别对Sx与Sy按下式运算:

Ti=Ti-τ⑾

并对运算结果取小数点后的3-5位组成整数序列Zx与Zy,保留运算结果的符号。

⑷ 对图像I'的各行根据Zx(i),i=1,2,…,M作循环移位操作,若Zx(i)符号为正则顺序移位,否则逆向处理;同样对I'的各列按Zy(j),j=1,2,…,N作循环移位操作。

⑸ 经上述操作后即可得到加密的图像IE,若要进一步增强图像加密效果,可将各序列的起始点后移作多次迭代。

图像的解密过程为加密的逆运算,在获得加密图像文件与初值x0、y0、系统参数μ、阈值τx、τy后,只需对各列、行先作逆向循环移位操作,再将二值序列转换所得的整数与各像素值异或即可获得原始图像。

3 仿真实验结果

我们选用了大小为256×256,8位灰度的Lena.bmp图像进行测试,结果如图6所示。实验中所取的各系统参数为:μ=0.4、x0=0.40、y0=0.80、t=1000,阈值τx及τy均为序列初值。由图6可见该算法具有良好的图像加密效果,加密后的图像已完全不可辨认,原图像信息得到了有效的隐藏,从其直方图可见加密后的图像分布均匀,有效地消除了原图的灰度统计特征。

(a) 原始Lena图像(b) Lena图像直方图

(c) 加密图像(d) 加密图像直方图

图6Lena图像测试结果

4 算法性能分析与测试

4.1 密钥空间

根据Shannon理论,加密系统的算法是透明的,而加密密钥至关重要。一个安全可靠的加密方案需要具有足够大的密钥空间。考虑到计算机的运算精度,若按10-10计,算法的密钥空间可达到1020,若将系统参数μ、及t、τx、τy等均可作为密钥对待,密钥空间可进一步增大到1060,足够抵御密钥穷举攻击。

4.2 密钥敏感性测试

在其他参数取值不变的情况下,仅改变x0取值,当x0=0.4000001时,对图6(c)作解密运算,其结果如图7所示。其中,图7(a)为x0=0.40的正确解密的图像,图7(b)为错误解密图像。虽然密钥相差仅有0.000 001,但却未正确解密,可见算法对初始密钥具有极强的敏感性,具有很强的抗密钥穷举攻击能力。

(a) 正确解密图像 (b) 错误解密图像

图7密钥敏感性测试结果

4.3 抗攻击测试

图像在传输中可能会受到各种无意或恶意的攻击,因此图像加密系统还应具备一定的抗干扰能力。图8给出了加密图像在受到各种常见攻击后的解密结果,可见所设计的加密方案在受到较强干扰的情况下仍能有效地恢复原图,具备一定的抗攻击能力。

(a) 2%高斯噪声(b) 5%椒盐噪声

(c)中心1/4剪切 (d) 30%质量的JPEG压缩

图8受攻击的加密图像恢复结果

5 结束语

本文设计了一种基于Logistic混沌映射与魔方变换的图像加密方案,该方案采用改进的Logistic混沌序列二值化方法,使二值序列在转换为整数时避免了“聚集”现象。该加密方案首先利用二值序列转换所得的实数序列改变原始图像的像素值,再利用魔方变换思想,使用两路整数序列分别控制图像行、列的循环移位操作将像素点打乱。实验结果证明了该方案具有良好的图像加密效果与较强的抗攻击能力。

参考文献:

[1] 范延军,孙燮华,阎晓东等.一种基于混合混沌序列的图像置乱加密

算法[J].中国图象图形学报,2006.11(3):387-393

[2] 易开祥,孙鑫,石教英.一种基于混沌序列的图像加密算法[J].计算机

辅助设计与图形学学报,2000.12(9):673-676

[3] 董虎胜,陆萍,马小虎.基于混合混沌与扩展ZigZag的图像置乱算法[J].

计算机工程与设计,2011.4:1241-1245

[4] 李太勇,贾华丁,吴江.基于三维混沌序列的数字图像加密算法[J].计

算机应用,2006.26(7):1652-154

[5] 卢辉斌,孙艳.基于新的超混沌系统的图像加密方案[J].计算机科学,

2011.38(6):149-152

[6] 赵莉,张雪峰,范九伦.一种改进的混沌序列产生方法[J].计算机工程

与应用,2006.42(23):31-33

[7] 燕善俊,余昭平.基于Logistic混沌序列的灰度图像加密算法[J].计算

机工程与应用,2008.44(36):179-180,208

[8] 鲍官军,计时鸣,沈建冰.魔方变换及其在数字图像加密中的应用[J].

计算机应用,2002.22(11):23-25