基于Rossler变换的图像置乱算法
2017-04-17郭婷婷王艳华
郭婷婷, 娄 岩, 刘 佳, 王艳华
(中国医科大学 公共基础学院, 辽宁 沈阳 110122)
基于Rossler变换的图像置乱算法
郭婷婷, 娄 岩, 刘 佳, 王艳华
(中国医科大学 公共基础学院, 辽宁 沈阳 110122)
针对大多数图像置乱算法置乱速度不理想、置乱后图像直方图不变等问题,可以通过引入三维Rossler混沌变换解决以上研究难题. 运用Rossler混沌变换产生Rossler随机数序列构建三角矩阵. 利用三角矩阵相乘非奇异矩阵得到的还是三角矩阵,其矩阵的逆也是三角矩阵的原理来实现置乱. 运用Matlab软件对典型的Arnold算法、抽样置乱算法与本算法在置乱速度、置乱主观效果方面进行了对比实验. 通过对实验结果的定性和定量分析得出,本算法的置乱速度和置乱效果优于其他两个算法. 利用Rossler混沌变换置乱可以对图像置乱效果提供安全性,同时该算法实现简单、计算量小,可以快速达到理想置乱的效果.
图像置乱;Rossler变换;置乱度分析
由于图像信息具有形象生动的特征,因而被人类广为利用,图像也成为人类表达信息的重要手段之一[1].但随着Internet技术的飞速发展,信息的广泛传播带来了信息安全的隐患问题,因此,信息的安全越来越受到全社会的重视,由此而发展起来的数字图像信息隐藏技术被广为应用,数字图像置乱是数字信息隐藏中常用的一项技术.
数字图像置乱是将一幅图像经过变换,使其成为面目全非的、无意义的混乱图像[2].目前,数字图像置乱的算法有两类,第一类是改变图像像素位置的置乱算法,典型算法如:Arnold变换[3]、仿射变换、幻方变换[4]、Fibonacci变换[5]、面包师变换[6]等;第二类是改变图像像素值的置乱算法,典型算法如:Gray码变换[7]、异或变换、位平面变换等.改变图像像素位置的置乱算法主要用于方阵图像,通用性不好,其计算量较大、置乱速度不理想、置乱效率低(如:置乱次数越高越混乱)、安全性不高(如:置乱后直方图不变);改变图像像素值的置乱算法一般具有周期性,这样就给攻击者提供了攻击机会,算法经常涉及数学运算而导致效率较低,而且改变图像相关的统计特征也具有一定的难度.
针对以上不足,提出了一种基于Rossler变换的置乱算法,该算法具有实现简单、计算量小的特点.Rossler变换属于一种三维混沌变换,因此利用Rossler置乱可以对图像置乱效果提供安全性和通用性保证.
首先对Rossler变换方法进行简单讨论,然后详细描述了基于Rossler变换的置乱算法的思想以及实现过程,最后用实验对算法进行定性和定量的置乱度分析,以证明本算法通用性强、安全性高、置乱速度理想等特点.
1 Rossler置乱的基本方法
Rossler方程是1976年Rossler在研究具有中间产物的化学反应问题时,通过适当的标度变化所得到的一个非线性常微分方程组[8].Rossler系统是非线性动力学中最著名的方程之一.其动力学系统模型如下:
(1)
其中,a、b、c都是正参数,x、y、z是控制变量.Rossler系统呈现出丰富的动力学行为,因此特别容易产生混沌现象.经常用到的混沌吸引子研究参数有以下几组:a=0.2,b=0.2,c=5.7;a=0.2,b=0.2,c=4.6;a=0.38,b=0.2,c=5.7;a=0.1,b=0.1,c=14.当参数a逐渐增大时,Rossler系统的混沌可能更加复杂[9].
在式(1)中,当a=0.2,b=0.2,c=5.7时系统是混沌的,通过Matlab仿真计算得到系统中有一个正的Lyapunov指数,这也验证了式(1)是混沌的.因此,可以利用Rossler混沌系统对数字图像进行置乱.
与其他低维混沌系统不同,Rossler混沌系统的特点:(1)复杂的系统结构,由混沌方程产生的实数序列更加难以预测;(2)高维混沌系统掩盖了混沌子序列的分布特性,改变了混沌系统的动力学行为,更加有效的抵抗模型攻击;(3)对初始值更加敏感,初始值基本上是无精度的,密钥空间更加大于低维系统[10].
2 基于Rossler变换的图像置乱算法
2.1 算法分析
提出的是基于Rossler变换的图像置乱算法,算法思想是利用三角矩阵相乘非奇异矩阵得到的还是三角矩阵,其逆也是三角矩阵的原理来实现置乱.
设三角矩阵A为
(2)
假设图像矩阵为P,P′ 矩阵是经过式(2)变换一次后得到的置乱图像.因为变换矩阵A是有周期的,因此矩阵A在Zn(设Zn∈{ 0,1,…,n})上可逆.综上所述,当复原图像的时候,只需用式(2)的逆变换, 即P=A-1P′(modN). 矩阵A-1的计算可以选择初等变换的方法.但对于上(下) 三角矩阵,高斯消元求其逆矩阵较为简单, 这将大大简化程序设计.
对于数字图像P,当进行以上变换k次得到的图像Pk,其图像矩阵Pk=AkP(modN) ,由于上(下) 三角矩阵的乘积仍为上(下) 三角矩阵, 且Ak与A具有相同的类型,因此变换k次和变换1 次的置乱效果应当是大致相同的[11].
2.2 正Rossler变换置乱算法
以一幅M×N的图像为例,介绍基于Rossler变换的图像置乱算法的过程.置乱过程在利用Rossler变换的同时,采取了四重密钥,增加了置乱的安全性.
正Rossler变换置乱算法主要步骤如下:
Step 1 读入待置乱的图像Image,设图像大小为M×N,确定第1个密钥k=ucycle(置乱次数).建立临时矩阵Btemp,矩阵大小为图像大小.
Step 2 利用Rossler变换产生Rossler随机数序列.该随机数序列是由3部分初始值决定,图像的大小M和N、以及输入的初始值密钥k.
(1)选取Rossler方程的初始值a=b=0.2,c=5.7(此时Rossler系统为混沌状态,且作为第2个密钥),时间序列间隔h=0.000 1(第3个密钥).
(2)Rossler混沌序列初始化.对于Rossler方程中的x,y,z三个数组变量的初始值初始化.
(3)依次进行迭代,共进行M×N次迭代运算,产生Rossler混沌序列(x,y,z).
Step 3 将Rossler混沌序列大小恢复到M×N的二维向量,取二维向量的上三角矩阵A(第4个密钥),并对图像进行Rossler正变换置乱.记作P′=AP.此处,P′是Rossler变换1次之后得到的置乱图像.
Step 4 当k不等于ucycle(即循环未结束)时,转到步骤Step 3继续操作,直到迭代k次,得到最终置乱后的图像Fig.
2.3 逆Rossler变换置乱算法
逆Rossler变换置乱算法的主要步骤如下:
Step 1 读入置乱得到的图像Fig,置乱相同的密钥k=ucycle作为第1个密钥,确定图像大小为M×N.
Step 2 利用Rossler变换产生Rossler随机数序列(x,y,z).与正变换相同,Rossler方程的初始值a=b=0.2,c=5.7作为第2个密钥,时间序列间隔h=0.000 1作为第3个密钥.
Step 3 将Rossler混沌序列大小恢复到M×N的二维向量,取二维向量的上三角矩阵A(置乱相同的第4个密钥),求解矩阵A的逆矩阵A-1.计算P=A-1P′.此处,P是Rossler逆变换1次之后得到的图像.
Step 4 循环转到第3步,当k等于ucycle时,迭代完成,逆置乱算法结束,得到最终图像Image.
3 实验仿真结果与分析
3.1 置乱效果对比实验
实验选用了Arnold、抽样置乱算法与基于Rossler变换的置乱算法进行了置乱效果作为定性的主观对比.
图1为用Arnold置乱算法对大小为512×512的Lena图像进行置乱的效果图.
图1 Arnold算法置乱512×512 的Lena图像效果图
图2为用抽样置乱算法对大小为512×512的Lena图像进行置乱的效果图.
图2 抽样置乱算法置乱512×512 的Lena图像效果图
在图3中选择图像大小为512×512的Lena图,三重置乱密钥分别为置乱变换次数ucycle=2,Rossler方程的初始值a=b=0.2,c=5.7和时间序列间隔h=0.000 1.其中,图3中分别为:原始Lena图,正Rossler变换2次效果图,正Rossler变换80次效果图.
图3 基于Rossler变换置乱算法置乱512×512的Lena图像效果图
图4 基于Rossler变换置乱和逆置乱效果图
从图1、图2中对比可知,Arnold、抽样置乱经多次迭代得到的置乱图像仍然可以看出原图像的纹理,视觉效果不理想;而图3是用基于Rossler变换的置乱算法置乱2次得到的结果,视觉效果良好,Rossler变换k次和变换2次的置乱效果大致相同.
图4是图像经过正Rossler变换后,进行逆变换恢复置乱图像,得到原始图像,并进行了错误逆置乱实验.由图4实验结果可知,经过逆置乱恢复后的图像与原始图像相比没有任何像素误差.
3.2 置乱测试速度对比实验
实验选用了Arnold、抽样置乱算法与基于Rossler变换置乱算法进行了置乱速度作为定量的客观对比.计算机CPU为Intel 奔腾双核 G630,内存为4 GB,WIN7操作系统时,当达到相同置乱度,即主观的视觉效果如图4所示,若根据文献[12-13]的置乱度评价方法,客观的置乱度都稳定在0.8时,分别测试对同样大小为256×256的图像,用不同置乱方法的置乱速度(详见表1).
表1 方法不同和图像大小相同的置乱速度对比实验
从表1及实验分析得知:当图像大小相同时,Arnold、抽样置乱算法经多次置乱达到理想效果所需的时间均大于5s,而基于Rossler变换置乱算法所需时间小于1s,综上所述,基于Rossler变换的图像置乱算法在置乱速度上优于已有算法.
3.3 置乱效果评价
图像的置乱程度可以通过置乱度来定量评价,根据文献[13]的连续区域图像置乱度评价方法,其数字图像的置乱程度为
(3)
图5a是用式(3) 对Rossler变换置乱算法进行置乱度评价的曲线图,图5b、图5c分别是对Arnold、抽样置乱算法进行置乱度评价的曲线图.
图5 按文献[13]的置乱度评价曲线图
图5b和图5c对比可知:用Arnold和抽样迭代256次,置乱度在0.2~0.8之间有大幅度变化,说明Arnold和抽样置乱程度时好时坏,即具有明显的周期性,安全性较差.而由图5a 可知:用基于Rossler变换置乱方法置乱256次,基本上置乱度都保持不变,说明本算法更稳定,而且能快速达到置乱的效果.
4 结 论
提出的基于Rossler变换图像置乱的新算法,采用Rossler方程产生混沌序列,取其三角矩阵相乘非奇异的矩阵得到的还是三角矩阵,其逆也是三角矩阵的原理来实现置乱.该方法既快速提高了置乱速度,又避免了周期性恢复的安全问题.算法分析和实验结果的数据都证明了,基于Rossler变换的图像置乱算法可以用最少的置乱次数达到良好的视觉效果.另外,定量的分析也证明本算法的优越性.
[1] 赵玉青.基于改进Chen混沌系统的图像加密算法[J].小型微型计算机系统,2014(9):2162-2166.
[2] 司银女,康宝生.基于改进的Arnold变换的数字图像置乱[J].计算机技术与发展,2008,18(2):74-76.
[3] 宋莉莉,杨帆,潘国峰. Arnold 变换与 Gray 码变换相融合的双置乱算法研究[J].计算机应用与软件,2016,33(3):304-307.
[4] GÜNAYDIN M, SIERRA G, TOWNSEND P K.Exceptional supergravity theories and the magic square[J].Physics Letters B,1983,133(1/2):72-76.
[5] 孙劲光,汪洁,孟祥福.改进的Fibonacci双置乱图像加密算法[J].计算机科学,2012,39(11):249-253.
[6] 张鑫,徐光宪,付晓.基于面包师变换的抗剪切扩频水印算法研究[J].计算机应用研究,2012,29(6):2246-2248.
[7] 何冰,张莹.基于Gray变换的图像置乱改进新算法[J].计算机与数字工程,2011,39(3):121-124.
[8] RÖSSLER O E.An equation for continuous chaos[J].Physics Letters A,1976,57(5):397-398.
[9] 李莉.基于被扰动的Rossler系统的二次加密算法[J].中国科技博览,2015(18):264-265.
[10] 江平,张定会,张雅奇.基于Henon映射和Rossler混沌映射的数字图像加密[J].数据通信,2012(4):15-18.
[11] 陈燕梅,张胜元.基于一类随机矩阵的数字图像置乱新方法[J].江南大学学报(自然科学版),2006, 5(1):6-9.
[12] 梁婷,李敏,何玉杰,等.基于Arnold变换的改进图像加密算法研究[J].计算机工程与应用,2013,49(11):204-207.
[13] 黄健,柏森.一种有效的图像置乱程度衡量方法[J].计算机工程与应用,2009,45(30):200-203.
Image scrambling algorithm based on Rossler transform
GUOTingting,LOUYan,LIUJia,WANGYanhua
(School of Fundamental Sciences, China Medical University, Shenyang 110122, China)
For most of image scrambling algorithms, there exist some problems, such as scrambling speed is not ideal and the histogram after scrambling is invariant. As a potential solution, an algorithm based on Rossler chaotic transformation is considered to overcome the above-mentioned problems. We used Rossler chaotic transformation to generate Rossler random number sequences which can construct the triangular matrix. When the triangular matrix multiply the non singular matrix, the result and the inverse of the matrix are also triangular matrix. According to this theory, we implemented the scrambling algorithm. By Matlab simulation and experimental analysis, we compared Arnold algorithm with sampling scrambling algorithm and Rossler algorithm in scrambling speed and scrambling quality. Through qualitative and quantitative analysis of the experimental results, the algorithm scrambling is better than the others. Rossler chaotic transformation can improve the security of the algorithm and has the advantages of simple realization and minor calculation, so it can achieve the desired results quickly.
image scrambling;Rossler transform;scrambling degree analysis
2016-09-20 基金项目:辽宁省教育科学“十二五”规划项目(JG14DB451) 作者简介:郭婷婷(1988-),女,山东济南人,中国医科大学助教.E-mail:tingtoting@qq.com 娄岩(1961-),男,辽宁沈阳人,中国医科大学教授.
1000-1735(2017)01-0041-06
10.11679/lsxblk2017010041
TP309.7
A