CN108174053A - 一种有向面积和扑克牌映射的解密区域限定图像加密方法 - Google Patents
一种有向面积和扑克牌映射的解密区域限定图像加密方法 Download PDFInfo
- Publication number
- CN108174053A CN108174053A CN201711448324.1A CN201711448324A CN108174053A CN 108174053 A CN108174053 A CN 108174053A CN 201711448324 A CN201711448324 A CN 201711448324A CN 108174053 A CN108174053 A CN 108174053A
- Authority
- CN
- China
- Prior art keywords
- formula
- image
- random
- random number
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
- H04N1/448—Rendering the image unintelligible, e.g. scrambling
- H04N1/4486—Rendering the image unintelligible, e.g. scrambling using digital data encryption
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供一种有向面积和扑克牌映射的解密区域限定图像加密方法,首先根据解密位置最小外包获得最小外包稳定点,并通过稳定点、待加密图像MD5值和SHA‑1值以及用户密钥来产生随机三角形并通过三角形有向面积产生中间加密参数;其次利用中间加密参数产生混沌映射的初始值与参数值,驱动混沌映射产生与待加密图像等大的随机图像;最后利用混沌映射和随机图像对随机选定的待加密图像行列进行扑克牌映射置乱和全局异或加密来生成加密图像。同现有方法相比,所提方法对解密位置限定,使得加密图像仅能在特定范围才能解密,同时引入了明文属性和随机图像,使得不同加密图像经历的加密环节均不同,提高了安全性。
Description
技术领域
本发明属于图像安全和图像信号处理交叉领域,涉及一种图像加密方法,特别涉及一种有向面积和扑克牌映射的解密区域限定图像加密方法。
背景技术
数字图像加密,从本质上讲,是在加密函数与加密密钥共同作用下将有意义明文图像转换为杂乱无章的类噪声随机图像,其目的在于使所要传输的真实信息无法被直观地察觉到。
传统图像加密算法通常采用基于像素混淆或像素位置置换的加密策略,例如:彭再平,2014.(彭再平,王春华,林愿,等.一种新型的四维多翼超混沌吸引子及其在图像加密中的研究[J].物理学报,2014,63(24):240506-240506.)通过四维超混沌系统产生随机序列对图像像素值进行异或加密,Zhang X,2014.(Zhang X,Zhao Z,Wang J.Chaotic imageencryption based on circular substitution box and key stream buffer[J].SignalProcessing:Image Communication,2014,29(8):902-913.)将图像像素值通过S-box映射得到加密图像。Liu X,2016.(Liu X,Mei W,Du H.Simultaneous image compression,fusion and encryption algorithm based on compressive sensing and chaos[J].Optics Communications,2016,366:22-32.)通过Logistic映射生成的随机矩阵置乱图像像素得到加密图像。
彭再平,2014,Zhang X,2014和Liu X,2016都只运用了像素混淆或位置置乱中的一种策略对图像进行加密,但单纯图像像素混淆并不能实质地改变图像像素邻近位置相关性,单纯图像像素位置置换也不能实质地改变图像像素统计分布特性,从而在信道传输过程中重要像素易于受到攻击,像素之间的相关性也容易受到破坏。
为避免上述问题,图像加密算法一般包括置换和混淆两个环节。其中置换用于打破相邻像素间相关性,混淆用于改变图像像素统计分布特性。Parvin Z,2016.(Parvin Z,Seyedarabi H,Shamsi M.A new secure and sensitive image encryption schemebased on new substitution with chaotic function[J].Multimedia Tools andApplications,2016,75(17):10631-10648.)使用两组不同参数驱动混沌映射生成两组随机矩阵,用其中一组对图像像素位置进行置乱,另一组对像素值进行异或运算。Liu Y,2016.(Liu Y,Tong X,Ma J.Image encryption algorithm based on hyper-chaoticsystem and dynamic s-box[J].Multimedia Tools and Applications,2016,75(13):7739-7759.)通过Z型扫描对像素位置进行置乱,将置乱后图像在S-BOX上的映射值作为图像像素加密值。Zhang X,2017.(Zhang X,Wang X.Multiple-image encryption algorithmbased on mixed image element and permutation[J].Optics and Lasers inEngineering,2017,92:6-16.)将多幅图像依次分块,通过分段线性混沌映射产生的随机序列对所有图像块置乱,再用混沌系统产生与置乱图像等大的随机图像对像素进行异或加密。Jain A,2016.(Jain A,Rajpal N.A robust image encryption algorithm resistantto attacks using DNA and chaotic Logistic maps[J].Multimedia Tools andApplications,2016,75(10):5455-5472.)通过Logistic映射对图像DNA编码,然后通过高阶混沌映射对像素进行异或加密。Parvin Z,2016,Liu Y,2016,Zhang X,2017和Jain A,2016都是将置换和混淆孤立为2个松耦合加密环节,攻击者可通过选择特殊加密图像作为模板,将两个加密环节孤立开来使得置换和混淆环节失效,然后个个击破,从而破解整个加密算法。
为了避免置换和混淆的松耦合,Pareek N K,2013.(Pareek N K,Patidar V,SudK K.Diffusion-substitution based gray image encryption scheme[J].DigitalSignal Processing,2013,23(3):894-901.)引入128位外部密钥,将图像块混淆和邻近像素异或加密联系在一起。Zhang X,2016.(Zhang X,Fan X,Wang J,et al.A chaos-basedimage encryption scheme using 2D rectangular transform and dependentsubstitution[J].Multimedia Tools and Applications,2016,75(4):1745-1763.)用外部密钥将像素置换以及驱动混沌系统构造S-box进行像素映射的操作耦合起来。Hua Z,2015.(Hua Z,Zhou Y,Pun C M,et al.2D Sine Logistic modulation map for imageencryption[J].Information Sciences,2015,297:80-94.)通过外部密钥驱动二维混沌映射将图像行列置乱与像素混淆相耦合。
除了通过外部密钥将置换和混淆操作耦合以外,还可以通过像素比特位的置乱来对像素值的混淆进行耦合。Zhu H,2016.(Zhu H,Zhang X,Yu H,et al.A novel imageencryption scheme using the composite discrete chaotic system[J].Entropy,2016,18(8):276.)将待加密图像的每个比特位面用不同的随机序列置乱,将置乱后图像的每个像素进行扩散操作。Xu L,2016.(Xu L,Li Z,Li J,et al.A novel bit-level imageencryption algorithm based on chaotic maps[J].Optics and Lasers inEngineering,2016,78(21):17-25.)通过混沌映射生成的序列与图像像素高4位比特以及低4位比特之间进行异或混淆操作,再将比特位置乱得到加密图像。Tang Z,2016.(Tang Z,Song J,Zhang X,et al.Multiple-image encryption with bit-plane decompositionand chaotic maps[J].Optics and Lasers in Engineering,2016,80:1-11.)对多幅图像进行比特位分解,将所有比特位融合后分块通过埃农映射生成的随机比特矩阵将比特块置乱,再通过Logistic映射产生的随机序列对置乱比特异或加密。
Pareek N K,2013,Zhang X,2016,Hua Z,2015,Zhu H,2016,Xu L,2016,Tang Z,2016尽管通过引入外部密钥以及基于像素比特位置换混淆的图像加密方法增加了置换和混淆环节的耦合性,但使用相同的密钥对不同加密图像进行加密,导致不同待加密图像经历相同的加密环节,存在着加密算法难以抵抗恶意攻击者选取特殊的攻击模板进行攻击的风险。
要解决此问题,必须在加密算法中引入待加密图像明文属性,从而使不同加密图像对应于不同加密策略。基于此,郭毅,2015.(郭毅,邵利平,杨璐.基于约瑟夫和Henon映射的比特位图像加密算法[J].计算机应用研究,2015,32(4):1131-11356)将待加密图像明文属性SHA-1值和用户给定参数联合作为加密密钥,驱动广义Henon映射和扩展约瑟夫遍历映射来对图像进行基于像素比特位的置换和混淆紧耦合加密。杨璐,2014.(杨璐,邵利平,郭毅,等.基于迷宫置换和Logistic混沌映射的图像加密算法[J].计算机应用,2014,34(7):1902-1908.)将待加密图像MD5值与用户密钥绑定,给出基于DFS迷宫生成算法和Logistic映射的图像加密方法。结合BFS不规则区域置换能力,邵利平,2015.(邵利平,杨璐,师军.一种基于前景和背景分离的图像加密和解密方法[P].中国:CN104851070A,2015-08-19)将SHA-1值和用户密钥绑定,给出了一种基于前景和背景分离的图像加密和解密方法。为提高加密环节可变性,邵利平,2016.(邵利平,唐子龙.基于概率区间划分和动态概率事件的图像加密和解密方法[P].中国:CN105577354A,2016-05-11.)将待加密图像SHA-1值映射为不同的概率加密区间,然后由密钥参数和SHA-1值来对待加密像素进行随机筛选,根据所落入的概率区间执行对应的概率加密事件对随机选定的图像像素进行加密。
郭毅,2015,杨璐,2014,邵利平,2015以及邵利平,2016相对于传统图像加密算法,通过引入待加密图像明文特征,提高了所述策略抗选择/已知明文攻击的能力,但同传统图像加密方法:彭再平,2014,Zhang X,2014,Liu X,2016,Parvin Z,2016,Liu Y,2016,ZhangX,2017,Jain A,2016,Pareek N K,2013,Zhang X,2016,Hua Z,2015,Zhu H,2016,Xu L,2016,Tang Z,2016一样,考虑的是密钥的安全性而没有考虑解密位置的限定性,使得加密图像在任意位置都可以解密,而不是只能在特定的位置才能解密,因此存在着较大的安全隐患。
发明内容
本发明的目的在于克服现有技术缺陷,提供一种有向面积和扑克牌映射的解密区域限定图像加密解密方法,相对于传统图像加密方法,该方法对解密位置范围进行了限定,使得加密后图像仅能在特定范围内解密。同时引入了图像明文属性和与随机图像有关的随机扑克牌映射,使得不同加密图像经历的加密环节均不同,从而提高了图像加密算法的安全性。
为实现上述目的,本发明采用以下技术方案:
一种有向面积和扑克牌映射的解密区域限定图像加密方法,包括以下步骤:
第1步:记待加密图像为A=(ai,j)m×n,设定用户所在解密位置(x0,y0,z0)∈region,获取所在区域region最小外包长方体其中xmin,xmax,ymin,ymax,zmin,zmax表示cuboid对应的x轴、y轴、z轴坐标起止范围;
第2步:通过最小外包长方体cuboid计算cuboid内中心点坐标(xc,yc,zc),并根据(xc,yc,zc)和用户密钥λ0∈(0,1)产生cuboid上稳定点坐标(xs,ys,zs);
第3步:将A的MD5值SMD5=<m0,m1,…,m31>和A的SHA-1值SSHA-1=<s0,s1,…,s39>串联构成序列Sms=SMD5||SSHA-1=<msi>72,然后将序列Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3),同时通过扑克牌交叉、抽取和切牌操作将序列Sms置乱为S′ms;
第4步:将S′ms和(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z},然后通过λ0和Gx,Gy,Gz产生3组(0,1)范围内的随机数和其中IT,IT>0为消除暂态效应的迭代次数,即删除的随机数个数;
第5步:将Rx,Ry,Rz分别量化为cuboid范围内的x轴、y轴、z轴坐标值序列R′x=<r′x0,r′x1,...,r′x5>,R′y=<r′y0,r′y1,...,r′y5>,R′z=<r′z0,r′z1,...,r′z5>,并分别将R′x,R′y,R′z用于构造位于x,y、y,z、x,z平面上的随机三角形顶点序列Rx,y,Ry,z,Rx,z,若Rx,y,Ry,z,Rx,z上三点均不共线,则计算对应顶点序列所构成的三角形有向面积其中有向面积正值记为1,负值记为-1;
第6步:反复执行第5步,直至产生3组由1和-1组成的长度为256的随机序列和然后将γx,y,γy,z和γx,z映射为2值序列作为中间加密参数;
之后将γ′S分成四部分将用于生成与待加密图像A等大的随机图像而用于从待加密图像A中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
第7步:将(b′i,c′i),i=0,1,...,k-1和待加密图像A中像素与随机图像S″中坐标位置相对应,对待加密图像A的b′i行和c′i列进行扑克牌映射置乱,得到置乱后图像A′;
第8步:将A′和S″进行全局异或加密,得到全局加密图像A″=(a″i,j)m×n。
优选地,第1步中,获取所在区域region的最小外包长方体的具体方法为式(1),即region范围内每一维坐标最小值和最大值;
第2步中,由cuboid计算cuboid内中心点坐标(xc,yc,zc)的具体方法为式(2):
(xc,yc,zc)=((xmin+xmax)/2,(ymin+ymax)/2,(zmin+zmax)/2) (2)
第2步中,产生稳定点坐标(xs,ys,zs)的具体方法,包括以下步骤:
第2.1步:将中心点(xc,yc,zc)和用户密钥λ0∈(0,1)按式(3)映射生成初始参数tinit∈(0,1),将初始参数tinit和用户密钥λ0分别作为初始值t0和参数α,驱动式(4)产生(0,1)范围内随机数,将后续生成长度为40的随机数序列作为在迭代时将前IT,IT>0次生成的随机数删除;
式(4)中,ti∈(0,1)为第i次迭代值,α为变换参数,当α∈(0,1)时,式(4)处于混沌状态,具有初值敏感性;
第2.2步:将待加密图像A的SHA-1值SSHA-1=<s0,s1,…,s39>和随机数序列按式(5)和式(6)映射为6个参数αφ,βφ,φ∈{x,y,z}:
第2.3步:根据参数αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及中心点坐标(xc,yc,zc)按式(7)得到cuboid上稳定点坐标(xs,ys,zs):
φs=φmin+|αφsin(φc)+βφcos(φc)|mod(φmax-φmin),φ∈{x,y,z} (7)。
优选地,第3步中,将Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3)的具体方法为式(8):
通过扑克牌交叉、抽取和切牌操作将Sms置乱为S′ms的方法为式(9):
式(9)中,Cro()、Ext()和Cut()分别是扑克牌交叉、抽取和切牌操作。
优选地,第3步式(9)所定义的Cro()具体功能为:
第3.1a步:记sq=<e0,e1,...,el>为原始序列,取将序列sq按式(10)分成sq1和sq2两部分:
第3.1b步:从前到后依次取sq2和sq1中的p个元素进行交叉排列,即sq2中p个元素后紧跟sq1的p个元素,若剩余元素不足p个,则取剩余全部元素,直至所有元素取完;
第3.1c步:对第3.1a和第3.2a步重复q次,输出对应的结果;
第3步式(9)所定义的Ext()具体功能为:
第3.2a步:若p>q时,则交换p,q;
第3.2b步:将序列sq按p,q划分为3部分:sq1=<e0,e1,...,ep-2>,sq2=<ep-1,ep,...,eq-1>和sq3=<eq,eq+1,...,el>;
第3.2c步:按式(11)对sq1,sq2,sq3进行重新连接输出对应结果:
sq′=sq2||sq1||sq3 (11);
第3步式(9)所定义的Cut()具体功能为:
第3.3a步:将序列sq根据p分为2部分:sq1=<e0,e1,...,ep-2>,sq2=<ep-1,ep,...,el>;
第3.3b步:按式(12)对sq1,sq2进行连接;
sq′=sq2||sq1 (12);
第3.3c步:对第3.3a步和第3.3b步重复q次,输出对应结果。
优选地,第4步中,将S′ms和稳定点坐标(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z}的具体方法为式(13):
第4步中,产生3组(0,1)范围内随机数方法为:将用户密钥λ0作为初始值x0,3个10进制小数Gx,Gy,Gz作为参数μ,驱动式(14)产生3组(0,1)范围内随机序列:
xn+1=μxn(1-xn) (14);
式(14)中,xn∈(0,1)为迭代起始值,μ为变换参数,当μ∈[3.57,4]时,式(14)处于混沌状态且具有初值敏感性;
第5步中,将Rx,Ry,Rz量化为的方法为式(15):
第5步中,产生随机三角形顶点序列Rx,y,Ry,z,Rx,z的具体方法为式(16):
第5步中,判断Rx,y,Ry,z,Rx,z上3点不共线方法为式(17),(i0,j0),(i1,j1),(i2,j2)为对应的3个点;
第5步中,计算对应顶点序列所构成的三角形有向面积的具体方法为式(18):
第6步中,将γx,y,γy,z和γx,z映射为2值序列的具体方法为:按式(19)生成序列并按式(20)生成2值序列
第6步中,将γ′S分成4部分的具体方法为式(21):
第6步中,将用于生成与待加密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,…,255}的具体方法为:
将按式(22)映射为初始值x′0∈(0,1)及参数μ′0∈[3.57,4],驱动式(14)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效应,将后续生成的随机数S′=(x′i,j)m×n,x′i,j∈(0,1),按式(23)量化得到与待加密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,...,255}
式(22)中的Dec()为2进制转10进制小数函数;
第6步中,将用于从待加密图像A中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1)的具体方法为:
将按式(24)映射为初始值b0,c0∈(0,1),驱动式(25)产生k个随机数对,将前IT,IT>0次生成的随机数删除以消除暂态效应,记后续生成的k个随机数对为(bIT,cIT),(bIT+1,cIT+1),...,(bIT+k-1,cIT+k-1),再按式(26)将随机数对中的bi,ci分别进行量化得到(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
式(25)中β,η为系统控制参数,当β=1.4,η=0.3时式(25)处于混沌状态;
第7步中,将(b′i,c′i),i=0,1,...,k-1和待加密图像A中像素和随机图像S″中随机像素坐标位置相对应,对待加密图像A的b′i行和c′i列进行扑克牌映射置乱,得到置乱后的图像A′的具体方法为:
第7.1步:将(b′i,c′i)和随机矩阵S″在该位置对应值按式(27)映射为式(4)的初始值t0∈(0,1)和参数α∈(0,1)并驱动式(4)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效用:
第7.2步:记后续继续生成的随机数为tIT,tIT+1,...,tIT+70,将其中7个随机数tIT+10,tIT+20,…,tIT+70按式(28)量化得到扑克牌映射所需参数p1,p2,p3,q1,q2,q3,v,其中len(sq)为扑克牌映射输入序列的长度;
第7.3步:由p1,p2,p3,q1,q2,q3,v按式(29)对待加密图像A的b′i行置乱,然后将值tIT+70作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后扑克牌映射参数p′1,p′2,p′3,q′1,q′2,q′3,v′,然后按式(29)对c′i列置乱,遍历所有(b′i,c′i),可得到置乱后图像A′=(a′i,j)m×n;
第8步将A′和S″进行全局异或加密的具体方法为式(30):
一种有向面积和扑克牌映射的解密区域限定图像解密方法,包括以下步骤:
第1步:由用户输入待加密图像MD5值SMD5、SHA-1值SSHA-1、用户密钥λ0∈(0,1)、消除暂态效应迭代次数IT,IT>0以及加密图像A″=(a″i,j)m×n;
第2步:由用户所在解密位置坐标直接获取所在区域region的最小外包长方体再由cuboid计算cuboid内的中心点坐标(xc,yc,zc),接着将(xc,yc,zc)和用户密钥λ0∈(0,1)共同产生的随机数序列以及A的SHA-1值SSHA-1=<s0,s1,…,s39>映射为αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z};
第3步:由αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及(xc,yc,zc)得到cuboid上稳定点坐标(xs,ys,zs);
第4步:将A的MD5值SMD5和SSHA-1串联构成序列Sms=SMD5||SSHA-1=<msi>72,然后将Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3),通过扑克牌交叉、抽取和切牌操作将Sms置乱为S′ms;
第5步:将S′ms和(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z},然后通过λ0和Gx,Gy,Gz产生3组(0,1)范围内的随机数和其中IT,IT>0为消除暂态效应的迭代次数;
第6步:将Rx,Ry,Rz量化为并分别用于构造位于x,y、y,z、x,z平面上的包含3个顶点坐标的随机三角形顶点序列Rx,y,Ry,z,Rx,z,若Rx,y,Ry,z,Rx,z上的3个点不共线,则计算对应平面序列所构成的三角形面积其中三角形有向面积正值记为1,负值记为-1;
第7步:反复执行第6步,直至产生3组由1和-1组成的长度为256的随机序列和然后将γx,y,γy,z和γx,z映射为2值序列作为中间加密参数;
第8步:将γ′S分成4部分将用于生成与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,…,255};将用于从A′中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
第9步:将A″=(a″i,j)m×n通过随机图像矩阵S″进行全局异或解密,解密为A′=(a′i,j)m×n;
第10步:将(bi′,ci′),i=k-1,k-2,…,0和A′中像素和S″中随机像素坐标位置相对应,对A′的b′i行和c′i列进行扑克牌映射逆置乱,得到解密后图像A。
优选地,第2步,由用户所在解密位置坐标直接获取所在区域region的最小外包长方体的具体方法为式(1):
第2步,由cuboid计算cuboid内中心点坐标(xc,yc,zc)的具体方法为式(2):
(xc,yc,zc)=((xmin+xmax)/2,(ymin+ymax)/2,(zmin+zmax)/2) (2)
第2步,产生随机数序列的具体方法为:
将(xc,yc,zc)和λ0∈(0,1)按式(3)映射生成初始参数tinit∈(0,1),将tinit和λ0分别作为初始值t0和参数α,驱动式(4)产生(0,1)范围内随机数,在迭代时将前IT,IT>0次生成的随机数删除:
式(4)中,ti∈(0,1)为第i次迭代值,α为变换参数,当α∈(0,1)时,式(4)处于混沌状态,具有初值敏感性;
第2步,映射为αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}的具体方法为:
将待加密图像SHA-1值、SSHA-1=<s0,s1,…,s39>和随机序列分别按式(5)和式(6)映射,得到6个参数αφ,βφ,φ∈{x,y,z}:
第3步,由αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及(xc,yc,zc)得到cuboid上稳定点坐标(xs,ys,zs)的具体方法为式(7):
φs=φmin+|αφsin(φc)+βφcos(φc)|mod(φmax-φmin) (7)。
优选地,第4步中,将Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3)的具体方法为式(8):
第4步中,通过扑克牌交叉、抽取和切牌操作将Sms置乱为S′ms的方法为式(9):
式(9)中,Cro()、Ext()和Cut()分别是扑克牌交叉、抽取和切牌操作。
优选地,第5步中,将S′ms和(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z}的具体方法为式(13):
第5步中,产生3组和的具体方法为:将用户密钥λ0作为初始值x0,3个10进制小数Gx,Gy,Gz作为参数μ,驱动式(14)产生3组(0,1)范围内随机序列:
xn+1=μxn(1-xn) (14);
第6步中,将Rx,Ry,Rz量化为的具体方法为式(15):
第6步中,产生随机三角形顶点序列Rx,y,Ry,z,Rx,z的具体方法为式(16):
第6步中,判断3点不共线的方法为式(17),其中(i0,j0),(i1,j1),(i2,j2)为对应的3个点;
第6步中,计算三角形面积的具体方法为式(18):
第7步中,将γx,y,γy,z和γx,z映射为2值序列的具体方法为:按式(19)生成序列并将按式(20)生成2值序列
优选地,第8步中,将γ′S分成4部分的具体方法为式(21):
第8步中,将用于生成与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,…,255}的具体方法为将按式(22)映射为初始值x′0∈(0,1)及参数μ′0∈[3.57,4],驱动式(14)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效应,将后续生成的随机数S′=(x′i,j)m×n,x′i,j∈(0,1),按式(23)量化得到与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,...,255}:
式(22)中的Dec()为2进制转10进制小数函数;
第8步,将用于从A′中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1)的具体方法为:
将按式(24)映射为初始值b0,c0∈(0,1),将b0,c0∈(0,1)驱动式(25)产生k个随机数对,将前IT,IT>0次生成的随机数删除以消除暂态效应,记后续生成的k个随机数对为(bIT,cIT),(bIT+1,cIT+1),...,(bIT+k-1,cIT+k-1),再按式(26)将随机数对中的bi,ci分别进行量化得到(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1):
式(25)中β,η为系统控制参数,当β=1.4,η=0.3时式(25)处于混沌状态;
第9步中,将A″=(a″i,j)m×n通过随机图像矩阵S″进行全局异或解密的具体方法为式(31):
第10步中,对A′的b′i行和c′i列进行扑克牌映射逆置乱的具体方法为:
第10.1步:将(b′i,c′i)和随机矩阵S″在该位置对应值按式(27)映射为式(4)的初始值t0∈(0,1)和参数α∈(0,1)并驱动式(4)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效用;
第10.2步:记后续继续生成的随机数为tIT,tIT+1,...,tIT+70,将其中7个随机数tIT+10,tIT+20,…,tIT+70按式(28)量化得到扑克牌映射所需参数p1,p2,p3,q1,q2,q3,v,然后将值tIT+70作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后扑克牌映射参数p′1,p′2,p′3,q′1,q′2,q′3,v′
第10.3步:由p′1,p′2,p′3,q′1,q′2,q′3,v′按式(32)对A′的ci′列逆置乱,然后由p1,p2,p3,q1,q2,q3,v按式(32)对A′的b′i行逆置乱,遍历所有(bi′,c′i),得到解密图像A=(ai,j)m×n;
式(32)中,Cro-1()、Ext-1()和Cut-1()分别是扑克牌交叉、抽取和切牌操作的逆映射,记sq′=<e′0,e′1,...,e′l>是置乱序列,e′0,e′1,...,e′l是对应的序列元素,其中Cro-1(sq′,p,q)执行的具体功能是:
第10.3.1a步:取前到后依次取序列sq′中的p个元素,并将其交叉放置分别作为序列sq2′和sq1′,若剩余元素不足p个,则取剩余全部元素,直至所有元素取完;
第10.3.2a步:将得到的sq1′和sq2′按式(33)进行合并;
sq′=sq1′||sq2′ (33)
第10.3.3a步:对第10.3.1a步和第10.3.2a步重复q次,输出对应的结果;
其中,Ext-1(sq′,p,q)执行的具体功能是:
第10.3.1b步:若p>q时,则交换p,q;
第10.3.2b步:将序列sq′根据参数p,q划分为3部分:sq′1=<e0,e1,...,eq-p>,sq′2=<eq-p+1,eq-p+2,...,eq-1>和sq′3=<eq,eq+1,...,el>;
第10.3.3b步:按式(34)对sq1,sq2,sq3进行重新连接输出对应结果;
sq=sq′2||sq′1||sq′3 (34);
其中,Cut-1(sq′,p,q)执行的具体功能是:
第10.3.1c步:将序列sq′根据参数p分为2部分:sq′1=<e0,e1,...,el-p+1>,sq′2=<el-p+2,el-p+3,...,el>;
第10.3.2c步:按式(35)对sq1,sq2进行连接;
sq′=sq′2||sq′1 (35)
第10.3.3c步:对第10.3.1c步和第10.3.2c步重复q次,输出对应的结果。
与现有技术相比,本发明的有益效果是:
本发明提供的一种有向面积和扑克牌映射的解密区域限定图像加密方法,通过引入解密位置最小外包来获得最小外包稳定点,然后利用最小外包稳定点和待加密图像的MD5和SHA-1值以及用户密钥共同作用来生成中间加密参数参与图像的加密和解密过程,使得待加密图像可以在特定的范围内任意位置解密,而脱离了特定的解密范围,则由于无法产生正确的最小外包稳定点,因此即使提供正确的密钥和待加密图像MD5和SHA-1值也无法对图像进行解密。
进一步的,本发明的所有加密环节和对应的加密策略都与随机三角形有向面积对应的中间加密参数密切相关,而中间加密参数除了取决于最小外包稳定点,还与用户密钥,待加密图像的MD5值和SHA-1值有关,且引入了对变换参数极度敏感的混沌映射使得中间加密参数的一点变化都将对应于不同的加密环节并执行不同的加密操作。因此所述方法不仅限制了解密位置,还与用户密钥和待加密图像的MD5值和SHA-1值密切相关,即使在正确的解密位置,若无法提供正确的用户密钥和待加密图像的MD5值和SHA-1值,也无法对已加密图像进行解密从而无法获取有价值的重要信息。
进一步的,本发明采用了待加密图像的双哈希值进行中间加密参数生成,并且给出的加密算法同明文是强相关的,因此相对于传统的明文图像弱相关或明文图像单哈希加密算法具有更好的安全性,同时也使得不同待加密图像对应相同的MD5值和SHA-1值的概率更小,提高了抗冲撞能力。
进一步的,本发明通过引入与密图等大的随机图像来构造高效的加密策略,随机图像在本发明中有3个作用:1)根据随机找到的随机图像像素点位置坐标来对待加密图像的行列进行随机筛选;2)根据随机图像像素值来生成扑克牌映射的加密参数;3)对选定的待加密图像行列扑克牌映射加密和对待加密图像进行全局异或加密。通过随机图像,使得扑克牌映射加密的行和列不仅与随机图像像素的位置有关还与随机图像的像素值有关,因而充满变数,而随机图像本身也使得对像素行列的置乱和图像全局加密紧密的耦合在了一起。
附图说明
图1是加密流程图;
图2是解密流程图;
图3是实施例,待加密图像,分辨率为256×256的8位灰度图像Lena;
图4是实施例,待加密图像,分辨率为256×256的8位灰度图像Face;
图5是实施例,待加密图像,分辨率为256×256的8位灰度图像Man;
图6是实施例,图3对应的加密图像,分辨率为256×256的8位灰度图像,假定用户所在区域最小外包范围密钥λ0=0.663,待加密图像MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef;
图7是实施例,图4对应的加密图像,分辨率为256×256的8位灰度图像,假定用户所在区域最小外包范围密钥λ0=0.663,待加密图像MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8;
图8是实施例,图5对应的加密图像,分辨率为256×256的8位灰度图像,假定用户所在区域最小外包范围密钥λ0=0.663,待加密图像MD5值和SHA-1值0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f9a80f567fb5352e7d845c;
图9是实施例,图3对应的解密图像,分辨率为256×256的8位灰度图像,相对于图3的MSE=0,其中参数设置为:待加密图像MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,密钥λ0=0.663,稳定点坐标(xs,ys,zs)=(11,35,42),密图完全恢复;
图10是实施例,图4对应的解密图像,分辨率为256×256的8位灰度图像,相对于图4的MSE=0,其中参数设置为:待加密图像MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8,密钥λ0=0.663,稳定点坐标(xs,ys,zs)=(4,24,36),密图完全恢复;
图11是实施例,图5对应的解密图像,分辨率为256×256的8位灰度图像,相对于图5的MSE=0,其中参数设置为:待加密图像MD5值和SHA-1值分别为0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f9a80f567fb5352e7d845c,密钥λ0=0.663,稳定点坐标(xs,ys,zs)=(8,9,11),密图完全恢复;
图12是实施例,图6灰度直方图,各阶灰度分布均衡;
图13是实施例,图7灰度直方图,各阶灰度分布均衡;
图14是实施例,图8灰度直方图,各阶灰度分布均衡;
图15是实施例,将参数MD5值由0x11a53b2af5105e27c170a7d2cfb894bc修改为0x11a53b2af5105e27c170a7d2cfb894bd,而SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,密钥λ0=0.663及稳定点坐标(xs,ys,zs)=(11,35,42)不变,对图6的恢复结果,密图无法恢复;
图16是实施例,将参数SHA-1值由0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef修改为0xdb8cbb49d6572dce72a15c725e022e3dfcc7efff,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc,密钥λ0=0.663及稳定点坐标(xs,ys,zs)=(11,35,42)不变,对图6的恢复结果,密图无法恢复;
图17是实施例,将参数密钥由λ0=0.663修改为λ0=0.6631,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及稳定点坐标(xs,ys,zs)=(11,35,42)不变,对图6的恢复结果,密图无法恢复;
图18是实施例,将参数稳定点坐标由(11,35,42)修改为(10,35,42),而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及密钥λ0=0.663不变,对图6的恢复结果,密图无法恢复。
具体实施方式
以下是以JAVA jdk1.8.0_131为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例,其中图1是加密过程流程图,图2是解密过程流程图。
图像加密方法的具体实施步骤:
第1步:记待加密图像为A=(ai,j)m×n,设定用户所在解密位置(x0,y0,z0)∈region,按式(1)获取所在区域region的最小外包长方体其中xmin,xmax,ymin,ymax,zmin,zmax分别表示cuboid上对应的x轴、y轴、z轴坐标起止范围;
假设选取的待加密图像矩阵为设定用户所在解密位置(x0,y0,z0)∈region,假定按式(1)获取所在区域region的最小外包长方体其中0,42;1,55;7,75分别表示cuboid上对应的x轴、y轴、z轴坐标起止范围;
第2步:通过最小外包长方体cuboid计算cuboid内的中心点坐标(xc,yc,zc),并根据中心点坐标(xc,yc,zc)和用户密钥λ0∈(0,1)产生cuboid上的稳定点坐标(xs,ys,zs),
其中中心点坐标(xc,yc,zc)按式(2)计算,例如:按式(2)可计算出cuboid中心点坐标(xc,yc,zc)=((0+42)/2,(1+55)/2,(7+75)/2)=(21,28,41),根据中心点坐标(xc,yc,zc)和用户密钥λ0∈(0,1)产生cuboid上的稳定点坐标(xs,ys,zs)的具体步骤是:
第2.1步:将中心点坐标(xs,ys,zs)和用户密钥λ0∈(0,1)按式(3)映射生成初始参数tinit∈(0,1),将初始参数tinit和用户密钥λ0分别作为初始值t0和参数α,驱动式(4)产生(0,1)范围内的随机数,将后续生成长度为40的随机数序列作为在迭代时将前IT,IT>0次生成的随机数删除;
例如:将中心点坐标(21,28,41)和用户密钥λ0=0.663按式(3)映射生成初始参数然后将初始参数tinit和用户密钥λ0分别作为初始值t0=0.33982234177242887和参数α=0.663,驱动式(4)可产生长度为40的(0,1)范围的随机数序列,其中若取IT=1000,则将式(4)迭代产生的前1000个随机数删除,由此可产生:
第2.2步:将待加密图像A的SHA-1值和随机数序列按式(5)和式(6)映射为六个参数αφ,βφ,φ∈{x,y,z};
例如:A的SHA-1值:SSHA-1=<4,2,6,d,0,4,d,a,b,a,9,7,5,3,a,4,f,c,e,2,2,f,6,2,3,6,b,b,5,d,f,9,6,9,4,0,8,5,7,6>和随机数序列按式(5)和式(6)可映射为六个参数
第2.3步:根据参数αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及中心点坐标(xc,yc,zc)按式(7)得到cuboid上的稳定点坐标(xs,ys,zs);
例如:根据参数αx=14.0,αy=2.0,αz=56.0,βx=29.0,βy=17.0,βz=3.0,以及中心点坐标(21,28,41)按式(7)得到cuboid上的稳定点坐标即稳定点坐标(xs,ys,zs)=(16,16,18);
第3步:将待加密图像A的MD5值SMD5=<m0,m1,…,m31>和SHA-1值SSHA-1=<s0,s1,…,s39>串联并转换构成十进制序列Sms=SMD5||SSHA-1=<msi>72,然后按式(8)将序列Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3),通过扑克牌交叉、抽取和切牌操作按式(9)将序列Sms置乱为S′ms;
例如:将待加密图像A的MD5值SMD5=<7,4,3,d,3,6,8,e,2,8,d,8,a,b,0,7,5,b,0,f,8,e,a,3,0,8,7,6,4,4,4,3>和SHA-1值SSHA-1=<4,2,6,d,0,4,d,a,b,a,9,7,5,3,a,4,f,c,e,2,2,f,6,2,3,6,b,b,5,d,f,9,6,9,4,0,8,5,7,6>串联并转换构成十进制序列Sms=<7,4,3,…,4,3,4,…,5,7,6>,按式(8)将Sms映射成扑克牌映射参数: 由于v=1,因此执行式(9)的扑克牌抽取操作Ext(Sms,p,q),将Sms分为3部分:
sq1=<7,4,3,13,3,6,8,14,2,8,13,8,10,11,0,7,5>
sq2=<11,0,15,8,14,10,3,0,8,7,6,4,4,4,3,4,2,6,13,0,4,13,10,11,10,9,7,5,3,10,4,15,12,14,2,2,15,6,2>,
sq3=<3,6,11,11,5,13,15,9,6,9,4,0,8,5,7,6>
按式(11)对sq1,sq2,sq3重新连接得到置乱序列:
第4步:将置乱序列S′ms和稳定点坐标(xs,ys,zs)按式(13)映射为3个10进制小Gφ∈[3.57,4],φ∈{x,y,z},然后将用户密钥λ0作为初始值x0,3个10进制小数Gx,Gy,Gz作为参数μ,驱动式(14)产生3组(0,1)范围内的随机数序列和其中IT,IT>0为消除暂态效应的迭代次数,即删除的随机数个数;
例如:将和稳定点坐标(16,16,18)可按式(13)映射为3个10进制小数Gx=3.9810945073684887,Gy=3.9810945073684887,Gz=3.7099813207845633,将用户密钥λ0=0.663作为初始值x0,3个10进制小数作为参数μ,驱动式(14)产生3组(0,1)范围内的随机数序列,在迭代时,同样将前IT=1000个随机数删除,由此可得到随机数序列:
第5步:将Rx,Ry,Rz按式(15)分别量化为cuboid范围内的x轴、y轴、z轴上的坐标值序列并按式(16)分别将R′x,R′y,R′z构造为位于x,y、y,z、x,z平面上的随机三角形顶点序列Rx,y,Ry,z,Rx,z,按式(17)判断Rx,y,Ry,z,Rx,z上三点是否共线,若不共线,则按式(18)计算对应顶点序列所构成的三角形有向面积其中三角形有向面积正值记为1,负值记为-1;
例如:将Rx,Ry,Rz按式(15)分别量化为cuboid范围内的x轴、y轴、z轴上的坐标值序列并按式(16)分别构造三个平面上的随机三角形顶点序列按式(17)判断即各平面上的3个点均不共线,则按式(18)计算各平面上对应顶点序列所构成的三角形有向面积 其中三角形有向面积正值记为1,负值记为-1;
第6步:反复执行第5步,直至产生3组由1和-1组成的长度为256的随机序列和按式(19)生成序列并按式(20)将γ′S生成的2值序列作为中间加密参数,之后将γ′S按式(21)分成四部分将式(22)映射为初始值x′0∈(0,1)及参数μ′0∈[3.57,4],驱动式(14)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效应,将后续生成的m×n个随机数x′IT,x′IT+1,...,x′IT+m×n,按式(23)量化得到与待加密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,...,255};将按式(24)映射为初始值b0,c0∈(0,1),然后驱动式(25)产生k=max(m,n)个随机数对,将前IT,IT>0次生成的随机数删除以消除暂态效应,记后续生成的k个随机数对(bIT,cIT),(bIT+1,cIT+1),...,(bIT+k-1,cIT+k-1),按式(26)将随机数对中的bi,ci分别进行量化得到(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
假设产生的3组由1和-1组成的长度为256的随机序列按式(19)可生成序列γs=<-1-1-11-1…11-1-1-1…-1-1-1-1-1>,按式(20)将γS映射为2值序列γ′s=<00010…11000…00000>;将γ′S按式(21)可分成四部分
将按式(22)映射为初始值x′0=0.6869986392557621及参数μ′0=3.9968936936881536,驱动式(14)产生(0,1)范围内的随机数,将前IT=1000次删除,将后续生成的3×3=9个随机数[0.9049019959754802,0.3439501833762423,…,0.47238546855038943,0.9961755427855445],按式(23)量化得到与待加密图像等大的随机图像
将按式(24)映射为初始值b0=0.9487291276454926,c0=0.154942418448627,驱动式(25)产生k=3个随机数对,将前IT=1000次生成的随机数删除,记后续生成的k=3个随机数对为再按式(26)将随机数对中的bi,ci分别进行量化得到<(1,0),(0,1),(2,0)>;
第7步:将(b′i,c′i),i=0,1,...,k-1和随机图像S″中随机像素相对应,对待加密图像A的b′i行和c′i列进行扑克牌映射置乱,得到置乱后的图像A′,具体包括以下步骤:
第7.1步:将(b′i,c′i)和随机矩阵S″在该位置的对应值按式(27)映射为式(4)的初始值t0∈(0,1)和参数α∈(0,1)并驱动式(4)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效用;
例如:将<(1,0),(0,1),(2,0)>和随机矩阵在该位置的对应值(1,114,9)按式(27)映射为式(4)的初始值t0和参数并驱动式(4)产生(0,1)范围内的随机数,将前IT=1000次生成的随机数删除以消除暂态效用;
第7.2步:从后续生成的随机数中选出7个随机数tIT+10,tIT+20,…tIT+70,并按式(28)量化得到扑克牌映射所需参数p1,p2,p3,q1,q2,q3,v,其中len(sq)为扑克牌映射输入序列的长度;
例如:从后续生成的随机数中选出7个随机数并按式(28)量化得到扑克牌映射参数:
其中len(sq)=3为扑克牌映射输入序列的长度;
第7.3步:由p1,p2,p3,q1,q2,q3,v按式(29)对待加密图像A的b′i行置乱,然后将值tIT+70作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后的扑克牌映射参数p′1,p′2,p′3,q′1,q′2,q′3,v′,然后按式(29)对c′i列置乱,遍历所有(b′i,c′i),可得到置乱后图像A′=(a′i,j)m×n;
例如:由按式(29)分别对待加密图像A的第1行、第0行、第2行置乱,将分别作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后的扑克牌映射参数:
然后按式(29)分别对第0列、第1列、第0列置乱,遍历(1,0),(0,1),(2,0),可得到置乱后图像
第8步:将A′和S″按式(30)进行全局异或加密,得到全局加密图像A″=(a″i,j)m×n;
例如:将和按式(30)进行全局异或加密,得到全局加密图像
图像解密方法的具体实施步骤:
第1步:由用户输入待加密图像的MD5值SMD5和SHA-1值SSHA-1,用户密钥λ0∈(0,1),以及加密图像A″=(a″i,j)m×n;
例如:由用户输入待加密图像MD5值SMD5=<7,4,3,d,3,6,8,e,2,8,d,8,a,b,0,7,5,b,0,f,8,e,a,3,0,8,7,6,4,4,4,3>和SHA-1值SSHA-1=<4,2,6,d,0,4,d,a,b,a,9,7,5,3,a,4,f,c,e,2,2,f,6,2,3,6,b,b,5,d,f,9,6,9,4,0,8,5,7,6>,用户密钥λ0=0.663,以及加密图像
第2步:由用户所在解密位置按式(1)直接获取所在区域region的最小外包长方体由cuboid按式(2)计算cuboid内的中心点坐标(xc,yc,zc),按式(3)将(xc,yc,zc)和用户密钥λ0∈(0,1)映射生成初始参数tinit∈(0,1)并结合用户密钥驱动式(4)产生长度为40的随机数序列将随机序列及A的SHA-1值SSHA-1=<s0,s1,…,s39>按式(5)和式(6)映射为6个参数αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z};
例如:假设由用户所在解密位置按式(1)获取region的最小外包长方体按式(2)计算cuboid内的中心点坐标(xc,yc,zc)=((0+42)/2,(1+55)/2,(7+75)/2)=(21,28,41),按式(3)将中心点坐标(21,28,41)和用户密钥λ0=0.663映射生成初始参数:
并结合用户密钥驱动式(4)可产生长度为40的(0,1)范围的随机数序列,将式(4)迭代产生的前1000个随机数删除,由此可产生随机序列将随机序列以及A的SHA-1值SSHA-1=<4,2,6,d,0,4,d,a,b,a,9,7,5,3,a,4,f,c,e,2,2,f,6,2,3,6,b,b,5,d,f,9,6,9,4,0,8,5,7,6>按式(5)和式(6)映射为6个参数
第3步:由参数αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及中心点坐标(xc,yc,zc)按式(7)得到cuboid上的稳定点坐标(xs,ys,zs);
例如:由参数αx=14.0,αy=2.0,αz=56.0,βx=29.0,βy=17.0,βz=3.0以及中心点坐标(21,28,41)按式(7)得到cuboid上的稳定点坐标即稳定点坐标(xs,ys,zs)=(16,16,18);
第4步:将待加密图像A的MD5值SMD5和SHA-1值SSHA-1串联并转换构成十进制序Sms=SMD5||SSHA-1=<msi>72,然后按式(8)将Sms映射成扑克牌映射参数p,q∈[0,7],v∈(0,3),通过扑克牌交叉、抽取和切牌操作按式(9)将Sms置乱为S′ms;
例如:将待加密图像A的MD5值SMD5=<7,4,3,d,3,6,8,e,2,8,d,8,a,b,0,7,5,b,0,f,8,e,a,3,0,8,7,6,4,4,4,3>和SHA-1值:SSHA-1=<4,2,6,d,0,4,d,a,b,a,9,7,5,3,a,4,f,c,e,2,2,f,6,2,3,6,b,b,5,d,f,9,6,9,4,0,8,5,7,6>串联并转换构成十进制序列Sms=<7,4,3,…,4,3,4,…,5,7,6>,按式(8)将Sms映射成扑克牌映射参数
由于v=1,因此执行式(9)的扑克牌抽取操作Ext(Sms,p,q),将Sms分为3部分:
sq1=<7,4,3,13,3,6,8,14,2,8,13,8,10,11,0,7,5>
sq2=<11,0,15,8,14,10,3,0,8,7,6,4,4,4,3,4,2,6,13,0,4,13,10,11,10,9,7,5,3,10,4,15,12,14,2,2,15,6,2>,
sq3=<3,6,11,11,5,13,15,9,6,9,4,0,8,5,7,6>
按式(11)对sq1,sq2,sq3重新连接得到置乱序列:S′ms=11,0,15,…,6,2,7,…,5,7,6;
第5步:将序列S′ms和稳定点坐标(xs,ys,zs)按式(13)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z},然后将用户密钥λ0作为初始值x0,3个10进制小数Gx,Gy,Gz作为参数μ,驱动式(14)产生3组(0,1)范围内的随机序列和其中IT,IT>0为消除暂态效应的迭代次数,即删除的随机数个数;
例如:将S′ms=<11,0,15,…,6,2,7,…,5,7,6>和稳定点坐标(16,16,18)按式(13)映射为3个10进制小数Gx=3.9810945073684887,Gy=3.9810945073684887,Gz=3.7099813207845633,将用户密钥λ0=0.663作为初始值x0,3个10进制小数作为参数μ,驱动式(14)产生3组(0,1)范围内的随机序列,迭代时,将前IT=1000个随机数删除,可得到随机数序列
第6步:将Rx,Ry,Rz按式(15)量化为并按式(16)分别构造位于x,y、y,z、x,z平面上的包含3个顶点坐标的随机三角形顶点序列Rx,y,Ry,z,Rx,z,按式(17)判断Rx,y,Ry,z,Rx,z上3点是否共线,若不共线,则按式(18)计算对应顶点序列所构成的三角形有向面积其中三角形有向面积正值记为1,负值记为-1;
例如:将3组序列Rx,Ry,Rz按式(15)分别量化为R′x=<18,10,30,12,5,41>,R′y=<43,5,7,49,54,24>,R′z=<25,48,21,19,32,46>,并按式(16)分别构造位于x,y、y,z、x,z平面上的随机三角形顶点序列Rx,y=<(18,43),(10,5),(30,7)>,Ry,z=<(49,25),(54,48),(24,21)>,Rx,z=<(12,19),(5,32),(41,46)>,按式(17)判断即各平面上3个点均不共线,则按式(18)计算对应顶点序列所构成的三角形面积为: 其中三角形有向面积正值记为1,负值记为-1;
第7步:反复执行第6步,直至产生3组由1和-1组成的长度为256的随机序列和按式(19)生成序列并按式(20)生成2值序列
假设产生的3组由1和-1组成的长度为256的随机序列按式(19)可生成序列γs=<-1-1-11-1…11-1-1-1…-1-1-1-1-1>,按式(20)将γS映射为2值序列γ′s=<00010…11000…00000>;
第8步:将序列γ′S分成4部分其中用于生成与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,…,255},而用于从待解密图像中筛选出k=max(m,n)个随机位置坐标,具体包括以下步骤:
第8.1步:将γ′S按式(21)分成4部分
例如:将γ′S按式(21)可分成4部分
第8.2步:将按式(22)映射为初始值x′0∈(0,1)及参数μ′0∈[3.57,4],驱动式(14)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效应,将后续生成的m×n个随机数x′IT,x′IT+1,...,x′IT+m×n,按式(23)量化得到与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,...,255};
例如:将按式(22)映射为初始值x′0=0.6869986392557621及参数μ′0=3.9968936936881536,驱动式(14)产生(0,1)范围内的随机数,将前IT=1000次删除,将后续生成的3×3=9个随机数[0.9049019959754802,0.3439501833762423,…,0.47238546855038943,0.9961755427855445],按式(23)量化得到与待解密图像等大的随机图像
第8.3步:将按式(24)映射为初始值b0,c0∈(0,1),驱动式(25)产生k个随机数对,将前IT,IT>0次生成的随机数对删除,记后续生成的k个随机数对为(bIT,cIT),(bIT+1,cIT+1),...,(bIT+k-1,cIT+k-1),再按式(26)将随机数对中的bi,ci分别进行量化得到(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
例如:将按式(24)映射为初始值b0=0.9487291276454926,c0=0.154942418448627,驱动式(25)产生k=3个随机数对,将前IT=1000次生成的随机数删除,记后续生成的k=3个随机数对为再按式(26)将随机数对中的bi,ci分别进行量化得到<(1,0),(0,1),(2,0)>;
第9步:将加密图像A″=(a″i,j)m×n按式(31)通过随机图像矩阵S″进行全局异或解密,解密为A′=(a′i,j)m×n;
例如:将加密图像按式(31)通过随机图像矩阵进行全局异或解密,解密为
第10步:将(b′i,c′i),i=k-1,k-2,…,0和S″中随机像素相对应,对A′的b′i行和c′i列进行扑克牌映射逆置乱,得到解密图像A,具体包括以下步骤:
第10.1步:将(b′i,c′i)和随机矩阵S″在该位置的对应值按式(27)映射为式(4)的初始值t0∈(0,1)和参数α∈(0,1)并驱动式(4)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效用;
例如:将<(1,0),(0,1),(2,0)>和随机矩阵在该位置的对应值(1,114,9)按式(27)映射为式(4)的初始值t0和参数α:并驱动式(4)产生(0,1)范围内的随机数,将前IT=1000次生成的随机数删除;
第10.2步:从后续生成的随机数中选出7个随机数tIT+10,tIT+20,…tIT+70,并按式(28)量化得到扑克牌映射所需参数p1,p2,p3,q1,q2,q3,v,然后将值tIT+70作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后的扑克牌映射参数p1′,p2′,p3′,q1′,q2′,q3′,v′;
例如:从后续生成的随机数中选出7个随机数并按式(28)量化得到扑克牌映射参数:
再将分别作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后的扑克牌映射参数:
第10.3步:由p′1,p′2,p′3,q′1,q′2,q′3,v′按式(32)对置乱图像A′的c′i列逆置乱,然后由p1,p2,p3,q1,q2,q3,v按式(32)对A′的b′i行逆置乱,遍历所有(b′i,c′i),可得到解密后图像A=(ai,j)m×n;
例如:由按式(32)分别对置乱图像A′的第0列、第1列、第0列逆置乱,由按式(32)分别对置乱图像A′的第1行、第0行、第2行逆置乱,遍历<(1,0),(0,1),(2,0)>,可得到解密图像
图6是实施例,图3对应的加密图像,分辨率为256×256的8位灰度图像,假定用户所在区域最小外包范围密钥λ0=0.663,待加密图像MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef;
图7是实施例,图4对应的加密图像,分辨率为256×256的8位灰度图像,假定用户所在区域最小外包范围密钥λ0=0.663,待加密图像MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8;
图8是实施例,图5对应的加密图像,分辨率为256×256的8位灰度图像,假定用户所在区域最小外包范围密钥λ0=0.663,待加密图像MD5值和SHA-1值0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f9a80f567fb5352e7d845c;
图9是实施例,图3对应的解密图像,分辨率为256×256的8位灰度图像,相对于图3的MSE=0,其中参数设置为:待加密图像MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,密钥λ0=0.663,稳定点坐标(xs,ys,zs)=(11,35,42),密图完全恢复;
图10是实施例,图4对应的解密图像,分辨率为256×256的8位灰度图像,相对于图4的MSE=0,其中参数设置为:待加密图像MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8,密钥λ0=0.663,稳定点坐标(xs,ys,zs)=(4,24,36),密图完全恢复;
图11是实施例,图5对应的解密图像,分辨率为256×256的8位灰度图像,相对于图5的MSE=0,其中参数设置为:待加密图像MD5值和SHA-1值分别为0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f9a80f567fb5352e7d845c,密钥λ0=0.663,稳定点坐标(xs,ys,zs)=(8,9,11),密图完全恢复;
图12是实施例,图6灰度直方图,各阶灰度分布均衡;
图13是实施例,图7灰度直方图,各阶灰度分布均衡;
图14是实施例,图8灰度直方图,各阶灰度分布均衡;
图15是实施例,将参数MD5值由0x11a53b2af5105e27c170a7d2cfb894bc修改为0x11a53b2af5105e27c170a7d2cfb894bd,而SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,密钥λ0=0.663及稳定点坐标(xs,ys,zs)=(11,35,42)不变,对图6的恢复结果,密图无法恢复;
图16是实施例,将参数SHA-1值由0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef修改为0xdb8cbb49d6572dce72a15c725e022e3dfcc7efff,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc,密钥λ0=0.663及稳定点坐标(xs,ys,zs)=(11,35,42)不变,对图6的恢复结果,密图无法恢复;
图17是实施例,将参数密钥由λ0=0.663修改为λ0=0.6631,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及稳定点坐标(xs,ys,zs)=(11,35,42)不变,对图6的恢复结果,密图无法恢复;
图18是实施例,将参数稳定点坐标由(11,35,42)修改为(10,35,42),而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及密钥λ0=0.663不变,对图6的恢复结果,密图无法恢复。
Claims (10)
1.一种有向面积和扑克牌映射的解密区域限定图像加密方法,其特征在于,包括以下步骤:
第1步:记待加密图像为A=(ai,j)m×n,设定用户所在解密位置(x0,y0,z0)∈region,获取所在区域region最小外包长方体其中xmin,xmax,ymin,ymax,zmin,zmax表示cuboid对应的x轴、y轴、z轴坐标起止范围;
第2步:通过最小外包长方体cuboid计算cuboid内中心点坐标(xc,yc,zc),并根据(xc,yc,zc)和用户密钥λ0∈(0,1)产生cuboid上稳定点坐标(xs,ys,zs);
第3步:将A的MD5值SMD5=<m0,m1,…,m31>和A的SHA-1值SSHA-1=<s0,s1,…,s39>串联构成序列Sms=SMD5||SSHA-1=<msi>72,然后将序列Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3),同时通过扑克牌交叉、抽取和切牌操作将序列Sms置乱为S′ms;
第4步:将S′ms和(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z},然后通过λ0和Gx,Gy,Gz产生3组(0,1)范围内的随机数和其中IT,IT>0为消除暂态效应的迭代次数,即删除的随机数个数;
第5步:将Rx,Ry,Rz分别量化为cuboid范围内的x轴、y轴、z轴坐标值序列 并分别将R′x,R′y,R′z用于构造位于x,y、y,z、x,z平面上的随机三角形顶点序列Rx,y,Ry,z,Rx,z,若Rx,y,Ry,z,Rx,z上三点均不共线,则计算对应顶点序列所构成的三角形有向面积其中有向面积正值记为1,负值记为-1;
第6步:反复执行第5步,直至产生3组由1和-1组成的长度为256的随机序列和然后将γx,y,γy,z和γx,z映射为2值序列作为中间加密参数;
之后将γ′S分成四部分将用于生成与待加密图像A等大的随机图像而用于从待加密图像A中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
第7步:将(b′i,c′i),i=0,1,...,k-1和待加密图像A中像素与随机图像S″中坐标位置相对应,对待加密图像A的b′i行和c′i列进行扑克牌映射置乱,得到置乱后图像A′;
第8步:将A′和S″进行全局异或加密,得到全局加密图像A″=(a″i,j)m×n。
2.根据权利要求1所述的一种有向面积和扑克牌映射的解密区域限定图像加密方法,其特征在于:第1步中,获取所在区域region的最小外包长方体的具体方法为式(1),即region范围内每一维坐标最小值和最大值;
第2步中,由cuboid计算cuboid内中心点坐标(xc,yc,zc)的具体方法为式(2):
(xc,yc,zc)=((xmin+xmax)/2,(ymin+ymax)/2,(zmin+zmax)/2) (2)
第2步中,产生稳定点坐标(xs,ys,zs)的具体方法,包括以下步骤:
第2.1步:将中心点(xc,yc,zc)和用户密钥λ0∈(0,1)按式(3)映射生成初始参数tinit∈(0,1),将初始参数tinit和用户密钥λ0分别作为初始值t0和参数α,驱动式(4)产生(0,1)范围内随机数,将后续生成长度为40的随机数序列作为在迭代时将前IT,IT>0次生成的随机数删除;
式(4)中,ti∈(0,1)为第i次迭代值,α为变换参数,当α∈(0,1)时,式(4)处于混沌状态,具有初值敏感性;
第2.2步:将待加密图像A的SHA-1值SSHA-1=<s0,s1,…,s39>和随机数序列按式(5)和式(6)映射为6个参数αφ,βφ,φ∈{x,y,z}:
第2.3步:根据参数αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及中心点坐标(xc,yc,zc)按式(7)得到cuboid上稳定点坐标(xs,ys,zs):
φs=φmin+|αφsin(φc)+βφcos(φc)|mod(φmax-φmin),φ∈{x,y,z} (7)。
3.根据权利要求1所述的一种有向面积和扑克牌映射的解密区域限定图像加密方法,其特征在于:第3步中,将Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3)的具体方法为式(8):
通过扑克牌交叉、抽取和切牌操作将Sms置乱为S′ms的方法为式(9):
式(9)中,Cro()、Ext()和Cut()分别是扑克牌交叉、抽取和切牌操作。
4.根据权利要求3所述的一种有向面积和扑克牌映射的解密区域限定图像加密方法,其特征在于:第3步式(9)所定义的Cro()具体功能为:
第3.1a步:记sq=<e0,e1,...,el>为原始序列,取将序列sq按式(10)分成sq1和sq2两部分:
第3.1b步:从前到后依次取sq2和sq1中的p个元素进行交叉排列,即sq2中p个元素后紧跟sq1的p个元素,若剩余元素不足p个,则取剩余全部元素,直至所有元素取完;
第3.1c步:对第3.1a和第3.2a步重复q次,输出对应的结果;
第3步式(9)所定义的Ext()具体功能为:
第3.2a步:若p>q时,则交换p,q;
第3.2b步:将序列sq按p,q划分为3部分:sq1=<e0,e1,...,ep-2>,sq2=<ep-1,ep,...,eq-1>和sq3=<eq,eq+1,...,el>;
第3.2c步:按式(11)对sq1,sq2,sq3进行重新连接输出对应结果:
sq′=sq2||sq1||sq3 (11);
第3步式(9)所定义的Cut()具体功能为:
第3.3a步:将序列sq根据p分为2部分:sq1=<e0,e1,...,ep-2>,sq2=<ep-1,ep,...,el>;
第3.3b步:按式(12)对sq1,sq2进行连接;
sq′=sq2||sq1 (12);
第3.3c步:对第3.3a步和第3.3b步重复q次,输出对应结果。
5.根据权利要求1所述的一种有向面积和扑克牌映射的解密区域限定图像加密方法,其特征在于:第4步中,将S′ms和稳定点坐标(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z}的具体方法为式(13):
第4步中,产生3组(0,1)范围内随机数方法为:将用户密钥λ0作为初始值x0,3个10进制小数Gx,Gy,Gz作为参数μ,驱动式(14)产生3组(0,1)范围内随机序列:
xn+1=μxn(1-xn) (14);
式(14)中,xn∈(0,1)为迭代起始值,μ为变换参数,当μ∈[3.57,4]时,式(14)处于混沌状态且具有初值敏感性;
第5步中,将Rx,Ry,Rz量化为的方法为式(15):
第5步中,产生随机三角形顶点序列Rx,y,Ry,z,Rx,z的具体方法为式(16):
第5步中,判断Rx,y,Ry,z,Rx,z上3点不共线方法为式(17),(i0,j0),(i1,j1),(i2,j2)为对应的3个点;
第5步中,计算对应顶点序列所构成的三角形有向面积的具体方法为式(18):
第6步中,将γx,y,γy,z和γx,z映射为2值序列的具体方法为:按式(19)生成序列并按式(20)生成2值序列
第6步中,将γ′S分成4部分的具体方法为式(21):
第6步中,将用于生成与待加密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,…,255}的具体方法为:
将按式(22)映射为初始值x′0∈(0,1)及参数μ′0∈[3.57,4],驱动式(14)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效应,将后续生成的随机数S′=(x′i,j)m×n,x′i,j∈(0,1),按式(23)量化得到与待加密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,...,255}
式(22)中的Dec()为2进制转10进制小数函数;
第6步中,将用于从待加密图像A中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1)的具体方法为:
将按式(24)映射为初始值b0,c0∈(0,1),驱动式(25)产生k个随机数对,将前IT,IT>0次生成的随机数删除以消除暂态效应,记后续生成的k个随机数对为(bIT,cIT),(bIT+1,cIT+1),...,(bIT+k-1,cIT+k-1),再按式(26)将随机数对中的bi,ci分别进行量化得到(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
式(25)中β,η为系统控制参数,当β=1.4,η=0.3时式(25)处于混沌状态;
第7步中,将(b′i,c′i),i=0,1,...,k-1和待加密图像A中像素和随机图像S″中随机像素坐标位置相对应,对待加密图像A的b′i行和c′i列进行扑克牌映射置乱,得到置乱后的图像A′的具体方法为:
第7.1步:将(b′i,c′i)和随机矩阵S″在该位置对应值按式(27)映射为式(4)的初始值t0∈(0,1)和参数α∈(0,1)并驱动式(4)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效用:
第7.2步:记后续继续生成的随机数为tIT,tIT+1,...,tIT+70,将其中7个随机数tIT+10,tIT+20,…,tIT+70按式(28)量化得到扑克牌映射所需参数p1,p2,p3,q1,q2,q3,v,其中len(sq)为扑克牌映射输入序列的长度;
第7.3步:由p1,p2,p3,q1,q2,q3,v按式(29)对待加密图像A的b′i行置乱,然后将值tIT+70作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后扑克牌映射参数p′1,p′2,p′3,q′1,q′2,q′3,v′,然后按式(29)对c′i列置乱,遍历所有(b′i,c′i),可得到置乱后图像A′=(a′i,j)m×n;
第8步将A′和S″进行全局异或加密的具体方法为式(30):
6.一种有向面积和扑克牌映射的解密区域限定图像解密方法,其特征在于,包括以下步骤:
第1步:由用户输入待加密图像的MD5值SMD5、SHA-1值SSHA-1、用户密钥λ0∈(0,1)、消除暂态效应迭代次数IT,IT>0以及加密图像A″=(a″i,j)m×n;
第2步:由用户所在解密位置坐标直接获取所在区域region的最小外包长方体再由cuboid计算cuboid内的中心点坐标(xc,yc,zc),接着将(xc,yc,zc)和用户密钥λ0∈(0,1)共同产生的随机数序列以及A的SHA-1值SSHA-1=<s0,s1,…,s39>映射为αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z};
第3步:由αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及(xc,yc,zc)得到cuboid上稳定点坐标(xs,ys,zs);
第4步:将A的MD5值SMD5和SHA-1值SSHA-1串联构成序列Sms=SMD5||SSHA-1=<msi>72,然后将Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3),通过扑克牌交叉、抽取和切牌操作将Sms置乱为S′ms;
第5步:将S′ms和(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z},然后通过λ0和Gx,Gy,Gz产生3组(0,1)范围内的随机数和其中IT,IT>0为消除暂态效应的迭代次数;
第6步:将Rx,Ry,Rz量化为并分别用于构造位于x,y、y,z、x,z平面上的包含3个顶点坐标的随机三角形顶点序列Rx,y,Ry,z,Rx,z,若Rx,y,Ry,z,Rx,z上的3个点不共线,则计算对应平面序列所构成的三角形面积其中三角形有向面积正值记为1,负值记为-1;
第7步:反复执行第6步,直至产生3组由1和-1组成的长度为256的随机序列和然后将γx,y,γy,z和γx,z映射为2值序列作为中间加密参数;
第8步:将γ′S分成4部分将用于生成与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,…,255};将用于从A′中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1);
第9步:将A″=(a″i,j)m×n通过随机图像矩阵S″进行全局异或解密,解密为A′=(a′i,j)m×n;
第10步:将(b′i,c′i),i=k-1,k-2,…,0和A′中像素和S″中随机像素的坐标位置相对应,对A′的b′i行和c′i列进行扑克牌映射逆置乱,得到解密后图像A。
7.如权利要求6所述的一种有向面积和扑克牌映射的解密区域限定图像解密方法,其特征在于:
第2步,由用户所在解密位置坐标直接获取所在区域region的最小外包长方体的具体方法为式(1):
第2步,由cuboid计算cuboid内中心点坐标(xc,yc,zc)的具体方法为式(2):
(xc,yc,zc)=((xmin+xmax)/2,(ymin+ymax)/2,(zmin+zmax)/2) (2)
第2步,产生随机数序列的具体方法为:
将(xc,yc,zc)和λ0∈(0,1)按式(3)映射生成初始参数tinit∈(0,1),将tinit和λ0分别作为初始值t0和参数α,驱动式(4)产生(0,1)范围内随机数,在迭代时将前IT,IT>0次生成的随机数删除:
式(4)中,ti∈(0,1)为第i次迭代值,α为变换参数,当α∈(0,1)时,式(4)处于混沌状态,具有初值敏感性;
第2步,映射为αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}的具体方法为:
将待加密图像SHA-1值、SSHA-1=<s0,s1,…,s39>和随机序列分别按式(5)和式(6)映射,得到6个参数αφ,βφ,φ∈{x,y,z}:
第3步,由αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z}以及(xc,yc,zc)得到cuboid上稳定点坐标(xs,ys,zs)的具体方法为式(7):
φs=φmin+|αφsin(φc)+βφcos(φc)|mod(φmax-φmin) (7)。
8.根据权利要求6所述的一种有向面积和扑克牌映射的解密区域限定图像解密方法,其特征在于:第4步中,将Sms映射成扑克牌映射参数p,q∈[0,71],v∈(0,3)的具体方法为式(8):
第4步中,通过扑克牌交叉、抽取和切牌操作将Sms置乱为S′ms的方法为式(9):
式(9)中,Cro()、Ext()和Cut()分别是扑克牌交叉、抽取和切牌操作。
9.根据权利要求6所述的一种有向面积和扑克牌映射的解密区域限定图像解密方法,其特征在于:第5步中,将S′ms和(xs,ys,zs)映射为3个10进制小数Gφ∈[3.57,4],φ∈{x,y,z}的具体方法为式(13):
第5步中,产生3组随机数和的具体方法为:将用户密钥λ0作为初始值x0,3个10进制小数Gx,Gy,Gz作为参数μ,驱动式(14)产生3组(0,1)范围内随机序列:
xn+1=μxn(1-xn) (14);
第6步中,将Rx,Ry,Rz量化为的具体方法为式(15):
第6步中,产生随机三角形顶点序列Rx,y,Ry,z,Rx,z的具体方法为式(16):
第6步中,判断3点不共线的方法为式(17),其中(i0,j0),(i1,j1),(i2,j2)为对应的3个点;
第6步中,计算三角形面积的具体方法为式(18):
第7步中,将γx,y,γy,z和γx,z映射为2值序列的具体方法为:按式(19)生成序列并将按式(20)生成2值序列
10.根据权利要求6所述的一种有向面积和扑克牌映射的解密区域限定图像解密方法,其特征在于:第8步中,将γ′S分成4部分的具体方法为式(21):
第8步中,将用于生成与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,…,255}的具体方法为:将按式(22)映射为初始值x′0∈(0,1)及参数μ′0∈[3.57,4],驱动式(14)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效应,将后续生成的随机数S′=(x′i,j)m×n,x′i,j∈(0,1),按式(23)量化得到与待解密图像等大的随机图像S″=(x″i,j)m×n,x″i,j∈{0,1,...,255}:
式(22)中的Dec()为2进制转10进制小数函数;
第8步,将用于从A′中筛选出k=max(m,n)个随机位置坐标(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1)的具体方法为:
将按式(24)映射为初始值b0,c0∈(0,1),将b0,c0∈(0,1)驱动式(25)产生k个随机数对,将前IT,IT>0次生成的随机数删除以消除暂态效应,记后续生成的k个随机数对为(bIT,cIT),(bIT+1,cIT+1),...,(bIT+k-1,cIT+k-1),再按式(26)将随机数对中的bi,ci分别进行量化得到(b′0,c′0),(b′1,c′1),...,(b′k-1,c′k-1):
式(25)中β,η为系统控制参数,当β=1.4,η=0.3时式(25)处于混沌状态;
第9步中,将A″=(a″i,j)m×n通过随机图像矩阵S″进行全局异或解密的具体方法为式(31):
第10步中,对A′的b′i行和c′i列进行扑克牌映射逆置乱的具体方法为:
第10.1步:将(b′i,c′i)和随机矩阵S″在该位置对应值按式(27)映射为式(4)的初始值t0∈(0,1)和参数α∈(0,1)并驱动式(4)产生(0,1)范围内的随机数,将前IT,IT>0次生成的随机数删除以消除暂态效用;
第10.2步:记后续继续生成的随机数为tIT,tIT+1,...,tIT+70,将其中7个随机数tIT+10,tIT+20,…,tIT+70按式(28)量化得到扑克牌映射所需参数p1,p2,p3,q1,q2,q3,v,然后将值tIT+70作为初始值,驱动式(4)得到随机数,并按式(28)量化,得到更新后扑克牌映射参数p′1,p′2,p′3,q′1,q′2,q′3,v′
第10.3步:由p′1,p′2,p′3,q′1,q′2,q′3,v′按式(32)对A′的c′i列逆置乱,然后由p1,p2,p3,q1,q2,q3,v按式(32)对A′的b′i行逆置乱,遍历所有(b′i,c′i),得到解密图像A=(ai,j)m×n;
式(32)中,Cro-1()、Ext-1()和Cut-1()分别是扑克牌交叉、抽取和切牌操作的逆映射,记sq′=<e′0,e′1,...,e′l>是置乱序列,e′0,e′1,...,e′l是对应的序列元素,其中Cro-1(sq′,p,q)执行的具体功能是:
第10.3.1a步:取从前到后依次取序列sq′中的p个元素,并将其交叉放置分别作为序列sq2′和sq1′,若剩余元素不足p个,则取剩余全部元素,直至所有元素取完;
第10.3.2a步:将得到的sq1′和sq2′按式(33)进行合并;
sq′=sq1′||sq2′ (33)
第10.3.3a步:对第10.3.1a步和第10.3.2a步重复q次,输出对应的结果;
其中,Ext-1(sq′,p,q)执行的具体功能是:
第10.3.1b步:若p>q时,则交换p,q;
第10.3.2b步:将序列sq′根据参数p,q划分为3部分:sq′1=<e0,e1,...,eq-p>,sq′2=<eq-p+1,eq-p+2,...,eq-1>和sq′3=<eq,eq+1,...,el>;
第10.3.3b步:按式(34)对sq1,sq2,sq3进行重新连接输出对应结果;
sq=sq′2||sq′1||sq′3 (34);
其中,Cut-1(sq′,p,q)执行的具体功能是:
第10.3.1c步:将序列sq′根据参数p分为2部分:sq′1=<e0,e1,...,el-p+1>,sq′2=<el-p+2,el-p+3,...,el>;
第10.3.2c步:按式(35)对sq1,sq2进行连接;
sq′=sq′2||sq′1 (35)
第10.3.3c步:对第10.3.1c步和第10.3.2c步重复q次,输出对应的结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711448324.1A CN108174053B (zh) | 2017-12-27 | 2017-12-27 | 一种有向面积和扑克牌映射的解密区域限定图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711448324.1A CN108174053B (zh) | 2017-12-27 | 2017-12-27 | 一种有向面积和扑克牌映射的解密区域限定图像加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108174053A true CN108174053A (zh) | 2018-06-15 |
CN108174053B CN108174053B (zh) | 2020-05-12 |
Family
ID=62518366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711448324.1A Active CN108174053B (zh) | 2017-12-27 | 2017-12-27 | 一种有向面积和扑克牌映射的解密区域限定图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108174053B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838908A (zh) * | 2019-11-11 | 2020-02-25 | 陕西师范大学 | 一种gf矩阵变换和随机分层融合的图像加密解密方法 |
CN110879894A (zh) * | 2019-11-11 | 2020-03-13 | 陕西师范大学 | 一种懒尺度变换和随机分层融合的图像加密解密方法 |
CN111105339A (zh) * | 2019-12-23 | 2020-05-05 | 郑州轻工业大学 | 一种基于多维混沌系统和约瑟夫置乱的图像加密方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024249A (zh) * | 2010-11-30 | 2011-04-20 | 辽宁师范大学 | 基于视觉感知特性的数字图像水印方法 |
CN102184518A (zh) * | 2011-05-16 | 2011-09-14 | 重庆大学 | 基于边缘检测的dicom医学图像加密和解密方法 |
CN102412960A (zh) * | 2011-11-21 | 2012-04-11 | 东北大学 | 基于混沌的恩尼格玛加密方法 |
CN102982499A (zh) * | 2012-09-28 | 2013-03-20 | 河南大学 | 基于多分数阶混沌系统的彩色图像加密和解密方法 |
CN105577354A (zh) * | 2015-12-10 | 2016-05-11 | 陕西师范大学 | 基于概率区间划分和动态概率事件的图像加密和解密方法 |
-
2017
- 2017-12-27 CN CN201711448324.1A patent/CN108174053B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024249A (zh) * | 2010-11-30 | 2011-04-20 | 辽宁师范大学 | 基于视觉感知特性的数字图像水印方法 |
CN102184518A (zh) * | 2011-05-16 | 2011-09-14 | 重庆大学 | 基于边缘检测的dicom医学图像加密和解密方法 |
CN102412960A (zh) * | 2011-11-21 | 2012-04-11 | 东北大学 | 基于混沌的恩尼格玛加密方法 |
CN102982499A (zh) * | 2012-09-28 | 2013-03-20 | 河南大学 | 基于多分数阶混沌系统的彩色图像加密和解密方法 |
CN105577354A (zh) * | 2015-12-10 | 2016-05-11 | 陕西师范大学 | 基于概率区间划分和动态概率事件的图像加密和解密方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838908A (zh) * | 2019-11-11 | 2020-02-25 | 陕西师范大学 | 一种gf矩阵变换和随机分层融合的图像加密解密方法 |
CN110879894A (zh) * | 2019-11-11 | 2020-03-13 | 陕西师范大学 | 一种懒尺度变换和随机分层融合的图像加密解密方法 |
CN110879894B (zh) * | 2019-11-11 | 2023-04-07 | 陕西师范大学 | 一种懒尺度变换和随机分层融合的图像加密解密方法 |
CN110838908B (zh) * | 2019-11-11 | 2023-07-07 | 陕西师范大学 | 一种gf矩阵变换和随机分层融合的图像加密解密方法 |
CN111105339A (zh) * | 2019-12-23 | 2020-05-05 | 郑州轻工业大学 | 一种基于多维混沌系统和约瑟夫置乱的图像加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108174053B (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Man et al. | Double image encryption algorithm based on neural network and chaos | |
CN104468090B (zh) | 基于图像像素坐标的汉字密码编码方法 | |
CN105577354B (zh) | 基于概率区间划分和动态概率事件的图像加密和解密方法 | |
CN107659751B (zh) | 基于dna编码和混沌的多图像加密方法 | |
CN104851070B (zh) | 一种基于前景和背景分离的图像加密和解密方法 | |
CN108648133B (zh) | 一种结合块旋转和马赛克的无嵌入伪装方法 | |
Koppu et al. | A fast enhanced secure image chaotic cryptosystem based on hybrid chaotic magic transform | |
CN101739695A (zh) | 一种基于三维Arnold映射的图像分组加密方法 | |
US9825761B2 (en) | Systems and methods improving cryptosystems with biometrics | |
Singh et al. | A comprehensive survey on encryption techniques for digital images | |
CN108174053A (zh) | 一种有向面积和扑克牌映射的解密区域限定图像加密方法 | |
CN105761198A (zh) | 一种动态概率和空频域复合的图像选择性加密和解密方法 | |
CN113098675A (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN105117653B (zh) | 一种近红外光谱数据加密方法 | |
Sun et al. | An image encryption algorithm utilizing Mandelbrot set | |
CN110879894B (zh) | 一种懒尺度变换和随机分层融合的图像加密解密方法 | |
CN104050625A (zh) | 一种明文构建初始密钥的复合混沌图像加密方法 | |
Li et al. | A novel image encryption algorithm based on high-dimensional compound chaotic systems | |
CN113099069B (zh) | 基于三维螺旋模型的多图像加密方法 | |
Dixit et al. | Multilevel network security combining cryptography and steganography on ARM platform | |
CN109426727A (zh) | 数据加密方法、解密方法、加密系统及解密系统 | |
Wang et al. | A dynamic image encryption algorithm based on improved ant colony walking path thought | |
CN110915162A (zh) | 加密装置、解密装置、加密方法、加密程序、解密方法和解密程序 | |
CN102063694A (zh) | 一种基于折纸变换的数字图像加密方法 | |
CN106683030A (zh) | 基于量子多图像模型与三维变换的量子多图加密算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |