1.基于混沌系统和DNA动态编码的量子图像加密算法,包括以下步骤:
输入:灰度图像I,大小为M行N列(M=2n,N=2n,n是正整数),Lorenz混沌系统的参数a,b,c和初值x,y,z,Logistic混沌系统的参数μ1,μ2和初值x0,y0;
输出:加密图像|I″>;
(1)将灰度图像I转换成大小为M×N(M=2n,N=2n,n是正整数)的二维矩阵I;
(2)灰度图像的量子编码,对于一幅2n×2n(n是正整数)的灰度图像,I中每个像素的灰度值范围均为[0,255]之间,设第k个像素的灰度值为ck,其中k=0,1,2,...,22n-1,可量子编码表示为 图像的位置描述为|k>,灰度值描述为|ck>,其中i为虚数单位,φk=2π×randk(k=0,1,2,...,
22n-1),其中随机数randk采用Logistic混沌产生,根据Logistic混沌映射公式xn+1=μ1xn(1-xn),给定参数μ1和初值x0迭代产生,参数和初值的范围分别为3.5699456<μ1≤4,0<x0<1,
2n
这时可迭代出来一个序列 使randk=xk(k=0,1,2,...,2 -1);
(3)Logistic混沌对量子图像置乱,利用Logistic混沌公式yn+1=μ2yn(1-yn),其中参数和初值的范围分别为3.5699456<μ2≤4,0<y0<1,可迭代出来一个序列再由步骤(2)中的ck计算出 将 按照混沌序列
的大小进行重新排序得到新的序列 然后将新序列
与原序列 对应元素作差得到Δθk(k=0,1,…,22n-1),差值
Δθk即为旋转角度,混沌置乱操作可通过量子比特绕轴旋转实现,在步骤(2)中表示方式下,携带像素信息的只有θk,在旋转时应保持随机数φk不变,即将|ck>向着Bloch球面上的点(0,0,-1)旋转Δθk即可,由θk和φk(k=0,1,…,22n-1),根据公式x=sinθcosφ,y=sinθsinφ,z=cosθ,可得|ck>的Bloch坐标为(xk,yk,zk),然后计算出每个点的旋转轴和旋转矩阵 其中σ=(σx,σy,σz),σx,σy,σz为泡利矩阵,分别为: I为
单位矩阵,然后再计算受控旋转门 旋转操作表示为:
(4) Lorenz混沌公式产生三组随 机序列,根据Lorenz混沌公式
其中a=10,b=8/3,c=28x,y,z为初始值,分别取值
为大于零的实数, 为迭代后的值,产生三个随机序列,分别用A、B和C表示,序列A和C的长度为M×N×4,序列B的长度为M×N×8,分别对这三个随机序列进行如下操作:A(i)=mod(fix((abs(A(i))-fix(abs(A(i))))×1010),8)+1,其中i的取值为i=1,2,3,…,M×N×4,B(i)=mod(fix((abs(B(i))-fix(abs(B(i))))×1010),2),其中i的取值为i=1,2,3,…,M×N×8,C(i)=mod(fix((abs(C(i))-fix(abs(C(i))))×1010),8)+1,其中i的取值为i=1,2,
3,…,M×N×4,其中abs表示取绝对值操作,fix表示向下取整操作,mod为取余操作,通过上述公式可将序列A变为[1-8]的随机数,将序列B变为[0-1]的随机数,将序列C变为[1-8]的随机数;
(5)Lorenz混沌对量子图像进行DNA扩散,由步骤(3)中的 计算
并将ck′转换为二进制数构成的矩阵I1,根据步骤(4)中
序列A(i)中的值,选择步骤(6)中表1的DNA编码规则,对I1中的每两位二进制数进行动态DNA编码产生DNA矩阵I2,根据步骤(4)中序列A(i)中的值,随机选择步骤(6)中表1的DNA编码规则,对步骤(4)中的序列B(i)进行动态DNA编码,生成自然DNA矩阵I3,根据步骤(4)中序列C(i)中的值,随机选择8种DNA加法操作,详见步骤(6)中表2-表9,对DNA矩阵I2和I3进行DNA加法操作,得到DNA矩阵I4,根据步骤(4)中C(i)的值,随机选择步骤(6)中表1中相应的规则进行DNA解码操作,得到二进制矩阵I5,将二进制矩阵I5转为十进制矩阵I6,然后将I6与I1对应元素相减的到差值构成的矩阵ΔI,再根据公式 计算出ΔI′,其中每个元素的取值范围为[0-π],将ΔI′转为一维数组Δδk,k=0,1,…,22n-1,由步骤(3)和步骤(2)分别得到θk′和φk,通过公式x=sinθcosφ;y=sinθsinφ;z=cosθ得到置乱后的每个点的直角坐标(x′k,y′k,z′k),计算旋转轴 计算旋转矩阵计算受控旋转门
加密后的量子图像为: 即|I″>;
(6)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的加法运算规则。
表1