基于三维Logistic映射和斜帐篷映射的图像加密
2020-09-09
(焦作师范高等专科学校 数学学院,河南 焦作 454002)
关键字:彩色图像加密;混沌理论;logistic映射;斜帐篷映射
一、引言
随着网络技术的飞速发展和大数据时代的到来,信息安全问题正受到全社会的普遍关注,图像加密技术已成为重要的研究课题。由于混沌理论具有对初值的高敏感性、遍历性、可控初值参数以及内随机性等特征,可以有效解决传统密码技术的耗时巨大、效率不高问题,因此逐步得到了广泛重视,也出现了一些具有代表性的研究:廉士国设计了一种基于三维Baker映射与扩散函数结合的图像数据信息加密技术[1]。Ruisong Ye提出了一种使用三维斜帐篷映射的图像加密算法[2]。王永将分段Logistic映射引入到了时空混沌模型中[3]。袁岁维将帐篷映射推行到了单位立方体上,迎来了三维帐篷映射的诞生[4]。张爱华结合常见的一维混沌映射,利用离散斜帐篷映射在动态参数条件下对图像素值进行置换,给出了基于离散斜帐篷映射的混沌加密方法[5]。
基于以上研究,本文提出了一种基于三维logistic映射和斜帐篷映射的彩色图像加密算法,介绍了图像加密和解密的过程。通过实验仿真验证,以及直方图、密钥空间、相关性、信息熵四个方面的安全性分析,表明该加密算法具有良好的加密效果和抗攻击能力。
二、算法基础
(一)三维logistic映射
三维logistic映射方程:
(二)斜帐篷映射
斜帐篷映射的方程式:
图1 混沌斜帐篷映射
三、方案的设计
(一)图像加密
使用三维logistic映射。先确定初值,再将加密密钥各参数等值输入到三维logistic映射方程,经过式(1)迭代MN次,得到三个一维序列,分别记作
置乱处理。利用斜帐篷映射,分别获得R、G、B三通道的索引值。选定参数,令R、G、B层初值分别进行行变换和列变换,经过公式(2)的N次迭代,获得六组随机序列,将这六组随机序列按从小到大排列,获得其索引值。将序列的行、列分别用R、G、B层得到的索引值进行置换,完成了位置置乱。
(二)图像解密
利用斜帐篷映射,使用与加密过程相同的参数,令R、G、B层初值分别进行行变换和列变换,经过公式(2)的N次迭代,获得6个随机序列,从小到大排列后获得其索引值。之后将再次使用索引值进行排列,变成三个一维序列,记作{R2},{G2},{B2}。
使用三维logistic映射。使用与加密过程相同的初值和参数值,输入到三维logistic映射方程,迭代MN次,得到三个一维序列,记作将之与 {R2},{G2},{B2}进行逆异或运算,得到三个一维序列。
把得到的三个一维序列变成三个二维序列,并将其合成一个三维矩阵,记作此时里面所包含的数据即是解密后的原图数据。
四、实验结果及安全性分析
(一)仿真结果展示
本文使用R2016a版的Matlab软件进行仿真分析。将经典洋葱图像作为待加密的彩色图像,选取大小为135*198。设定三维logistic混沌系统的初值控制参数。斜帐篷映射R、G、B三通道分别经行置乱和列置乱,设定初值为:
输入明文图像如图2(a)所示。对图像加密后,得到密文图像如图2(b)所示,使用正确的密钥解密后得到解密图像如图2(c)所示,而使用错误的密钥则得到的解密图像如图2(d)所示。
图2 仿真实验中的相关图像
(二)直方图
直方图可以清晰直观地描述出图像数据中各个灰度级所有的像素个数,其表达式为灰度级的函数,如公式(3)所示:
图3 原图像R分量加密前后图像的直方图
图4 原图像G分量加密前后图像的直方图
图5 原图像B分量加密前后图像的直方图
灰度直方图能有效反映算法的好坏。原图像R、G、B分量加密前后图像的直方图分别如图3、图4、图5所示。由此可见,未加密前的图像各像素点出现的频率差异很大,经过算法加密后,各像素点频率相近,图像表现为均匀分布,从而使图像的信息得到遮掩。
(三)密钥空间分析
所有满足于系统的密钥的合集组成了密钥空间。一个小的密钥空间,不能够有效的抵挡暴力攻击。为此需要增大算法的密钥空间。
(四)相关性分析
一个安全有效的密文图,需要保证其相邻像素达到几乎不相关的程度,最好做到“像一盘散沙”。计算上述图像的相关系数如表1所示:
表1 相邻像素的相关性系数
图6显示了“洋葱”图像像素各方向的相关性和加密后图像像素各方向的相关性,其中(a)(d)显示加密前后水平方向、(b)(e)显示垂直方向、(c)(f)显示对角方向。
图6 各方向相邻像素相关性
(五)信息熵分析
通常用信息熵的大小来间接反映图像的不确定性。