1.一种懒尺度变换和随机分层融合的图像加密方法,其特征在于,包括以下步骤:第1步:输入分辨率为m×n的p阶灰度图像A=(ai,j)m×n,ai,j∈{0,1,…,2p-1},由A的明文属性和用户密钥以及轮迭代次数Q产生长度为Q的轮随机数序列ks=(k0,k1,…,kQ-1),初始化加密轮参数QC=0;
第2步:由ks中的第QC个随机数kQC产生随机整数矩阵S=(si,j)m×n,si,j∈{0,1,…,2p-
1}、N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn、随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1}、随机整数编号矩阵和随机偏移量l=(l0,
l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1};
第3步:由A与S进行模差运算得到差值矩阵D=(di,j)m×n,然后将D转换为N维空间矩阵第4步:由B对DN中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN,其中,i0∈{0,1,…,ω0-1},i1∈{0,1,…,ω1-1},…,iN-1∈{0,1,…,ωN-1-1};
第5步:对于 反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′,然后交换e和e′位置的DN元素直至SDN中的全部元素处理完毕,从而将DN置乱为N维空间置乱矩阵第6步:将 由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D′=(d′i,j)m×n,然后将D′和S进行融合加密,作为第QC轮加密后的图像A′;
第7步:更新QC=QC+1,若QC=Q,则输出A′作为最终加密图像,反之则执行第2步至第6步。
2.如权利要求1所述的一种懒尺度变换和随机分层融合的图像加密方法,其特征在于:第1步中,选取的A的明文属性是A的MD5值SMD5=(m0,m1,…,m31)和SHA-1值SSHA-1=(s0,s1,…,s39);
第1步中,由明文属性和用户密钥以及轮迭代次数Q产生长度为Q的轮随机数序列ks=(k0,k1,…,kQ-1)的具体方法为:
输入用户密钥k∈(0,1),将k∈(0,1)作为初始值x0,按式(1)映射为1个10进制小数G∈[3.57,4],然后将G作为式(2)系统参数μ,将x0代入式(2),驱动式(2)产生长度为Q的(0,1)范围的随机数序列ks=(k0,k1,…,kQ-1),其中,msi是将SMD5和SSHA-1中的元素进行串联所得到的16进制元素序列ms=(msi)72中的第i个元素xn+1=μxn(1-xn) (2)。
3.如权利要求1所述的一种懒尺度变换和随机分层融合的图像加密方法,其特征在于:第2步的方法是:
将ks中的第QC个随机数kQC作为x0,按式(1)生成G,将G作为式(2)系统参数μ,将x0代入式(2),驱动式(2)产生(0,1)范围随机数序列cs=(c0,c1,…,c4),然后由cs=(c0,c1,…,c4)产生随机整数矩阵S=(si,j)m×n,si,j∈{0,1,…,2p-1}、N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn、随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1}、随机整数编号矩阵和随机偏移量l=(l0,l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1}。
4.如权利要求3所述的一种懒尺度变换和随机分层融合的图像加密方法,其特征在于:第2步中,由cs=(c0,c1,…,c4)产生随机整数矩阵S=(si,j)m×n,si,j∈{0,1,…,2p-1}、N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn、随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1}、随机整数编号矩阵和随机偏移量l=(l0,
l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1}的具体方法是:将c0作为初始值x0,按式(1)生成G,然后将G作为系统参数μ,驱动式(2)产生(0,1)范围与A等大的随机矩阵X=(xi,j)m×n,然后将X按式(3)量化随机整数矩阵S=(si,j)m×n;
将c2作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵z=(zi,j)N×N,然后按式(7)量化为随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1}:将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵然后按式(8)量化得到随机编号矩阵:
将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1):由c1产生N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn的具体方法包括以下步骤:第2.1步:初始化N=0,u=0,L=m·n,将c1作为x0;
第2.2步:按式(1)生成G,将x0和G代入式(2)产生(0,1)范围的随机数,记为yu,然后按式(4)将其量化为整数γu∈(1,L),将yu作为x0;
第2.3步:若L为非质数,则反复执行第2.2步,直至γu满足式(5)的约束,则将γu作为ωu,并按式(6)更新L,N=N+1,u=u+1;
L mod γu=0 (5)L=L/γu (6)第2.4步:若L为质数,则将ωu=L,N=N+1,并输出ω0,ω1,…,ωN-1和N。
5.如权利要求1所述的一种懒尺度变换和随机分层融合的图像加密方法,其特征在于:第3步中,由A与S进行模差运算得到差值矩阵D=(di,j)m×n的具体方法是式(10);
D=(A-S+2p)mod 2p (10)第3步中,将D转换为 的具体方法是:按式(11)计算坐标(i,j)对应的索引k,然后按式(12)对 赋值,从而将D转换为1维序列 其中i=0,1,…,m-
1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D1转换为 其中k=i·n+j (11)第4步中,由B对DN中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN的具体方法是:将 中的 按由小到大的顺序排列DN元素坐标(i0,i1,…,iN-1)并作为1维序列SDN。
6.如权利要求1所述的一种懒尺度变换和随机分层融合的图像加密方法,其特征在于:第5步中,以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′的具体方法是式(14),其中ω=(ω0,ω1,…,ωN-1);
e′=(C·e+l)mod ω (14)第5步中,交换e和e′位置的DN元素的具体方法是式(15),其中e=(e0,e1,…,eN-1),e′=(e′0,e′1,…,e′N-1);
第6步中,将D′N由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D′的具体方法是:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,通过 将转换为 然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而通过 将 转换为D′=(d′ij)m×n,其中k=0,1,…,mn-1,i0∈{0,1,…,ω0-
1},i1∈{0,1,…,ω1-1},…,iN-1∈{0,1,…,ωN-1-1};
k=i0+i1·ω0+i2·ω0·ω1+…+iN-1·ω0·ω1…ωN-2 (16)第6步中,将D′和S进行融合加密的具体方法是式(18):
A′=(D′+S)mod 2p (18)。
7.一种懒尺度变换和随机分层融合的图像解密方法,其特征在于,包括以下步骤:第1步:输入分辨率为m×n的p阶灰度待解密图像A′=(a′i,j)m×n,a′i,j∈{0,1,…,2p-1}和解密图像对应的明文属性,由明文属性和用户密钥以及轮迭代次数Q产生长度为Q的轮随机数序列ks=(k0,k1,…,kQ-1),并初始化加密轮参数QC=Q-1;
第2步:由ks中的第QC个随机数kQC产生随机整数矩阵S=(si,j)m×n,si,j∈{0,1,…,2p-
1}、N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn、随机变换阵C=(ci,j)N×N,ci,jp∈{0,1,…,2-1}、随机整数编号矩阵
和随机偏移量l=(l0,
l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1};
第3步:由A′与S进行模差运算得到差值矩阵D′=(d′i,j)m×n,然后将D′转换为N维空间置乱矩阵第4步:由B对D′N中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN,其中i0∈{0,1,…,ω0-1},i1∈{0,1,…,ω1-1},…,iN-1∈{0,1,…,ωN-1-1};
第5步:初始化N维顺序坐标矩阵 对于
反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′,然后交换CDN中e和e′对应的坐标位置的元素直至处理完SDn中所有元素,根据CDN中坐标的映射关系fg将D′N逆置乱为第6步:将DN由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D=(di,j)m×n,然后将D和S进行融合解密,作为第QC轮解密后的图像A′;
第7步:更新QC=QC-1,若QC<0,则输出A′作为最终解密图像A,反之则执行第2步至第6步。
8.如权利要求7所述的一种懒尺度变换和随机分层融合的图像解密方法,其特征在于:第1步中,输入的明文属性为解密图像的MD5值SMD5=(m0,m1,…,m31)和SHA-1值SSHA-1=(s0,s1,…,s39);
第1步中,由明文属性和用户密钥以及轮迭代次数Q产生长度为Q的轮随机数序列ks=(k0,k1,…,kQ-1)的具体方法为:由用户输入密钥k∈(0,1),将密钥k∈(0,1)作为初始值x0,按式(1)映射为1个10进制小数G∈[3.57,4],然后将G作为式(2)系统参数μ,将x0代入式(2),驱动式(2)产生长度为Q的(0,1)范围的随机数序列ks=(k0,k1,…,kQ-1);
xn+1=μxn(1-xn) (2)第2步的方法是:
将ks中的第QC个随机数kQC作为x0,按式(1)生成G,将G作为式(2)系统参数μ,将x0代入式(2),驱动式(2)产生(0,1)范围随机数序列cs=(c0,c1,…,c4),然后由cs=(c0,c1,…,c4)产p生随机整数矩阵S=(si,j)m×n,si,j∈{0,1,…,2-1}、N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn、随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1}、随机整数编号矩阵和随机偏移量l=(l0,l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1}。
9.如权利要求8所述的一种懒尺度变换和随机分层融合的图像解密方法,其特征在于:第2步中,由cs=(c0,c1,…,c4)产生随机整数矩阵S=(si,j)m×n,si,j∈{0,1,…,2p-1}、N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn、随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1}、随机整数编号矩阵和随机偏移量l=(l0,
l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1};
由c0产生随机整数矩阵S=(si,j)m×n的具体方法是:将c0作为初始值x0,按式(1)生成G,然后将G作为系统参数μ,驱动式(2)产生(0,1)范围与密图像素矩阵等大的随机矩阵X=(xi,j)m×n,然后将X按式(3)量化随机整数矩阵S=(si,j)m×n;
由c1产生N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn的具体方法,包括以下步骤:第2.1步:初始化N=0,u=0,L=m·n,将c1作为x0;
第2.2步:按式(1)生成G,将x0和G代入式(2)产生(0,1)范围的随机数,记为yu,然后按式(4)将其量化为整数γu∈(1,L),将yu作为x0;
第2.3步:若L为非质数,则反复执行第2.2步,直至γu满足式(5)的约束,则将γu作为ωu,并按式(6)更新L,N=N+1,u=u+1;
L mod γu=0 (5)L=L/γu (6)第2.4步:若L为质数,则将ωu=L,N=N+1,并输出ω0,ω1,…,ωN-1和N;
将c2作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵z=(zi,l)N×N,然后按式(7)量化为随机像素矩阵C=(ci,l)N×N,ci,j∈{0,1,…,2p-1};
将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵然后按式(8)量化得到随机编号矩阵:
将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1):
10.如权利要求7所述的一种懒尺度变换和随机分层融合的图像解密方法,其特征在于:
第3步中,由A′与S进行模差运算得到差值矩阵D′=(d′ij)m×n的具体方法是式(19):p p
D′=(A′+2-S)mod 2 (19)第3步中,将D′转换为 的具体方法是:按式(11)计算坐标(i,j)对应的索引k,然后按式(20)对 赋值,从而将D′转换为1维序列 其中i=0,
1,…,m-1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D′1转换为 其中k=i·n+j (11)第4步中,由B对D′N中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN的具体方法是:将 中的 按由小到大的顺序排列,将其作为1维序列SDN;
第5步中,以c为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′的具体方法是式(14),其中ω=(ω0,ω1,…,ωN-1);
e′=(C·e+l)mod ω (14)第5步中,交换CDN中e和e′对应的坐标位置的元素的具体方法是式(21),其中e=(e0,e1,…,eN-1),e′=(c′0,e′1,…,e′N-1);
第5步中,根据CDN中坐标建立的映射关系fg为式(22):第5步中,利用fg将D′N逆置乱为 的具体方法为:
寻找 的下标(i0,i1,…,iN-1)在fg中的映射位置 记 为(i″0,i″1,…,i″N-1),按式(23)进行交换;当所有的D′N中的元素交换完毕后,将交换后的D′N记为第6步中,将DN由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D的具体方法是:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,从而通过 将DN转换为 然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而通过 将转换为D=(di,j)m×n,其中k=0,1,…,mn-1,i0∈{0,1,…,ω0-1},i1∈{0,1,…,ω1-1},…,iN-1∈{0,1,…,ωN-1-1};
k=i0+i1·ω0+i2·ω0·ω1+…+iN-1·ω0·ω1…ωN-2 (16)第6步中,将D和S进行融合解密的具体方法是式(24):
p
A′=(D+S)mod 2 (24)。