1.基于量子混沌映射和DNA编码的图像加密方法,包括以下步骤:输入:灰度图像I,大小为M行N列,M和N为正整数,Lorenz混沌系统的参数u,v,w和初值x0,y0,z0,量子Logistic混沌系统的参数β,r和初值X1,X2,X3,X4,Y1,Y2,Y3,Y4,Z1,Z2,Z3,Z4;
输出:加密图像I′;
(1)将灰度图像I转换成大小为M×N的二维矩阵I1;
(2)采用量子Logistic混沌映射产生四组混沌序列,根据量子Logistic混沌映射公式* *
其中β是耗散参数,r是控制参数,X,Y,Z为复数,X ,Z分别为X,Z的复共轭;将X,Y,Z都取实数,则迭代后的所有值也都是实数,初值和参数的取值分别为X∈* *
[0,1],Y∈[0,0.1],Z∈[0,0.2],X=X,Z=Z,β∈[6,+∞)和r∈[0,4];根据给定的四组不同的初值,Xn经过迭代得到四个序列,分别记为a={a1,a2,...,aM×2},b={b1,b2,...,bN×2},c={c1,c2,...,cM×N×4},d={d1,d2,...,dM×N×4},其中序列a,b,c,d的长度分别为M×2,N×8
2,M×N×4,M×N×4;将序列分别作如下操作:a(i)=mod(fix(a(i)×10),M)+1;b(i)=
8 8
mod(fix(b(i)×10),N)+1;c(i)=mod(fix(c(i)×10),8)+1;d(i)=mod(fix(d(i)×8
10),8)+1,其中,fix表示向下取整操作,mod表示取余,操作后随机序列a中的内容变为[1~M]的随机数,将随机序列b中的内容变为[1~N]的随机数,将随机序列c,d中的内容变为[1~8]的随机数;根据序列a中的前M个值将图像I1的每行进行移位,根据序列b中的前N个值将移位后的图像的每列再进行移位,然后再根据序列a的后M个值对每行进行移位,根据序列b的后N个值对每列进行移位,经过四次移位操作使图像充分置乱,产生新的置乱后的图像I2;
(3)将图像I2转换成为M×N的二进制二维矩阵I3,即I3中的每个元素为I2中对应元素的二进制;
(4)根据Lorenz混沌映射产生三组随机序列,根据Lorenz混沌公式其中u=10,v=8/3,w=28,x0,y0,z0为初始值,分别取值为大于零的实数, 为迭代后的值,产生三个随机序列,分别记为x={x1,x2,…,xM×N×4},y={y1,y2,…,yM×N×16},z={z1,z2,…,zM×N×4},序列x和z的长度为M×N×4,序列y的长度为M×N×16,分别对这三个随机序列序列x,y和z进行如下操作:x=mod
10 10
(fix((abs(x)‑fix(abs(x)))×10 ),8)+1,y=mod(fix((abs(y)‑fix(abs(y)))×10 ),
10
2),z=mod(fix((abs(z)‑fix(abs(z)))×10 ),8)+1,其中abs表示取绝对值操作,fix表示向下取整操作,mod为取余操作,通过上述公式可将序列x和z变为[1‑8]的随机数,将序列y变为[0‑1]的随机数;
(5)根据步骤(2)序列c中的值,随机选择表1中的DNA编码规则,对步骤(3)中二进制矩阵I3的每两位二进制数进行DNA编码,产生DNA矩阵I4;
(6)根据步骤(2)序列c中的值,随机选择表1中的DNA编码规则,对步骤(4)中序列y的前M×N×8个二进制序列的每两位进行DNA编码,产生自然DNA矩阵I5;
(7)根据步骤(4)序列x中的值随机选择8种DNA加法规则,将两个DNA矩阵I4,I5相加,得到DNA矩阵I6;
(8)根据步骤(2)序列c中的值,随机选择表1中的DNA编码规则,对步骤(4)中序列y的后M×N×8个二进制序列的每两位进行DNA编码,产生自然DNA矩阵I7;
(9)根据步骤(4)中序列z中的值随机选择8种DNA异或规则,将两个DNA矩阵I6,I7异或得到DNA矩阵I8;
(10)根据步骤(2)中序列d中的值,随机选择表1中的DNA编码规则,对步骤(9)中DNA矩阵I8进行解码得到二进制矩阵I9;
(11)将二进制矩阵I9转为十进制矩阵I10,然后将I10转换为加密图像I′;
(12)将DNA的每个碱基A、C、G、T表示成两个二进制,按照A与T互补,C与G互补的原则,DNA编码规则如表1所示;针对表1中的DNA编码规则,每一种规则对应一种DNA加法运算,如表2是DNA编码规则1的加法运算规则,表3、表4、表5、表6、表7、表8、表9分别是DNA编码规则
2、3、4、5、6、7、8的加法运算规则,表10‑表17为表1中对应的DNA异或规则。
表1