1.基于自更新变换、双随机三维矩阵置乱和DNA计算的图像加密方法,其特征在于,包括:步骤1:将给定的初始值(x0,y0,z0,u0)带入4D忆阻混沌系统中生成混沌序列X、Y、Z和U,根据给定的明文图像P(M×N)计算得到明文图像哈希值;
步骤2:根据所述哈希值分别从所述混沌序列X、Y、Z和U中选择元素组成新的混沌序列X1、Y1、Z1和U1;
步骤3:根据所述混沌序列X1和所述哈希值对明文图像P(M×N)进行自更新变换,得到自更新变换后图像P3;
步骤4:根据所述混沌序列Y1和所述哈希值生成DNA编码规则序列,利用所述DNA编码规则序列对所述图像P3进行DNA动态编码,得到DNA序列P5(1×4MN);
步骤5:将所述DNA序列P5(1×4MN)转化为三维DNA矩阵P6(lr×lr×lr);
步骤6:根据所述混沌序列Z1生成三维正交拉丁立方体Lz1,根据所述哈希值计算得到三维猫映射的初始值和参数,并生成三维猫映射序列Mp;
步骤7:利用所述三维正交拉丁立方体Lz1和所述三维猫映射序列Mp构建双随机三维矩阵置乱规则,对所述三维DNA矩阵P6(lr×lr×lr)进行置乱,得到置乱后的三维矩阵P7;
步骤8:利用所述DNA编码规则序列对所述混沌序列U1进行DNA动态编码,得到密钥矩阵U2,利用所述密钥矩阵U2对所述三维矩阵P7中的待扩散平面进行平面扩散,得到扩散后的三维DNA矩阵P8(lr×lr×lr);
步骤9:对所述三维DNA矩阵P8(lr×lr×lr)进行DNA动态解码,然后转化成大小为M×N的二维矩阵,作为密文图像C。
2.根据权利要求1所述的方法,其特征在于,所述步骤1中的根据给定的明文图像P(M×N)计算得到明文图像哈希值包括:计算明文图像P(M×N)的SHA 256哈希值hv;
将所述哈希值hv平均分成八组,并将每组元素转化为十进制数,记为k1、k2、k3、k4、k5、k6、k7和k8。
3.根据权利要求2所述的方法,其特征在于,所述步骤2包括:步骤2.1:利用公式(2)分别生成选择参数T1、T2、T3和T4:步骤2.2:从混沌序列X、Y、Z和U中,分别选择从第T1+1到第T1+4MN、从第T2+1到第T2+4MN、从第T3+1到第T3+4MN和从第T4+1到第T4+4MN之间的元素,得到新的混沌序列X1、Y1、Z1和U1。
4.根据权利要求2所述的方法,其特征在于,所述步骤3包括:步骤3.1:利用4D忆阻混沌系统生成矩阵W(M×N),利用所述矩阵W(M×N)对明文图像P(M×N)进行异或操作来更新图像,得到更新后的图像P1;
步骤3.2:根据公式(4)计算得到滤波方向参数Dir,根据Dir的值在所述图像P1中添加随机数得到图像P2:Dir=1+k5 mod 4 (4)
步骤3.3:根据公式(5)对所述混沌序列X1进行量化操作,得到新的序列X2:X2(n)=mod[floor(X1(n)×1014),256],n∈[0,4MN-1] (5)步骤3.4:从所述序列X2中随机选取3MN个数,记为X3,然后将所述序列X3转化成MN个大小为1×3或3×1的矩阵W1,接着将所述矩阵W1中三位数的最后一个元素的值置为1,得到新的矩阵W2;
步骤3.5:根据Dir的值确定滤波方向,利用所述矩阵W2对所述图像P2按照所述滤波方向进行卷积运算,经过卷积运算后,得到运算后的图像P3(M×N)。
5.根据权利要求4所述的方法,其特征在于,所述步骤3.2中的根据Dir的值在所述图像P1中添加随机数得到图像P2,具体为:当Dir=1时,在所述图像P1的左侧添加两列大小均为M的随机数,得到图像P2(M×(N+
2));
当Dir=2时,在所述图像P1的右侧添加两列大小均为M的随机数,得到图像P2(M×(N+
2));
当Dir=3时,在所述图像P1的上侧添加两行大小均为N的随机数,得到图像P2((M+2)×N);
当Dir=4时,在所述图像P1的下侧添加两行大小均为N的随机数,得到图像P2((M+2)×N);
相应地,所述步骤3.5具体为:
当Dir=1时,利用所述矩阵W2对所述图像P2按照从左到右的方向进行滤波;
当Dir=2时,利用所述矩阵W2对所述图像P2按照从右到左的方向进行滤波;
当Dir=3时,利用所述矩阵W2对所述图像P2按照从上到下的方向进行滤波;
当Dir=4时,利用所述矩阵W2对所述图像P2按照从下到上的方向进行滤波。
6.根据权利要求2的方法,其特征在于,所述步骤4包括:步骤4.1:按照公式(6)生成DNA编码规则序列De:De=1+mod[floor(Y1×1010+k4),8] (6)步骤4.2:对所述图像P3的像素进行二进制分解,将所述图像P3转化成一维的大小为1×
8MN的二进制序列P4;
步骤4.3:根据De对所述二进制序列P4进行DNA编码,得到DNA序列P5(1×4MN)。
7.根据权利要求1的方法,其特征在于,所述步骤5包括:步骤5.1:计算 的值,若l的值是正整数,跳转到步骤5.5,否则执行步骤5.2;
步骤5.2:定义R=r3,在S=M×N×4中寻找满足条件R
步骤5.3:构建n个大小为r×r×r的立方体,然后跳转到步骤5.6;
步骤5.4:若步骤5.1和步骤5.2中的条件均不满足,无法直接构建出立方体时,则对图像P3(M×N)进行添零,然后跳转到步骤4重新开始;
步骤5.5:构建一个大小为l×l×l的立方体;
步骤5.6:输出构建好的立方体,输出的立方体即为三维DNA矩阵P6(lr×lr×lr)。
8.根据权利要求2所述的方法,其特征在于,所述步骤6中的根据所述哈希值计算得到三维猫映射的初始值和参数,具体为:步骤6.1:利用哈希值k7计算参数ax、ay和az:当k7mod3=0时,
当k7mod3=1时,
当k7mod3=2时,
步骤6.2:利用哈希值k8计算参数bx、by和bz:当k8mod3=0时,
当k8mod3=1时,
当k8mod3=2时,
步骤6.3:利用哈希值k1至k6计算初始值mx0、my0和mz0:其中,x、y和z表示4D忆阻混沌系统的状态变量。
9.根据权利要求1所述的方法,其特征在于,所述步骤7中的利用所述三维正交拉丁立方体Lz1和所述三维猫映射序列Mp构建双随机三维矩阵置乱规则,具体为:步骤7.1:根据P6(lr×lr×lr)的位置序列(i,j,k)和Lz1的位置序列Lz1(i,j,k),按照公式(17)建立对应关系:步骤7.2:根据P6(lr×lr×lr)的位置序列(i,j,k)和Mp的位置序列Mp(i,j,k),按照公式(18)建立对应关系:步骤7.3:按照公式(19)建立随机位置序列 和随机位置序列之间的映射关系:
其中,(i,j,k)表示P6(lr×lr×lr)中的元素位置, 表示(i,j,k)对应在Lz1中的随机位置; 表示(i,j,k)对应在Mp中的随机位置。
10.根据权利要求6所述的方法,其特征在于,所述步骤8包括:步骤8.1:利用所述DNA编码规则序列按照公式(20)对所述混沌序列U1进行DNA动态编码,得到密钥矩阵U2:U2=DNA_enc(mod[floor(U1×1014),4],De) (20)其中,DNA_enc(a,b)表示利用序列b对序列a中元素进行DNA编码操作;
步骤8.2:根据公式(21)计算得到扩散平面参数Pm,根据Pm的值确定三维矩阵P7中的待扩散平面Q:Pm=1+(k1+k3+k5)mod3 (21)步骤8.3:利用公式(22)和(23)对Q进行DNA扩散:Pd=1+cemod3 (22)其中,ce表示三维矩阵P7的平面数信息,1≤ce≤lr, 表示异或运算。