欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种基于DNA编码的图像加密方法独创技术13439字

一种基于DNA编码的图像加密方法

2021-04-07 10:34:09

一种基于DNA编码的图像加密方法

  技术领域

  本发明涉及图像安全领域,更具体地涉及一种基于DNA编码的图像加密方法。

  背景技术

  随着计算机通信技术的不断发展,越来越多的人通过网络进行沟通,每天都有大量的图片在网络中传输。但是往往图像中会包含许多的个人隐私,例如,人脸、虹膜、指纹等。特别是对于医疗图像,更需要进行加密。因此,为了保证图像中内容的安全,往往需要对图像进行加密处理。

  数字图像是常见的一种多媒体形式,图像文件格式通常包括JPG、BMP以及GIF等。图像根据是否包括彩色信息可分为彩色图像和灰度图像,其中彩色图像是指可以使用红、绿、蓝三原色来表示每个像素的颜色,而灰度图像是指每个像素只有一个颜色,这类图像通常显示为从最暗黑色到最亮的白色的灰度。例如,每个像素通常使用8个比特来表示该像素的灰度值,则每个像素可以存在256个灰度级别。

  为了保证图像内容的安全性,需要采用计算机加密技术对图像进行加密。而目前的图像加密方法通常只能针对彩色图像或灰度图像单独进行加密,缺乏一种兼容彩色图像和灰度图像的加密方法。

  发明内容

  本发明提供了一种基于DNA编码的图像加密方法,以解决目前的图像加密方法通常只能针对彩色图像或灰度图像单独进行加密,缺乏一种兼容彩色图像和灰度图像的加密方法的问题。

  为解决上述技术问题,本发明所采用的技术方案是:一种基于DNA编码的图像加密方法,包括如下步骤:

  步骤S1.将彩色图像分割成R、G、B三个平面,根据密钥K1的值,将R、G、B三个平面垂直放在一个平面I,如果K1=0,平面I的顺序为RGB;如果K1=1,平面I的顺序为RBG;如果K1=2,平面I的顺序为BRG;如果K1=3,平面I的顺序为BGR;如果K1=4,平面I的顺序为GBR;如果K1=5,平面I的顺序为GRB;

  步骤S2.根据密钥K2和μ迭代Logistic Sine混沌映射3MN次,得到混沌序列X1,X1长度为3MN,对混沌序列X1从小到大排序,根据混沌序列X1的顺序变化来调整平面I的位置;

  步骤S3.按照光栅顺序将平面I分割成三个平面,得到新的R、G、B三个矩阵;

  步骤S4.将三个R、G、B矩阵中的十进制数转化为二进制数再次得到新的R、G、B矩阵;

  步骤S5.根据密钥K3、K4、K5的值和DNA编码规则分别将R、G、B的矩阵转化为DNA字符串,再根据AGCT四种碱基表和加法运算规则做DNA加法运算,得到新的R、G、B三个矩阵;

  步骤S6.将密钥K6和μ迭代Logistic Sine混沌映射1000+4MN次,得到混沌序列X2,X2长度为4MN,根据X2的值对上一步产生的R、G、B三个矩阵分别进行DNA互补操作;

  步骤S7.根据密钥K7、K8、K9的值和DNA解码规则,得到一个大小为M*(8N)的二进制矩阵,然后再转化为十进制数,分别得到大小均为M*N的R、G、B矩阵;

  步骤S8.根据密钥K10、K11、K12和μ的值迭代Logistic Sine混沌映射MN次,得到长度均为MN的混沌序列X3、X4、X5;

  步骤S9.对X3、X4、X5序列分别进行取模操作后,与步骤S7中产生的新的R、G、B矩阵分别进行异或操作后分别得到R*、G*、B*,密文图像I*=cat(3,uint8(R*),uint8(G*),uint8(B*)),其中cat()为联结函数。

  进一步地,步骤S1中,平面I矩阵大小为M*(3N),M和N分别为彩色图像的长度和宽度。

  进一步地,步骤S1中,K1为0、1、2、3、4和5中的任意一个整数。

  进一步地,步骤S2中,K2和μ均为0到1之间的任意一个小数。

  进一步地,步骤S3中,按照光栅顺序将平面I分割成三个矩阵,得到新的R、G、B矩阵且大小均为M*N。

  进一步地,步骤S4中,将三个R、G、B矩阵中的十进制数转化为二进制数再次得到新的R、G、B矩阵且大小均为M*(8N)。

  进一步地,步骤S5中,K3、K4、K5的值均为0到7中的任意一个整数。

  进一步地,步骤S5中,根据K3、K4、K5的值和DNA编码规则分别将大小均为M*(8N)的R、G、B矩阵转化为大小均为M*(4N)的R、G、B的DNA字符串矩阵。

  进一步地,步骤S5中,根据AGCT四种碱基表作DNA加法运算,运算规则为R=R,G=G+R,B=B+G,得到新的R、G、B三个矩阵。

  进一步地,步骤S6中,K6和μ均为0到1之间的任意一个小数,对于X2序列进行量化操作,如果0<X2(i)≤0.5,那么X2(i)=0;如果0.5<X2(i)≤1,那么X2(i)=1;其中,X2序列中的数变成0或者1,如果X2中的值为0,那么R矩阵将不进行替换操作;如果X2中的值为1,那么将相应位置的R矩阵位置的值替换,替换规则如下:

  同理按照相应的规则对G、B矩阵进行操作。

  较佳地,步骤S7中,K7、K8、K9的值均为0到7中的任意一个整数。

  较佳地,步骤S8中,K10、K11、K12和μ的值均为0到1之间的任意一个小数。

  较佳地,步骤S9中,对X3、X4、X5序列分别进行取模操作,Xi=Xi*1014mod256,那么X3、X4、X5序列中的数分别变成0到255中的任意一个整数,再与步骤S7中产生的新的R、G、B矩阵分别进行异或操作后分别得到R*、G*、B*,密文图像I*=cat(3,uint8(R*),uint8(G*),uint8(B*))。其中新的R、G、B矩阵为步骤S7产生的大小均为M*N的R、G、B矩阵,R*=R⊕X3(i),G*=G⊕X4(i),B*=B⊕X5(i),⊕为异或操作。

  其中,Logistic Sine混沌映射为:

  f(x)=(μ·x·(1-x)+(4-μ)·sin(π·x)/4)mod1;x属于[0,1],μ属于[0,4]。

  其中,如果是灰度图像,可跳过步骤S1,其他步骤仅执行R平面操作即可。实际中根据图像的秘密等级,可以取图像的部分加密,或者图像完全加密。

  与现有技术相比,本发明具有以下有益效果:本发明的基于DNA编码的图像加密方法,密钥空间大,通过基于DNA编码、迭代Logistic Sine混沌映射、十进制转化为二进制、DNA编码规则、DNA字符串、AGCT四种碱基表、DNA加法运算、取模操作、异或操作等一系列操作,得到密文图像,该方法可以兼容彩色图像、灰度图像的加密。

  附图说明

  图1为本发明的一种基于DNA编码的图像加密方法的步骤示意图。

  图2为本发明的一种基于DNA编码的图像加密方法的原理示意图。

  图3为本发明的一种基于DNA编码的图像加密方法的DNA编码解码规则的表格示意图。

  图4为本发明的一种基于DNA编码的图像加密方法的AGCT四种碱基表的表格示意图。

  具体实施方式

  下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

  为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

  下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。

  请参阅图1至图4,图中所示者为本发明所选用的实施例结构,此仅供说明之用,在专利申请上并不受此种结构的限制。

  实施例一

  如图1和图2所示,一种基于DNA编码的图像加密方法,包括如下步骤:

  步骤S1.将彩色图像分割成R、G、B三个平面,根据密钥K1的值,将R、G、B三个平面垂直放在一个平面I,如果K1=0,平面I的顺序为RGB;如果K1=1,平面I的顺序为RBG;如果K1=2,平面I的顺序为BRG;如果K1=3,平面I的顺序为BGR;如果K1=4,平面I的顺序为GBR;如果K1=5,平面I的顺序为GRB;

  步骤S2.根据密钥K2和μ迭代Logistic Sine混沌映射3MN次,得到混沌序列X1,X1长度为3MN,对混沌序列X1从小到大排序,根据混沌序列X1的顺序变化来调整平面I的位置;

  步骤S3.按照光栅顺序将平面I分割成三个平面,得到新的R、G、B三个矩阵;

  步骤S4.将三个R、G、B矩阵中的十进制数转化为二进制数再次得到新的R、G、B矩阵;

  步骤S5.根据密钥K3、K4、K5的值和DNA编码规则分别将R、G、B的矩阵转化为DNA字符串,再根据AGCT四种碱基表和加法运算规则做DNA加法运算,得到新的R、G、B三个矩阵;DNA编码规则如图3所示,AGCT四种碱基表如图4所示;

  步骤S6.将密钥K6和μ迭代Logistic Sine混沌映射1000+4MN次,得到混沌序列X2,X2长度为4MN,根据X2的值对上一步产生的R、G、B三个矩阵分别进行DNA互补操作;

  步骤S7.根据密钥K7、K8、K9的值和DNA解码规则,得到一个大小为M*(8N)的二进制矩阵,然后再转化为十进制数,分别得到大小均为M*N的R、G、B矩阵;DNA解码规则如图3所示;

  步骤S8.根据密钥K10、K11、K12和μ的值迭代Logistic Sine混沌映射MN次,得到长度均为MN的混沌序列X3、X4、X5;

  步骤S9.对X3、X4、X5序列分别进行取模操作后,与步骤S7中产生的新的R、G、B矩阵分别进行异或操作后分别得到R*、G*、B*,密文图像I*=cat(3,uint8(R*),uint8(G*),uint8(B*)),其中cat()为联结函数。

  进一步地,步骤S1中,平面I矩阵大小为M*(3N),M和N分别为彩色图像的长度和宽度。

  更好地,步骤S1中,K1为0、1、2、3、4和5中的任意一个整数。步骤S2中,K2和μ均为0到1之间的任意一个小数。

  更优地,步骤S3中,按照光栅顺序将平面I分割成三个矩阵,得到新的R、G、B矩阵且大小均为M*N。

  较佳地,步骤S4中,将三个R、G、B矩阵中的十进制数转化为二进制数再次得到新的R、G、B矩阵且大小均为M*(8N)。

  实施例二

  步骤S5中,K3、K4、K5的值均为0到7中的任意一个整数。

  本实施例中,步骤S5中,根据K3、K4、K5的值和DNA编码规则分别将大小均为M*(8N)的R、G、B矩阵转化为大小均为M*(4N)的R、G、B的DNA字符串矩阵。DNA编码规则如图3所示。

  进一步地,步骤S5中,根据AGCT四种碱基表作DNA加法运算,运算规则为R=R,G=G+R,B=B+G,得到新的R、G、B三个矩阵。AGCT四种碱基表如图4所示。

  优选地,步骤S6中,K6和μ均为0到1之间的任意一个小数,对于X2序列,如果0<X2(i)≤0.5,那么X2(i)=0;如果0.5<X2(i)≤1,那么X2(i)=1;其中,X2序列中的数变成0或者1,如果X2中的值为0,那么将不进行替换操作;如果X2中的值为1,那么将相应位置的R矩阵位置的值替换,替换规则如下:同理按照相应的规则对G、B矩阵进行操作。

  实施例三

  步骤S7中,K7、K8、K9的值均为0到7中的任意一个整数。

  较佳地,步骤S8中,K10、K11、K12和μ的值均为0到1之间的任意一个小数。

  具体地,步骤S9中,对X3、X4、X5序列分别进行取模操作,Xi=Xi*1014mod256,那么X3、X4、X5序列中的数分别变成0到255中的任意一个整数,再与步骤S7中产生的新的R、G、B矩阵分别进行异或操作后分别得到R*、G*、B*,密文图像I*=cat(3,uint8(R*),uint8(G*),uint8(B*))。其中新的R、G、B矩阵为步骤S7产生的大小均为M*N的R、G、B矩阵,R*=R⊕X3(i),G*=G⊕X4(i),B*=B⊕X5(i),⊕为异或操作。

  其中,Logistic Sine混沌映射为:

  f(x)=(μ·x·(1-x)+(4-μ)·sin(π·x)/4)mod1;x属于[0,1],μ属于[0,4]。

  其中,如果是灰度图像,可跳过步骤S1,其他步骤仅执行R平面操作即可。实际中根据图像的秘密等级,可以取图像的部分加密,或者图像完全加密。

  以上所述实施例是用以说明本发明,并非用以限制本发明,所以举例数值的变更或等效元件的置换仍应隶属本发明的范畴。

  由以上详细说明,可使本领域普通技术人员明了本发明的确可达成前述目的,实已符合专利法的规定,现提出专利申请。

《一种基于DNA编码的图像加密方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)