APP下载

基于混合混沌系统和ECG信号的图像加密算法

2021-01-07周闰昌黄一平张柯翔孙健华

计算机测量与控制 2020年12期
关键词:明文加密算法密文

周闰昌,黄一平,张柯翔,孙健华

(广西师范大学 电子工程学院,广西 桂林 541004)

0 引言

数字图像具有直观、生动的特点,是多媒体信息的重要形式之一,随着物联网和多媒体技术的发展,数字图像在互联网上广泛传播。因此,对各种通信网络中安全图像和传输的研究越来越受人们的关注[1]。研究人员研发了不同类型的技术,如数据隐藏[2]、数字水印[3]和图像加密[4-6],而最有效、最直接的方法就是图像加密,将可视化的图像转化为无法识别的噪声类图像。因为图像相邻元素具备高度相关性,传统的加密方案如数据加密标准(DES,data encryption standard)和高级加密标准(AES,advanced Encryption Standard)不适合多媒体加密[4]。混沌系统具有伪随机性、不可预测性、遍历性和对初始值和参数高度敏感性等基本特点[5-6],利用混沌特点进行图像加密是在密码学和计算机研究的热点。在生成密钥方面,混沌系统分为低维和高维,且两者具有不同的优缺点。高维混沌系统具有较好的随机性,数据分布更均匀,参数空间更大,但计算复杂度高。低维混沌系统具有明显的计算开销优势,但它也降低了混沌性能。

人的心脏是极其复杂的生物系统,而心电图是检测心率的常用方法,心电信号(ECG,electrocardiogram)在医学领域运用较多,特别是诊断病情和预防疾病[7],受到很多研究者的欢迎。由于ECG信号很难被复制和模拟,故近年来,也有研究者将ECG信号用于数据加密和传输[8],文献[9]设计了一种基于自阻塞和ECG信号相结合的图像加密算法,ECG信号使用wolf算法生成混沌映射的初始条件,该算法被文献[10]中使用已知明文攻击所破译。

研究者近年来有使用ZigZag标准变换对图像进行像素的置换[11-13],文献[14]提出了选择明文攻击方法对文献[12]进行了破译。有研究者对标准的ZigZag变换方式进行改进,文献[15]提出从矩阵的主对角线元素进行扫描,进而遍历整个矩阵;文献[16]提出从选择矩阵的任意位置作为起始元素,以Z型方向遍历整个矩阵,因只是简单变换在文献[17]被选择密文攻击。以上方法都存在周期短、部分矩阵元素位置始终不变、变换规则易被破解的缺点。

根据以上分析,提出了基于ECG信号和混合混沌系统相结合的数字图像加密方案。使用安全散列算法-256(secure hash algorithm-256, SHA-256)函数以及随机性强的ECG信号,加大了密钥空间。该方案采用置乱和扩散技术,通过用3D逻辑映射产生的随机序列值,进行动态脱氧核糖核酸(DNA,deoxyribonucleic acid)编码、改进的ZigZag变换进行图像置乱以及运算,对图像进行实时动态加密。本文方案经过安全性能测试和分析,实验结果表明,本文算法具有良好的加密性能,并提高了抗常见的攻击能力。

1 基本理论

1.1 混沌系统

3D逻辑映射的混沌性能要比1D或者2D逻辑映射有着更好的混沌性能特性,且控制参数多。采用3D逻辑映射系统,定义如公式(1)所示:

(1)

当设置参数3.53<α<3.81, 0<β<0.022,0<γ<0.015。xi,yi,zi∈(0,1),3D逻辑映射可产生复杂的混沌行为。而分段线性混沌映射(PWLCM),定义如式(2)所示:

(2)

其中:xi∈[0,1)和控制参数pi∈(0,0.5)。PWLCM系统具有良好的遍历性、混淆性以及均匀的不变性分布,可以为加密系统生成随机序列。

1.2 心电信号

人体内最特殊的信号就是ECG信号,同一个人在两个不同的时刻与不同人在同一时刻,ECG信号都有很大的差异,如图1所示。ECG信号采用wolf算法提取特征值,记为∈[-1,1][18]。

图1 心电信号

1.3 DNA编码

DNA全称为脱氧核苷酸,是由核苷酸组成的,不同的DNA可组成不同的核苷酸。核苷酸包括腺嘌呤(adenine, A)、鸟嘌呤(guanine, G)、胞嘧啶(cytosine,C)和胸腺嘧啶(thymine, T)。参照Watson-Crick碱基配对规则[19],A总是与T配对,C和G也是如此。则A和T、G与C形成碱基互补。二进制中0和1是互补的,因此00和11互补以及01和10互补,而满足沃森-克里克互补规则的只有8种。如表1所示。图像的像素范围为0~255,将像素值的十进制转化为二进制,得到8位有效像素值,可以表示为一个长度为4的DNA序列。假设像素值为198,则二进制为(11000110)2,根据表中的规则3,其编码为ATGC。

表1 DNA编码规则

在DNA计算中,DNA的加、减和异或都是根据二进制编码来的,如表2~表4所示。

表2 采用DNA编码规则1的加法运算

表3 采用DNA编码规则1的减法运算

1.4 改进的ZigZag变换系统

ZigZag变换是一种像素置乱的方法,可以通过选择矩阵任意位置作为起始元素,然后以Z形路径遍历矩阵来实现像素的置乱[16]。假设选取矩阵的(3,2)位置数,经过Z型遍历整个矩阵,得到新的矩阵,如图2所示。ZigZag变

表4 采用DNA编码规则1的异或运算

换系统是将经过Z型变换生成的一维矩阵L分成4个等长的矩阵,矩阵内部排序分为顺序和逆序,共有16种方式,排序如表5所示。而矩阵间的排序为4个等长矩阵的排序组合,再转换为二维矩阵。

表5 4个等长矩阵的排序

图2 ZigZag变换

为了提高加密算法对明文图像和ECG信号的依赖性,利用SHA-256函数和由3D混沌映射的一个混沌序列{Xi}来计算ZigZag置乱的起始位置、矩阵内部排序以及矩阵间排序,改进的ZigZag变换如图3所示。不同明文图像和ECG信号可得到不同的初始位置,置乱效果也不一样,具有很高的置乱率,可提高抵抗选择明文攻击和已知明文攻击的能力。

图3 ZigZag变换系统

2 加密算法

图像加密算法流程如图4所示。

图4 加密算法流程图

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

1)假设明文图像为I,其大小为M*N,为加强算法对明文图像的敏感性以及扩大密钥空间。利用SHA-256哈希函数生成图像I的256位哈希值K。并转换为32个十进制数,记为Ki。

Ki={K0,K1,,K31}

(3)

2)3D逻辑混沌映射的初始条件的生成,为了增加初始值的复杂性,ECG信号使用wolf算法提取特征值λ,在公式(4)和(5)生成3D逻辑映射的初始参数α,β,γ和初始值x0,y0,z0。

(4)

(5)

为了加强初始值跟明文图像的敏感性,利用公式(6)对初始值再进行一次更新,得到新的初始值x’、y’和z’。

(6)

式中,|x|表示x的绝对值,floor(x)表示不大于x的整数。

(7)

(8)

4)分段线性混沌映射系统用初始值迭代1 000+MN次(其中1 000为随机数),为了去掉暂态性,将前1 000次去掉,得到一维混沌序列Ri。并根据公式(9)进行量化处理,运算得到0~255范围的整数,得到二维矩阵H。

Ri=floor(Li×1014)mod256

(9)

式中,AmodB表示A除以B的余数。

5)根据以下式子对矩阵H进行更新像素值,依次选择前N/2、后N/2列以及前M/2、后M/2行与明文图像的哈希值Ki进行计算。

采用第一个DNA编码规则,将其转换为M*4N大小的矩阵P。

6)将3D逻辑映射的初始条件进行代入,对混沌系统进行迭代1 000+MN次,同样为防止发生暂态效应,去掉前1 000次,得到3个混沌序列{Xi}、{Yi}和{Zi}。

7)假设ZigZag变换的起始元素位置为明文图像I的(m,n)元素(其中1≤m≤M,1≤n≤N)。明文图像的哈希值和混沌序列{Xi}动态选择起始位置初始值,如式(10)~(11)所示。经过ZigZag变换再按着从左到右,从上到下转化为一维矩阵为L(i),i=1,2,3,,mn;其中mn为M*N的结果值。

(10)

(11)

8)对一维矩阵L进行平均分组,令:

得到4个等长的一维矩阵Li(i=1,2,3,4)。

9)对4个一维矩阵Li(i=1,2,3,4)进行单独的矩阵内部排序,正为保持原有的顺序不变,而逆为对一维矩阵进行逆序排序。根据混沌序列{Xi}和哈希值,动态选择矩阵内部的排序规则,如公式(12)所示。假设值为7,根据表所示,L1和L4保持原有的顺序,而L2和L3则为逆序。

(12)

(13)

变换后的一维矩阵转化为从左到右、从上到下的大小为M*N的二维矩阵Q1。

11)将置换矩阵Q1转换成0~255范围的整数,根据DNA编码共有8种不同的标准规则,混沌序列{Yi}通过公式(14)计算的结果值来确定置乱图像Q1的动态DNA编码方式,并生成大小为M*4N的矩阵Q2。

y(i)=floor(Yi×104)mod8+1

(14)

12)经过DNA编码的矩阵Q2与矩阵P进行动态DNA运算得到矩阵Q3。而运算方式有三种,由混沌序列{Zi}通过式(21)计算的结果来确定选择运算方式,式(14)如下所示:

z(i)=floor(Zi×104)mod3+1

(15)

其中:z(i)为1时,DNA运算为加法,当为2时,DNA运算为减法,当为3时,DNA运算为异或。

13)DNA解码对应有8种编码规则,由式(16)~(21)的结果值共同决定解码规则进行动态解码,如式(16)所示,并获得密文图像C。

w=(m+n+v1+v2+y(i)+z(i))mod8+1

(16)

解密过程是加密过程的逆运算操作。

3 实验仿真和安全分析

实验硬件环境为1.7 GHz的Intel处理器,内存为4.0 G,仿真软件为Matlab R2016a,运行在64位的Windows 10操作系统。不同一个人以及不同时刻的ECG信号如图1所示。通过wolf算法提取ECG信号的特征值和SHA-256产生的哈希值来控制混合混沌系统的初始条件。以256×256的Lena和Cameraman明文图像和512×512的Peppers明文图像的标准灰度图像作为明文图像进行实验分析。图5分别为明文图像、对应的密文图像以及解密之后的图像。

3.1 密钥空间分析

密钥空间是用于加密的密钥的数量,一个较大的密钥空间超过2100可以抵抗穷举攻击[20]。本文算法使用了Physionet在线数据库[21]的1 000个样本的ECG信号和SHA-256哈希函数生成256位哈希值来生成混合混沌系统的初始条件和ZigZag变换的初始位置。如果心电信号中存在一个样本移位或明文图像改变一个像素,则无法解密出正确的明文图像。也可选用文献[8]提出的心电采集装置进行实时测试。因此该算法的密钥空间足够大,可抵抗穷举攻击。

图5 加密解密效果

3.2 直方图分析

图6显示出了图像像素强度值的分布。优异的加密算法使密文图像的直方图是近似均匀分布的。如图6(a)~(c)为明文图像的直方图,而图6(d)~(f)为对应的加密图像直方图,加密图像在[0,255]区间内呈现均匀的分布,相对于不同类型的明文图像,该加密系统对图像加密具有良好的分散功能,可抵抗统计攻击。

图6 明文和密文的直方图

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

明文图像的相邻元素点的相关性比较高(接近于1),然而一个优秀的算法,可以使相邻像素点的相关性变得更小(接近于0),可以抵御任何蛮力攻击。分别从明文图像和密文图像中随机选取1 000对像素点,根据公式(17)~(20)来计算两相邻像素点的水平、垂直和对角线上方向的相关性,并与近年的图像加密算法文献进行对比,结果如表6所示。由表6看出,密文图像相邻像素的相关系数要接近于0,对比其他文献,本加密算法具备更好的抗攻击能力。

表6 相邻像素点比较

(17)

(18)

(19)

(20)

式中,E(x)和D(x)分别是变量x的期望和方差,x和y为明文和密文中同一位置两个像素的灰度值,cov(x,y)为像素x和y处的协方差,rxy为相关系数。

3.4 信息熵

信息熵是反映出图像灰度值的分配和随机性,像素值分布越均匀,图像的信息熵就越大。信息熵的公式为:

(21)

式(21)中,P(xi)是像素值为xi出现的概率,n是图像像素的个数。密文图像信息熵的理想值为8。本文提出算法得到密文图像的信息熵如表7所示,并与同近年的图像加密方案文献进行对比。结果表明,本加密算法的信息熵数值接近理想值8,能够有效抵抗信息熵的攻击。

表7 信息熵比较

3.5 抗差分攻击能力

攻击者经常使用加密算法对变换前后的明文图像进行加密,通过对两幅密文图像的比较,找出明文图像与密文图像之间的联系。这种类型的攻击称为差异攻击[25]。通常用像素变化率(NPCR)和归一化平均变化强度(UACI)这两个指标来衡量抗差分攻击的能力,其表达式如下:

(28)

(29)

(30)

C1(i,j)和C2(i,j)为两幅密文图像在(i,j)坐标的灰度值,且对应的两幅大小为M*N的明文图像只有一个像素值的不同。

为了测试明文图像的敏感性,从明文图像中随机选取一个像素值,并在同一位置的像素值进行更改,得到修改的明文图像。使用同一密钥对明文图像和修改的明文图像进行加密处理,生成2个密文图像。测试中采用3张不同的明文图像,比较不同方案的NPCR和UACI数据,如表8和表9所示。从表中可以看出,本文算法的NPCR和UACI测试数据接近理论理想值(NPCR≈99.609 4%,UACI≈33.463 5%),优于其他方案,因此具有较强的抗差分攻击能力。

表8 NPCR(%)的比较

表9 UACI(%)的比较

4 结束语

基于混合混沌系统和ECG信号,提出了一种新的图像加密算法。首先利用3D逻辑混沌系统产生的混沌序列对明文图像进行像素随机置乱和动态DNA编码,像素随机置乱是基于改进的ZigZag变换,具有很高的置乱率;PWLCM混沌映射生成的伪随机矩阵与置乱图像进行动态DNA运算达到像素的散乱,可得到密文图像。混合混沌系统的初始值和初始参数不仅跟明文图像的哈希值有关,还跟ECG信号的特征值有关,两者都具有很强的随机性;且对ZigZag变换的起始位置以及序列的置乱起了决定性作用,不仅大大增强了密钥的敏感性,也提升了密钥空间,加强了算法的可靠性。与其他方案的数据进行对比分析,该方案具有良好的加密性能,提高了抵抗选择明文攻击、已知明文攻击、穷举攻击和差分攻击的能力。

猜你喜欢

明文加密算法密文
一种支持动态更新的可排名密文搜索方案
加密文档排序中保序加密算法的最优化选取
基于模糊数学的通信网络密文信息差错恢复
嵌入式异构物联网密文数据动态捕获方法
一种新的密文策略的属性基加密方案研究
基于整数矩阵乘法的图像加密算法
奇怪的处罚
教育云平台的敏感信息保护技术研究
奇怪的处罚