首页> 中国专利> 基于DNA编码和双混沌系统的彩色图像加密算法

基于DNA编码和双混沌系统的彩色图像加密算法

摘要

本发明公开了基于DNA编码和双混沌映射的彩色图像加密算法,采用改进的Lorenz混沌系统和四阶Rossler混沌系统产生的随机序列极大地提高了混沌序列的随机性,而双混沌系统则补偿了随机序列的随机性。同时在基于该模型的图像加密算法中引入了DNA编码规则,实现了彩色图像的比特位级扩散操作,提高了加密方案的安全性能,同时利用顺序位级加密算法降低了加密算法的时间复杂度。本发明提出的图像加密算法相比其他混沌加密算法而言,具有更高的安全性和抵抗攻击的能力,非常适用于多媒体图像的加密与保护。

著录项

  • 公开/公告号CN112287362A

    专利类型发明专利

  • 公开/公告日2021-01-29

    原文格式PDF

  • 申请/专利权人 南昌大学;

    申请/专利号CN202010996330.6

  • 申请日2020-09-21

  • 分类号G06F21/60(20130101);G06T9/00(20060101);

  • 代理机构36129 南昌金轩知识产权代理有限公司;

  • 代理人孙文伟

  • 地址 330000 江西省南昌市红谷滩新区学府大道999号

  • 入库时间 2023-06-19 09:41:38

说明书

技术领域

本发明涉及彩色图像加密位级DNA计算领域,尤其涉及一种基于DNA编码和双混沌系统的彩色图像加密算法。

背景技术

互联网的飞速发展,开创了全球经济、文化、军事、教育等领域的新纪元。在新的时代,人们可以很容易地实现图像信息的传输。然而,数字图像可能涉及私人或机密信息,一旦泄露,可能造成无法估量的后果。保护图像信息安全最常用的方法是图像加密。传统的加密技术,如DES、AES、RSA等,并不适用于图像加密,应用在图像加密时会导致系统效率低、安全性差。

混沌系统具有复杂性、确定性和非线性等特点。它具有对初始值和参数高度敏感、快速衰减自相关、长期不可预测性和伪随机性等优良特性,决定了它与密码学的天然联系。研究人员发现了混沌系统在密码学中应用的问题。例如,低维混沌系统,如Logistic、Tent和Sine映射加密和解密速度很高,但存在密钥空间小、安全性差等缺陷。高维和超混沌系统可以解决这些问题。但由于混沌系统结构复杂,计算复杂度高,加解密效率低等问题。虽然DNA编码的图像加密方案的良好效果,但现存的某些基于DNA编码的加密方案确实有所缺陷,比如只能对灰度图像进行加密,或者计算复杂度过高。

现有的基于DNA编码的混沌图像加密算法针对彩色图像的较少,且大多与低维混沌映射组合,计算复杂度较高,未解决克服低维混沌系统的自身缺陷,安全性不高。本专利采用一种基于DNA编码和双高维混沌系统的彩色图像加密方案,结合了Lorenz和Rossler混沌映射构成的双混沌系统。改进的Lorenz混沌系统和四阶Rossler混沌系统产生的随机序列极大地提高了混沌序列的随机性,而双混沌系统则补偿了随机序列的随机性。因此,混沌序列变得更加难以预测。加密方案中使用的8条DNA编码规则和3条DNA操作规则实现了彩色图像的位级扩散操作,提高了加密方案的安全性能,增强了其抗攻击能力,并利用顺序位级加密算法降低了计算复杂度。

发明内容

本发明公开了一种双混沌系统,其特征在于:在该系统中使用了两种改进的三维混沌映射,两种改进的三位混沌映射包括Lorenz和Rossler混沌映射,利用改进的Lorenz和Rossler混沌映射,构造了一个双混沌系统,提高了混沌序列的随机性。

利用改进后的Lorenz混沌系统和Rossler混沌系统生成用于图像加密扩散过程中的混沌序列,利用可变参数的Lorenz系统生成三个混沌序列(x

基于DNA编码和双混沌映射的彩色图像加密算法,其特征在于:加密算法包括图像置乱和基于DNA计算的图像扩散两个部分。

优选的,图像置乱的目的是打乱图像的像素位置,从而破坏相邻像素的相关性,由于不能直接对彩色图像进行置乱,因此,需要对实验图像的大小进行标准化,将彩色图像的R、G、B分量的灰度图像分离出来,得到PR,PG和PB,对这三个分量依次进行Arnold置乱,其中迭代次数与分量图像的像素平均值有关,分别为n1=mean(PR),n2=mean(PG),n3=mean(PB),其中mean(·)函数表示取图像的像素平均值。

优选的,基于DNA计算的图像扩散,DNA是人类进化过程中至关重要的遗传物质,根据生物学中的碱基互补配对原理,A与T、C与G配对,DNA计算因其具有并行性高、存储容量大等优点而被应用于混沌图像加密等多个交叉学科,比普通电脑能耗低得多,资源丰富廉价,经济性强,DNA计算包含DNA编码和DNA操作。

公开了一种加密算法,其步骤包括:

S11:读取彩色明文图像P;

S12:采用Arnold算法对三幅灰度分量图像的像素位置进行置乱,迭代次数分别设置为n1=mean(PR)、n2=mean(PG)、n3=mean(PB);

S13:设置Lorenz映射的参数如下:x

S14:利用参数可变的Lorenz映射生成了3个混沌序列,分别为{x

S15:利用公式

得到了应用于扩散操作的{z

S16:将S12中得到的扰动后的图像和S15中得到的三组随机混沌序列按照8条DNA编码规则转换成DNA序列,使用哪一条编码规则由key1,key2和key3确定,由扰动图像产生三组DNA序列,{C

S17:使用{Z

S18:{D

S19:保存加密的密文图像C。

还公开了一种解密方法,其步骤包括:

S21:读取密文图像C;

S22:设置Lorenz映射的参数如下:x

S23:利用参数可变的Lorenz映射生成了3个混沌序列,分别为{x

S24:利用公式

得到三个用于扩散操作的随机混沌序列{z

S25:根据8个DNA编码规则,将S21中获得的图像CR,CG和CB以及S24中获得的三组随机混沌序列转换成DNA序列,使用的编码规则由key1,key2和key3确定,得到了由CR,CG,CB生成的三组DNA序列{D

S26:根据DNA加法操作用{Z

S27:{C

S28:利用Arnold置乱的反转函数对置乱后的图像进行复原,得到PR、PG和PB;

S29:将PR、PG和PB合并,得到最终解密图像P’

有益效果:

本发明通过耦合时变Lorenz混沌系统和四阶Rossler混沌系统,极大的提高了输出序列的复杂性、随机性和不可预测性。同时在基于该模型的图像加密算法中引入了DNA编码规则,实现了彩色图像的比特位级扩散操作,提高了加密方案的安全性能,同时利用顺序位级加密算法降低了加密算法的时间复杂度。实验结果表明,本发明提出的图像加密算法相比其他混沌加密算法而言,具有更高的安全性和抵抗攻击的能力,非常适用于多媒体图像的加密与保护。

附图说明

图1经典Lorenz映射:(a)Lorenz映射的吸引子;(b)x-y平面图;(c)y-z平面图;(d)z-x平面图;(e)x序列的分布;(f)y序列的分布;(g)z序列的分布。

图2.改进的Lorenz映射:(a)Lorenz映射的吸引子;(b)x-y平面图;(c)y-z平面图;(d)z-x平面图;(e)x序列的分布;(f)y序列的分布;(g)z序列的分布。

图3.经典Rossler映射:(a)Rossler映射的吸引子;(b)x-y平面图;(c)y-z平面图;(d)z-x平面图;(e)x序列的分布;(f)y序列的分布;(g)z序列的分布。

图4.改进的Rossler映射:(a)Rossler映射的吸引子;(b)x-y平面图;(c)y-z平面图;(d)z-x平面图;(e)x序列的分布;(f)y序列的分布;(g)z序列的分布。

图5.混沌序列的分布:(a)z

图6加密和解密后的结果(a)明文图像;(b)密文图像;(c)解密图像。

图7.直方图(a)明文图像;(b)密文图像。

图8.各个颜色分量的明文和密文图像像素对的分布:(a)明文图像的水平分布,(b)密文图像的水平分布,(c)明文图像的垂直分布,(d)密文图像的垂直分布,(e)明文图像对角线分布,(f)密文图像对角线分布。

图9.加密过程中的密钥敏感性分析:(a)明文图像;密文图像(b)密钥x02=0.5201,Y03=26.8729;(c)x02+10-15,Y03不变;(d)b-c;(e)x02不变,Y03+10-15;(f)b-e。

图10.解密过程中的密钥敏感性分析:(a)明文图像;(b)密文图像x02=0.5201;(c)解密图像x02=0.5201;(d)解密图像x02=0.5201+10-15;(e)解密图像Y03=26.8729;(f)解密图像Y03=26.8729+10-15。

图11.鲁棒性分析:(a)带有0.125%椒盐噪声的密文图像;(b)带有0.125%椒盐噪声的解密图像;(c)带有5.00%椒盐噪声的密文图像;(d)带有5.00%椒盐噪声的解密图像;(e)带有1.6%数据丢失的密文图像;(f)带有1.6%数据丢失的解密图像;(g)带有3.8%数据丢失的密文图像;(h)带有3.8%数据丢失的解密图像。

具体实施方式

本专利采用基于DNA编码和双混沌系统对彩色图像进行加密,有效扩大了密钥空间,提高了安全性,同时加解密效率高于其他同样使用DNA编码的算法。

本专利分为两部分,第一部分为构造双混沌系统,第二部分为基于DNA编码和双混沌映射的彩色图像加密算法。

一种双混沌系统:在该系统中,使用了两种典型的三维混沌映射,即Lorenz和Rossler混沌映射,这两种映射在图像加密系统中得到了广泛的应用。利用改进的Lorenz和Rossler混沌映射,构造了一个双混沌系统,提高了混沌序列的随机性。因此,用于加密的混沌序列变得更加难以预测。

经典Lorenz混沌系统的公式如下:

改进的Lorenz混沌系统的公式如下:

在这个公式中,我们设a=8/3,b=25,c=10,d=5.3,e=17.5,f=10.5,g=13.3,h=14,t是这个微分方程的区间。当cos(5.3t)≥0时,取p=1,否则p=-1。因此,p和cos(5.3t)的值是随t而变化的。改进前后的Lorenz系统的混沌吸引子和每个平面的相图分别如图1和图2所示。比较结果表明,具有余弦函数的Lorenz混沌系统,也就是改进后的Lorenz映射的运动轨迹是复杂的,生成的x、y和z的随机性得到了改善。

经典的Rossler混沌系统的公式如下:

改进的Rossler混沌系统的公式如下:

其中x,y,z和w是状态变量,a,b,c,d和k是系统参数。此处设置a=36,b=3,C=28,d=-16,k=0.5。改进前后的Rossler系统的混沌吸引子和每个平面的相图分别如图3和图4所示。比较表明,改进后的四阶Rossler混沌系统轨迹复杂无序。因此,改进了由Rossler映射产生的三组混沌序列(x,y,z)的随机性。

然后利用改进后的Lorenz混沌系统和Rossler混沌系统生成用于图像加密扩散过程中的混沌序列。利用可变参数的Lorenz系统生成三个混沌序列(x

对产生的混沌序列进行随机测试,以确保序列的随机性和安全性。序列分布实验如图5所示。随机序列的均匀分布表明该序列具有良好的随机性和安全性。但是,如果随机序列的分布不均匀,不同值的出现频率明显不同,则序列的随机性弱,安全性能差,容易受到统计攻击。图5(a)-(c)展示了由双混沌系统生成的三个混沌序列z

此外,整套NIST统计测试被用于评估混沌序列的随机性,其中包含足够数量且几乎独立的统计测试。表1中展示了以序列z

表1:序列z

一种彩色图像加密算法

整个彩色图像加密算法分成两部分,包括图像置乱和基于DNA计算的图像扩散。

1、图像置乱

图像置乱的目的是打乱图像的像素位置,从而破坏相邻像素的相关性。我们不能直接对彩色图像进行置乱。因此,需要对实验图像的大小进行标准化,将彩色图像的R、G、B分量的灰度图像分离出来,得到PR,PG和PB。对这三个分量依次进行Arnold置乱。其中迭代次数与分量图像的像素平均值有关,分别为n1=mean(PR),n2=mean(PG),n3=mean(PB),其中mean(·)函数表示取图像的像素平均值。

设aij表示图像A中第i行第j列的像素,经过置乱之后,该像素被移动到第p行第q列,其中p,q的算法如下:

其中a,b,Na是参数。在本算法中,取a=3,b=5。

2、基于DNA计算的图像扩散

DNA是人类进化过程中至关重要的遗传物质。根据生物学中的碱基互补配对原理,A与T、C与G配对,DNA计算因其具有并行性高、存储容量大等优点而被应用于混沌图像加密等多个交叉学科,比普通电脑能耗低得多,资源丰富廉价,经济性强。DNA计算包含DNA编码和DNA操作。根据计算机的编码规则以及DNA本身的特点,DNA编码有8条可用的编码规则,如表2所示;有3种DNA操作,分别是加法,减法和异或操作,分别如表3,表4,表5所示。

表2:DNA编码规则

表3:DNA操作——加法

表4:DNA操作——减法

表5:DNA操作——异或

本专利首先将经过Arnold置换后的二个置乱后的分量图像根据他们各自的像素平均值(分别为n1,n2和n3)选定对应的编码规则,也就是key1=mod(n1,8),key2=mod(n2,8),key3=mod(n3,8),得到三组DNA序列{C

D

D

其中的+,-,

整个加密算法步骤包括:

S11:读取彩色明文图像P。将彩色图像P的大小归一化为256×256,分离彩色图像的R、G、B分量的灰度图像PR、PG、PB。三幅灰度分量图像的大小也为256×256。

S12:采用Arnold算法对三幅灰度分量图像的像素位置进行置乱,迭代次数分别设置为n1=mean(PR)、n2=mean(PG)、n3=mean(PB)。

S13:Lorenz映射的参数设置如下:x

S14:利用参数可变的Lorenz映射生成了3个混沌序列,分别为{x

S15:利用公式(5)得到了应用于扩散操作的{z

S16:将S12中得到的扰动后的图像和S15中得到的三组随机混沌序列按照8条DNA编码规则转换成DNA序列。使用哪一条编码规则由key1,key2和key3确定,其中key1=mod(n1,8),key2=mod(n2,8),key3=mod(n3,8)。由扰动图像产生三组DNA序列,{C

S17:使用{Z

S18:{D

S19:保存加密的密文图像C。

可以看出,在我们的算法中,由双混沌系统生成的混沌序列随机性相比于单混沌系统具有更高的随机性和安全性。其次,DNA编码规则的选取,与图像本身的像素平均值有关,增强了密码系统与明文图像的关系,提升了系统抵御明文攻击和选择明文攻击的能力。这些特点保证了该加密算法具有良好的性能和抗攻击能力。

解密步骤可以描述为:

S21:读取密文图像C。密文图像C的大小为256×256。将彩色密文图像的R、G、B分量的灰度图像CR、CG、CB分离,三幅灰度图像的大小为256×256。

S22:Lorenz映射的参数设置如下:x

S23:利用参数可变的Lorenz映射生成了3个混沌序列,分别为{x

S24:利用公式(5)得到三个用于扩散操作的随机混沌序列{z

S25:根据8个DNA编码规则,将S21中获得的图像CR,CG和CB以及S24中获得的三组随机混沌序列转换成DNA序列。使用的编码规则由key1,key2和key3确定。得到了由CR,CG,CB生成的三组DNA序列{D

S26:根据DNA加法操作用{Z

S27:{C

S28:利用Arnold置乱的反转函数对置乱后的图像进行复原,得到PR、PG和PB。

S29:将PR、PG和PB合并,得到最终解密图像P’。

下面对本专利提出的图像加密算法进行安全性测试。Lorenz的参数具体设置为x

Rossler的参数具体设置为Y

直方图在描述图像中起着重要的作用。直方图分布越平滑,图像的可读性越差。明文图像和密文图像的颜色直方图分别如图7(a)和(b)。与明文图像相比,加密后的彩色图像直方图分布均匀,且在区间内的分布概率近似相等。因此,利用统计分析来预测原始图像对攻击者来说是困难的。结果表明,该算法能有效地防止统计攻击。

理想的图像加密算法必须具有足够大的密钥空间,并且对其密钥敏感。密钥空间的大小是可以在加密系统中使用的不同密钥的总数;因此,密钥空间必须大于2128以增强该算法抵抗暴力攻击的能力。

在该方案中,密钥主要由Lorenz映射的初始值x

一般来说,明文图像中相邻像素之间存在强相关性,消除相邻像素之间的相关性是衡量加密算法性能的关键。我们从明文和密文图像的三个分量中选择20000对相邻像素,包括垂直、水平和对角线方向。像素对的分布情况如图8所示。在图8中,a(1)-a(3)表示明文图像在像素水平方向上的分布,b(1)-b(3)表示明文图像在像素垂直方向上的分布,c(1)-c(3)表示明文图像在像素对角线方向上的分布。分布情况图中,大部分点都落在对角线附近,表明明文图像的像素相关性强。图8中的d(1)-(3)表示密文图像在水平方向上的分布,e(1)-e(3)表示密文图像在像素垂直方向上的分布,f(1)-f(3)表示密文图像在像素对角线方向上的分布。在这些图中,点在空间上呈随机分布的状态,表明我们的加密算法消除了相邻像素间的相关性。

熵是热力学中的一个物理量,它表示一个物理系统的不必要程度。对于一幅数字图像,信息熵可以显示出每个灰度值的分布。如果灰度分布均匀,则图像信息熵较大。一般来说,图像的灰度分布是不均匀的,其统计特性是明显的。因此,信息熵很小。密文图像的信息熵越大,表明图像的灰度分布越均匀,从而攻击者越难通过分析图像的统计特性来获取图像。信息熵的计算公式如下:

其中,p(mi)表示符号mi出现的概率,M则是符号的总数。对于256灰度级的理想随机图像而言,其熵值应接近于8。我们分别计算记录了各个颜色分量下明文图像和密文图像的信息熵,如表6所示。从表6中,我们可以发现加密后的Lena图像的熵在红色、绿色和蓝色分量下的熵值分别为7.9892,7.9902和7.9896,相对于明文图像更加接近理想值8。这个结果也优于绝大多数混沌图像加密算法。

表6:信息熵分析

一个好的加密算法必须对其密钥具有良好的敏感性。在加密和解密过程中,密钥值的微小变化会导致加密图像或者解密图像的显著变化。在加密过程中,我们选用Lorenz映射的三个初始值之一x

仍然在相同的图片和相同的参数上执行。当其它参数不变且解密密钥与加密密钥仅相差10-15时,测试结果如图10所示。即使解密密钥与加密密钥仅略有不同,结果图像与正确解密的图像之间仍然存在显著差异。比如图(10)中的图像(c)用相同的密钥x02=0.5201就能成功地还原了原始图像,仅仅细微的变化,x02+10-15就不能解出正确的图像,如图(d)所示。之后的(e)和(f)也是同理。结果表明,改进算法在解密过程中也具有良好的密钥敏感度。

一个好的图像加密算法应该能够抵抗著名的差分攻击(也就是,选择明文攻击),这就要求该加密算法具有良好的扩散特性。统计上,通常采用像素数变化率(NPCR)和归一化平均变化强度(UACI)来评价一个加密算法对明文图像的敏感性。它们是图像信息的重要指标。NPCR表示在随机改变原始图像中某个像素的像素值后,加密图像中的像素数变化的百分比。UACI表示原始图像的像素值随机改变后加密图像的像素值变化的强度。如果原始明文图像的像素变化较小,密文图像变化较大,则加密算法能够有效抵抗差分攻击,加密算法的安全性能良好。对于256×256大小的图片,其理想值分别为0.9961和0.3346。

计算方法如下:

其中,C1和C2是两个图像,L为像素个数,H是图像中允许的最大像素值。若C1(i,j)=C2(i,j),则D(i,j)=0。否则,D(i,j)=1。利用公式(11)和公式(12)计算了该算法的NPCR和UACI,结果见表7。我们可以看出实验结果与理想值较为接近,因此,改进后的加密算法具有良好的抗差分攻击能力,加密算法的安全性能良好。

表7:NPCR和UACI的分析

当图像通过网络传输时,其数据可能会发生变化或丢失。因此,一个好的加密算法应该对噪声和数据丢失具有鲁棒性。图11给出了我们算法的鲁棒性分析结果。从图11可以看出,在噪声和数据丢失的影响下,解密之后的图像仍然可以被清晰地识别出来,这说明我们的算法具有相当高的鲁棒性。

此外,加密算法的速率也是重要的考核指标。本算法加密一幅M×N的彩色图像的运行时间为O(12×M×N),在基于DNA计算的彩色图像加密方案中,表现颇为良好。分析结果如表8所示,表明本算法实现效率相对较高。

表8:时间复杂度分析

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号