APP下载

分数阶混沌与DNA编码相结合的图像加密算法∗

2018-11-28陈秋琼张安清林洪文牛治永

计算机与数字工程 2018年11期
关键词:明文密文密钥

陈秋琼 张安清 林洪文 牛治永

(海军大连舰艇学院信息作战系 大连 116011)

1 引言

随着网络通信、云计算等技术的高速发展,数字图像信息的安全传输成为亟须解决的重要问题,数字图像加密技术是目前最为有效的方法之一。由于混沌系统具有不可预测性、伪随机性、对初始条件的极度敏感性等特征,许多学者提出了基于混沌的数字图像加密算法[1~8]。然而,现有的混沌图像加密算法大多基于整数阶混沌系统。研究表明,分数阶混沌动力学系统除具有除整数阶混沌系统的特性外,还具有很强的记忆性,可反映系统历史信息。此外,可通过非线性预测、神经网络和回归映射等方法重构整数阶混沌系统,但无法实现分数阶系统的重构。因此,基于分数阶混沌的数字图像加密算法极具研究意义。

1994年,Adleman首次提出DNA(deoxyribonu⁃cleic acid)计算思想,开辟了信息时代的新纪元。后续研究证明,DNA计算具有低功耗、大存储量、高信息密度等优点,能够很好地解决图像信息的安全问题,为数字图像加密开拓了新的研究方向。近年来,国内外学者提出了将混沌理论与DNA编码相结合的数字图像加密算法。其中,Wang等[10]利用DNA编码将图像分为4个子图像块,利用Logis⁃tic映射产生的混沌序列分别对其置乱加密,但是该算法密钥空间小,无法抵御穷举攻击。Xue等[11]提出基于多混沌映射与DNA序列相融合的加密算法,利用DNA编码与Logistic映射、Cubic映射相融合加密数字图像,但是加密后的密文图像安全性低,相邻像素相关性高,实现过程复杂。Liu等[12]提出利用混沌系统和DNA互补规则对图像进行加密,同样存在密钥空间小、像素相关性低、抗攻击能力弱等问题。魏广政等[13]提出一种改进的基于DNA编码和混沌映射的图像加密方法,分别对明文图像和Logistic映射产生的混沌序列进行DNA编码,利用DNA加法法则进行加密,但该算法的安全性完全依赖于混沌映射,与明文图像没有任何关系,因此可以通过选择明文攻击的方法破译[14]。

基于上述分析,本文提出一种基于分数阶混沌系统与DNA计算相融合的数字图像加密方案。该方案采用置乱和扩散技术,利用改进的Logistic混沌映射和一种新的分数阶混沌系统,结合DNA编码规则对彩色图像进行加密。本文算法密钥空间大、相邻像素相关性弱、安全性能高,能有效抵抗各种攻击。

2 基本理论

2.1 改进的Logistic映射

Logistic映射表达式为

式中,xn∈[0,1],μ∈[0,4]为系统参数。Logistic映射因其动力学行为复杂、结构简单而得到广泛的应用,但其映射范围较小,仅当μ=4时,在区间[0,1]上呈现满映射状态,有较强的混沌特性[15]。如果混沌映射范围较小,数字量化的过程中各迭代值之间更相近,容易出现动力学行为退化、周期短的现象。为了改善Logistic映射的动力学特性,文献[15]提出一种改进的形式,即Logistic-Logistic系统级联,其动力学方程如下:

式中,xn∈[0,1],μ1,μ1∈[0,4]。图1(a)、(b)分别为Logistic映射和级联系统的分岔图,图2给出了级联系统的Lyapunov指数谱。从图1(a)、(b)可以看出,级联系统的混沌映射参数范围约扩展为[1.53,4],是Logistic混沌映射参数范围的5.86倍。因此,Logistic-Logistic级联系统可以提供较大的密钥空间,增强破译难度。其次,级联系统的混沌满映射范围扩展为1.7,而Logistic映射只有在μ=4时才是满映射。其三,级联混沌系统的Lyapunov指数成倍提高,从而增加了系统对初始值的敏感性。

图1 Logistic映射和级联系统的分叉图

综上,Logistic-Logistic级联混沌系统明显改善了系统的动力学特性,可以产生随机性良好、安全性较高的混沌伪随机序列,因此适合用于信息加密或混沌保密通信。

2.2 分数阶混沌系统

分数阶Qi系统[16]的动力学方程为

其中,(a,b,c)T是系统的控制参数向量,(x,y,z)T是系统的状态向量。当系统的阶次q1、q2、q3∈[0.91,1],且(a,b,c)=(35,8/3,80)时,该分数阶系统是混沌系统。图2给出了分数阶Qi系统的初始变量(x0,y0,z0)=(0.21,0.2,0.011)下的混沌吸引子图。

图2 分数阶Qi混沌系统的相轨迹图

2.3 DNA序列

2.3.1 DNA编解码

一个DNA序列是由腺嘌呤(A)、胞嘧啶(T)、胸腺嘧啶(C)和鸟嘌呤四个不同的核酸基组成,其中A与T、C与G形成碱基互补对。二进制中1和0互补,故11和00,10和01也分别互补。因此,如果用A、T、C、G分别表示二进制数11、00、10和01,则可以得到24种编码方案,其中仅有8种满足Wat⁃son-Crick规则,即碱基互补规则,如表1。

表1 满足Watson-Crick规则的8种DNA编码

一副彩色图像由R、G、B三个通道组成,每个通道的像素值可表示为一个8位二进制序列,其中每两位用一个DNA碱基表示,则8位二进制像素值可用一个长度为4的DNA序列表示。例如,某个单通道的像素值为108,其8位二进制序列为01101100,当它通过表1中的DNA编码规则2进行编码以后,得到的DNA序列为CGTA。解码时利用同一种规则即可恢复原始二进制像素值。但如果采用表1中的其它编码规则,例如编码规则5,则得到二进制序列00111001。显然,它属于DNA编解码中一种简单的加密方法。

2.3.2 DNA加减法运算

DNA序列加减法运算的理论依据为二进制序列的加减法运算法则。8种DNA编码方法分别对应8种DNA加法运算和减法运算。表2和表3给出了编码规则3对应的加法和减法运算法则。从表中可以看出,DNA序列的运算结果有且仅有一个。

表2 DNA编码规则3的加法法则

表3 DNA编码规则3的减法法则

3 算法描述

图像加密流程图如图3所示。

图像加密算法具体过程如下。

步骤一 读入大小为M×N的三维彩色图像,分离R、G、B三基色,形成三个单一的灰度图像矩阵R1、G1、B1。

步骤二 分别将灰度图像矩阵R1、G1、B1的十进制灰度值转换为M×N×8的二进制序列。同时,随机生成整数r1∈[1,8],根据表1中与r1对应的DNA编码规则,将三个二进制灰度矩阵转换为三个大小为M×N×4的DNA编码矩阵。

步骤三 利用改进的Logistic方程(2),设置3组初始值密钥x0及混沌状态下的参数μ1,μ2分别生成3个混沌序列。将所生成的混沌序列按升序重新排列成三个有序序列,得到3个不同的置乱地址集合。

步骤四 利用步骤三所产生的置乱地址集合,分别对三个DNA编码矩阵进行灰度值置乱操作,记为R2、G2、B2。

步骤五 给定分数阶混沌系统(3)的三个不同初始值(x0,y0,z0),设置混沌系统的控制参数(a,b,c)和分数阶次(q1、q2、q3),迭代若干次后分别产生3个长度为M×N的混沌序列矩阵,并作离散化处理,使混沌序列所有值均在0~255之间,记为S1、S2、S3。

步骤六 将S1、S2、S3中的每一个数值转换为8位二进制序列。同时,根据r1转换成3个DNA编码序列。

步骤七 将步骤六得到的分数阶混沌DNA编码矩阵,与置乱后的DNA编码图像R2、G2、B2进行DNA序列加法运算,得到R3、G3、B3。

步骤八 随机生成整数r3∈[1,8],由r3对应的编码规则确定R3、G3、B3的DNA解码,得到三个二值矩阵,合并R、G、B三个通道,得到彩色加密图像E(M,N,3)。

解密过程是加密过程的逆运算,确定与加密过程相同的密钥,即可恢复原始图像。

4 仿真结果及安全性分析

4.1 仿真结果

选取大小为256×256×3的Lena标准彩色图像进行测试,如图3(a)所示。Logistic-Logistic级联系统(2)的控制参数和初始变量分别为μ1=4,μ2=0.7,x01=0.1003,x02=0.2403,x03=0.5001。分数阶 Qi系统(3)的控制参数为a=35,b=8/3,c=80;初始变量设定为 x0′=2.421150004000001,y0′=-3.560590000301,z0′=2.478340005001;分 数 阶 次 选 取 :q1=0.98001000031, q2=0.9722104005001, q3=0.9920300110001。DNA编码规则的编号r1、r2随机生成。本文算法以(μ1,μ2、x01、x01、x01、x0′、y0′、z0′、q1、q2、q3、r1、r2)作为密钥。仿真后的密文图像如图 3(b)所示。由图3(b)可知,加密后的密文图像杂乱无章,完全不同于明文图像。图3(c)为正确解密后的图像,与原始明文图像完全相同。

图3 算法中的明文、密文及正确解密的图像

4.2 安全性分析

4.2.1 密钥安全性分析

本文算法密钥为μ1、μ2、x0、x0′、y0′、z0′、q1、q2、q3、r1、r2和r3。如果以计算精度为1015作估计,密钥空间至少可以达到(1015)12=10180,由此可见,本文算法密钥空间足够大,能够较好地抵抗穷举攻击。此外,如果对算法密钥作微小的改变,例如将初始变量x0′修改为2.421150004000002,其它参数不变,运用本文算法得到的解密图像仍然杂乱无序,不包含任何明文图像信息,如图4(a)所示。又如,分数阶次q1作轻微扰动,令q1=0.98001000030002,其它密钥不变,解密图像如图4(b)所示,仍然得不到正确的明文图像。因此,本文提出的算法具有极强的密钥敏感性。

图4 错误解密的图像

4.2.2 灰度直方图分析

图5所示为明文图像的R、G、B分量直方图;图6为密文图像的R、G、B分量直方图。从图5和图6可以看出,密文图像的灰度直方图趋于均匀化分布,完全不同于明文图像的分布规律,这表明密文图像的像素灰度值在区间范围内取值概率是均等的,从而验证了本文算法具有良好的扰乱性和统计特性,达到扩散和混乱的目的。

图5 明文灰度直方图分析

图6 密文灰度直方图

4.2.3 差分攻击

分别通过像素变化率(NPCR)和归一化平均变化强度(UACI)[13]来判断本文算法的抗差分攻击能力。其中,NPCR表示对明文图像某一像素作微小改变,密文图像所改变的像素数占总像素值的比例。UACI表示明文图形和密文图像对应像素点平均强度的变化率,式(5)和式(6)分别为NPCR和UACI的计算公式。

其中,J1(i,j)和J2(i,j)表示只有一个像素之差的两个密文图像 J1、J2在(i,j)处的像素值,定义矩阵 D是一个和J1、J2同样大小的二值矩阵,若J1(i,j)=J2(i,j),则 D(i,j)=1;否则,D(i,j)=0。

改变明文图像的B层第一个像素值,由式(5)和(6)可以计算:NPCR=94.28%,UACI=34.27%。对于一个理想的加密算法,像素变化率应足够大,而归一化平均变化强度应尽可能小。而针对上面所求NPCR和UACI的结果可知,明文图像改变一位像素值,可以引起密文图像几乎完全改变,所以本文加密算法的抗差分攻击能力强。

4.2.4 相邻像素点的相关性分析

相邻像素点的相关性越小,表明其抵御攻击能力越强。为了测试算法的抗攻击能力,分别从明文图像和密文图像中随机选取3000对像素点,按照式(7)~(10)计算两相邻像素点的相关性,相关系数rxy结果如表1所示。

表2 明文和密文中两相邻像素点之间的相关系数

由表2可知,明文图像在各个方向上的相关度趋于1,表明相邻像素点密切相关;而密文图像的相关度几乎接近0,邻近像素点间几乎不相关。这表明明文图像的统计特性已被扩散到密文图像当中,从而验证了加密算法良好的扩散特性。

5 结语

基于分数阶混沌系统和DNA编码技术,本文提出一种新的图像加密算法。首先利用级联混沌系统产生的混沌系列置乱彩色图像;然后利用分数阶混沌系统和DNA运算法则对置乱图像进行像素的混乱和扩散,得到密文图像。算法仿真结果表明,该算法不仅与密钥相关,且与明文图像相关,因而随机特性大大增加,且可以抵御各种攻击。因此,本文算法具有很高的安全性,适合于彩色图像的安全实时传输。

猜你喜欢

明文密文密钥
一种支持动态更新的可排名密文搜索方案
幻中邂逅之金色密钥
幻中邂逅之金色密钥
群智感知网络环境下的一种高效安全数据聚合方案*
基于模糊数学的通信网络密文信息差错恢复
支持多跳的多策略属性基全同态短密文加密方案
密码系统中密钥的状态与保护*
创建KDS根密钥
奇怪的处罚
奇怪的处罚