CN110879894A - 一种懒尺度变换和随机分层融合的图像加密解密方法 - Google Patents

一种懒尺度变换和随机分层融合的图像加密解密方法 Download PDF

Info

Publication number
CN110879894A
CN110879894A CN201911097161.6A CN201911097161A CN110879894A CN 110879894 A CN110879894 A CN 110879894A CN 201911097161 A CN201911097161 A CN 201911097161A CN 110879894 A CN110879894 A CN 110879894A
Authority
CN
China
Prior art keywords
random
matrix
formula
equation
image
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
Application number
CN201911097161.6A
Other languages
English (en)
Other versions
CN110879894B (zh
Inventor
邵利平
李庆玲
赵艺
赵迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201911097161.6A priority Critical patent/CN110879894B/zh
Publication of CN110879894A publication Critical patent/CN110879894A/zh
Application granted granted Critical
Publication of CN110879894B publication Critical patent/CN110879894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明提供一种懒尺度变换和随机分层融合的图像加密解密方法,在加密时,首先根据密钥和待加密图像属性产生轮随机数序列,用于控制每轮加密对应的随机分层矩阵、尺度参数、懒尺度变换阵、编号矩阵以及偏移量;其次将随机分层矩阵与待加密图像进行模差运算,将得到的差值图像进行高维懒尺度变换并与随机分层矩阵融合加密,从而通过多轮迭代产生加密图像。在解密时,首先逆向产生每一轮加密过程对应的变换参数,然后提取差值图像,抵消高维懒尺度变换并与随机分层矩阵进行多轮融合解密。所提方法可在随机生成的高维尺度空间上使用任意选定的随机变换阵且通过随机分层融合不仅提高了加密解密方法的效率和也提高了加密解密方法的安全性。

Description

一种懒尺度变换和随机分层融合的图像加密解密方法
技术领域
本发明属于图像信息安全和数字图像信号处理交叉领域,涉及一种图像加密解密方法,特别涉及一种懒尺度变换和随机分层融合的图像解密方法。
背景技术
在数字图像加密领域,研究最为广泛和灵活的一类图像加密方法,就是在同一空间内,对图像的重编码技术,即图像置乱技术。相对于图像加密,数字图像置乱重点关注的是在图像同一空间对图像的重编码技术,采用尽可能小的代价来完成单个图像加密环节的操作,以期减少整个图像加密算法的处理代价。数字图像置乱也是目前隐密术、数字水印、信息分存和可视密码技术中,一项关键的预处理技术。受到国内外学者的普遍重视,并取得丰硕的研究成果。其中基于矩阵变换的图像置乱方法是其典型的策略。
传统基于矩阵变换的图像置乱方法,其基本表示形式为X[i]=(AX[i-1])mod N,但由于只有一个尺度参数N,将其称之为等尺度矩阵变换。由此决定了基于等尺度矩阵变换的图像置乱方法通常只能用于特定尺度的矩形图像置乱,例如:①正方形图像置乱;②将非正方形图像进行正方形扩展,然后进行置乱;③将任意矩形图像划分为正方形小块分别进行置乱;④像素灰度置乱。对于①其适用面过窄;对于②无疑增大了图像置乱处理代价;对于③置乱局限于划分的小块内部,需通过多次置乱才能达到较好的置乱效果;对于④进行改变像素的灰度值,而无法改变像素的邻近位置关系。
为避免等尺度矩阵置乱变换存在的缺陷,邵利平,2007(邵利平,覃征,高洪江等.二维非等长图像置乱变换[J].电子学报,2007,07(35):1290-1294.)提出2维非等长矩阵变换置乱方法,给出周期性存在判据,可针对任意宽高图像,选择合适的置乱变换阵系数,使得扩展后的2维非等长矩阵变换置乱可用于任意矩形图像的直接置乱。Shao L P,2008(Shao L P,Qin Z,Gao H J,et al.2D triangular mappings and their applicationsin scrambling rectangle image[J].Information Technology Journal,2008,7(1):40-47)进一步构造了可用于矩形图像直接置乱的2维双尺度三角映射。邵利平,2009(邵利平,覃征,刘波等.二维双尺度矩形映射及其在图像置乱上的应用[J].计算机辅助设计与图形学学报,2009,21(7):1025-1034)在此基础上证明了双尺度矩形映射是任意矩形变换可用于矩形图像置乱的充分必要条件,并给出了双尺度矩形映射的逆映射。2D双尺度矩形变换的基本表示形式为X[i]=(AX[i-1])mod N,NT=(M,N),其中A需满足以下4个约束条件:①gcd(M,N)=p,②(b mod l1)=0和(c mod l2)=0中至少一个成立,③gcd(ad-bc,p)=1,④gcd(a,l1)=1和gcd(d,l2)=1,其中a,b,c,d为变换阵系数,M,N为图像的宽高且M=l1p,N=l2p,函数gcd()为最大公因子运算,用以保证X[i]=(AX[i-1])mod N,NT=(M,N)是一个一一映射。
在此之后2维双尺度矩形置乱得到了广泛应用。例如,吴成茂,2010(吴成茂,田小平.三维不等长Arnold变换及其在图像置乱中的应用[J].计算机辅助设计与图形学学报,2010,22(10):1831-1840.)以2维双尺度矩形映射为基础,将3次应用的2维双尺度矩形映射称为3维不等长Arnold变换用于矩形图像置乱;吴成茂,2015(吴成茂.二维不等长变换改进及其应用[J].计算机辅助设计与图形学学报,2015,27(8):1529-1538.)提出Arnold变换非仿射化方法。Zhang X,2016(Zhang X,Fan X,Wang J.A Chaos-based image encryptionscheme using 2D rectangular transform and dependent substitution[J].Multimedia Tools and Applications,2016,75(4):1745-1763.)结合混沌映射,利用2维双尺度矩形映射对任意矩形图像进行置乱,在像素遍历中同时进行混淆和扩散。徐亚,2015(徐亚,张绍武.基于Arnold映射的分块双层自适应扩散图像加密算法[J],中国图象图形学报,2015,20(6):0740-0748)给出了基于2D双尺度矩形映射的分块分层自适应加密算法。
2维双尺度矩形映射尽管相对于传统仅适用于正方形的等尺度矩阵变换具备更广泛的应用价值,但2维双尺度矩形映射很难拓展为高维,随着变换阵维数的增加,其约束条件也更为严格,变换阵构造也更加困难。吴成茂,2010所给出的3D不等长不等长Arnold变换,只是通过3个2D双尺度矩形映射进行简单叠加,本质上没有解决3D双尺度矩形映射的基本构造问题。Shao L P,2010(Shao L P,Qin Z,Gao H J,et al.A multi-scaletriangular mapping and its applications in variation scale scrambling[J].International Journal of Computer Applications in Technology,2010,38(1/2/3):74-85.)尽管给出了多尺度三角映射,但多尺度三角映射本质上一类特殊的多尺度矩形映射,不具有一般性。
除了基于矩阵变换的置乱方法以外,另一种较为经典的置乱方法是基于魔方变换的图像置乱方法。通过对图像指定行、列的循环移位来改变像素或像素比特的位置相关性。但现有的魔方置乱方法只能以像素或像素比特位为单位对特定的行与列或者某一固定的图像划分平面进行循环移位操作,灵活性较差。
发明内容
本发明的目的在于克服现有技术缺陷,提供一种懒尺度变换和随机分层融合的图像加密解密方法,与现有方法相比,所提方法通过修改多尺度变换的映射规则,避免直接构造复杂的多尺度变换,可在随机生成的高维尺度空间上使用任意选定的随机变换阵进行懒尺度变换,且通过随机分层融合不仅提高了加密解密方法的效率和也提高了加密解密方法的安全性。
为实现上述目的,本发明采用以下技术方案:
一种懒尺度变换和随机分层融合的图像加密方法,包括以下步骤:
第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}、随机整数编号矩阵
Figure BDA0002268684200000021
和随机偏移量l=(l0,l1,…,lN-1)且满足j0∈{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维空间矩阵
Figure BDA0002268684200000022
第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步:对于
Figure BDA0002268684200000023
反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′,然后交换e和e′位置的DN元素直至SDN中的全部元素处理完毕,从而将DN置乱为维空间置乱矩阵
Figure BDA0002268684200000024
D′N即置乱后的DN
第6步:将
Figure BDA0002268684200000025
由ω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步。
进一步,第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个元素。
Figure BDA0002268684200000031
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)产生随机整数矩阵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}、随机整数编号矩阵
Figure BDA0002268684200000032
和随机偏移量l=(l0,l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1}。
进一步,第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}、随机整数编号矩阵
Figure BDA0002268684200000033
和随机偏移量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
Figure BDA0002268684200000041
将c2作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵z=(zi,j)N×N,然后按式(7)量化为随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1};
Figure BDA0002268684200000042
将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵
Figure BDA0002268684200000043
然后按式(8)量化得到随机编号矩阵;
Figure BDA0002268684200000044
将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1)
Figure BDA0002268684200000045
由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
Figure BDA0002268684200000046
第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。
进一步,第3步中,由A与S进行模差运算得到差值矩阵D=(di,j)m×n的具体方法是式(10);
D=(A-S+2p)mod 2p (10)第3步中,将D转换为
Figure BDA0002268684200000047
的具体方法是:按式(11)计算坐标(i,j)对应的索引k,然后按式(12)对
Figure BDA0002268684200000048
赋值,从而将D转换为1维序列
Figure BDA0002268684200000049
其中i=0,1,…,m-1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D1转换为
Figure BDA0002268684200000051
其中
Figure BDA0002268684200000052
k=i·n+j (11)
Figure BDA0002268684200000053
Figure BDA0002268684200000054
第4步中,由B对DN中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN的具体方法是:将
Figure BDA0002268684200000055
中的
Figure BDA0002268684200000056
按由小到大的顺序排列DN元素坐标(i0,i1,…,iN-1)并作为1维序列SDN
进一步,第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);
Figure BDA0002268684200000057
第6步中,将D′N由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D′的具体方法是:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,通过
Figure BDA0002268684200000058
Figure BDA0002268684200000059
转换为
Figure BDA00022686842000000510
然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而通过
Figure BDA00022686842000000511
Figure BDA00022686842000000512
转换为
Figure BDA00022686842000000513
其中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)
Figure BDA00022686842000000514
第6步中,将D′和S进行融合加密的具体方法是式(18):
A′=(D′+S)mod 2p (18)。
一种懒尺度变换和随机分层融合的图像解密方法,包括以下步骤:
第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,j∈{0,1,…,2p-1}、随机整数编号矩阵
Figure BDA0002268684200000061
和随机偏移量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维空间置乱矩阵
Figure BDA0002268684200000062
第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维顺序坐标矩阵
Figure BDA0002268684200000063
对于
Figure BDA0002268684200000064
反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′,然后交换CDN中e和e′对应的坐标位置的元素直至处理完SDn中所有元素,根据CDN中坐标的映射关系fg将D′N逆置乱为
Figure BDA0002268684200000065
第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步。
进一步,第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);
Figure BDA0002268684200000066
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)产生随机整数矩阵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}、随机整数编号矩阵
Figure BDA0002268684200000071
和随机偏移量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}、随机整数编号矩阵
Figure BDA0002268684200000072
和随机偏移量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
Figure BDA0002268684200000073
由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
Figure BDA0002268684200000074
第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,j)N×N,然后按式(7)量化为随机像素矩阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1};
Figure BDA0002268684200000081
将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵
Figure BDA0002268684200000082
然后按式(8)量化得到随机编号矩阵;
Figure BDA0002268684200000083
将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1):
Figure BDA0002268684200000084
进一步,第3步中,由A′与S进行模差运算得到差值矩阵D′=(d′i,j)m×n的具体方法是式(19);
D′=(A′+2p-S)mod 2p (19)第3步中,将D′转换为
Figure BDA0002268684200000085
的具体方法是:按式(11)计算坐标(i,j)对应的索引k,然后按式(20)对
Figure BDA0002268684200000086
赋值,从而将D′转换为1维序列
Figure BDA0002268684200000087
其中i=0,1,…,m-1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D′1转换为
Figure BDA0002268684200000088
其中
Figure BDA0002268684200000089
k=i·n+j (11)
Figure BDA00022686842000000810
Figure BDA00022686842000000811
第4步中,由B对D′N中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN的具体方法是:将
Figure BDA00022686842000000812
中的
Figure BDA00022686842000000813
按由小到大的顺序排列,将其作为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′=(e′0,e′1,…,e′N-1);
Figure BDA00022686842000000814
第5步中,根据CDN中坐标建立的映射关系fg为式(22);
Figure BDA0002268684200000091
第5步中,利用fg将D′N逆置乱为
Figure BDA0002268684200000092
的具体方法为:
Figure BDA0002268684200000093
寻找
Figure BDA0002268684200000094
的下标(i0,i1,…,iN-1)在fg中的映射位置
Figure BDA0002268684200000095
Figure BDA0002268684200000096
为(i″0,i″1,…,i″N-1),按式(23)进行交换;当所有的D′N中的元素交换完毕后,将交换后的D′N记为
Figure BDA0002268684200000097
Figure BDA0002268684200000098
第6步中,将DN由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D的具体方法是:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,从而通过
Figure BDA0002268684200000099
将DN转换为
Figure BDA00022686842000000910
然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而通过
Figure BDA00022686842000000911
Figure BDA00022686842000000912
转换为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)
Figure BDA00022686842000000913
第6步中,将D和S进行融合解密的具体方法是式(24):
A′=(D+S)mod 2p (24)。
本发明同现有技术优点分析:
本发明提供的一种懒尺度变换和随机分层融合的图像加密方法,通过用户密钥和待加密图像的MD5值、SHA-1值以及轮迭代参数来产生轮随机数序列;然后利用轮随机数序列中的随机数分别产生随机分层矩阵、尺度参数、懒尺度变换阵、编号矩阵以及偏移量来参与图像的加密和解密过程,然后利用随机分层矩阵与待加密图像进行模差运算,将得到的差值图像进行高维懒尺度变换从而达到置乱的效果;最后将完成高维懒尺度变换的置乱图像与随机分层矩阵进行融合加密,通过多轮迭代得到最终加密图像。本发明所提的懒尺度变换是通过改变置换规则,将两位置的像素值进行交换而非单纯的替代,通过懒尺度变换,可免去构造复杂的高维变换阵来满足一一映射的过程。
进一步的,本发明的所有加密环节和对应的加密策略都与产生的轮随机序列密切关联,随机分层矩阵将待加密图像进行随机分层并与待加密图像进行差值运算得到差值矩阵;尺度参数随机生成,生成的尺度参数则决定了置乱空间维度,打破了其在单一固定尺度空间置乱的局限性;懒尺度变换阵随机生成,用于构造坐标之间的映射关系,通过懒尺度变换阵计算出新旧位置的坐标并将对应位置的像素值交换;编号矩阵则用在懒尺度变换之前,根据编号矩阵先将差值图像进行分类重排,使得在进行懒尺度变换时采用的是一种非常规的遍历方式;随机生成的偏移量则是在进行懒尺度变换时对当前所求的坐标加上一定的偏移量,更好的扩展了随机性。
进一步的,本发明加密环节中所产生的随机数序列都与用户密钥和待加密图像的MD5值和SHA-1值、以及加密轮迭代次数密切相关,采用了待加密的双哈希值进行随机序列的生成,给出的加密算法同明文强相关,相对于传统的明文图像弱相关或者明文图像单哈希加密算法来说,具有更好的安全性,同时使得不同的加密图像经历的在加密过程中使用的参数均不同,提高了使用特殊模板进行恶意攻击的抵抗性。另外进行多轮次加密后,若不能得到正确的轮迭代次数,即使得到了正确的MD5值和SHA-1值,也不能正确的解密。
进一步的,本发明通过引入与待加密图像等大的随机分层矩阵来进行融合加密,随机分层矩阵的作用有:1)对待加密图像随机分层;2)将其与待加密图像进行模差运算,得到差值图像3)在高维空间置乱完成后,再与随机分层矩阵进行融合加密得到该轮加密图像,且随机分层矩阵也使得加密过程中的置乱与混淆环节紧密耦合。
附图说明
图1为加密流程图;
图2为解密流程图;
图3为实施例,待加密图像,分辨率为256×256的8位灰度图像Lena,待加密图像MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdbScbb49d6572dce72a15c725e022e3dfcc7efef;
图4是实施例,待加密图像,分辨率为256×256的8位灰度图像Face,待加密图像MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8;
图5是实施例,待加密图像,分辨率为256×256的8位灰度图像Man,待加密图像MD5值和SHA-1值分别为0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f567fb5352e7d845c;
图6是实施例,图3对应的加密图像,分辨率为256×256的8位灰度图像,用户密钥k=0.661,轮迭代次数Q=3;
图7是实施例,图4对应的加密图像,分辨率为256×256的8位灰度图像,用户密钥k=0.662,轮迭代次数Q=4;
图8是实施例,图5对应的加密图像,分辨率为256×256的8位灰度图像,用户密钥k=0.663,轮迭代次数Q=5;
图9是实施例,图3对应的解密图像,分辨率为256×256的8位灰度图像,相对于图3的MSE=0,其中参数设置为:待解密图像MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,用户密钥k=0.661,轮迭代次数Q=3,密图完全恢复;
图10是实施例,图4对应的解密图像,分辨率为256×256的8位灰度图像,相对于图4的MSE=0,其中参数设置为:待解密图像MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8,用户密钥k=0.662,轮迭代次数Q=4,密图完全恢复;
图11是实施例,图5对应的解密图像,分辨率为256×256的8位灰度图像,相对于图5的MSE=0,其中参数设置为:待加密图像MD5值和SHA-1值分别为0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f567fb5352e7d845c,用户密钥k=0.663,轮迭代次数Q=5,密图完全恢复;
图12是实施例,图6灰度直方图,各阶灰度分布均衡;
图13是实施例,图7灰度直方图,各阶灰度分布均衡;
图14是实施例,图8灰度直方图,各阶灰度分布均衡;
图15是实施例,将参数MD5值由0x11a53b2af5105e27c170a7d2cfb894bc修改为0x11a53b2a f5105e27c170a7d2cfb894bb,而SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,初始密钥k=0.661及轮迭代次数Q=3不变,对图6的恢复结果,图15相对于图3的MSE=8.250240149202133,密图无法恢复;
图16是实施例,将参数SHA-1值由0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef修改为0xdb8cbb49d6572dce72a15c725e022e3dfcc7ffef,而MD5值0x11a53b2af5105e27c170a7d2cf b894bc,初始密钥k=0.661及轮迭代次数Q=3不变,对图6的恢复结果,图16相对于图3的MSE=8.232600353889676,密图无法恢复;
图17是实施例,将初始密钥由k=0.661修改为k=0.6612,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及轮迭代次数Q=3不变,对图6的恢复结果,图17相对于图3的MSE=8.253342436149865,密图无法恢复;
图18是实施例,将轮迭代次数由Q=3修改为Q=2,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及初始密钥k=0.661变,对图6的恢复结果,图18相对于图3的MSE=8.255743870213285,密图无法恢复。
具体实施方式
以下以JAVA jdk1.8.0_65为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例,其中图1是加密流程图,图2是解密流程图。以下是图像加密的具体实施步骤:
第1步:输入分辨率为m×n的p阶灰度图像A=(ai,j)m×n,ai,j∈{0,1,…,2p-1},由A的MD5值SMD5=(m0,m1,…,m31)和SHA-1值SSHA-1=(s0,s1,…,s39)和用户密钥k∈(0,1)以及轮迭代次数Q产生长度为Q的(0,1)范围的轮随机数序列ks=(k0,k1,…,kQ-1),初始化加密轮参数QC=0,其中产生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);
注:这里的A的明文属性可以选取A的任意一种或多种哈希值,不失一般性,这里选取A的MD5值SMD5=(m0,m1,…,m31)和SHA-1值SSHA-1=(s0,s1,…,s39),这里的用户密钥可由随机过程动态产生的随机参数或随机参数的映射值得到,也可由用户的专有物品和生物特征映射得到,不失一般性,这里假设选取的随机数k∈(0,1)作为用户密钥。
假设输入的分辨率为4×4的p=8阶灰度图像
Figure BDA0002268684200000111
假设A的MD5值SMD5=(4,1,7,7,f,7,7,8,9,3,5,b,c,0,b,d,c,8,1,2,8,e,3,8,3,3,b,5,4,8,6,6)和A的SHA-1值SSHA-1=(9,4,7,2,b,d,2,3,a,3,9,e,f,6,e,e,7,f,9,c,b,c,7,7,5,1,c,c,1,7,8,c,c,9,3,e,8,b,4,3),取k=0.663作为初始值x0,代入式(1)假设得到G=3.57+0.43·(456.3397675830333 mod 1)=3.7161000607043095,其中
Figure BDA0002268684200000121
然后将G=3.7161000607043095作为式(2)系统参数μ,将x0=0.663代入式(2),驱动式(2)可产生长度为Q=3的(0,1)范围的随机数序列ks=(0.8302919526632245,0.5236253511142538,0.9269508471145234),初始化加密轮参数QC=0;
第2步:将ks中的第QC个随机数kQC作为x0,按式(1)生成G,将G作为式(2)系统参数μ,将x0代入式(2),驱动式(2)产生长度为5的(0,1)范围随机数序列cs=(c0,c1,…,c4);
例如将ks=(0.8302919526632245,0.5236253511142538,0.9269508471145234)中的第QC=0个随机数k0=0.8302919526632245作为x0,按式(1)生成G=3.57+0.43·(624.1808114822451 mod 1)=3.6477489373653826,将G=3.6477489373653826作为式(2)系统参数μ,将x0=0.8302919526632245代入式(2),驱动式(2)产生长度为5的(0,1)范围随机数序列
Figure BDA0002268684200000122
由c0产生随机像素矩阵S=(si,j)m×n,si,j∈{0,1,…,2p-1};由c1产生N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn;由c2生成随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1};由c3生成随机整数编号矩阵
Figure BDA0002268684200000123
由c4生成随机偏移量l=(l0,l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1},其中:
1)将c0作为初始值x0,按式(1)生成G,然后将G作为系统参数μ,驱动式(2)产生(0,1)范围与密图像素矩阵等大的随机矩阵X=(xi,j)m×n,然后将X按式(3)量化为随机整数矩阵S=(si,j)m×n
例如:将c0=0.5139941839301775作为初始值x0,按式(1)生成G=3.57+0.43·(536.2886392732273 mod 1)=3.6941148874877467,然后将G=3.6941148874877467作为系统参数μ,驱动式(2)假设产生(0,1)范围与A等大的随机矩阵
Figure BDA0002268684200000124
取2p=256,然后将X按式(3)可量化为随机整数矩阵
Figure BDA0002268684200000131
其中
Figure BDA0002268684200000132
为向下取整运算符。
2)由c1产生N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn的具体方法在于包括以下步骤:
第2.1步:初始化N=0,u=0,L=m·n,将c1作为x0
例如:由A知:m=n=4初始化N=0,u=0,L=4·4=16,将c1=0.9112228694619813作为x0
第2.2步:按式(1)生成G,将x0和G代入式(2)产生(0,1)范围的随机数,记为yu,然后按式(4)将其量化为整数γu∈(1,L),将yu作为x0
例如:按式(1)可生成G=3.57+0.43·(800.2594082010901mod 1)=3.681545526468735,将x0=0.9112228694619813和G=3.681545526468735代入式(2)产生(0,1)范围的随机数,记为y0=0.2978213925291065,然后按式(4)将其量化为整数γ0=2∈(1,16),将y0=0.2978213925291065作为x0
第2.3步:若L为非质数,则反复执行第2.2步,直至γu满足式(5)的约束,则将γu作为ωu,并按式(6)更新L,N=N+1,u=u+1;
例如:由于L=16为非质数且第2.2步得到的γ0=2满足式(5)的约束,因此将γ0=2作为ω0=2,并按式(6)更新L=16/2=8,N=0+1=1,u=0+1=1;
由于L=8为非质数,则继续执行第2.2步可产生ω1,若生成的ω1=2,则由式(6)可更新L=4,N=1+1=2,u=1+1=2;
由于L=4为非质数,则继续执行第2.2步可产生ω2,若生成的ω2=2,则由式(6)可更新L=2,N=2+1=3,u=2+1=3;
此时L=2为质数,不满足2.3步的执行条件,因此继续执行第2.4步。
第2.4步:若L为质数,则将ωu=L,N=N+1,并输出ω0,ω1,…,ωN-1和N。
由于L=2为质数,则置ω3=2,更新N=3+1=4,并输出ω0=2,ω1=2,…,ω3=2和N=4。
3)将c2作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵z=(zi,j)N×N,然后按式(7)量化为随机像素矩阵C=(ci,j)N×N,ci,j∈{0,1,…,ωi-1};
例如:将c2=0.29508739205101137作为初始值x0,按式(1)生成G=3.57+0.43·(-108.58056999377338 mod 1)=3.320354902677446,驱动式(2)产生(0,1)范围随机矩阵
Figure BDA0002268684200000141
若取ω0=2,ω1=2,…,ω3=2,2p=256,按式(7)可量化为随机像素矩阵
Figure BDA0002268684200000142
4)将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵
Figure BDA0002268684200000143
然后按式(8)量化得到随机编号矩阵
Figure BDA0002268684200000144
例如:将c3=0.7587712589364516作为初始值x0,按式(1)生成G=3.57+0.43·(497.5517722884679 mod 1)=3.8072620840411853,驱动式(2)产生(0,1)范围随机编号矩阵
Figure BDA0002268684200000145
其中:w0,0,0,0=0.6968714883237227,w1,0,0,0=0.8042521993000374,…,w0,1,1,1=0.9364607627868531,w1,1,1,1=0.22653971822368868,然后按式(8)量化得到随机编号矩阵B,其中b0,0,0,0=10,b1,0,0,0=5,…,b0,1,1,1=5,b1,1,1,1=8,这里假设M=16;
5)将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1);
例如:将c4=0.6676746110199211作为初始值x0,按式(1)生成G=3.57+0.43·(454.2389992260044 mod 1)=3.672769667181896,驱动式(2)产生(0,1)范围随机数作为随机向量:h=(0.8149333233122275,0.5539161097543281,0.9075158704299507,0.3082585527509493),然后按式(9)可量化为随机偏移量l=(1,0,0,1);
第3步:由A与S进行模差运算,按式(10)得到差值矩阵D=(di,j)m×n,按式(11)计算坐标(i,j)对应的索引k,然后按式(12)对
Figure BDA0002268684200000146
赋值,从而将D转换为1维序列
Figure BDA0002268684200000147
其中i=0,1,…,m-1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D2转换为
Figure BDA0002268684200000148
其中
Figure BDA0002268684200000149
例如:取p=8,由
Figure BDA00022686842000001410
Figure BDA00022686842000001411
按式(10)进行模差运算得到差值矩阵
Figure BDA00022686842000001412
若取(i,j)=(0,0),则按按式(11)计算索引k=0·4+0=0,然后按式(12)对
Figure BDA00022686842000001413
赋值,从而
Figure BDA00022686842000001414
从而将D转换的1维序列D2=(13,17,…,94,33),按式(13)计算k=0对应的N=4维2×2×2×2空间坐标(i0,i1,…,i3)=(0,0,0,0),从而将D1=(13,17,…,94,33)转换为D4,其中
Figure BDA0002268684200000151
第4步:将
Figure BDA0002268684200000152
中的
Figure BDA0002268684200000153
按由小到大的顺序排列DN元素坐标(i0,i1,…,iN-1)并作为1维序列SDN
例如:按式(8)量化得到随机编号矩阵B,每个元素都是一个编号,例如:b0,0,0,0=10,b1,0,0,0=5,…,b0,1,1,1=5,b1,1,1,1=8,若按B中的元素由小到大进行排列,假设将D4元素坐标由(0,0,0,0),(1,0,0,0),…,(0,1,1,1)(1,1,1,1)排列为(0,0,1,0),(0,1,1,0),…,(0,1,0,1)(1,0,1,0)其中b0,0,1,0最小,b1,0,1,0最大,则SDN=((0,0,1,0),(0,1,1,0),…,(0,1,0,1)(1,0,1,0))。
第5步:对于
Figure BDA0002268684200000154
反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换式(14)将e映射为e′,然后按式(15)交换e和e′位置的DN元素直至SDN中的全部元素处理完毕,从而将DN置乱为D′N,D′N即置乱后的DN
例如:若取e=(0,0,1,0),以
Figure BDA0002268684200000155
为变换阵,l=(1,0,0,1)为偏移量,取ω0=2,ω1=2,…,ω3=2,则按式(14)可将e=(0,0,1,0)映射为:
Figure BDA0002268684200000156
Figure BDA0002268684200000157
则按式(15)交换81和94,直至SDN=((0,0,1,0),(0,1,1,0),…,(0,1,0,1)(1,0,1,0))中的全部元素处理完毕,从而可将DN中的元素由
Figure BDA0002268684200000158
置乱为
Figure BDA0002268684200000159
即为D′4
第6步:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,通过
Figure BDA00022686842000001510
Figure BDA00022686842000001511
转换为
Figure BDA00022686842000001512
然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而通过
Figure BDA00022686842000001513
Figure BDA00022686842000001514
转换为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},然后按式(18)将D′和S进行融合加密,作为第QC轮加密后的图像A′;
例如:将(0,0,0,0)代入式(16),可得到k=0,从而将D′4中的(0,0,0,0)位置元素
Figure BDA00022686842000001515
映射为D′1中的索引位置为k=0的元素,即
Figure BDA00022686842000001516
按式(17)可将k=0映射为(0,0),从而D′在(0,0)坐标位置的元素d′0,0=33。
假设由式(16)和式(17)得到的最终矩阵
Figure BDA0002268684200000161
然后将D′和
Figure BDA0002268684200000162
按式(18)进行融合加密,可得到
Figure BDA0002268684200000163
将A′作为第QC轮加密后的图像。
第7步:更新QC=QC+1,若QC=Q,则输出A′作为最终加密图像,反之则执行第2步至第6步;
假设Q=3时,可得到
Figure BDA0002268684200000164
将A′输出作为最终加密图像。
以下是解密的对应实施步骤:
第1步:输入分辨率为m×n的p阶灰度待解密图像A′=(a′i,j)m×n,a′i,j∈{0,1,…,2p-1},由A′的解密图像A的MD5值SMD5=(m0,m1,…,m31)和SHA-1值SSHA-1=(s0,s1,…,s39)和用户密钥k∈(0,1)以及轮迭代次数Q产生长度为Q的(0,1)范围的轮随机数序列ks=(k0,k1,…,kQ-1),初始化解密轮参数QC=Q-1,其中产生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);
注:A的明文属性可选取A的任意一种或多种哈希值,只要和加密方法保持一致即可,不失一般性,这里选取A的MD5值SMD5=(m0,m1,…,m31)和SHA-1值SSHA-1=(s0,s1,…,s39),这里的用户密钥可由随机过程动态产生的随机参数或随机参数的映射值得到,也可由用户的专有物品和生物特征映射得到,不失一般性,这里假设选取的随机数k∈(0,1)作为用户密钥。
假设输入分辨率为4×4的p=8阶灰度待解密图像
Figure BDA0002268684200000165
假设解密图像A的MD5值为SMD5=(4,1,7,7,f,7,7,8,9,3,5,b,c,0,b,d,c,8,1,2,8,e,3,8,3,3,b,5,4,8,6,6)和SHA-1值为SSHM-1=(9,4,7,2,b,d,2,3,a,3,9,e,f,6,e,e,7,f,9,c,b,c,7,7,5,1,c,c,1,7,8,c,c,9,3,e,8,b,4,3),取k=0.663作为初始值x0,则由式(1)可得到G=3.57+0.43·(456.3397675830333 mod 1)=3.7161000607043095,其中
Figure BDA0002268684200000171
然后将G=3.7161000607043095作为式(2)系统参数μ,将x0=0.663代入式(2),驱动式(2)可产生长度为Q=3的(0,1)范围的随机数序列:
ks=(0.8302919526632245,0.5236253511142538,0.9269508471145234),初始化加密轮参数QC=Q-1,若取Q=3,则有QC=3-1=2;
第2步:将ks中的第QC个随机数kQC作为x0,按式(1)生成G,将G作为式(2)系统参数μ,将x0代入式(2),驱动式(2)产生长度为5的(0,1)范围随机数序列cs=(c0,c1,…,c4);
例如:将ks=(0.8302919526632245,0.5236253511142538,0.9269508471145234)中的第QC=2个随机数k2=0.9269508471145234作为x0,按式(1)可生成G=3.5853306535418628,将G=3.5853306535418628作为式(2)系统参数μ,将x0=0.9269508471145234代入式(2),驱动式(2)产生长度为5的(0,1)范围随机数序列
Figure BDA0002268684200000172
由c0产生随机像素矩阵S=(si,j)m×n,si,j∈{0,1,…,2p-1};由c1产生N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn;由c2生成随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1};由c3生成随机整数编号矩阵
Figure BDA0002268684200000173
由c4生成随机偏移量l=(l0,l1,…,lN-1)且满足l0∈{0,1,…,ω0-1},l1∈{0,1,…,ω1-1},…,lN-1∈{0,1,…,ωN-1-1},其中:
1)将c0作为初始值x0,按式(1)生成G,然后将G作为系统参数μ,驱动式(2)产生(0,1)范围与密图像素矩阵等大的随机矩阵X=(xi,j)m×n,然后将X按式(3)量化为随机像素矩阵S=(si,j)m×n
例如:将c0=0.24277340185599652作为初始值x0,按式(1)可生成G=3.57+0.43·(-129.81686791422348 mod 1)=3.2187467968839036,然后将G=3.2187467968839036作为系统参数μ,驱动式(2)产生(0,1)范围与A′等大的随机矩阵
Figure BDA0002268684200000181
然后将X按式(3)可量化为随机整数矩阵
Figure BDA0002268684200000182
2)由c1产生N个随机正整数ω0,ω1,…,ωN-1且满足ω0ω1…ωN-1=mn的具体方法包括以下步骤:
第2.1步:初始化N=0,u=0,L=m·n,将c1作为x0
例如:由A′知m=n=4,初始化N=0,u=0,L=4·4=16,将c1=0.6591073863090442作为x0
第2.2步:按式(1)生成G,将x0和G代入式(2)产生(0,1)范围的随机数,记为yu,然后按式(4)将其量化为整数γu∈(1,L),将yu作为x0
例如:按式(1)可生成G=3.8993080170973364,将x0=0.6591073863090442和G=3.8993080170973364代入式(2)产生(0,1)范围的随机数,记为y0=0.8761153964579218,然后按式(4)将其量化为整数γ0=8∈(1,16),将y0=0.8761153964579218作为x0
第2.3步:若L为非质数,则反复执行第2.2步,直至γu满足式(5)的约束,则将γu作为ωu,并按式(6)更新L,N=N+1,u=u+1;
例如:由于L=16为非质数且第2.2步得到的γ0=8满足式(5)的约束,因此将γ0=8作为ω0=8,并按式(6)更新L=16/8=2,N=0+1=1,u=0+1=1;
此时L=2为质数,不满足2.3步的执行条件,因此继续执行第2.4步。
第2.4步:若L为质数,则将ωu=L,N=N+1,并输出ω0,ω1,…,ωN-1和N。
由于L=2为质数,则置ω1=2,更新N=1+1=2,并输出ω0=8,ω1=2和N=2。
3)将c2作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵z=(zi,j)N×N,然后按式(7)量化为随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1};
例如:将c2=0.8055694428825517作为初始值x0,按式(1)可生成G=3.9906344253661996,驱动式(2)产生(0,1)范围随机矩阵
Figure BDA0002268684200000183
按式(7)量化为随机变换阵
Figure BDA0002268684200000184
4)将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵
Figure BDA0002268684200000185
然后按式(8)量化得到随机编号矩阵
Figure BDA0002268684200000186
其中M为预先定义的正整数;
例如:将c3=0.5615607157182101作为初始值x0,按式(1)生成G=3.861944541332018,驱动式(2)产生(0,1)范围随机编号矩阵
Figure BDA0002268684200000191
其中:w0,0=0.9508504402242939,w1,0=0.1804836548836374,…,w6,1=0.9023827996506322,w7,1=0.3401912895422997,然后按式(8)量化得到随机编号矩阵B,其中b0,0=5,b1,0=5,…,b6,1=8,b7,1=11,这里假设M=16;
5)将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1);
例如:将c4=0.8827452579352947作为初始值x0,按式(1)生成G=3.851759138408662,驱动式(2)产生(0,1)范围随机数作为随机向量h=(0.3986804414818904,0.9233989620853189),然后按式(9)量化为随机偏移量l=(2,0);
第3步:按式(19)将A′与S进行模差运算得到差值矩阵D′=(d′i,j)m×n,按式(11)计算坐标(i,j)对应的索引k,然后按式(20)对
Figure BDA0002268684200000192
赋值,从而将D′转换为1维序列
Figure BDA0002268684200000193
其中i=0,1,…,m-1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D′1转换为
Figure BDA0002268684200000194
例如:按式(19)将
Figure BDA0002268684200000195
Figure BDA0002268684200000196
得到差值矩阵
Figure BDA0002268684200000197
若取(i,j)=(3,2),则按式(11)计算坐标(i,j)=(3,2)对应的索引k=3.4+2=14,然后按式(20)对
Figure BDA0002268684200000198
赋值为12,从而将D′转换为1维序列D′1=(103,213,…,12,98),按式(13)可计算出k=14对应的8×2空间坐标(i0,i1)=(6,1),从而将D′1=(103,213,…,12,98)转换为D′2,其中
Figure BDA0002268684200000199
第4步:将
Figure BDA00022686842000001910
中的
Figure BDA00022686842000001911
按由小到大的顺序排列D′N元素坐标(i0,i1,…,iN-1)并作为1维序列SDN
例如:若按将B中的元素按由小到大的顺序排列,假设将D′2元素坐标由(0,0),(1,0),…,(6,1),(7,1)排列为(1,1),(7,0),…,(2,1),(0,1),则SDN=((1,1),(7,0),…,(2,1),(0,1));
第5步:初始化N维顺序坐标矩阵
Figure BDA00022686842000001912
将SDN赋值为SD′N,对于
Figure BDA00022686842000001913
反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换按式(14)将e映射为e′,然后按式(21)交换CDN中e和e′对应的坐标位置的元素直至处理完SDn中所有元素,根据CDN中坐标的映射关系fg将D′N逆置乱为
Figure BDA00022686842000001914
其中,根据CDN中坐标的映射关系fg将D′N逆置乱为
Figure BDA00022686842000001915
的方法是:
Figure BDA0002268684200000201
寻找
Figure BDA0002268684200000202
的下标(i0,i1,…,iN-1)在fg中的映射位置
Figure BDA0002268684200000203
Figure BDA0002268684200000204
为(i″0,i″1,…,i″N-1),按式(23)进行交换;当所有的D′N中的元素交换完毕后,将交换后的D′N记为
Figure BDA0002268684200000205
例如:取ω0=8,ω1=2,可初始化
Figure BDA0002268684200000206
若取e=(1,1),以
Figure BDA0002268684200000207
为变换阵,以l=(2,0)为偏移量,取ω0=8,ω1=2,则按式(14)可将e=(1,1)映射为
Figure BDA0002268684200000208
因此需要按式(21)交换CDN中的e=(1,1)和e′=(0,6)的位置的元素,则有:
cd1,1=(0,6),cd0,6=(1,1)当处理完SDN=((1,1),(7,0),…,(2,1)(0,1))中所有元素后,则可按式(22)根据CDN中的坐标建立映射关系
Figure BDA0002268684200000209
从而可建立坐标(i0,i1)到
Figure BDA00022686842000002010
的映射关系,按式(23)将D′N逆置乱为
Figure BDA00022686842000002011
假设处理完SDN=((1,1),(7,0),…,(2,1)(0,1))中所有元素后CDN中的坐标cd1,1=(3,1),即按照fg,则有(1,1)→(3,1),因此根据式(23),需要将
Figure BDA00022686842000002012
进行交换,从而可按fg将D′2中的全部元素进行逆置乱恢复,例如:将
Figure BDA00022686842000002013
逆置乱为
Figure BDA00022686842000002014
即为D2
第6步:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,从而将DN转换为D1,然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而将D1转换为D,将D和S进行按式(24)进行融合解密,作为第QC轮解密后的图像A′;
例如:将(6,1)代入式(16),可得k=14,从而将D2中(6,1)位置元素
Figure BDA00022686842000002015
映射为D1中的索引位置为k=14的元素,即
Figure BDA00022686842000002016
按式(17)可计算k=14对应的4×4空间坐标(i,j)=(3,2),从而D在(3,2)坐标位置的元素d3,2=60;
假设由(16)和(17)得到的最终矩阵为
Figure BDA00022686842000002017
Figure BDA00022686842000002018
Figure BDA00022686842000002019
按式(24)进行融合解密,可得到
Figure BDA00022686842000002020
将A′作为第QC轮解密后的图像。
第7步:更新QC=QC-1,若QC<0,则输出A′作为最终解密图像A,反之则执行第2步至第6步;
假设QC<0时,可得到
Figure BDA0002268684200000211
则将
Figure BDA0002268684200000212
输出作为最终解密图像A。
图3~图5是待加密图像,分别是分辨率为256×256的8位灰度图像lena、Face和Man,其中Lena的MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef;Face的MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8;Man的MD5值和SHA-1值分别为0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f567fb5352e7d845c。
图6、图7和图8依次是图3、图4和图5对应的加密图像,其中图6用户密钥k=0.661,轮迭代次数Q=3;图7用户密钥k=0.662,轮迭代次数Q=4;图8用户密钥k=0.663,轮迭代次数Q=5。
图9、图10和图11依次是图3、图4和图5对应的解密图像,其中图9相对于图3的MSE=0,对应的参数设置为:待解密图像MD5值和SHA-1值分别为0x11a53b2af5105e27c170a7d2cfb894bc,0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,用户密钥k=0.661,轮迭代次数Q=3,密图完全恢复;图10相对于图4的MSE=0,对应的参数设置为:待解密图像MD5值和SHA-1值分别为0xd29166c4b53df82bf37a3aeeb346b4b2,0x2312bf55574029ccd53e17ebaf491efb84a6cbf8,用户密钥k=0.662,轮迭代次数Q=4,密图完全恢复;图11相对于图5的MSE=0,对应的参数设置为:待加密图像MD5值和SHA-1值分别为0x45baa9dac85cecfaf9f4b1d7527ab6e4,0x35fbedc1ec1dc27560f567fb5352e7d845c,用户密钥k=0.663,轮迭代次数Q=5,密图完全恢复。
图12、图13和图14依次是图6、图7和图8的灰度直方图,这些灰度直方图的各阶灰度分布均衡,趋近于均匀分布,说明整体加密效果较好。
图15是将参数MD5值由0x11a53b2af5105e27c170a7d2cfb894bc修改为0x11a53b2af5105e27c170a7d2cfb894bb,而SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef,初始密钥k=0.661及轮迭代次数Q=3不变,对图6的恢复结果,图15相对于图3的MSE=8.250240149202133,说明密图无法恢复;
图16是将参数SHA-1值由0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef修改为0xdb8cbb49d6572dce72a15c725e022e3dfcc7ffef,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc,初始密钥k=0.661及轮迭代次数Q=3不变,对图6的恢复结果,图16相对于图3的MSE=8.232600353889676,说明密图无法恢复;
图17是将初始密钥由k=0.661修改为k=0.6612,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及轮迭代次数Q=3不变,对图6的恢复结果,图17相对于图3的MSE=8.253342436149865,密图无法恢复;
图18是将轮迭代次数由Q=3修改为Q=2,而MD5值0x11a53b2af5105e27c170a7d2cfb894bc和SHA-1值0xdb8cbb49d6572dce72a15c725e022e3dfcc7efef及初始密钥k=0.661不变,对图6的恢复结果,图18相对于图3的MSE=8.255743870213285,说明密图无法恢复。

Claims (10)

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}、随机整数编号矩阵
Figure FDA0002268684190000011
和随机偏移量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维空间矩阵
Figure FDA0002268684190000012
第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步:对于
Figure FDA0002268684190000015
反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′,然后交换e和e′位置的DN元素直至SDN中的全部元素处理完毕,从而将DN置乱为N维空间置乱矩阵
Figure FDA0002268684190000013
第6步:将
Figure FDA0002268684190000014
由ω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个元素
Figure FDA0002268684190000021
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}、随机整数编号矩阵
Figure FDA0002268684190000022
和随机偏移量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}、随机整数编号矩阵
Figure FDA0002268684190000023
和随机偏移量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
Figure FDA0002268684190000031
将c2作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵z=(zi,j)N×N,然后按式(7)量化为随机变换阵C=(ci,j)N×N,ci,j∈{0,1,…,2p-1}:
Figure FDA0002268684190000032
将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵
Figure FDA0002268684190000033
然后按式(8)量化得到随机编号矩阵:
Figure FDA0002268684190000034
将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1):
Figure FDA0002268684190000035
由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
Figure FDA0002268684190000036
第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转换为
Figure FDA0002268684190000041
的具体方法是:按式(11)计算坐标(i,j)对应的索引k,然后按式(12)对
Figure FDA0002268684190000042
赋值,从而将D转换为1维序列
Figure FDA0002268684190000043
其中i=0,1,…,m-1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D1转换为
Figure FDA0002268684190000044
其中
Figure FDA0002268684190000045
k=i·n+j (11)
Figure FDA0002268684190000046
Figure FDA0002268684190000047
第4步中,由B对DN中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN的具体方法是:将
Figure FDA0002268684190000048
中的
Figure FDA0002268684190000049
按由小到大的顺序排列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);
Figure FDA0002268684190000051
第6步中,将D′N由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D′的具体方法是:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,通过
Figure FDA0002268684190000052
Figure FDA0002268684190000053
转换为
Figure FDA0002268684190000054
然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而通过
Figure FDA0002268684190000055
Figure FDA0002268684190000056
转换为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)
Figure FDA0002268684190000057
第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,j∈{0,1,…,2p-1}、随机整数编号矩阵
Figure FDA0002268684190000058
和随机偏移量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维空间置乱矩阵
Figure FDA0002268684190000059
第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维顺序坐标矩阵
Figure FDA0002268684190000061
对于
Figure FDA0002268684190000062
反复以C为变换阵,以l为偏移量,ω0,ω1,…,ωN-1为尺度参数,通过懒尺度变换将e映射为e′,然后交换CDN中e和e′对应的坐标位置的元素直至处理完SDn中所有元素,根据CDN中坐标的映射关系fg将D′N逆置乱为
Figure FDA0002268684190000063
第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);
Figure FDA0002268684190000064
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)产生随机整数矩阵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}、随机整数编号矩阵
Figure FDA0002268684190000071
和随机偏移量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}、随机整数编号矩阵
Figure FDA0002268684190000072
和随机偏移量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
Figure FDA0002268684190000073
由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
Figure FDA0002268684190000074
第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};
Figure FDA0002268684190000081
将c3作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机矩阵
Figure FDA0002268684190000082
然后按式(8)量化得到随机编号矩阵:
Figure FDA0002268684190000083
将c4作为初始值x0,按式(1)生成G,驱动式(2)产生(0,1)范围随机数作为随机向量h=(h0,h1,…,hN-1),然后按式(9)量化为随机偏移量l=(l0,l1,…,lN-1):
Figure FDA0002268684190000084
10.如权利要求7所述的一种懒尺度变换和随机分层融合的图像解密方法,其特征在于:
第3步中,由A′与S进行模差运算得到差值矩阵D′=(d′ij)m×n的具体方法是式(19):
D′=(A′+2p-S)mod 2p (19)
第3步中,将D′转换为
Figure FDA0002268684190000085
的具体方法是:按式(11)计算坐标(i,j)对应的索引k,然后按式(20)对
Figure FDA0002268684190000086
赋值,从而将D′转换为1维序列
Figure FDA0002268684190000087
其中i=0,1,…,m-1,j=0,1,…,n-1;按式(13)计算k对应的N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1),从而将D′1转换为
Figure FDA0002268684190000088
其中
Figure FDA0002268684190000089
k=i·n+j (11)
Figure FDA0002268684190000091
Figure FDA0002268684190000092
第4步中,由B对D′N中的元素坐标(i0,i1,…,iN-1)进行排列,并将其作为1维序列SDN的具体方法是:将
Figure FDA0002268684190000093
中的
Figure FDA0002268684190000094
按由小到大的顺序排列,将其作为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);
Figure FDA0002268684190000095
第5步中,根据CDN中坐标建立的映射关系fg为式(22):
Figure FDA0002268684190000096
第5步中,利用fg将D′N逆置乱为
Figure FDA0002268684190000097
的具体方法为:
Figure FDA0002268684190000098
寻找
Figure FDA0002268684190000099
的下标(i0,i1,…,iN-1)在fg中的映射位置
Figure FDA00022686841900000910
Figure FDA00022686841900000911
为(i″0,i″1,…,i″N-1),按式(23)进行交换;当所有的D′N中的元素交换完毕后,将交换后的D′N记为
Figure FDA00022686841900000912
Figure FDA00022686841900000913
第6步中,将DN由ω0×ω1×…×ωN-1维矩阵映射为m×n维矩阵D的具体方法是:按式(16)计算N维ω0×ω1×…×ωN-1空间坐标(i0,i1,…,iN-1)对应的k,从而通过
Figure FDA00022686841900000914
将DN转换为
Figure FDA00022686841900000915
然后按式(17)计算k对应的2维m×n空间坐标(i,j),从而通过
Figure FDA0002268684190000101
Figure FDA0002268684190000102
转换为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)
Figure FDA0002268684190000103
第6步中,将D和S进行融合解密的具体方法是式(24):
A′=(D+S)mod 2p (24)。
CN201911097161.6A 2019-11-11 2019-11-11 一种懒尺度变换和随机分层融合的图像加密解密方法 Active CN110879894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911097161.6A CN110879894B (zh) 2019-11-11 2019-11-11 一种懒尺度变换和随机分层融合的图像加密解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911097161.6A CN110879894B (zh) 2019-11-11 2019-11-11 一种懒尺度变换和随机分层融合的图像加密解密方法

Publications (2)

Publication Number Publication Date
CN110879894A true CN110879894A (zh) 2020-03-13
CN110879894B CN110879894B (zh) 2023-04-07

Family

ID=69729494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911097161.6A Active CN110879894B (zh) 2019-11-11 2019-11-11 一种懒尺度变换和随机分层融合的图像加密解密方法

Country Status (1)

Country Link
CN (1) CN110879894B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112205996A (zh) * 2020-11-01 2021-01-12 南昌华亮光电有限责任公司 基于光子随机偏移量的图像加密系统与方法
CN113595717A (zh) * 2020-04-30 2021-11-02 比亚迪股份有限公司 Ecb模式分组加密方法和解密方法及控制装置和车辆

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955884A (zh) * 2014-04-22 2014-07-30 西安理工大学 基于混沌和离散分数随机变换的双图像加密方法
CN105447396A (zh) * 2015-12-15 2016-03-30 西安电子科技大学 基于Arnold变换和复合混沌的分数域图像加密方法
CN105577354A (zh) * 2015-12-10 2016-05-11 陕西师范大学 基于概率区间划分和动态概率事件的图像加密和解密方法
CN105719226A (zh) * 2016-01-26 2016-06-29 陕西师范大学 一种结合非重叠分块和等频带融合的水印嵌入及提取方法
CN106683053A (zh) * 2016-10-28 2017-05-17 陕西师范大学 一种gf(26)有限域多门限渐进秘密图像分存及重构方法
CN106709854A (zh) * 2016-12-20 2017-05-24 西安电子科技大学 基于猫脸变换和混沌的图像信息融合加密方法
CN106780278A (zh) * 2016-11-25 2017-05-31 陕西师范大学 一种结合零水印和块分类融合的自恢复图像加密和解密方法
CN107239708A (zh) * 2017-04-24 2017-10-10 广东工业大学 一种基于量子混沌映射和分数域变换的图像加密方法
CN107590394A (zh) * 2017-08-10 2018-01-16 河海大学 一种基于混沌映射和比特重组的图像加密方法
CN107610037A (zh) * 2017-09-29 2018-01-19 重庆第二师范学院 一种融合多混沌映射和dna编码的图像加密方法及装置
CN108174053A (zh) * 2017-12-27 2018-06-15 陕西师范大学 一种有向面积和扑克牌映射的解密区域限定图像加密方法
CN108230219A (zh) * 2016-12-09 2018-06-29 中国科学院深圳先进技术研究院 增强加密域jpeg图像对比度的方法及系统
CN109379510A (zh) * 2018-09-13 2019-02-22 桂林电子科技大学 一种基于二维Logistic混沌系统算法的图像加密方法
CN109657483A (zh) * 2018-11-27 2019-04-19 哈尔滨工业大学(深圳) 一种图像加密方法和系统
CN110334805A (zh) * 2019-05-05 2019-10-15 中山大学 一种基于生成对抗网络的jpeg域图像隐写方法和系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955884A (zh) * 2014-04-22 2014-07-30 西安理工大学 基于混沌和离散分数随机变换的双图像加密方法
CN105577354A (zh) * 2015-12-10 2016-05-11 陕西师范大学 基于概率区间划分和动态概率事件的图像加密和解密方法
CN105447396A (zh) * 2015-12-15 2016-03-30 西安电子科技大学 基于Arnold变换和复合混沌的分数域图像加密方法
CN105719226A (zh) * 2016-01-26 2016-06-29 陕西师范大学 一种结合非重叠分块和等频带融合的水印嵌入及提取方法
CN106683053A (zh) * 2016-10-28 2017-05-17 陕西师范大学 一种gf(26)有限域多门限渐进秘密图像分存及重构方法
CN106780278A (zh) * 2016-11-25 2017-05-31 陕西师范大学 一种结合零水印和块分类融合的自恢复图像加密和解密方法
CN108230219A (zh) * 2016-12-09 2018-06-29 中国科学院深圳先进技术研究院 增强加密域jpeg图像对比度的方法及系统
CN106709854A (zh) * 2016-12-20 2017-05-24 西安电子科技大学 基于猫脸变换和混沌的图像信息融合加密方法
CN107239708A (zh) * 2017-04-24 2017-10-10 广东工业大学 一种基于量子混沌映射和分数域变换的图像加密方法
CN107590394A (zh) * 2017-08-10 2018-01-16 河海大学 一种基于混沌映射和比特重组的图像加密方法
CN107610037A (zh) * 2017-09-29 2018-01-19 重庆第二师范学院 一种融合多混沌映射和dna编码的图像加密方法及装置
CN108174053A (zh) * 2017-12-27 2018-06-15 陕西师范大学 一种有向面积和扑克牌映射的解密区域限定图像加密方法
CN109379510A (zh) * 2018-09-13 2019-02-22 桂林电子科技大学 一种基于二维Logistic混沌系统算法的图像加密方法
CN109657483A (zh) * 2018-11-27 2019-04-19 哈尔滨工业大学(深圳) 一种图像加密方法和系统
CN110334805A (zh) * 2019-05-05 2019-10-15 中山大学 一种基于生成对抗网络的jpeg域图像隐写方法和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
任洪娥等: "一种基于Arnold变换的数字图像加密算法", 《光学技术》 *
刘龙飞等: "一种基于混沌序列的数字图像加密算法", 《科学技术与工程》 *
李用江等: "一种新的n维广义Arnold矩阵构造方法及其在图像置乱中的应用", 《北京科技大学学报》 *
潘禄生: "基于Arnold变换和混沌序列的灰度图像置乱算法", 《科学技术与工程》 *
蒋诗意等: "基于改进型Henon映射的图像加密算法", 《杭州电子科技大学学报(自然科学版)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113595717A (zh) * 2020-04-30 2021-11-02 比亚迪股份有限公司 Ecb模式分组加密方法和解密方法及控制装置和车辆
CN113595717B (zh) * 2020-04-30 2023-10-17 比亚迪股份有限公司 Ecb模式分组加密方法和解密方法及控制装置和车辆
CN112205996A (zh) * 2020-11-01 2021-01-12 南昌华亮光电有限责任公司 基于光子随机偏移量的图像加密系统与方法
CN112205996B (zh) * 2020-11-01 2023-05-26 南昌华亮光电有限责任公司 基于光子随机偏移量的图像加密系统与方法

Also Published As

Publication number Publication date
CN110879894B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
Chen et al. A novel color image encryption algorithm based on a fractional-order discrete chaotic neural network and DNA sequence operations
Huang et al. An image encryption algorithm based on hyper-chaos and DNA sequence
Zhang et al. A new image encryption algorithm based on non-adjacent coupled map lattices
Mirzaei et al. A new image encryption method: parallel sub-image encryption with hyper chaos
CN106023051B (zh) 基于云模型和超混沌系统的dna图像加密方法及系统
CN110430036B (zh) 一种基于倒差混沌映射的rgb彩色图像加密方法
CN107220923B (zh) 基于映像网络的数字图像反馈加密方法
Sha et al. A chaotic image encryption scheme based on genetic central dogma and KMP method
CN107659751B (zh) 基于dna编码和混沌的多图像加密方法
CN107094072B (zh) 一种基于广义Henon映射的混合混沌加密方法
CN106327414A (zh) 一种基于明文自身特性的双混沌图像加密方法
CN111031193A (zh) 基于立体复合置乱模型和混沌的图像加密方法
CN110879894B (zh) 一种懒尺度变换和随机分层融合的图像加密解密方法
Sun et al. Digital image encryption with chaotic map lattices
Huang et al. Chaotic image encryption algorithm based on circulant operation
CN107578363B (zh) 基于多混沌链式算法和位平面的数字图像加解密方法
Devi et al. Entropy influenced RNA diffused quantum chaos to conserve medical data privacy
CN113132079B (zh) 多图像加密方法及解密方法
Zhang et al. Multiple-image encryption algorithm based on Sarrus rule and 3D Fibonacci matrix
CN108174053B (zh) 一种有向面积和扑克牌映射的解密区域限定图像加密方法
Sun et al. An image encryption algorithm utilizing Mandelbrot set
Ansari et al. An image encryption approach using chaotic map in frequency domain
Li et al. A novel image encryption algorithm based on high-dimensional compound chaotic systems
CN110838908B (zh) 一种gf矩阵变换和随机分层融合的图像加密解密方法
CN113099069B (zh) 基于三维螺旋模型的多图像加密方法

Legal Events

Date Code Title Description
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