基于动态DNA编码和双混沌映射的图像加密算法制造技术

技术编号:13762339 阅读:100 留言:0更新日期:2016-09-27 17:07
基于动态DNA编码和双混沌映射的图像加密算法,分为两部分:一部分是通过Lorenz混沌映射产生的混沌序列对图像进行像素位置的置乱;同时,Lorenz混沌映射也作为动态选择DNA运算规则的依据;另一部分是通过Chen超混沌映射和DNA编码对图像进行像素值的置乱;最后通过以上两部分的结合得到图像的加密算法,该算法可以对任意大小的图像进行加密。

【技术实现步骤摘要】

:本专利技术涉及一种数字图像加密算法,尤其涉及一种基于动态DNA编码和双混沌映射的图像加密算法
技术介绍
:随着国家信息化进程的不断推进,人们给予图像信息保密传输越来越多的重视,传统的经典加密算法主要有:DES算法、IDEA算法以及RSA算法等,但是图像相对于文本文件具有更大的数据量,所以传统的加密算法并不适合对图像进行加密。于是一些基于数学变换的图像加密技术相继出现,但安全性也不够突出。混沌加密技术作为近年来的主流加密技术,但是如果单一的使用混沌技术也不够安全。最近几年,基于DNA计算思想的图像加密技术逐渐被学者所应用,但还处于初始研究阶段,不成熟。DNA含有四个碱基,分别是腺嘌呤A(Adenine)、胞嘧啶C(Cytosine)、鸟嘌呤G(Guanine)与胸腺嘧啶T(Thymine)。这四个碱基中,A与T互补,C与G互补。图像像素值的二进制正好也是由0和1组成,可以将二进制用这四个碱基进行表示,从而可以使图像像素值重新编码,达到图像加密的目的。目前基于DNA编码的图像加密大多采用相对固定的编码方式进行图像编码加密,即一次加密使用一种编码方式,没有动态化,这样安全性不高。本文将DNA编码和两种混沌映射相结合,提出一种动态DNA编码的图像加密算法,更大程度地提高了加密过程的安全性。
技术实现思路
本专利技术的目的是提供一种基于动态DNA编码和双混沌映射的图像加密算法。主要分为两大部分:一部分是通过Lorenz混沌映射产生的混沌序列对图像进行像素位置的置乱。同时,Lorenz混沌映射也作为动态选择DNA运算规则的依据;另一部分是通过Chen超混沌映射和DNA编码对图像进行像素值的置乱。最后通过以上两部分的结合得到图像的加密算法,该算法可以对任意大小的图像进行加密。为了达到上述目的,本专利技术采用如下技术方案:基于动态DNA编码和双混沌映射的图像加密算法,包括以下步骤:输入:灰度图像I,大小为M行N列,Lorenz混沌映射的初值x,y,z,Chen超混沌映射的初值x,y,z,q,参数k。输出:加密图像I'。(1)将灰度图像I转换成大小为M×N的二维矩阵I1。(2)根据Lorenz混沌映射公式,x'=a1(y-x);y'=a3x-xz-y;z'=xy-a2z,其中a1=10,a2=8/3,a3=28,x,y,z为初值,取值范围是大于0的实数,x',y',z'是迭代后产生的值。通过给定三个初值,可产生任意长度的三个序列。本专利技术产生三个序列分别为x={x1,x2,...,xM本文档来自技高网...

【技术保护点】
一种基于动态DNA编码和双混沌映射的图像加密算法,包括以下步骤:输入灰度图像I,大小为M行N列,Lorenz混沌映射的初值x,y,z,Chen超混沌映射的初值x,y,z,q,参数k;输出加密图像I',加密图像的处理过程包括:(1)将灰度图像I转换成大小为M×N的二维矩阵I1;(2)根据Lorenz混沌映射公式,x'=a1(y‑x);y'=a3x‑xz‑y;z'=xy‑a2z,其中a1=10,a2=8/3,a3=28,x,y,z为初值,取值范围是大于0的实数,x',y',z'是迭代后产生的值,产生三个序列分别为x={x1,x2,...,xM}、y={y1,y2,...,yN}和z={z1,z2,...,zM×N×4},对这三个序列分别进行如下操作,x(i)=mod(fix(x(i)×108),M)+1,i=1,2,…M,y(i)=mod(fix(y(i)×108),N)+1,i=1,2,…Nz(i)=mod(fix(z(i)×108),8)+1,i=1,2,…M×N×4,其中fix表示向下取整操作,mod表示取余,通过上述公式可将序列x变为[1‑M]的随机数,将序列y变为[1‑N]的随机数,将序列z变为[1‑8]的随机数,根据序列x的值将图像I1的每行进行移位,如公式1所示,根据序列y的值将移位后的图像再进行移位,如公式2所示,从而产生新的置乱后的图像I2,序列z用来选择DNA加法规则,在权利要求7中说明;(3)将图像I2转换成为M×N行8列的二进制二维矩阵I3,即每行是一个原始图像像素值的二进制;(4)利用Chen超混沌映射公式x'=a(y‑x);y'=‑xz+dx+cy‑q;z'=xy‑bz;q'=x+k,其中a=36,b=3,c=28,d=16且‑0.7≤k≤0.7,x,y,z,q为初值,取值范围是大于0的实数,x',y',z',q'是迭代后产生的值,产生四个序列,用A、B、C和D表示,序列A、B、D的长度均为M×N,序列C的长度为M×N×8,按照公式A=mod(fix((abs(A)‑fix(abs(A)))×1010),8)+1对序列A进行变化,其中fix表示向下取整操作,mod表示取余,abs表示绝对值,按照公式B=mod(fix((abs(B)‑fix(abs(B)))×1010),8)+1对序列B进行变化,按照公式C=mod(fix((abs(C)‑fix(abs(C)))×1010),10)+1对序列C进行变化,再将变化后的序列C的每一个值进行比较,如果值小于等于5,此值用0替换,如果值大于5,此值用1替换,按照公式D=mod(fix((abs(D)‑fix(abs(D)))×1010),8)+1对序列D进行变化,变化后,序列A、B和D的值范围为[1‑8],序列C的值范围为[0‑1];(5)DNA的每个碱基A、C、G、T可以表示成两个二进制,按照A与T互补,C与G互补的原则,DNA编码规则如表1所示,由于序列A的取值范围是[1‑8],按照序列A的每一个值,对应地在表1中选择1‑8种规则中的一种,将I3的每一行用该种规则进行编码,I3转化成M×N行4列的DNA编码矩阵I4;表1(6)将长度为M×N×8的序列C转化成M×N行8列的二进制矩阵I5,按照序列B的每一个值,对应地在表1中选择1‑8种规则中的一种,将I5的每一行用该种规则进行编码,I5转化成M×N行4列的DNA编码矩阵I6;(7)针对表1中的DNA编码规则,每一种规则对应一种DNA加法运算,如表2是DNA编码规则1的加法运算规则,表3、表4、表5、表6、表7、表8、表9分别是DNA编码规则2、3、4、5、6、7、8的加法运算规则,权利要求2中的序列z={z1,z2,...,zM×N×4},取值范围为[1‑8],按照序列z的每一个值,对应地在表1中选择1‑8种规则中的一种,再按照对应的加法运算规则,使矩阵I4、I6进行加法运算,得到矩阵I7;(8)按照序列D的每一个值,对应地在表1中选择1‑8种规则中的一种,将I7每一行的DNA编码用二进制表示,I7转化成大小为M×N行8列的二进制矩阵I8;(9)把二进制矩阵I8转换成M行N列的十进制二维矩阵I9,最后再把二维矩阵I9转换成加密图像I′并保存输出。...

【技术特征摘要】
1.一种基于动态DNA编码和双混沌映射的图像加密算法,包括以下步骤:输入灰度图像I,大小为M行N列,Lorenz混沌映射的初值x,y,z,Chen超混沌映射的初值x,y,z,q,参数k;输出加密图像I',加密图像的处理过程包括:(1)将灰度图像I转换成大小为M×N的二维矩阵...

【专利技术属性】
技术研发人员:张健侯德智任洪娥
申请(专利权)人:东北林业大学
类型:发明
国别省市:黑龙江;23

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

1