[发明专利]基于动态DNA编码和双混沌映射的图像加密算法有效
申请号: | 201610289828.2 | 申请日: | 2016-05-05 |
公开(公告)号: | CN105956991B | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 张健;侯德智;任洪娥 | 申请(专利权)人: | 东北林业大学 |
主分类号: | G06T1/00 | 分类号: | G06T1/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150040 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于动态DNA编码和双混沌映射的图像加密算法,分为两部分:一部分是通过Lorenz混沌映射产生的混沌序列对图像进行像素位置的置乱;同时,Lorenz混沌映射也作为动态选择DNA运算规则的依据;另一部分是通过Chen超混沌映射和DNA编码对图像进行像素值的置乱;最后通过以上两部分的结合得到图像的加密算法,该算法可以对任意大小的图像进行加密。 | ||
搜索关键词: | 基于 动态 dna 编码 混沌 映射 图像 加密算法 | ||
【主权项】:
1.一种基于动态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,…N,z(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′并保存输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北林业大学,未经东北林业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610289828.2/,转载请声明来源钻瓜专利网。
- 上一篇:整体铆接摩擦片装置
- 下一篇:一种通用型大容量图像无损信息隐藏算法