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

文档序号:13767119阅读:151来源:国知局
本发明属于信息安全和数字图像信号处理交叉研究领域,涉及一种图像加密和解密方法,特别涉及一种动态概率和空频域复合的图像选择性加密和解密方法。
背景技术
:传统图像加密通常针对的是整幅图像,用于将整幅图像转换为面目全非的随机密图,不仅带来了高昂的计算代价,也掩盖了待加密图像几乎除大小以外的所有特征。在很多实际应用中,往往不需对整幅图像进行加密,而仅需对图像选定的比特位面、区域和部分像素进行加密,并且在加密的同时需提供原始图像的部分特征来给潜在的用户以更多体验,从而换取更大的商业利益,而这些加密图像所保留的图像特征,还可进一步用于图像分类、检索和识别等,从而相对于传统图像加密,具备更多的使用价值。这种仅对图像选定的比特位面、区域和部分像素加密的方法,被称为选择性加密。针对选择性图像加密,目前比较典型的选择性图像加密方法主要有:①对选取的部分比特位面或比特位进行选择性加密。例如,RehmanAU,2015.(RehmanAU,LiaoX,KulsoomA,etal.SelectiveencryptionforgrayimagesbasedonchaosandDNAcomplementaryrules[J].MultimediaToolsandApplications,2015,74(13):4655-4677)对待加密图像的高低位比特位面通过不同的DNA序列加密。KulsoomA,2016.(KulsoomA,XiaoD,Aqeel-ur-Rehman,etal.AnefficientandnoiseresistiveselectiveimageencryptionschemeforgrayimagesbasedonchaoticmapsandDNAcomplementaryrules[J].MultimediaToolsandApplications,2016,75(1):1-23.)进一步引入图像的MD5值来提高RehmanAU,2015所述策略的抗选择明文攻击能力。MoonD,2006.(MoonD,ChungY,PanSB,etal.Anefficientselectiveencryptionoffingerprintimagesforembeddedprocessors[J].ETRIjournal,2006,28(4):444-452.)将像素的LSB作为随机密钥流与高位比特位进行异或加密来掩盖待加密图像特征,并通过保密LSB来提高所述策略的安全性。VanogenbroeckM,2002.(VanogenbroeckM,BenedettR.Techniquesforaselectiveencryptionofuncompressedandcompressedimages[C]//inProceedingsofAdvancedConceptsforIntelligentVisionSystems(ACIVS)2002.2002:90-97.)利用与密图等大的2值随机密钥对选定的比特位面进行逐位异或加密。钟鸣,2008.(钟鸣,廖晓峰,周庆.一种基于四叉树的空域图像选择加密算法[J].计算机工程,2008,34(18):174-178.)将图像选定的比特位面划分为8×8小块,通过改变小块的位置关系和交换8×8小块4叉树同层分解结点的位置顺序来对选定的比特位面进行加密。XiangT,2007.(XiangT,WongK,LiaoX.Selectiveimageencryptionusingaspatiotemporalchaoticsystem[J].Chaos:AnInterdisciplinaryJournalofNonlinearScience,2007,17(2):415-427.)采用基于斜帐篷映射的1维耦合映射格子对选中的比特位面进行选择性加密,并通过调整待加密的显著比特位面数量在安全性和加密性能上进行折中。HoangT,2014.(HoangT,Tran,D.Cryptanalysisandsecurityimprovementforselectiveimageencryption[J].EuropeanPhysicalJournalSpecialTopics,2014,223(8):1635-1646.)对XiangT,2007的安全性进行了分析,通过改变每个像素参与加密的显著比特位数来提高所述策略的安全性。RehmanAU,2015,KulsoomA,2016,MoonD,2006,VanogenbroeckM,2002,钟鸣,2008,XiangT,2007和HoangT,2014都是基于比特位面或比特位的选择性图像加密。不同的是RehmanAU,2015和KulsoomA,2016对高低位比特位面采用了不同的加密策略;MoonD,2006是将低位比特位面作为对高位比特位面异或加密的密钥;VanogenbroeckM,2002,钟鸣,2008和XiangT,2007是对选中的比特位面进行加密;HoangT,2014对不同的像素进行不同数量的比特位加密。基于比特位面和比特位的选择性加密策略可通过调整加密的比特位面和加密比特位的数量来调整待加密图像的视觉质量,若加密数量过多,则趋于传统图像加密,若仅对显著位或显著位面进行加密,则丧失图像的辨识特征,若仅对不显著比特位面加密,则无法有效地降低图像的视觉质量。若将LSB作为密钥,则在传输过程中易于破坏,导致加密图像无法恢复。对于灰度或彩色图像,仅有有限个可供选择的比特位面,通过选择不同的比特位面来对图像加密代价和加密图像的视觉质量进行调控,所能起到的调控作用十分有限。②对图像像素和像素块进行筛选,对筛选出的像素和像素块进行选择性加密。例如,赵亮,2010.(赵亮,廖晓峰,向涛等.基于Z矩阵映射和选择加密的彩色图像退化算法研究.物理学报[J],2010,59[3]:1507-1523.)给出了基于像素随机筛选模版和像素信息熵的图像退化加密方法。林杨菲,2015.(林杨菲,叶少珍.一种医学影像数据选择性的加密方法.电子技术应用[J],2015,41(3):107-110.)利用图像分块的像素和来对加密的像素块进行筛选,通过SCAN语言和图像Hash值对筛选出的像素块进行加密。WenW,2015.(WenW,ZhangY,FangZ,etal.Infraredtarget-basedselectiveencryptionbychaoticmaps[J].OpticsCommunications,2015,341:131–139.)利用几何活动轮廓和偏微分方程对红外图像的目标区域进行筛选,然后对筛选出的像素块进行加密。KhashanOA,2014.(KhashanOA,ZinAM,SundararajanEA.Performancestudyofselectiveencryptionincomparisontofullencryptionforstillvisualimages[J].JournalofZhejiangUniversitySCIENCEC,2014,15(6):435-444.)对图像划分的不重叠分块计算像素和,根据像素和设定阈值之间的关系筛选出blowfish加密的像素块。ZhangT,2013.(ZhangT,El-LatifA,HanQ,etal.SelectiveEncryptionforCartoonImages[C]//IntelligentHuman-MachineSystemsandCybernetics(IHMSC),20135thInternationalConferenceon.IEEE,2013,2:198-201.)利用可伸缩形状上下文筛选出卡通图像中待加密的重要信息块。AyoupAM,2015.(AyoupAM,HusseinAH,AttiaMAA.Efficientselectiveimageencryption[J].MultimediaToolsandApplications,2015:1-16.)对筛选出的信息熵最大块进行AES加密。MehtaG,2014.(MehtaG,DuttaMK,Travieso-GonzalezCM,etal.Edgebasedselectiveencryptionschemeforbiometricdatausingchaotictheory[C]//ContemporaryComputingandInformatics(IC3I),2014InternationalConferenceon.IEEE,2014:383-386.)仅对边缘检测筛选出的显著块进行加密,并通过加密向量来对显著块和非显著块进行区分。赵亮,2010,WenW,2015,KhashanOA,2014,MehtaG,2014,ZhangT,2013,AyoupAM,2015和MehtaG,2014都是对图像上筛选出的像素和像素块进行选择性加密,在筛选时需设定筛选阈值来筛选出对应的像素和像素块,由于加密前后像素块通常不对应,为保持加密策略的可恢复性,一般需保证加密筛选特征不发生变化或通过记录和嵌入加密参数来对加密和未加密的像素和像素块进行区分。对于前者,通常仅能选择固定的加密特征,例如信息熵或仅能采用简单的加密策略来保证加密特征不发生变化;对于后者,存储额外的加密参数通常需要较高的存储代价。③对用户选定的敏感区域进行选择性加密。RavishankarKC,2006.(RavishankarKC,VenkateshmurthyMG.Regionbasedselectiveimageencryption[C]//Computing&Informatics,2006.ICOCI'06.InternationalConferenceon.ieee,2006:1-6.)将用户选定的敏感区域划分为不重叠的小块,对包含敏感区域的小块进行选择性加密。OuY,2007.(OuY,SurC,RheeKH.Region-basedselectiveencryptionformedicalimaging[M]//FrontiersinAlgorithmics.SpringerBerlinHeidelberg,2007:62-73.)对用户指定敏感区域进行AES解密。RavishankarKC,2006和OuY,2007都是对用户选定的感兴趣区域进行选择性加密,在解密时,需提供事先选定的敏感区域,由此也带来了额外的存储代价。④对图像特定的频域系数进行选择性加密。汪丽华,2010.(汪丽华,廖晓峰,向涛等.基于小波变换的图像人工退化算法[J].计算机工程,2010,36(16):203-207.)将原始图像转换为不同频率成分的小波域子图像,通过对高频部分添加乘性噪声和加性噪声来对图像进行频域选择性加密。NidhiTaneja,2011.(NidhiTaneja,BalasubramanianRaman,IndraGupta.Selectiveimageencryptioninfractionalwaveletdomain[J].AEU-InternationalJournalofElectronicsandCommunications,2011,65(4):338-344.)在分数阶傅里叶变换域,对能量分量大于阈值的子频带进行Arnold位置置换和异或加密。汪丽华,2010和NidhiTaneja,2011都是将图像转换至频域,选择特定的频域系数进行加密,在频域,选取重要程度不同的频域系数可有效地调控图像视觉质量,但同时对频域系数加密也会改变频域系数的幅值空间,从而导致空域像素溢出和无法正确解密。除了上述问题以外,选择性图像加密也存在传统图像加密所存在的安全问题,例如置换和混淆过程的松耦合,具体的加密策略与待加密图像无关等问题。技术实现要素:本发明目的在于克服现有技术缺陷,提供一种动态概率和空频域复合的图像选择性加密和解密方法,所设计的加密事件包括空域和频域置换操作以提高加密效率和避免频域系数溢出对恢复图像视觉质量的影响,同时可通过预先设定的加密阈值对图像视觉质量进行控制。为实现上述目的,本发明采用以下技术方案:一种动态概率和空频域复合的图像选择性加密方法,包括以下步骤:第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均分成四部分,然后将i=0,1,…,3转换为(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步将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)映射得到:start=(Σi=031Σj=08(mi+si+j))mod|Sms|---(2)]]>gap=(Σi=031Σj=08misi+j)mod|Sms|---(3);]]>第3步将Sh均分成四部分的具体方法为式(4):Shi=<hi,hi+1,...,hi+9>,i=0,1,...,3---(4);]]>第3步将i=0,1,…,3转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3的具体方法为式(5),式(5)中,[]是四舍五入取整函数:Gi=Σj=09[10h9i+j/17]×10-j-1,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;xi+1=xiα,0≤xi<α1-xi1-α,α≤xi<1---(6);]]>第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>。进一步,第6步将Yinit,μ0映射为μ1∈[3.57,4]的具体方法为式(8):μ1=(0.43×Yinit+3.57)·μ0---(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;X·i+1=-Yi-ZiY·i+1=Xi+aYiZ·i+1=b+Zi(Xi-c)---(9).]]>进一步,第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):mu,w=ar0+u,v0+w,u,w=0,1,...,3---(11);]]>第9步计算Min的映射值Map(Min)的具体方法为按式(12)计算Min的方差:Map(Min)=116Σu=03Σv=03(mu,v-116Σu=03Σv=03mu,v)2---(12);]]>第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)所示;fi:|Mout=Permute0(Min,Mcode,Pxi,v),i=0,1,2;Mcode=0123456789101112131415---(15)]]>式(15)中,Mcode是Min的编号矩阵,记Min中的元素mu,w在Mcode中的编号为id,则Permute0()函数执行的功能是将mu,w移动到Pxi中元素值为(id+v)mod16的坐标位置;fi:Mtemp=MHMinMHMtemp=Permute1(Mtemp,Mcode,Pxi,v)Mout=116MHMtempMH,i=3,4,5;MH=11111-11-111-1-11-1-11---(16)]]>式(16)中,MH是哈达码变换阵,记Mtemp中的元素mtu,w在Mcode中的编号为id且id≠×,Permute1()执行的操作是将mtu,w移动到Pxi中元素值为(id+v)mod16+1的坐标位置,同Permute0()的区别是Permute1()在变换过程中,Mtemp中(0,0)位置的元素,即id=×的元素始终保持在(0,0)位置不发生位置改变;Px0=1514131243211501106789,Px1=0781516914251013341112,Px2=0149325108761115141312,Px3=×281031119121446151375,Px4=×145327612138915141110,Px5=×135278104912136111415---(17).]]>进一步,第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):μ0=0.43(X0Y0+Z0Y0+X0Z0)mod1)+3.57---(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)一种动态概率和空频域复合的图像选择性解密方法,包括以下步骤:第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均分成四部分,然后将i=0,1,…,3转换为(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,将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步,可得到序列SX>=<Xi>>t,SY=<Yi>>t,SZ>=<Zi>>t,Sx>=<xi>>t,Sp>′=<pi′>>5t,Sid>′=<sidi>>6t;]]>第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输出作为解密图像。进一步,第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)映射得到:start=(Σi=031Σj=08(mi+si+j))mod|Sms|---(2)]]>gap=(Σi=031Σj=08misi+j)mod|Sms|---(3);]]>第3步将Sh均分成四部分的具体方法为式(4):Shi=<hi,hi+1,...,hi+9>,i=0,1,...,3---(4);]]>第3步将i=0,1,…,3转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3的具体方法为式(5):Gi=Σj=09[10h9i+j/17]×10-j-1,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;xi+1=xiα,0≤xi<α1-xi1-α,α≤xi<1---(6);]]>第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>。进一步,第6步将Yinit,μ0映射为[3.57,4]范围内的μ1的具体方法为式(8):μ1=(0.43×Yinit+3.57)·μ0---(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:X·i+1=-Yi-ZiY·i+1=Xi+aYiZ·i+1=b+Zi(Xi-c)---(9);]]>第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):μ0=0.43(X0Y0+Z0Y0+X0Z0)mod1)+3.57---(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)进一步,第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):mu,w=cr0+u,v0+w,u,w=0,1,...,3---(26);]]>第12步计算Min的映射值Map(Min)的具体方法为按式(12)计算出Min所对应的方差:Map(Min)=116Σu=03Σv=03(mu,v-116Σu=03Σv=03mu,v)2---(12);]]>第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)所示:fi′:|Mout=Permute0-1(Min,Mcode,Pxi,v),i=0,1,2;Mcode=0123456789101112131415---(28)]]>式(28)中,Mcode是编号矩阵,记Min中的元素mu,w在Pxi中的编号为id,则函数执行的功能是将mu,w移动到Mcode中元素编号为(id-v+16)mod16的坐标位置;fi′:Mtemp=MHMinMHMtemp=Permute1-1(Mtemp,Mcode,Pxi,v)Mout=116MHMtempMH,i=3,4,5;MH=11111-11-111-1-11-1-11---(29)]]>式(29)中,MH是哈达码变换阵,Permute1-1()执行的操作是将在Pxi中的编号为id≠×的元素mtu,w移动到Mcode中编号为(id-v+16)mod16+1的坐标位置,id=×的元素始终保持在(0,0)位置不发生位置改变;Px0=1514131243211501106789,Px1=0781516914251013341112,Px2=0149325108761115141312,Px3=×281031119121446151375,Px4=×145327612138915141110,Px5=×135278104912136111415---(17);]]>第13步计算Mout对应的映射值Map(Mout)的具体方法为按式(12)同样的方法计算Mout所对应的方差。同现有技术不同,本发明的优点主要体现在:①本发明给出了一种基于动态概率事件和空频域复合的选择性图像加密和解密方法,通过引入与待加密图像明文属性极度敏感的MD5值和SHA-1值来提高所提加密算法的明文敏感性,并通过对MD5值和SHA-1值的复合来提高单MD5值或SHA-1值的抗冲撞能力,所提方法将待加密图像的属性,所落入的概率区间,参与的加密环节,对应的变换参数紧密地耦合在了一起,从而即使采用相同的密钥,对不同的明文图像进行加密都将对应不同的加密结果。②同传统将明文转换为随机噪声的加密策略不同,所设计的加密方法仅降低图像的视觉质量,在加密的同时可保留图像的近似特征,并且这种近似特征可通过预先设定的加密阈值进行控制,从而可方便对待加密图像提取用于分类和识别的特征,同时在解密时,被加密的图像又可高质量地恢复。③传统的频域选择性加密方法在对频域系数进行加密时可能会导致空域像素值溢出,从而降低恢复出图像的视觉质量。为减少频域系数改变对恢复图像视觉质量的影响,本发明加入了加密阈值筛选策略,用于对随机选定的像素块进行加密前后阈值筛选,一旦像素块加密前后阈值筛选超过预先设定的阈值,则放弃对随机选定的像素块加密以保证图像恢复时的视觉质量,同时也对图像随机块的加密视觉质量进行约束。④本发明给出的不仅是一种基于概率加密事件的图像加密方法,而且是一种带有更新机制的图像概率加密方法。所提方法是将用户给定的密钥参数和待加密图像MD5,SHA-1值映射为不同的概率加密区间,然后由密钥参数和MD5值以及SHA-1值映射参数来对待加密像素进行随机筛选,根据所落入的不同概率区间执行不同的概率加密事件。所提方法不仅对概率区间进行更新,而且通过映射参数对概率加密事件排列顺序以及初始密钥都进行更新,再由更新后的初始密钥生成加密随机序列对MD5值以及SHA-1值组成的复合序列进行加密更新,从而不同的概率区间所对应的加密事件顺序也不完全相同且不同的加密状态相互纠缠并且紧密耦合。附图说明图1是加密流程图;图2是解密流程图;图3是待加密图像,为256×256分辨率的8位灰度图像face,图3所对应的MD5值为SMD5=<D,1,1,C,B,B,B,C,3,7,A,A,8,B,F,5,1,4,5,1,3,C,E,F,F,3,4,E,4,2,0,7>,SHA-1值为SSHA-1=<2,A,E,0,D,B,A,B,1,1,6,3,2,E,8,9,B,4,A,D,D,0,7,1,F,9,3,7,C,1,5,5,7,0,E,C,2,A,1,E>;图4是实施例:t=10000,δ=1300时加密图像,相对于图3的PSNR=22.939dB;图5是实施例:t=10000,δ=1300时解密图像,相对于图3的PSNR=50.825dB;图6是实施例:t=15000,δ=1600时加密图像,相对于图3的PSNR=21.752dB;图7是实施例:t=15000,δ=1600时解密图像,相对于图3的PSNR=48.276dB;图8是实施例:t=10000,δ=1300时,提供错误的μ值对应的(将3.989修改为3.989999998解密图像,相对于图3的PSNR=21.282dB);图9是实施例:t=10000,δ=1300时,提供错误的SMD5值(SMD5=<D,1,1,C,B,B,B,C,3,7,A,A,8,B,F,5,1,4,5,1,3,C,E,F,F,3,4,E,4,2,0,8>)对应的解密图像,相对于图3的PSNR=21.278dB;图10是实施例:t=10000,δ=1300时,提供错误的SSHA-1值(SSHA-1=<2,A,E,0,D,B,A,B,1,1,6,3,2,E,8,9,B,4,A,D,D,0,7,1,F,9,3,7,C,1,5,5,7,0,E,C,2,A,1,F>)对应的解密图像,相对于图3的PSNR为PSNR=21.253dB;图11是实施例:t=10000,δ=2500时加密图像,相对于图3的PSNR=22.352dB;图12是实施例:t=10000,δ=2500时解密图像,相对于图3的PSNR=43.642dB;图13是实施例:t=10000,δ=3500时加密图像,相对于图3的PSNR=22.049dB;图14是实施例:t=10000,δ=3500时解密图像,相对于图3的PSNR=46.990dB;图15是实施例:t=15000,δ=2500时加密图像,相对于图3的PSNR=21.415dB;图16是实施例:t=15000,δ=2500时解密图像,相对于图3的PSNR=39.739dB;图17是实施例:t=15000,δ=3500时加密图像,相对于图3的PSNR=21.092dB;图18是实施例:t=15000,δ=3500时解密图像,相对于图3的PSNR=37.506dB。具体实施方式以下结合具体实施例对本发明进行说明:以JAVAjdk1.8.0_20为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例,其中图1是加密流程图,图2是解密流程图;加密过程如下:第1步:选取图像A如图3所示,为256×256的灰度图像face,记待加密图像A=(ai,j)m×n对应的40位16进制MD5值为SMD5=<D,1,1,C,B,B,B,C,3,7,A,A,8,B,F,5,1,4,5,1,3,C,E,F,F,3,4,E,4,2,0,7>,SHA-1值为SSHA-1=<2,A,E,0,D,B,A,B,1,1,6,3,2,E,8,9,B,4,A,D,D,0,7,1,F,9,3,7,C,1,5,5,7,0,E,C,2,A,1,E>,将SMD5和SSHA-1串联为16进制数序列Sms=SMD5||SSHA-1=<smi>72并初始化加密事件下标索引序列Sid为Sid=<0,1,…,5>,设置加密次数t=10000,初始迭代控制参数k=1,选定初始参数μ0=3.989,加密判断阈值δ=1300;第2步:将Sms代入式(1)映射为16进制序列Sh=<h0,h1,…,h39>,将Sms分别代入式(2)和式(3)映射为start,gap;例如:将Sms=<D,1,1,C,B,B,B,C,3,7,A,A,8,B,F,5,1,4,5,1,3,C,E,F,F,3,4,E,4,2,0,7,2,A,E,0,D,B,A,B,1,1,6,3,2,E,8,9,B,4,A,D,D,0,7,1,F,9,3,7,C,1,5,5,7,0,E,C,2,A,1,E>代入式(1)映射为Sh=<A,E,7,2,4,0,A,B,6,9,0,C,2,B,5,4,B,5,C,F,D,D,C,1,7,3,1,1,B,4,1,0,2,1,B,E,3,7,D,9>,将Sms分别代入式(2)和式(3)可得start=43,gap=67;第3步:将Sh按式(4)均分成四部分,然后将i=0,1,…,3代入式(5)转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3;例如:可将Sh均分成Sh0=<A,E,7,2,4,0,A,B,6,9>,Sh1=<0,C,2,B,5,4,B,5,C,F>,Sh2<D,D,C,1,7,3,1,1,B,4>,]]>代入式(5)映射为:G0=0.6748477158235295,G1=0.07244421382352942,G2=0.8483371302352942,G3=0.06013199052941176;第4步:将G3作为初始参数α,把G0,G1,G2分别作为式(6)的输入参数,代入式(6)迭代1次产生3个序列值G′0,G′1,G′2,将G′0,G′1,G′2作为密钥参数Xinit,Yinit,xinit;例如:α=0.06013199052941176作为初始参数,将G0,G1,G2分别代入式(6)映射G′0=0.34595526276037764,G′1=0.9869000506772724,G′2=0.16136613677290165,Xinit=0.34595526276037764,Yinit=0.9869000506772724,xinit=0.16136613677290165;第5步:将μ0作为系统参数,xinit作为初始值带入式(7)迭代5次产生的5个随机数作为序列Sp=<p0,p1,p2,p3,p4>,将Sp中元素按递增顺序排列得到区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>;例如:μ0=3.989,xinit=0.16136613677290165代入式(7)迭代5次映射,Sp=<p0,p1,p2,p3,p4>,p0=0.5398198285301286,p1=0.9909249668295106,p2=0.035871788327397826,p3=0.13795957748394325,p4=0.4743987358004721,则可得S′p=<p′0,p′1,p′2,p′3,p′4>,即p′0=0.035871788327397826,p′1=0.13795957748394325,p′2=0.4743987358004721,p′3=0.5398198285301286,p′4=0.9909249668295106;第6步:将Yinit,μ0代入式(8)映射为μ1∈[3.57,4],将Xinit和μ1分别作为式(7)初始值和系统参数按式(7)迭代1次作为中间密钥参数Zinit;例如:将μ0=3.989,Yinit=0.9869000506772724代入式(8)可得μ1=3.9916826088662414,将Xinit=0.34595526276037764和μ1=3.9916826088662414代入式(7)可得Zinit=0.9031988978023509;第7步:将Xinit,Yinit,Zinit作为式(9)的初始值,迭代式(9)1次产生3个实值随机数依次作为参数X0,Y0,Z0,式(9)系统参数取a=b=0.2,c=5.7;例如:Xinit=0.34595526276037764,Yinit=0.9869000506772724,Zinit=0.9031988978023509由式(9)得X0=0.1755933912994469,Y0=1.0326377639685018,Z0=0.5476634933830886;第8步:将X0,Y0代入式(10)映射为加密图像为A=(ai,j)m×n上的随机点(r0,v0);例如:X0=0.1755933912994469,Y0=1.0326377639685018代入式(10),可映射为加密图像为A=(ai,j)m×n上的随机点r0=36,v0=6;第9步:将(r0,v0)作为起点,由式(11)从待加密图像A=(ai,j)m×n筛选出Min=(mu,w)4×4,将Min代入式(12)计算映射值Map(Min),若Map(Min)≥δ则执行第10步,反之将xinit作为概率判断值P,将X0,Y0,Z0代入式(13)映射变换参数v,根据P所落入的概率区间,按式(14)执行对应的空域和频域置换加密操作,然后按式(12)同样的方法计算Mout映射值Map(Mout),若Map(Mout)<δ,则将Mout中的像素依次作为待加密图像A=(ai,j)m×n对应位置的像素,反之将Min中像素直接作为待加密图像A=(ai,j)m×n对应位置的像素;例如:将(r0,v0)作为起点,由式(11)从待加密图像A=(ai,j)m×n筛选出4×4的矩阵小块Min=174180195194149165183189162159180188180166181191,]]>将Min代入式(12),由于Map(Min)=172.4375即Map(Min)<δ通过判断继续执行加密操作,P=0.16136613677290165,通过X0=0.1755933912994469,Y0=1.0326377639685018,Z0=0.5476634933830886代入式(13)映射变换参数v=10,根据P所落入的概率区间,按式(14)执行对应的空域和频域置换加密操作得到Mout=162159180180188180166195174191181194189183165149,]]>将Mout代入式(12)进行判断,Map(Mout)=172.4375即Map(Mout)<δ,则将Mout中元素依次作为待加密图像A=(ai,j)m×n对应位置像素;第10步:利用X0,Y0,Z0按式(18)和式(19)映射为start,gap,然后按式(20)对事件索引序列Sid进行更新;例如:将Sid={0,1,2,…,5}代入式(20)映射新Sid={3,1,0,2,5,4},将X0=0.1755933912994469,Y0=1.0326377639685018,Z0=0.5476634933830886分别代入式(18),(19)可得参数start=0,gap=3;第11步:利用X0,Y0,Z0代入式(22)映射初始参数μ0,再用X0,Y0,Z0按式(21)生成xinit,然后将xinit,μ0代入式(7)迭代产生随机序列SR=<ri>72,按式(23)对Sms=<msi>72中的元素进行更新操作;例如:将X0,Y0,Z0代入式(22)更新参数μ0=3.7798190064841766,由X0,Y0,Z0代入式(21)映射xinit=0.45622249450285557,将xinit,μ0代入式(7)映射随机序列SR=<ri>72,并将SR=<ri>72对Sms=<msi>72加密更新得到新的Sms=<D,5,9,2,F,8,E,1,D,1,6,F,E,D,F,D,C,7,F,B,5,6,9,3,C,C,0,D,1,8,0,9,B,D,9,0,F,1,9,8,0,2,A,B,1,9,9,A,F,7,0,A,E,C,C,B,9,D,E,9,1,8,1,6,E,6,3,5,D,3,E,E>;第12步:若k≤t时,更新k=k+1,反复执行第2步~第11步;第13步:将A=(ai,j)m×n输出作为加密图像如图4所示。解密过程如下:第1步:输入密钥μ0=3.989,加密次数t=10000,并置k=0,输入加密判断阈值δ=1300,SMD5=<D,1,1,C,B,B,B,C,3,7,A,A,8,B,F,5,1,4,5,1,3,C,E,F,F,3,4,E,4,2,0,7>,SSHA-1=<2,A,E,0,D,B,A,B,1,1,6,3,2,E,8,9,B,4,A,D,D,0,7,1,F,9,3,7,C,1,5,5,7,0,E,C,2,A,1,E>,将SMD5和SSHA-1串联为16进制数序列Sms=SMD5||SSHA-1=<smi>72并初始化加密事件下标索引序列Sid=<0,1,…,5>和中间密钥参数序列SX>,SY>,SZ>,Sx>,S′p>,Sid>为空序列,加密图像C=(ci,j)m×n如图4所示;第2步:将Sms代入式(1)映射为16进制序列Sh=<h0,h1,…,h39>,将Sms分别代入式(2)和式(3)映射start,gap;例如:将Sms=<D,1,1,C,B,B,B,C,3,7,A,A,8,B,F,5,1,4,5,1,3,C,E,F,F,3,4,E,4,2,0,7,2,A,E,0,D,B,A,B,1,1,6,3,2,E,8,9,B,4,A,D,D,0,7,1,F,9,3,7,C,1,5,5,7,0,E,C,2,A,1,E>代入式(1)映射Sh=<A,E,7,2,4,0,A,B,6,9,0,C,2,B,5,4,B,5,C,F,D,D,C,1,7,3,1,1,B,4,1,0,2,1,B,E,3,7,D,9>,其中将Sms分别代入式(2)和式(3)映射start=43,gap=67;第3步:将Sh按式(4)均分成四部分,然后将i=0,1,…,3代入式(5)转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3;例如:将Sh均分成Sh0=<A,E,7,2,4,0,A,B,6,9>,Sh1=<0,C,2,B,5,4,B,5,C,F>,Sh2<D,D,C,1,7,3,1,1,B,4>,]]>代入式(5)映射为G0=0.6748477158235295,G1=0.07244421382352942,G2=0.8483371302352942,G3=0.06013199052941176;第4步:将G3作为初始参数α,把G0,G1,G2分别作为式(6)的输入参数,代入式(6)迭代1次产生3个序列值G′0,G′1,G′2,将G′0,G′1,G′2作为密钥参数Xinit,Yinit,xinit,将xinit作为序列Sx>中的第k个元素例如:α=0.06013199052941176作为初始参数,将G0,G1,G2分别代入式(6)映射为G′0=0.34595526276037764,G′1=0.9869000506772724,G′2=0.16136613677290165即Xinit=0.34595526276037764,Yinit=0.9869000506772724,xinit=0.16136613677290165,将xinit作为序列Sx>中的第k个元素第5步:将μ0作为系统参数,xinit作为初始值带入式(7)迭代5次产生的5个随机数作为序列Sp=<p0,p1,p2,p3,p4>,将Sp中元素按递增顺序排列得到区间划分序列S′p=<p′0,p′1,p′2,p′3,p′4>,将p′0,p′1,p′2,p′3,p′4作为序列S′p>中第5k,5k+1,…,5k+4个元素例如:μ0=3.989,xinit=0.16136613677290165代入式(7)迭代5次映射Sp=<p0,p1,p2,p3,p4>,p0=0.5398198285301286,p1=0.9909249668295106,p2=0.035871788327397826,p3=0.13795957748394325,p4=0.4743987358004721,则可得到S′p=<p′0,p′1,p′2,p′3,p′4>,即p′0=0.035871788327397826,p′1=0.13795957748394325,p′2=0.4743987358004721,p′3=0.5398198285301286,p′4=0.9909249668295106,将p′0,p′1,p′2,p′3,p′4作为序列S′p>中第5k,5k+1,…,5k+4个元素第6步:将Yinit,μ0代入式(8)映射为μ1∈[3.57,4],将Xinit和μ1分别作为式(7)中的初始值和系统参数按式(7)迭代1次作为中间密钥参数Zinit;例如:μ0=3.989,Yinit=0.9869000506772724代入式(8)映射μ1=3.9916826088662414,由Xinit=0.34595526276037764,μ1=3.9916826088662414代入式(7)可得:Zinit=0.9031988978023509;第7步:将Xinit,Yinit,Zinit作为式(9)的初始值,迭代式(9)1次产生3个实值随机数依次作为参数X0,Y0,Z0,式(9)系统参数取a=b=0.2,c=5.7,并将X0,Y0,Z0依次分别作为SX>,SY>,SZ>中的第k个元素例如:Xinit=0.34595526276037764,Yinit=0.9869000506772724,Zinit=0.9031988978023509代入式(9)迭代1次映射X0=0.1755933912994469,Y0=1.0326377639685018,Z0=0.5476634933830886,将X0,Y0,Z0依次分别作为SX>,SY>,SZ>中的第k个元素第8步:利用X0,Y0,Z0按式(18)和式(19)映射为start,gap,然后按式(20)对事件索引序列Sid进行更新,将Sid中的所有元素依次作为Sid>中第6k,6k+1,…,6k+5个元素例如:将Sid={0,1,2,…,5}代入式(20)映射新Sid={3,1,0,2,5,4},其中将X0=0.1755933912994469,Y0=1.0326377639685018,Z0=0.5476634933830886分别代入式(18),(19)映射参数start=0,gap=3,将Sid中的所有元素依次作为Sid>中第6k,6k+1,…,6k+5个元素第9步:利用X0,Y0,Z0代入式(22)映射初始参数μ0,再用X0,Y0,Z0按式(21)生成xinit,然后将xinit,μ0代入式(7)迭代产生随机序列SR=<ri>72,按式(23)对Sms=<msi>72中的元素进行更新操作;例如:将X0,Y0,Z0代入式(22)更新参数μ0=3.7798190064841766,由X0,Y0,Z0代入式(21)映射xinit=0.45622249450285557,将xinit,μ0代入式(7)映射随机序列SR=<ri>72,并将SR=<ri>72对Sms=<msi>72加密更新得到新的Sms=<D,5,9,2,F,8,E,1,D,1,6,F,E,D,F,D,C,7,F,B,5,6,9,3,C,C,0,D,1,8,0,9,B,D,9,0,F,1,9,8,0,2,A,B,1,9,9,A,F,7,0,A,E,C,C,B,9,D,E,9,1,8,1,6,E,6,3,5,D,3,E,E>;第10步:若k≠t更新k=k+1,反复执行第2步~第9步,可得到序列SX>=<Xi>>t,SY>=<Yi>>t,SZ>=<Zi>>t,Sx>=<xi>>t,Sp>′=<pi′>>5t,Sid>′=<sidi>>6t;]]>第11步:将SX>,SY>第k-1个元素代入式(24)映射为待解密图像C=(ci,j)m×n上的随机点(r0,v0),将SZ>序列中的第k-1个元素和一起代入式(25)映射为变换参数v;例如:Xk-1>=0.49326206612700085,Yk-1>=0.5897724640770899]]>代入式(24)映射待解密图像C=(ci,j)m×n上的随机点r0=238,v0=52,将和代入式(25)映射v=1;第12步:将(r0,v0)作为起点,按式(26)从待解密图像C=(ci,j)m×n筛选出4×4矩阵小块Min=(mu,w)4×4,按式(12)计算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所落入的概率区间,按式(27)将矩阵小块Min=(mu,w)4×4解密为矩阵小块Mout;例如:将(r0,v0)作为起点,按式(26)从待解密图像C=(ci,j)m×n筛选出4×4的矩阵小块Min=112126128133137101941261251341411199712712290,]]>将Min代入式(12)进行判断,由于Map(Min)=239.75即Map(Min)<δ,则将Sx>第k-1个元素作为概率判断值P=0.31040996788505415,利用S′p>第5k-5,5k-4,…,5k-1个元素p5k-5′>=0.011020580623130416,p5k-4′>=0.04347661930175354,p5k-3′>=0.49773757775175714]]>p5k-2′>=0.8538678670736659,p5k-1′>=0.99872295820863812]]>构造概率区间取Sid>第6k-6,6k-5,…,6k-1个元素sid6k-6>=2,sid6k-5>=5,sid6k-4>=4,sid6k-3>=3,sid6k-2>=1,sid6k-1>=0]]>作为下标索引序列,以v=1为变换参数,根据P所落入的概率区间,将矩阵小块Min=(mu,w)4×4代入式(27)解密为矩阵小块Mout=1121381131371441461171251231141079512911310695;]]>第13步:按式(12)同样的方法计算Mout对应的映射值Map(Mout),若Map(Mout)<δ,则将Mout中的元素依次作为加密图像C=(ci,j)m×n对应位置的像素,反之将Min中像素作为加密图像C=(ci,j)m×n对应位置的像素,当k≠0时更新k=k-1,反复执行第11步~第13步;例如:将Mout代入式(12),由于Map(Mout)=237.484375即Map(Mout)<δ,则将Mout中像素依次作为加密图像C=(ci,j)m×n对应位置的像素;第14步:将C=(ci,j)m×n输出作为解密图像如图5所示。图6是加密次数分别为t=15000,δ=1600加密图像,图7是对应解密图像,从图6可看出本发明方法加密图像相对于原图尽管可以辨识,但视觉质量整体较差,从图7可看出解密图像相对于原图视觉质量清晰,具备一定的应用价值;图8~10分别为修改其中之一对应的解密图像;从解密图像可看出本发明方法,对用户提供的密钥和待加密图像特性极度敏感,若提供错误的参数,将导致解密图像视觉质量下降,解密图像视觉质量较为模糊;图11,13,15,17分别是不同加密次数t,δ时所对应的加密图像实施例,图12,14,16,18是与之对应的解密图像实施例,从解密图像视觉质量上可看出,通过控制t,δ,可得到不同视觉质量的解密图像,从而具备更为广阔的应用价值。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1