APP下载

数字图像的混沌加密技术

2017-04-25蔡静

数字技术与应用 2017年1期

蔡静

摘要:离散混沌动力学系统具有非线性动力学行为。混沌系统可生成伪随机性的序列,对初始状态敏感,而且可以通过一个简单的递归过程生成高度复杂的信号。由于混沌序列的良好性能,混沌系统被广泛应用于通信、密码学、优化、控制和图像处理等。本文除了分析现有的两类图像加密方法的安全性,还在此基础上研究了一种改进的图像加密方法。该方法利用混沌系统对初始条件的敏感依赖性,在传统混沌加密算法基础上引入一个辅助密钥,用以抵抗已知明文攻击。分析及计算机仿真结果表明,该加密方法具有运算量小但是加密效果良好的特点。

关键词:混沌系统;混沌序列;图像加密算法;辅助密钥

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2017)01-0196-03

1 研究背景和意义

根据加密与解密中使用的密钥情况,传统加密算法可分为对称加密算法与非对称加密算法。由于传统的加密技术没有考虑图像的自身特点,多是基于文本设计的,因此对图像进行加密解密,不但效率较低,而且安全性较差。

由于数字图像具有数据量大、数据相关度高等特点,继续用传统的图像加密方式效率低,又不能满足实时通信的要求。混沌序列具有对初始条件敏感、容易生成、以及具有白噪声的统计特性,因此很适合应用于加密。经证明,基于混沌的图像加密方法密钥空间大,有较好的统计特性、安全性及很好的密钥敏感度。扰乱图像像素值和置乱图像像素位置是两大类常见的基于混沌的图像加密方法。然而这两类加密方法都需要做一些必要的改进,因为难以抵抗已知明文的攻击,在安全性方面均存在一些问题,。

研究该课题不仅可以解决传统图像加密效率低的特点,还可以满足当下实时通讯的需求。因此,该研究课题具有很高的价值。

2 本文的主要作用

本文在对上述扰乱图像像素值和置乱图像像素位置这两类图像加密方法,进行分析安全性的基础上,拟通过在图像加密过程中引入一个辅助密钥,以抵抗已知明文攻击。采用Matlab平台对其进行仿真分析,证明其安全性。

3 基于混沌序列的图像加密方法

3.1 混沌序列的生成

(1)实数值序列,即是混沌映射的轨迹点所形成的序列。

(2)通过定义一个阈值,由1)中的实数值混沌序列可得到二值序列:(2.1)具有混沌特性的二值序列为。

(3)比特序列为,由1)中实数值混沌序列得到,将中的改写为L-bit的浮点数形式:,其中,是的第i位。

(4)定义一个阈值函数,由1)中的实数值混沌序列得到值序列:

3.2 基于一维混沌序列的置乱方法

初值在Logistic映射的作用下生成混沌序列,该序列对初始值非常敏感、非周期且不收敛。用计算机将迭代初值迭代,其中迭代初值是在区间中随机选取的,通常会丢弃前面n次的迭代数据。随后每一个像素值用混沌序列加密。序列的概率密度函数表达式如下:

(2.3) 均值为:

假设独立选取两个初始值和,则两个序列的互相关函数为:

可以看出,一维Logistic形式简单,具有与白噪声相似的特性。设精度为N位有效数字,则在上最多有个不重复点。当迭代次数大于精度时,必会产生循环。由于有限精度的限制容易产生周期,一维Logistic混沌映射不能直接用于加密。变换排序可以保持Logistic混沌序列的性质。通过Logistic混沌映射生成一个双精度型的混沌序列,实值序列集合中的N个值由小到大排列,形成有序序列,确定每个在混沌实值有序序列中的位置编号,置换地址集合形成。其中,为集合中的一个。对图像的第一行像素按置换的地址集合进行置换,将其第列像素置换至第列,,这样就可以取得很好的置乱效果。

4 实验过程、结果及分析

4.1 问题一

对具有代表性的图像加密方法,即扰乱图像像素值的加密方法进行安全性分析。

f是大小为,有L个灰度级的图像。

Step1:选定Logistic混沌系统,将初值作为密钥;

Step2:通过混沌系统生成混沌序列;

Step3:将其量化为二值随机序列;

Step4:将得到的序列与原始图像按比特位进行异或操作得到加密图像。

实验结果:如图4.1。

安全性分析如下:

这种加密方法的安全性应取决于混沌系统的迭代精度及的取值精度。对于已知明文的攻击方式,这种图像加密方法则很容易被攻击者破译。这种加密方法使用的加密模板是二值序列,它对所有图像都重复使用,很容易被破译。一旦破译了加密模板,就可以解密其它的图像,因而攻击者得到一幅原始图像f以及加密后的图像后。所以该加密方法安全性不是很高。

4.2 问题二

对具有代表性的图像加密方法,即置乱图像像素位置的加密方法進行安全性分析。f是大小为的图像。

Step1:选定两个Logistic混沌系统,分别以初值、产生两个混沌序列;

Step2:将两混沌序列归一化,分别乘以M和N;

Step3:将两列序列取整,取值分别为与间的整数;

Step4:进一步处理两个序列,生成遍历的序列与遍历的序列;

Step5:将这两个序列作为置乱矩阵的行地址和列地址,对原图像进行置乱:

(2.5)

其中为原图像素点经位置置乱后的坐标值,而原图像素点加密后的像素点为。

实验结果:如图4.2。

安全性分析如下:

对于唯密文攻击,这种加密方法的安全性也是由混沌系统的迭代精度及初值、的取值精度决定。这种加密方法并没有改变图像各像素点的值,因此对于已知明文的攻击容易被攻击破译。

4.3 問题三

在问题一和问题二的基础上,拟在图像加密过程中引入一个辅助密钥,提高安全性。F图像的大小为,图像f在位置处的灰度值为,选取kx、ky、kz、kw为16位加密密钥。具体加密过程如下:

Step1:每2个像素点为一对,在原始图像f中任意选取16个像素点。对这些像素点按比特位进行异或操作,获得4个16位辅助密钥ka、kb、kc、kd;

Step2:选定4个一维混沌系统,其中运算精度和初始值的精度均为16位,初始值分别为,,

,;

Step3:通过4个混沌系统以选定的初值产生混沌序列;

Step4:将取混沌序列(4个,值精度为16位)量化为二值序列;

Step5:异或运算,将二值序列合并为序列,并得到加密模板fm;

Step6:用加密模板fm与原始图像f进行异或操作,就可以得到加密图像f。

Step7:要采用Matlab平台对其进行仿真分析,证明其安全性。

实验结果:如图4.3。

安全性分析如下:

仿真结果表明,引入辅助密钥,可使加密系统具有很强的抗攻击、抗破译能力。可以有效地抵抗已知明文攻击,大大提高安全性。

5 结语

本文阐明了在图像加密中混沌理论的应用,在对图像加密方法进行安全性分析的基础上,为提高安全性并在加密过程中引入一个辅助密钥。最后,给出了实验的详细步骤、结果和分析。

参考文献

[1]李娟,冯勇,杨旭强,等.三维可逆混沌映射图像加密及其优化算法[J].光学精密工程,2008,16(9):1738-1745.

[2]朱从旭,陈志刚,欧阳文卫.一种基于广义Chens混沌系统的图像加密新算法[J].中南大学学报(自然科学版), 2006,37(6):1142-1148.

[3]樊春霞,姜长生.一种基于混沌映射的图像加密算法[J].光学精密工程,2004,12(2):180-184.

[4]王英,郑德玲,鞠磊.基于Lorenz混沌系统的数字图像加密算法[J].北京科技大学学报.2004, 26(6):678-682.

[5]H.S.Kwok, WallaceK.S.Tang. A fast image encryption system based on chaotic maps with finite precision representation [J]. Chaos, Solitons and Fractals, 2005, 32(2007):1518-1529.

[6]Nihuan Liao, Jinfeng Gao. The chaotic spreading sequences generated by the extended chaotic map and its performance analysis [J]. Journal of Electronics and Information Technology, 2006, 28(7):1255-1257.

[7]Peng Fei, Shui-Sheng Qiu, Long Min. An image encryption algorithm based on mixed chaotic dynamic systems and external keys [J]. IEEE, 2005, 1135-1139.