1.一种动态概率和空频域复合的图像选择性加密方法,其特征在于包括以下步骤:第1步:记待加密图像为A=(ai,j)m×n且ai,j∈{0,1,…,255},i=0,1,…,m-1,j=0,
1,…,n-1,设置加密次数t,t>0,初始迭代控制参数k=1,选定初始参数μ0∈[3.57,4]以及设定加密判断阈值δ,δ>0,记A的MD5值和SHA-1值分别为16进制数序列SMD5=
第2步:将Sms映射为16进制序列Sh=
第3步:将Sh均分成 四部分,然后将 转换为(0,1)范围
内的10进制小数Gi,i=0,1,…,3;
第4步:将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G′0,G′1,G′2,将G′0,G′1,G′2作为密钥参数Xinit,Yinit,xinit,即Xinit=G′0,Yinit=G′1,xinit=G′2;
第5步:将初始参数μ0作为系统参数,密钥参数xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp= ,从而得到概率区间[0,p′0),[p′0,p′1),[p′1,p′2),[p′2,p′3),[p′3,p′4),[p′4,1];
第6步:将密钥参数Yinit,μ0映射为μ1∈[3.57,4],由Xinit和μ1分别作为初始值和系统参数迭代产生(0,1)范围内的中间密钥参数Zinit;
第7步:将Xinit,Yinit,Zinit作为初始值,迭代1次产生3个实值随机数依次作为参数X0,Y0,Z0;
第8步:将X0,Y0映射为待加密图像A=(ai,j)m×n上的随机点(r0,v0);
第9步:将(r0,v0)作为起点,从待加密图像A=(ai,j)m×n筛选出Min=(mu,w)4×4,计算Min的映射值Map(Min),若Map(Min)≥δ则执行第10步,反之将xinit作为概率判断值P,将X0,Y0,Z0的映射值作为变换参数v,根据P所落入的概率区间和Sid,执行对应的空域和频域置换加密操作,然后对加密后的矩阵小块Mout计算映射值Map(Mout);若Map(Mout)<δ,则将Mout中的像素依次作为待加密图像A=(ai,j)m×n对应位置的像素,反之将Min中像素直接作为待加密图像A=(ai,j)m×n对应位置像素;
第10步:利用X0,Y0,Z0对Sid进行重排更新;
第11步:利用X0,Y0,Z0对初始参数μ0和Sms=
第12步:若k≤t时,更新k=k+1,反复执行第2步~第11步;
第13步:将A=(ai,j)m×n输出作为加密图像。
2.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第2步将Sms映射为Sh=
第3步将 转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3的具体方法为式(5),式(5)中,[]是四舍五入取整函数:
3.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第4步将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G′0,G′1,G′2的具体方法为将G0,G1,G2分别作为式(6)的输入参数,代入式(6)迭代1次产生3个序列值G′0,G′1,G′2;
第5步将μ0作为系统参数,xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp=
第5步中由Sp构造(0,1)范围内的区间划分序列S′p=
的具体方法为将Sp中元素按递增顺序排列得到区间划分序列S′p=
。
4.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第6步将Yinit,μ0映射为μ1∈[3.57,4]的具体方法为式(8):第6步由Xinit和μ1分别作为初始值和系统参数迭代产生(0,1)范围内的中间密钥参数Zinit的具体方法为将Xinit和μ1分别作为式(7)中的初始值和系统参数按式(7)迭代1次作为中间密钥参数Zinit;
xi+1=μxi(1-xi) (7);
第7步将Xinit,Yinit,Zinit作为初始值,迭代1次产生3个随机数依次作为参数X0,Y0,Z0的具体方法为将Xinit,Yinit,Zinit作为式(9)的初始值,迭代式(9)1次产生3个随机数依次作为参数X0,Y0,Z0,式(9)系统参数取a=b=0.2,c=5.7;
5.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第8步将X0,Y0映射为待加密图像A=(ai,j)m×n上的随机点(r0,v0)的具体方法为式(10),式(10)中 为向下取整运算符;
第9步将(r0,v0)作为起点,从待加密图像A=(ai,j)m×n筛选出4×4的矩阵小块Min=(mu,w)4×4的具体方法为式(11):
第9步计算Min的映射值Map(Min)的具体方法为按式(12)计算Min的方差:第9步对加密后的矩阵小块Mout计算映射值Map(Mout)的具体方法为按式(12)同样的方法计算Mout的方差;
第9步中将X0,Y0,Z0的映射值作为变换参数v的具体方法为式(13):第9步中执行对应的空域和频域置换加密操作的具体方法为式(14):
Mout=Encrypt(Min,v,P,f,Sid,S′p) (14)式(14)中,f={f0,f1,…,f5}是加密事件集合,Sid是f的加密事件下标索引序列,S′p为区间划分序列,加密事件集合f对应6组加密事件,其中f0,f1,f2空域置换盒加密事件,如式(15)所示,f3,f4,f5变换域置换盒加密事件,如式(16)所示,f0,f1,…,f5所对应的置换盒Px0,Px1,…,Px5如式(17)所示;
式(15)中,Mcode是Min的编号矩阵,记Min中的元素mu,w在Mcode中的编号为id,则Permute0()函数执行的功能是将mu,w移动到Pxi中元素值为(id+v)mod16的坐标位置;
式(16)中,MH是哈达码变换阵,记Mtemp中的元素mtu,w在Mcode中的编号为id且id≠×,Permute1()执行的操作是将mtu,w移动到Pxi中元素值为(id+v)mod16+1的坐标位置,同Permute0()的区别是Permute1()在变换过程中,Mtemp中(0,0)位置的元素,即id=×的元素始终保持在(0,0)位置不发生位置改变;
6.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第10步利用X0,Y0,Z0对Sid进行重排更新的具体方法为将X0,Y0,Z0按式(18)和式(19)映射为start,gap,然后按式(20)对事件索引序列Sid进行更新:Sid=Draw(Sid,start,gap,|Sid|) (20);
第11步中利用X0,Y0,Z0对初始参数μ0更新的具体方法为式(22):第11步中对Sms=
xinit=(X0+X0Y0+X0Y0Z0)mod1 (21)xi+1=μxi(1-xi) (7)
7.与权利要求1相对应的一种动态概率和空频域复合的图像选择性解密方法,其特征在于包括以下步骤:
第1步:由用户输入密钥μ0∈[3.57,4],SMD5=
第2步:将Sms映射为16进制序列Sh=
第3步:将Sh均分成 四部分,然后将 转换为(0,1)范围
内的10进制小数Gi,i=0,1,…,3;
第4步:将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G0′,G1′,G2′,将G0′,G1′,G2′作为密钥参数Xinit,Yinit,xinit,即Xinit=G0′,Yinit=G1′,xinit=G2′,将xinit作为序列Sx>中的第k个元素第5步:将μ0作为系统参数,xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp= ,从而得到6个概率区间[0,p′0),[p′0,p′1),[p′1,p′2),[p′2,p′3),[p′3,p′4),[p′4,1],将p′0,p′1,p′2,p′3,p′4作为序列S′p>中第5k,5k+1,…,5k+4个元素第6步:将Yinit,μ0映射为[3.57,4]范围内的μ1,将Xinit和μ1分别作为初始值和系统参数迭代1次的映射值作为中间密钥参数Zinit;
第7步:由Xinit,Yinit,Zinit作为初始值代入混沌系统迭代1次产生3个实值随机数X0,Y0,Z0,并将X0,Y0,Z0依次分别作为SX>,SY>,SZ>中的第k个元素第8步:利用X0,Y0,Z0对Sid进行更新,将Sid中的所有元素依次作为Sid>中第6k,6k+1,…,
6k+5个元素
第9步:利用X0,Y0,Z0对μ0和Sms=
第10步:若k≠t更新k=k+1,反复执行第2步~第9步,可得到序列第11步:将SX>,SY>第k-1个元素 映射为C=(ci,j)m×n上的随机点(r0,v0),将SZ>序列中的第k-1个元素 和 映射为变换参数v;
第12步:将(r0,v0)作为起点,从C=(ci,j)m×n筛选出4×4矩阵小块Min=(mu,w)4×4,计算Min的映射值Map(Min),若Map(Min)≥δ,则当k≠0时更新k=k-1,执行第11步,当k=0时执行第
14步,若上述条件Map(Min)≥δ不被满足,取Sx>第k-1个元素 作为概率判断值P,利用S′p>第5k-5,5k-4,…,5k-1个元素 构造概率区间取Sid>第6k-6,6k-5,…,
6k-1个元素 作为Sid,以v为变换参数,根据P所落入的概率区间,将矩阵小块Min=(mu,w)4×4解密为矩阵小块Mout;
第13步:计算Mout对应的映射值Map(Mout),若Map(Mout)<δ,则将Mout中的元素依次作为C=(ci,j)m×n对应位置的像素,反之将Min中元素作为C=(ci,j)m×n对应位置的像素,当k≠0时更新k=k-1,反复执行第11步~第13步;
第14步:将C=(ci,j)m×n输出作为解密图像。
8.如权利要求7所述的一种动态概率和空频域复合的图像选择性解密方法,其特征在于:第2步中将Sms映射为序列Sh=
第3步将 转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3的具体方法为式(5),[]是四舍五入取整函数:
第4步将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G′0,G′1,G′2的具体方法为将G0,G1,G2分别作为式(6)的输入参数,代入式(6)迭代1次产生3个序列值G′0,G′1,G′2;
第5步中将μ0作为系统参数,xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp=
第5步中由Sp构造(0,1)范围内的区间划分序列S′p=
的具体方法为将Sp中元素按递增顺序排列得到区间划分序列S′p=
。
9.如权利要求7所述的一种动态概率和空频域复合的图像选择性解密方法,其特征在于:第6步将Yinit,μ0映射为[3.57,4]范围内的μ1的具体方法为式(8):第6步将Xinit和μ1分别作为初始值和系统参数迭代1次的映射值作为中间密钥参数Zinit的具体方法为使用式(7):xi+1=μxi(1-xi) (7);
第7步由Xinit,Yinit,Zinit作为初始值代入混沌系统迭代1次产生3个实值随机数X0,Y0,Z0的具体方法为将Xinit,Yinit,Zinit作为式(9)的初始值,式(9)系统参数取a=b=0.2,c=5.7,迭代式(9)1次产生3个实值随机值X0,Y0,Z0:第8步利用X0,Y0,Z0对Sid进行更新的具体方法为将X0,Y0,Z0按式(18)和式(19)映射为start,gap,然后按式(20)对Sid进行更新,其中 为向下取整运算符:Sid=Draw(Sid,start,gap,|Sid|) (20);
第9步利用X0,Y0,Z0对μ0进行更新的具体方法为式(22):
第9步对Sms=
xinit=(X0+X0Y0+X0Y0Z0)mod1 (21)xi+1=μxi(1-xi) (7)
10.如权利要求7所述的一种动态概率和空频域复合的图像选择性解密方法,其特征在于:第11步中将SX>,SY>第k-1个元素 映射为C=(ci,j)m×n上随机点(r0,v0)的具体方法为式(24):第11步将SZ>序列中的第k-1个元素 和 映射为变换参数v的具体方法为式(25):
第12步将(r0,v0)作为起点,从C=(ci,j)m×n筛选出4×4的矩阵小块Min=(mu,w)4×4的具体方法为式(26):第12步计算Min的映射值Map(Min)的具体方法为按式(12)计算出Min所对应的方差:第12步中将矩阵Min=(mu,w)4×4解密为矩阵Mout的具体方法为式(27):Mout=Decryption(Min,v,P,f′,Sid,S′p>) (27)式(27)中,f′={f′0,f′1,…,f′5}是解密事件集合,f′对应6组解密事件,其中f′0,f′1,f′2空域置换盒解密事件,如式(28)所示,f′3,f′4,f′5变换域置换盒解密事件,如式(29)所示,f′0,f′1,…,f′5所对应的置换盒Px0,Px1,…,Px5如式(17)所示:式(28)中,Mcode是编号矩阵,记Min中的元素mu,w在Pxi中的编号为id,则 函数执行的功能是将mu,w移动到Mcode中元素编号为(id-v+16)mod16的坐标位置;
式(29)中,MH是哈达码变换阵,Permute1-1()执行的操作是将在Pxi中的编号为id≠×的元素mtu,w移动到Mcode中编号为(id-v+16)mod16+1的坐标位置,id=×的元素始终保持在(0,0)位置不发生位置改变;
第13步计算Mout对应的映射值Map(Mout)的具体方法为按式(12)同样的方法计算Mout所对应的方差。