利索能及
我要发布
收藏
专利号: 2017114483241
申请人: 陕西师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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=和A的SHA-1值SSHA-1=串联构成序列Sms=SMD5||SSHA-1=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等大的随机图像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);

第7步:将(b′i,c′i)和待加密图像A中像素 与随机图像S″中 坐标位置相对应,对待加密图像A的b′i行和c′i列进行扑克牌映射置乱,得到置乱后图像A′,i=0,1,...,k-1;

第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=和随机数序列 按式(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=为原始序列,取 将序列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=,sq2=和sq3=

第3.2c步:按式(11)对sq1,sq2,sq3进行重新连接输出对应结果:sq′=sq2||sq1||sq3  (11);

第3步式(9)所定义的Cut()具体功能为:

第3.3a步:将序列sq根据p分为2部分:sq1=,sq2=

第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-5中任一项所述的有向面积和扑克牌映射的解密区域限定图像加密方法的解密方法,其特征在于,包括以下步骤:第1步:由用户输入待加密图像的MD5值SMD5、SHA-1值SSHA-1、用户密钥λ0∈(0,1)、消除暂态效应迭代次数IT以及加密图像A″=(a″i,j)m×n,IT>0;

第2步:由用户所在解密位置坐标直接获取所在区域region的最小外包长方体再由cuboid计算cuboid内的中心点坐标(xc,yc,zc),接着将(xc,yc,zc)和用户密钥λ0∈(0,1)共同产生的随机数序列 以及A的SHA-1值SSHA-1=映射为αφ,βφ∈[0,φmax-φmin],φ∈{x,y,z};

第3步:由αφ,βφ∈[0,φmax-φmin]以及(xc,yc,zc)得到cuboid上稳定点坐标(xs,ys,zs),φ∈{x,y,z};

第4步:将A的MD5值SMD5和SHA-1值SSHA-1串联构成序列Sms=SMD5||SSHA-1=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)和A′中像素 和S″中随机像素 的坐标位置相对应,对A′的b′i行和c′i列进行扑克牌映射逆置乱,得到解密后图像A,i=k-1,k-2,…,0。

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=和随机序列 分别按式(5)和式(6)映射,得到6个参数αφ,βφ,φ∈{x,y,z}:第3步,由αφ,βφ∈[0,φmax-φmin]以及(xc,yc,zc)得到cuboid上稳定点坐标(xs,ys,zs)的具体方法为式(7),φ∈{x,y,z}:φ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]的具体方法为式(13),φ∈{x,y,z}:第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是对应的序列元素,其中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次,输出对应的结果;

-1

其中,Ext (sq′,p,q)执行的具体功能是:

第10.3.1b步:若p>q时,则交换p,q;

第10.3.2b步:将序列sq′根据参数p,q划分为3部分:sq′1=,sq′2=和sq′3=

第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=,sq′2=

第10.3.2c步:按式(35)对sq1,sq2进行连接;

sq′=sq′2||sq′1  (35)

第10.3.3c步:对第10.3.1c步和第10.3.2c步重复q次,输出对应的结果。