一种动态概率和空频域复合的图像选择性加密和解密方法与流程

文档序号:13767119阅读:来源:国知局
技术特征:1.一种动态概率和空频域复合的图像选择性加密方法,其特征在于包括以下步骤:第1步:记待加密图像为A=(ai,j)m×n且ai,j∈{0,1,…,255},设置加密次数t,t>0,初始迭代控制参数k=1,选定初始参数μ0∈[3.57,4]以及设定加密判断阈值δ,δ>0,记A的MD5值和SHA-1值分别为16进制数序列SMD5=<m0,m1,…,m31>和SSHA-1=<s0,s1,…,s39>,将SMD5和SSHA-1串联为16进制数序列Sms=SMD5||SSHA-1=<smi>72并初始化加密事件下标索引序列Sid为Sid=<0,1,…,5>,其中“||”为比特位串串联操作符;第2步:将Sms映射为16进制序列Sh=<h0,h1,…,h39>;第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=<p0,p1,p2,p3,p4>,由Sp构造(0,1)范围内的区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>,从而得到概率区间[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所落入的概率区间,执行对应的空域和频域置换加密操作,然后对加密后的矩阵小块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=<msi>72中的元素进行更新操作;第12步:若k≤t时,更新k=k+1,反复执行第2步~第11步;第13步:将A=(ai,j)m×n输出作为加密图像。2.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第2步将Sms映射为Sh=<h0,h1,…,h39>的具体方法为式(1):Sh=Draw(Sms,start,gap,|Sh|)(1)式(1)中,Draw()为序列元素抽取函数,其中start为抽取起点,gap为跳过的样本数,|Sh|为Sh中元素数量,即从Sms循环抽取|Sh|个16进制数作为Sh,start,gap分别由式(2)和式(3)映射得到:第3步将Sh均分成四部分的具体方法为式(4):第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=<p0,p1,p2,p3,p4>的具体方法为将μ0作为系统参数,xinit作为初始值带入式(7)迭代5次产生的5个随机数作为序列Sp=<p0,p1,p2,p3,p4>xi+1=μxi(1-xi)(7);第5步中由Sp构造(0,1)范围内的区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>的具体方法为将Sp中元素按递增顺序排列得到区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>。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=<msi>72中的元素进行更新操作的具体方法为:先用X0,Y0,Z0按式(21)生成xinit,然后将xinit,μ0代入式(7)迭代产生随机序列SR=<ri>72,按式(23)对Sms=<msi>72中的元素进行更新操作;xinit=(X0+X0Y0+X0Y0Z0)mod1(21)xi+1=μxi(1-xi)(7)7.与权利要求1相对应的一种动态概率和空频域复合的图像选择性解密方法,其特征在于包括以下步骤:第1步:由用户输入密钥μ0∈[3.57,4],SMD5,SSHA-1,加密次数t,t>0和加密图像C,初始迭代控制参数k=0,输入加密判断阈值δ,δ>0,将SMD5和SSHA-1串联为16进制数序列Sms=SMD5||SSHA-1=<smi>72并初始化加密事件下标索引序列Sid=<0,1,…,5>和中间密钥参数序列SX>,SY>,SZ>,Sx>,S′p>,Sid>为空序列;第2步:将Sms映射为16进制序列Sh=<h0,h1,…,h39>;第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=G′0,Yinit=G′1,xinit=G′2,将xinit作为序列Sx>中的第k个元素第5步:将μ0作为系统参数,xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp=<p0,p1,p2,p3,p4>,由Sp构造(0,1)范围内的区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>,从而得到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,μ映射为[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=<msi>72中的元素进行更新操作;第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个元素作为下标索引序列,以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=<h0,h1,…,h39>的具体方法为式(1):Sh=Draw(Sms,start,gap,|Sh|)(1)式(1)中,Draw()为序列元素抽取函数,其中start为抽取起点,gap为跳过的样本数,|Sh|为Sh中元素数量,即从Sms循环抽取|Sh|个16进制数作为Sh,start,gap分别由式(2)和式(3)映射得到:第3步将Sh均分成四部分的具体方法为式(4):第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=<p0,p1,p2,p3,p4>的具体方法为将μ0作为系统参数,xinit作为初始值带入式(7)迭代5次产生序列Sp=<p0,p1,p2,p3,p4>:xi+1=μxi(1-xi)(7);第5步中由Sp构造(0,1)范围内的区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>的具体方法为将Sp中元素按递增顺序排列得到区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>。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=<msi>72中的元素进行更新操作的具体方法为:先用X0,Y0,Z0按式(21)生成xinit,然后将xinit,μ0代入式(7)迭代产生随机序列SR=<ri>72,按式(23)对Sms=<msi>72中的元素进行更新操作;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所对应的方差。当前第2页1 2 3 
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1