APP下载

结合混沌映射与DNA计算的自适应图像加密算法

2020-09-02黄林荃王志颖王敬华

小型微型计算机系统 2020年9期
关键词:明文加密算法密文

黄林荃,刘 会,王志颖,王敬华

1(武汉软件工程职业学院 信息学院,武汉 430205)2(武汉大学 国家网络安全学院,武汉 430072)3(华中师范大学 计算机学院,武汉 430079)

E-mail:liuh824@whu.edu.cn

1 引 言

1.1 背景介绍

数字图像包含大量的可视化信息,容易被人类视觉捕获和接受,因此被广泛应用在各个领域.随着云计算技术的成熟和5G时代的到来,数字图像的应用范围将进一步扩大.数字图像包含了大量个人隐私、机密信息等重要数据,各个领域中数字图像的使用都面临着严峻的安全威胁.例如,在移动计算领域,移动设备因其在公共区域的频繁使用容易遭受窃取或丢失,其内部存储的大量的数字图像数据因此面临泄露的风险;在云计算领域,数字图像在云环境下的明文存储被认为是不可信的,需要采取必要的安全措施确保第三方存储的安全性;在安全传输方面,明文图像在公共信道的传输容易遭受中间人攻击、仿冒攻击等,从而引起严重的信息泄露事件.而加密技术是一种保证数字图像机密性的常用手段.现阶段存在许多成熟的分组加密方案,例如RSA[1],AES[2],SM4[3]等,这些加密方案已经被广泛应用于文本加密并取得了良好的加密效果.然而,数字图像具备二维性、冗余性,相邻像素之间具有极高的相关性,因此传统的文本加密方案并不完全适用于数字图像.本文提出了一种基于二维Logistic混沌映射与DNA编码的自适应图像加密算法.该加密算法采用二维Logistic混沌映射产生伪随机序列以生成掩码图像,并利用DNA异或运算实现图像扩散.为建立明文图像与密文图像的关联性,本文设计了自适应置换方案,建立扩散编码图像的碱基数量与置乱顺序的关系.当攻击者对明文图像进行微小扰动时,扩散编码图像的碱基数量将随之改变,从而导致密文图像的置乱结果明显不同.该方案能有效抵御差分攻击、已知明文攻击等.

1.2 相关工作及主要贡献

近年来,基于混沌理论的加密算法备受密码学研究者的关注.混沌系统[4-7]具有计算速度快、随机性强、对初始条件敏感等优点,在伪随机数发生器中有着广泛的应用.基于混沌理论的加密算法能够为加密系统提供足够大的密钥空间、良好的随机性和灵敏的密钥敏感度,足以抵御暴力攻击、统计分析、密钥敏感度分析等多种传统的攻击方案.Liu等人[4]利用量子混沌系统联合二维Logistic混沌系统设计伪随机数生成器,随机选择图像像素值的交叉位和变异位,实现像素间的混淆和像素内的灰度加密.吕群等人[5]采用Logistic-Sine混沌系统对图像进行随机分组,并利用Tent-Sine混沌系统构造动态的S盒子进行图像的灰度值替换,实验结果证明了该图像加密算法能够为密文图像提供良好的随机性保障,具备抵御差分攻击、选择明文攻击等多种攻击方法.Chai等人[6]分析了二维Logistic混沌映射包含大量密码学特性,如分支图中周期窗较少,混沌行为参数范围较大,非常适用于加密系统的设计.本文充分利用了二维Logistic混沌映射的密码学特性.在扩散阶段,我们充分利用了二维Logistic混沌序列的随机性,实现明文图像的DNA随机编码和DNA异或运算;在置换阶段,考虑到二维Logistic混沌系统对初始值敏感的特点,我们将图像中DNA碱基数量作为混沌系统的初始值种子生成伪随机序列,构建自适应置换方案.该方案保证在攻击者实施差分攻击时,明文图像的轻微改变经二维Logistic混沌系统后被明显放大,使得置换过程完全改变,保证对应密文图像的输出发生巨大变化,从而有效地抵御差分攻击.

DNA计算[8-10]具有高并行性、大存储量和低能耗等特点,基于DNA编码的加密算法在图像加密领域有着广泛的运用.冉维等人[8]采用DNA编码技术,并定义了3种DNA序列的加/减运算规则,设计了融合多混沌映射和DNA编码的图像加密算法并取得了良好的加密效果.Chai等人[9]在明文图像的DNA矩阵上进行DNA水平行置换和列置换,同时进行DNA像素间置换和像素内置换,最后对置换后的DNA矩阵进行DNA异或运算得到密文图像.基于DNA编码的图像加密算法通常结合了DNA计算方案实施,包括DNA加法、DNA减法、DNA异或等.在这些DNA计算规则中,DNA异或运算因其可逆性(即DNA异或运算及其逆运算的运算规则相同)而应用更为广泛.DNA编码与混沌系统的结合能有效消除图像相邻像素的相关性,同时保留了DNA计算大量的并发性.本文中,我们将二维Logistic混沌映射与DNA计算相结合,对明文图像进行随机编码和DNA异或运算,在加密算法的设计过程中保留了二维Logistic系统的混沌性和DNA计算的高并发行.

为了使得图像加密算法具备抵御差分攻击、选择明文攻击的能力,现阶段的主流做法是利用SHA-256算法[11-13]生成明文图像的摘要信息,并以256位的摘要信息作为安全密钥保留,以此建立密文图像与明文图像中每一个像素位的紧密联系,增强加密算法的扩散性.SHA-256算法具有单向性和抗碰撞性.单向性是指由原始消息计算出信息摘要很容易,而由消息摘要计算出原始消息在计算上则几乎是不可行的;抗碰撞性是指要找到两个不同的原始消息生成同一个信息摘要在计算上是不可行的.SHA-256的单向性使得攻击者无法通过摘要信息计算出明文图像,确保了明文图像的机密性.其抗碰撞性保证了攻击者在实施差分攻击或选择明文攻击时,无法通过对比输出获取有效的统计信息.但是,以256位的摘要信息作为安全密钥的方法不够灵活,相同的图像无法生成不同的安全密钥,用户无法根据自身需要设定安全密钥.为了保证加密算法抵御差分攻击、选择明文攻击的能力,本文设计了一种自适应的图像安全置换方法.利用置换过程中不改变DNA编码中碱基数量的特点,以扩散后编码图像的碱基数量为二维Logistic混沌系统输入的种子,并由混沌系统的输出决定图像置换的顺序.该方法建立了明文图像与置换阶段的紧密联系,当明文图像发生细微变化时,扩散后编码图像的碱基数量也因此改变,以碱基数量作为输入种子的二维Logistic混沌系统将产生完全不同的混沌序列,从而导致加密系统在置换阶段得到完全不同的置换顺序,最终影响到密文图像的输出.

本文采用二维Logistic混沌映射生成伪随机序列并生成掩码图像,利用伪随机序列分别对明文图像和掩码图像进行随机编码和DNA异或运算,实现明文图像的混淆和扩散.为抵御差分攻击、选择明文攻击等,本文统计了扩散后编码图像的碱基数量,对碱基数量进行非线性处理并结合安全密钥再次执行二维Logistic混沌映射,将生成的伪随机序列利用下标函数对编码图像进行置换,实现图像的自适应加密.本文的主要贡献如下:

1)设计了一种支持高并发的图像加密算法,该算法从置乱和扩散两个方面为图像提供安全的加密保障,实验证明该加密算法能有效抵御现有的各种攻击方案;

2)提出了一种基于DNA碱基数量的自适应图像安全置换结构,较传统的SHA-256具备更加灵活的安全密钥设定特点,同时能有效抵御差分攻击、选择明文攻击等.

2 系统理论基础

2.1 二维Logistic映射

二维Logistic混沌映射[6]包含大量密码学特性,如分支图中周期窗较少,混沌行为参数范围较大,运算速度快,常常作为密钥生成器被广泛运用于加密系统的设计当中.二维Logistic混沌映射的定义如公式(1)所示.

(1)

当2.75<μ1≤3.40,2.75<μ2≤3.45,0.15<γ1≤0.21,0.13<γ2≤0.15时,二维Logistic系统表现出极强的混沌特性.该混沌系统初始值的范围为:0

本文设置二维logistic混沌系统参数μ1=3.30、μ2=3.25、v1=0.18、v2=0.14,并以其初始值x0=0.15469954 23653281、y0=0.76975485 24323463作为安全密钥进行仿真实验.二维logistic混沌系统的吸引子相图如图1所示.

图1 混沌吸引子相图Fig.1 Chaotic attractor phase diagram

二维logistic混沌系统的分岔图如图2所示.从图中可以看出,二维logistic混沌系统具有较少的倍周期分叉,适用于加密算法的设计.

图2 混沌系统分岔图Fig.2 Bifurcation diagrams of the chaotic system

2.2 DNA编码

脱氧核糖核酸(Deoxyribo nucleic acid,DNA)是生物研究的重要组成部分,已广泛应用于各个领域[8-10].DNA代表着生物特征的遗传信息,是一种由四种核苷酸组成的分子结构,即腺嘌呤(A),胸腺嘧啶(T),胞嘧啶(C),鸟嘌呤(G).两条单链DNA序列利用碱基互补配对规则通过氢键相互连接,其中,A与T配对,C与G配对.DNA计算是指以DNA为信息载体,利用碱基互补配对规则建立一种完整的信息处理方式,并将编码的DNA序列作为运算对象,通过分子生物学的运算操作解决复杂的数学难题.作为DNA计算的一个重要组成部分,DNA编码[10]具备并行性高、功耗低、信息存储能力强等特点,满足密码学安全需求.根据碱基互补配对规则,DNA编码共有8种组合方案,如表1所示.

表1 DNA编码规则表Table 1 DNA coding rule

在图像加密领域,对于8位灰度图像,每个像素可以编码为4基序列.例如,一个像素灰度值为135,二进制序列表示为10000111,按照表1的DNA编码规则,我们可以得到8种不同的编码方式:GACT,CAGT,GTCA,CTGA,TCAG,ACTG,TGAC和AGTC.当加密系统采用某一DNA编码规则对像素值进行编码,同时利用不同的DNA编码规则对其进行解码,该像素值能被有效的加密.例如,加密系统对像素灰度值135按DNA编码规则1对其进行编码得到GACT,并采用DNA编码规则2对其进行解码,得到二进制序列01001011,对应的密文为75,明文信息的机密性得到了有效的保障.

2.3 DNA异或运算

DNA计算的快速发展促进了基于DNA序列的生物运算和代数运算.典型的DNA运算包括DNA加法运算、DNA减法运算、DNA异或运算等.在这些DNA计算规则中,DNA异或运算及其逆运算具备相同的运算规则,其可逆性使得DNA异或运算被广泛应用于信息论和密码学领域.DNA异或运算规则如表2所示.

表2 DNA异或运算Table 2 DNA XOR operation

在与掩码图像的编码结果进行DNA异或运算,明文图像的编码信息能被有效的隐藏.例如,对于明文图像的编码信息GACT,在于掩码图像的编码结果ACGT进行DNA异或运算后得到GCTA.在解密过程中,本系统根据运算结果GCTA与掩码图像的编码结果ACGT进行相同的DNA异或运算,得到的结果GACT即为明文图像的编码信息,从而完成了DNA异或运算的逆运算,实现图像的解密操作.

3 加密系统

本文的加密系统包括两个阶段:扩散和置换.在扩散阶段,加密系统利用DNA编码与DNA异或运算实现图像的混淆;在置换阶段,加密系统利用扩散编码图像的碱基数量作为自适应二维Logistic混沌映射的初始值种子生成伪随机序列,影响像素的置换顺序.图像加密算法的流程图如图3所示.

图3 加密系统流程图Fig.3 Overall architecture of the cryptosystem

3.1 加密过程

加密过程包括DNA计算,自适应的像素置换以及DNA随机解码.该加密系统首先利用二维Logistic混沌映射生成掩码图像及其DNA编码规则,依照DNA编码规则对明文图像随机编码,并对编码后的图像与掩码图像进行DNA异或运算;然后统计运算结果中DNA碱基数量并作为初始值种子再次执行二维Logistic混沌映射,利用伪随机序列的下标实现自适应像素置换;最后采用DNA随机解码得到密文图像.详细的加密步骤如下所示:

1)将安全密钥x0、y0作为初始参数代入到公式(1)中,迭代m+(M×N)/2次,这里M和N分别代表图像的宽和高.丢弃前m项防止初始项的干扰.重新排列xn、yn得到二维Logistic混沌序列Lm:

Lm={xm+1,…,xm+(M×N)/2,ym+1,…,ym+(M×N)/2}

(2)

2)按公式(3)将浮点型向量Lm转化成大小为M×N掩码图像matrixLm:

(3)

这里函数floor(X)表示向下取整,函数reshape(X,M,N)表示将向量X转化为M×N的矩阵;

3)按公式(4)生成DNA编码规则:

ruleIndex=mod(matrixLm,8)+1

(4)

4)按DNA编码规则ruleIndex分别对明文图像、掩码图像进行DNA随机编码,并执行DNA异或运算,得到矩阵Pl;

5)分别统计矩阵Pl中腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)、鸟嘌呤(G)的数量numA、numT、numC、numG,并按公式(5)对碱基数量进行非线性归一化:

nornum=arctan(num×α)×2/π

(5)

6)以初始值x′0=(nornumA+nornumT)/2、y′0=(nornumC+nornumG)/2再次执行二维Logistic混沌映射,生成自适应的混沌序列adaptLm;

7)对自适应混沌序列adaptLm排序:

[sortLm,lmIndex]=sort(adaptLm)

(6)

这里函数sort(adaptLm)返回向量X升序排序后的向量sortLm及其元素的索引lmIndex;

8)将矩阵Pl转换为向量Pv并按照索引lmIndex实现自适应像素置换:

Pp(i)=Pv(lmIndex(i))

(7)

将向量Pp转换为M×N的矩阵Cp并按DNA编码规则ruleIndex对其进行DNA解码,得到密文图像C,实现图像加密.

3.2 解密过程

解密过程本质上是加密过程的逆过程.解密过程中,用户掌握了安全密钥及其解密算法.解密过程首先通过安全密钥生成二维Logistic混沌序列,并以此产生掩码图像及其DNA编码规则,按DNA编码规则对密文图像进行编码;由于像素置换变换像素空间的布局而不影响改变像素值的大小,因此统计密文图像编码后的碱基数量能够得到自适应二维Logistic混沌映射的初始值,由此产生自适应二维Logistic混沌序列,从而实现像素置换的逆变换;最后通过与掩码图像的DNA异或运算和DNA解码得到明文图像,实现图像的解密.详细的解密步骤如下所示:

1)输入安全密钥x0、y0,执行加密过程的步骤(1-3),得到掩码图像matrixLm和DNA编码规则;

2)按DNA编码规则ruleIndex对密文图像C执行DNA编码,得到M×N的矩阵Cp;

3)统计矩阵Cp中腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)、鸟嘌呤(G)的数量,按加密过程的步骤(5-7)产生自适应的混沌序列adaptLm,得到元素的排序索引lmIndex;

4)将矩阵Cp转换为向量Pp,执行公式(8)实现自适应像素置换的逆变换:

Pv(lmIndex(i))=Pp(i)

(8)

将向量Pv转换成大小为M×N的矩阵Pl;

5)按DNA编码规则ruleIndex对掩码图像matrixLm进行DNA编码,其结果与矩阵Pl进行DNA异或运算,得到M×N的矩阵Pd;

6)按DNA编码规则对M×N的矩阵Pd解码,得到明文图像,实现图像解密.

4 性能测试与分析

为充分证明该算法的安全性和有效性,本文从直方图分析、相关性分析、信息熵、差分攻击、密钥敏感度分析、密钥空间分析、加密效率等多个方面进行模拟测试和分析.为方便实验结果的比较,我们选取了来自于CVG-UGR数据库的标准图像(256×256 Lena,256×256 Cameraman,512×512 Baboon,512×512 Peppers)作为测试图像.本文设置安全密钥x0=0.1546995423653281、y0=0.7697548524323463进行模拟测试.图4显示了不同图像经过本算法加/解密后的效果,实验结果表明该加密算法属于无损加密.

图4 图像加/解密实验Fig.4 Image encryption/decryption test

4.1 直方图分析

直方图分析[14]显示了图像像素值的分布情况.针对图像加密算法的直方图分析能够反映算法在扩散和置乱性能方面抵御统计攻击的能力.图像自身可视化的特点决定了明文图像的直方图具备一定的统计规律,而安全的密文图像应该提供尽可能少的统计信息,呈现出一致的像素分布.图5显示了明文图像及其密文图像的像素直方图.从图中我们可以明显看出,明文图像的像素值分布较为集中且呈现一定的规律,对应的密文图像的像素值分布均匀,攻击者很难从密文中获取有价值的统计信息.

图5 明文图像及其密文图像直方图对比Fig.5 Comparison of histogram between plain-image andcipher-image

4.2 相关性分析

像素相关性反映图像相邻位置像素值的相关程度.明文图像相邻位置像素值的相关性强,加密算法需要尽可能降低相邻像素之间像素值的相关性.对于图像而言,这种相邻关系包括水平、竖直、对角三个方向.本文采用皮尔逊相关系数量化图像相邻像素值的相关程度,其定义如公式(9)所示.

(9)

这里x、y分别代表相邻两像素的像素值,S为随机选取的相邻像素的个数,E(x)表示变量x的数学期望,D(x)表示方差,Cov(x,y)表示变量x与y之间的协方差,rxy表示皮尔逊相关系数.实验设定S=5000,即随机选取5000组相邻像素进行相关性测试,针对Lena图像的相关性测试结果如图6所示.

图6 Lena明文图像及其密文图像相关性测试对比Fig.6 Comparison of correlation test between plain-image andcipher-image

本文对比分析了不同明文图像及其密文图像的相邻像素灰度值的皮尔逊相关系数,结果如表3所示.实验结果显示,明文图像相邻像素灰度值的皮尔逊相关系数接近1,而经过本算法加密后的密文图像相邻像素灰度值的皮尔逊相关性接近于0.结果表明,该加密算法能够有效地降低图像相邻像素灰度值的相关性,密文图像几乎没有为攻击者提供有价值的相关性信息,因此攻击者几乎不可能利用相邻像素之间的相关性构建基于概率模型的攻击方法.

表3 明文图像和密文图像相邻像素值的相关性系数Table 3 Correlation coefficients of pair adjacent pixels inplain and cipher images

4.3 信息熵

信息熵[15]是量化信号源随机特性的重要指标之一.在图像加密领域,信息熵表示图像所包含的信息量的大小.图像的灰度值分布越均匀,其包含的信息量越少,对应的信息熵越大.信息熵的定义如公式(10)所示.

(10)

这里p(si)表示图像各灰度值si出现的概率.灰度图像包含28个灰度级,因此对于完全随机分布图像,其信息熵等于8.实验计算了不同明文图像及其密文图像的信息熵,结果如表4所示.实验结果非常接近于理想值8,这表明经过该加密算法加密后的图像包含的信息量少,攻击者几乎不可能通过密文图像的信息量展开攻击.

表4 信息熵测试Table 4 Information entropy test

4.4 差分攻击

差分攻击[16]是一种通过比较分析有特定区别的明文经加密后的变化传播情况来攻击加密算法的高效的攻击手段.为抵御差分攻击,加密算法应该具备错误传播无界的特性,即明文图像发生一位错误时,密文图像将以不可预测的方式完全改变.实验中我们随机改变图像的一个像素位,对比分析其密文图像的区别,以检测加密算法抵御差分攻击的能力.为量化图像之间的区别,通常采用像素改变率(number of pixels change rate,NPCR)和一致平均改变强度(unified average changing intensity,UACI)两种测量方法.像素改变率和一致平均改变强度的定义如公式(11-13)所示.

(11)

(12)

(13)

这里C和C′是大小为M×N的图像.对于由完全随机的信号源组成的图像,理想的NPCR=99.6094%,UACI=33.4635%.本实验随机修改明文图像的一个像素并重复实验100次,对比明文图像对应的密文图像与对明文图像做1像素位修改对应的密文图像的区别,计算其NPCR和UACI的平均值,结果如表5所示.实验结果显示,明文图像微小的改变能够使得密文图像在扩散和置乱过程中引起重大的改变,加密算法具备错误传播无界的特性,攻击者无法通过差分攻击的手段获取有价值的信息.

表5 差分攻击测试Table 5 Differential attack test

4.5 密钥敏感度分析

密钥敏感度分析[17]检测加密系统对安全密钥的灵敏程度.密钥敏感度分析通过采用一对包含微小差异的安全密钥对相同图像进行加密并对比其密文图像的差异.良好的加密算法应该保证即使采用微小差异的安全密钥加密相同的明文图像也能得到完全不同的密文图像.实验中我们采用NPCR和UACI来量化两张密文图像的差异,以此检测加密算法的密钥敏感度.本实验为安全密钥加入10-16的扰动,检测安全密钥的微小扰动对密文图像的影响,实验结果如表6所示.实验结果显示,在本加密算法中,安全密钥的微小扰动能对密文图像产生明显的影响,加密算法具备极强的密钥敏感度.

表6 密钥敏感度分析Table 6 Key sensitivity analysis

4.6 密钥空间分析

暴力攻击是指通过遍历所有可能的候选项寻找正确的安全密钥.为了有效抵御暴力攻击,加密算法必须具备足够大的密钥空间[18].密钥空间的大小由加密密钥的数量决定,加密密钥的数量越大,加密算法的密钥空间就越大,其抵御暴力攻击的能力也就越强.本文加密算法的安全密钥为二维Logistic映射的初始值x0、y0.实验中二维Logistic映射的初始值提供了大小为1032的密钥空间,具备抵抗暴力攻击的能力.而且,该加密系统提供了灵活的密钥空间大小设置,能够满足不同安全级别的用户需求.

4.7 加密效率测试

由于需要产生掩码图像和自适应混沌序列,本文的加密算法需要两次调用二维Logistic混沌系统,时间复杂度为Θ(2×M×N).基于DNA计算的加密算法需要消耗大量的时间在DNA编码和DNA运算过程中.本算法需要对明文图像和掩码图像分别编码,时间复杂度为Θ(2×M×N);同时需要进行DNA异或运算,时间复杂度为Θ(M×N);另外需要进行DNA解码得到密文图像,此使的时间复杂度为Θ(M×N).在自适应置换阶段,本算法需要统计编码图像的碱基数量,并基于自适应混沌序列对编码图像进行像素置换,此时的时间复杂度为Θ(2×M×N).因此,整个加密算法的时间复杂度为Θ(8×M×N).由于DNA计算具有高并行性,因此在DNA编码、DNA异或运算和DNA解码过程中,加密算法的速度可以进一步提高.

加密算法的实际运行效率受包括编程技巧、运行环境在内各种因素影响.本文基于MATLAB平台模拟了该加密系统的加密效率,实验环境为:Windows 10、Intel Core i5 CPU 2.3 GHz、RAM 8.00 GB.实验结果显示该算法的加密效率为1.014765Mbit/s,具有较快的加密速度.而且,该加密算法保留了DNA计算的高并行.因此,在支持并行性的环境下,该加密算法的加密效率会进一步提高.

5 总 结

本文设计了一种基于二维Logistic混沌映射与DNA计算的自适应图像加密方案.该加密方法融合了二维Logistic混沌系统和DNA计算的优势,构建了基于编码图像中碱基数量的自适应像素置换方法,保证了图像加密算法的混沌性、敏感性和扩散性.仿真实验从直方图分析、相关性分析、信息熵、差分攻击、密钥敏感度分析、密钥空间分析、加密效率等多个方面进行了性能测试与分析,实验结果显示经本文的加密算法加密后的图像具备均匀的像素分布,相邻像素相关性明显降低,信息熵测试接近于理想值.加密算法能够有效抵御统计分析、差分攻击、已知明文攻击、暴力攻击等常见的攻击手段,并保证了高效的加密效率.

猜你喜欢

明文加密算法密文
一种支持动态更新的可排名密文搜索方案
加密文档排序中保序加密算法的最优化选取
群智感知网络环境下的一种高效安全数据聚合方案*
基于模糊数学的通信网络密文信息差错恢复
支持多跳的多策略属性基全同态短密文加密方案
基于整数矩阵乘法的图像加密算法
奇怪的处罚
教育云平台的敏感信息保护技术研究
奇怪的处罚
奇怪的处罚