当前位置: 首页 > 专利查询>吉林大学专利>正文

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

技术编号:19594867 阅读:66 留言:0更新日期:2018-11-28 05:23
本发明专利技术公开了一种基于DNA编码的图像加密方法,采用基于DNA编码的混沌加密策略,利用哈希算法得到图像的特征值,产生加密密钥,从而可以有效的抵抗已知明文攻击;通过DNA编码,DNA突变算法,混沌系统,加强了随机性,使得密文与原始图像的区别更大,难以找到规律恢复原文可以有效的抵抗已知明文攻击。

【技术实现步骤摘要】
一种基于DNA编码的图像加密方法
本专利技术涉及信息安全
,具体涉及一种基于DNA编码的图像加密方法。
技术介绍
现有的图像加密方法都普遍存在安全性不足的问题,例如基于像素位置变换的加密技术,如果在攻击者直到加密方法和密文时,就很容易得到明文,由于迭代是存在周期的,通过若干次迭代就可以恢复明文,而基于随机序列的加密技术在已知明文和选择明文攻击的时候安全性较差。
技术实现思路
针对现有技术的不足,本专利技术旨在提供一种基于DNA编码的图像加密方法,加密后图像可以有效抵抗已知明文的攻击,安全性更强,加密效果更好。为了实现上述目的,本专利技术采用如下技术方案:一种基于DNA编码的图像加密方法,包括如下步骤:S1产生加密密钥;具体为:1.1)原始密钥表示如下:CC1:a1,b1,c1,d1,x1,y1,z1,w1;CC2:u2,x2,u3,x3,u4,x4;CC3:a2,b2,x5,y2;CC4:a3,x6,y3,z3,待加密图像记为IMAGE,IMAGE的大小记为Ir×Ic,其中Ir表示IMAGE的行数,Ic表示IMAGE的列数;1.2)利用哈希算法求取IMAGE的特征值:1.3)对IMAGE的特征值求取MD5,记为MD,对128位MD值每8位分成一组,共分成16组,记为MD=md1,md2,...,md16,并进行系列变换:对上述密钥中对应的x1、y1、z1、w1、x2、y2、x3、y3、z3、x4、x5、x6进行更新,从而产生新的加密密钥;S2对原图像进行DNA编码:将原图像IMAGE按01、00、11、10对DNA的四种核苷酸A,C,G,T编码后,转换成预处理的12层DNA分子结构;S3产生改进的四维超混沌劳伦兹序列:运用改进的四维超混沌劳伦兹系统:将上述新的加密密钥中的x1,y1,z1,w1作为系统的x、y、z、w的初始值,a1,b1,c1,d1作为系统参数,通过四阶龙格-库塔算法生成超混沌劳伦兹序列,产生四维混沌序列SX,SY,SZ,Sζ;S4利用步骤S3中产生的四维混沌序列SX,SY,Sz,Sζ对步骤S2中得到的12层DNA分子结构进行置乱,得到新的12层DNA分子结构;S5连续点置换突变:利用Logistic系统:Sn←-θSn-12+θSn-1及S←1/4-round(|1000S|)+|1000S|,参数θ∈[3.57,4],θ←u2与S1←x2作为Logistic系统的输入,迭代产生随机序列流,通过S←round|10mS|mod4+1变换使得本步骤所产生的随机序列流为区间{1,2,3,4}上的序列;利用变换后的序列和置换突变对步骤S4得到的新的12层DNA分子结构进行突变;突变方式为:当S为1时A变为C,C变为A,G变为T,T变为G;当S为2时A变为G,C变为T,G变为A,T变为C;当S为3时A变为T,C变为G,G变为C,T变为A;当S为4时A变为A,C变为C,G变为G,T变为G;S6DNA分子层间交叉突变:将θ←u3与S1←x3作为Logistic系统Sn←-θSn-12+θSn-1及S←1/4-round(|1000S|)+|1000S的输入,迭代产生随机序列流,通过S←round|10mS|mod12+1变换使本步骤中产生的随机序列流为区间{1,2,...,12}上的序列,其中m为大于3的正整数;根据变换后的序列的取值对经过步骤S5处理最终得到的12层DNA分子结构的相邻DNA分子进行交叉互换;S7DNA分子内交叉突变:将θ←u4与S1←x4作为Logistic系统Sn←-θSn-12+θSn-1及S←1/4-round(|1000S|)+|1000S|的输入的输入,迭代产生随机序列流,通过S←round|10mS|mod12变换使本步骤得到的随机序列流为区间{1,2,...,12}上的序列,其中m为大于3的正整数;根据变换得到的序列的取值对经过步骤S6处理最终得到的12层DNA分子结构的DNA分子内部实现交叉突变;S8DNA加法与减法运算:8.1)将DNA分子结构作为被加数,通过Henon系统:vn←b2hn-1及产生加数序列;其中初始值h1←x5,v1←y2;8.2)通过H(i)←-round(H(i)×10α)+H(i)×10α及V(i)←-round(V(i)×10β)+V(i)×10β变换产生混沌序列H(i),V(i);其中2≤α≤(r-lg(SL(H(i)))),2≤β≤(r-lg(SL(V(i)))),10-r为计算机的最大精度;8.3)通过H(i)←round(1000(H(i)+1/3))mod4及V(i)←round(1000(V(i)+1/3))mod4变换将H(i)与V(i)映射到{1,2,3,4}中,利用编码00、01、10、11对H(i)与V(i)序列进行编码;8.4)在加密过程中DNA分子结构以01、00、11、10编码的形式作为被加数,Henon序列以00、01、10、11编码的形式作为加数,对结果以11、10、01、00的形式进行DNA解码得到和序列;S9DNA异或加密:引入三维的统一混沌系统:以作为系统的输入,通过四阶龙格-库塔算法产生R,G,B统一混沌序列,然后对混沌序列R,G,B分别进行模4操作,对R,G,B统一混沌序列进行映射变换;将每个12碱基的DNA分子分成3组由4碱基组成的小分子D1,D2,D3,利用R,G,B序列通过变换分别对每组小分子DNA进行异或加密,以完成图像加密。进一步地,步骤1.2)的具体方法为:对于RGB三通道图像,求特征值时,遍历图像的所有像素点,对于每个像素点选取第k值,k的计算方式为k=(i×Ic+j)mod3,i=1,2,...,Ir;j=1,2,...,Ic,当k分别为1,2,3时,对应分别为R、G、B的值;将每个像素点取到的值求和得到的最终值就是图像的特征值。进一步地,步骤S2的具体过程为:IMAGE的每一个像素点由三个八位二进制R,G,B组成,将G分为两个四位二进制分别补充到R值后面与G值前面,形成两个12位二进制数,然后将两个所述12位二进制数的对应位结合,生成12个二位二进制,编码成对应的氨基酸,形成一个由12个氨基酸组成的DNA分子序列;对IMAGE的每一个像素点都进行上述操作,重组成12层的DNA分子结构。进一步地,步骤S4的具体过程为:对步骤S3中产生的四维混沌序列SX,SY,SZ,Sζ的前Ir个元素和后Ic个元素进行排序,产生四个长度为Ic的索引序列和四个长度为Ir的索引序列;利用所述长度为Ic的索引序列和长度为Ir的索引序列对步骤S2中得到的12层DNA分子结构的12个DNA分子层的碱基分子进行置乱,碱基分子进行重组产生新的12层DNA分子结构。本专利技术的有益效果在于:本专利技术采用基于DNA编码的混沌加密策略,利用哈希算法得到图像的特征值,产生加密密钥,从而可以有效的抵抗已知明文攻击;通过DNA编码、DNA突变算法、混沌系统,加强了随机性,使得密文与原始图像的区别更大,难以找到规律恢复原文,可以有效的抵抗已知明文攻击。具体实施方式以下将对本专利技术作进一步的描述,需要说明的是,以下实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围并不限于本实施例。一种基于DNA编本文档来自技高网...

【技术保护点】
1.一种基于DNA编码的图像加密方法,其特征在于,包括如下步骤:S1产生加密密钥;具体为:1.1)原始密钥表示如下:CC1:a1,b1,c1,d1,x1,y1,z1,w1;CC2:u2,x2,u3,x3,u4,x4;CC3:a2,b2,x5,y2;CC4:a3,x6,y3,z3,待加密图像记为IMAGE,IMAGE的大小记为Ir×Ic,其中Ir表示IMAGE的行数,Ic表示IMAGE的列数;1.2)利用哈希算法求取IMAGE的特征值:1.3)对IMAGE的特征值求取MD5,记为MD,对128位MD值每8位分成一组,共分成16组,记为MD=md1,md2,...,md16,并进行系列变换:

【技术特征摘要】
1.一种基于DNA编码的图像加密方法,其特征在于,包括如下步骤:S1产生加密密钥;具体为:1.1)原始密钥表示如下:CC1:a1,b1,c1,d1,x1,y1,z1,w1;CC2:u2,x2,u3,x3,u4,x4;CC3:a2,b2,x5,y2;CC4:a3,x6,y3,z3,待加密图像记为IMAGE,IMAGE的大小记为Ir×Ic,其中Ir表示IMAGE的行数,Ic表示IMAGE的列数;1.2)利用哈希算法求取IMAGE的特征值:1.3)对IMAGE的特征值求取MD5,记为MD,对128位MD值每8位分成一组,共分成16组,记为MD=md1,md2,...,md16,并进行系列变换:对上述密钥中对应的x1、y1、z1、w1、x2、y2、x3、y3、z3、x4、x5、x6进行更新,从而产生新的加密密钥;S2对原图像进行DNA编码:将原图像IMAGE按01、00、11、10对DNA的四种核苷酸A,C,G,T编码后,转换成预处理的12层DNA分子结构;S3产生改进的四维超混沌劳伦兹序列:运用改进的四维超混沌劳伦兹系统:将上述新的加密密钥中的x1,y1,z1,w1作为系统的x、y、z、w的初始值,a1,b1,c1,d1作为系统参数,通过四阶龙格-库塔算法生成超混沌劳伦兹序列,产生四维混沌序列SX,SY,Sz,Sζ;S4利用步骤S3中产生的四维混沌序列SX,SY,SZ,Sζ对步骤S2中得到的12层DNA分子结构进行置乱,得到新的12层DNA分子结构;S5连续点置换突变:利用Logistic系统:Sn←-θSn-12+θSn-1及S←1/4-round(|1000S|)+|1000S|,参数θ∈[3.57,4],θ←u2与S1←x2作为Logistic系统的输入,迭代产生随机序列流,通过S←round|10mS|mod4+1变换使得本步骤所产生的随机序列流为区间{1,2,3,4}上的序列;利用变换后的序列和置换突变对步骤S4得到的新的12层DNA分子结构进行突变;突变方式为:当S为1时A变为C,C变为A,G变为T,T变为G;当S为2时A变为G,C变为T,G变为A,T变为C;当S为3时A变为T,C变为G,G变为C,T变为A;当S为4时A变为A,C变为C,G变为G,T变为G;S6DNA分子层间交叉突变:将θ←u3与S1←x3作为Logistic系统Sn←-θSn-12+θSn-1及S←1/4-round(|1000S|)+|1000S|的输入,迭代产生随机序列流,通过S←round|10mS|mod12+1变换使本步骤中产生的随机序列流为区间{1,2,...,12}上的序列,其中m为大于3的正整数;根据变换后的序列的取值对经过步骤S5处理最终得到的12层DNA分子结构的相邻DNA分子进行交叉互换;S7DNA分子内交叉突变:将θ←u4与S1←x4作为Logistic系统Sn←-θSn-12+θSn-1及S←1/4-round(|1000S|)+|1000S|的输入的输入,迭代产生随机序列流,通过S←round|10mS|mod12变换使本步骤得到的随机序列流为区间{1,2,...

【专利技术属性】
技术研发人员:贾晓燕张晋东刘阳张晓龙韩东岐
申请(专利权)人:吉林大学
类型:发明
国别省市:吉林,22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1