欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2016101020711
申请人: 陕西师范大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-11-18
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种动态概率和空频域复合的图像选择性加密方法,其特征在于包括以下步骤:第1步:记待加密图像为A=(ai,j)m×n且ai,j∈{0,1,…,255},i=0,1,…,m-1,j=0,

1,…,n-1,设置加密次数t,t>0,初始迭代控制参数k=1,选定初始参数μ0∈[3.57,4]以及设定加密判断阈值δ,δ>0,记A的MD5值和SHA-1值分别为16进制数序列SMD5=和SSHA-1=,将SMD5和SSHA-1串联为16进制数序列Sms=SMD5||SSHA-1=72,i=0,1,…,71并初始化加密事件下标索引序列Sid为Sid=<0,1,…,5>,其中“||”为比特位串串联操作符;

第2步:将Sms映射为16进制序列Sh=

第3步:将Sh均分成 四部分,然后将 转换为(0,1)范围

内的10进制小数Gi,i=0,1,…,3;

第4步:将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G′0,G′1,G′2,将G′0,G′1,G′2作为密钥参数Xinit,Yinit,xinit,即Xinit=G′0,Yinit=G′1,xinit=G′2;

第5步:将初始参数μ0作为系统参数,密钥参数xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp=,由Sp构造(0,1)范围内的区间划分序列S′p=,从而得到概率区间[0,p′0),[p′0,p′1),[p′1,p′2),[p′2,p′3),[p′3,p′4),[p′4,1];

第6步:将密钥参数Yinit,μ0映射为μ1∈[3.57,4],由Xinit和μ1分别作为初始值和系统参数迭代产生(0,1)范围内的中间密钥参数Zinit;

第7步:将Xinit,Yinit,Zinit作为初始值,迭代1次产生3个实值随机数依次作为参数X0,Y0,Z0;

第8步:将X0,Y0映射为待加密图像A=(ai,j)m×n上的随机点(r0,v0);

第9步:将(r0,v0)作为起点,从待加密图像A=(ai,j)m×n筛选出Min=(mu,w)4×4,计算Min的映射值Map(Min),若Map(Min)≥δ则执行第10步,反之将xinit作为概率判断值P,将X0,Y0,Z0的映射值作为变换参数v,根据P所落入的概率区间和Sid,执行对应的空域和频域置换加密操作,然后对加密后的矩阵小块Mout计算映射值Map(Mout);若Map(Mout)<δ,则将Mout中的像素依次作为待加密图像A=(ai,j)m×n对应位置的像素,反之将Min中像素直接作为待加密图像A=(ai,j)m×n对应位置像素;

第10步:利用X0,Y0,Z0对Sid进行重排更新;

第11步:利用X0,Y0,Z0对初始参数μ0和Sms=72中的元素进行更新操作;

第12步:若k≤t时,更新k=k+1,反复执行第2步~第11步;

第13步:将A=(ai,j)m×n输出作为加密图像。

2.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第2步将Sms映射为Sh=的具体方法为式(1):Sh=Draw(Sms,start,gap,|Sh|)             (1)式(1)中,Draw()为序列元素抽取函数,其中start为抽取起点,gap为跳过的样本数,|Sh|为Sh中元素数量,即从Sms循环抽取|Sh|个16进制数作为Sh,start,gap分别由式(2)和式(3)映射得到:第3步将Sh均分成 四部分的具体方法为式(4):

第3步将 转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3的具体方法为式(5),式(5)中,[]是四舍五入取整函数:

3.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第4步将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G′0,G′1,G′2的具体方法为将G0,G1,G2分别作为式(6)的输入参数,代入式(6)迭代1次产生3个序列值G′0,G′1,G′2;

第5步将μ0作为系统参数,xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp=的具体方法为将μ0作为系统参数,xinit作为初始值带入式(7)迭代5次产生的5个随机数作为序列Sp=xi+1=μxi(1-xi)                 (7);

第5步中由Sp构造(0,1)范围内的区间划分序列S′p=的具体方法为将Sp中元素按递增顺序排列得到区间划分序列S′p=

4.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第6步将Yinit,μ0映射为μ1∈[3.57,4]的具体方法为式(8):第6步由Xinit和μ1分别作为初始值和系统参数迭代产生(0,1)范围内的中间密钥参数Zinit的具体方法为将Xinit和μ1分别作为式(7)中的初始值和系统参数按式(7)迭代1次作为中间密钥参数Zinit;

xi+1=μxi(1-xi)                 (7);

第7步将Xinit,Yinit,Zinit作为初始值,迭代1次产生3个随机数依次作为参数X0,Y0,Z0的具体方法为将Xinit,Yinit,Zinit作为式(9)的初始值,迭代式(9)1次产生3个随机数依次作为参数X0,Y0,Z0,式(9)系统参数取a=b=0.2,c=5.7;

5.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第8步将X0,Y0映射为待加密图像A=(ai,j)m×n上的随机点(r0,v0)的具体方法为式(10),式(10)中 为向下取整运算符;

第9步将(r0,v0)作为起点,从待加密图像A=(ai,j)m×n筛选出4×4的矩阵小块Min=(mu,w)4×4的具体方法为式(11):

第9步计算Min的映射值Map(Min)的具体方法为按式(12)计算Min的方差:第9步对加密后的矩阵小块Mout计算映射值Map(Mout)的具体方法为按式(12)同样的方法计算Mout的方差;

第9步中将X0,Y0,Z0的映射值作为变换参数v的具体方法为式(13):第9步中执行对应的空域和频域置换加密操作的具体方法为式(14):

Mout=Encrypt(Min,v,P,f,Sid,S′p)                  (14)式(14)中,f={f0,f1,…,f5}是加密事件集合,Sid是f的加密事件下标索引序列,S′p为区间划分序列,加密事件集合f对应6组加密事件,其中f0,f1,f2空域置换盒加密事件,如式(15)所示,f3,f4,f5变换域置换盒加密事件,如式(16)所示,f0,f1,…,f5所对应的置换盒Px0,Px1,…,Px5如式(17)所示;

式(15)中,Mcode是Min的编号矩阵,记Min中的元素mu,w在Mcode中的编号为id,则Permute0()函数执行的功能是将mu,w移动到Pxi中元素值为(id+v)mod16的坐标位置;

式(16)中,MH是哈达码变换阵,记Mtemp中的元素mtu,w在Mcode中的编号为id且id≠×,Permute1()执行的操作是将mtu,w移动到Pxi中元素值为(id+v)mod16+1的坐标位置,同Permute0()的区别是Permute1()在变换过程中,Mtemp中(0,0)位置的元素,即id=×的元素始终保持在(0,0)位置不发生位置改变;

6.如权利要求1所述的一种动态概率和空频域复合的图像选择性加密方法,其特征在于:第10步利用X0,Y0,Z0对Sid进行重排更新的具体方法为将X0,Y0,Z0按式(18)和式(19)映射为start,gap,然后按式(20)对事件索引序列Sid进行更新:Sid=Draw(Sid,start,gap,|Sid|)              (20);

第11步中利用X0,Y0,Z0对初始参数μ0更新的具体方法为式(22):第11步中对Sms=72中的元素进行更新操作的具体方法为:先用X0,Y0,Z0按式(21)生成xinit,然后将xinit,μ0代入式(7)迭代产生随机序列SR=72,按式(23)对Sms=72中的元素进行更新操作;

xinit=(X0+X0Y0+X0Y0Z0)mod1            (21)xi+1=μxi(1-xi)                   (7)

7.与权利要求1相对应的一种动态概率和空频域复合的图像选择性解密方法,其特征在于包括以下步骤:

第1步:由用户输入密钥μ0∈[3.57,4],SMD5=,SSHA-1=,加密次数t,t>0和加密图像C=(ci,j)m×n,i=0,1,…,m-1,j=0,1,…,n-1,初始迭代控制参数k=0,输入加密判断阈值δ,δ>0,将SMD5和SSHA-1串联为16进制数序列Sms=SMD5||SSHA-1=72,i=0,1,…,71并初始化加密事件下标索引序列Sid=<0,1,…,5>和中间密钥参数序列SX>,SY>,SZ>,Sx>,S′p>,Sid>为空序列;

第2步:将Sms映射为16进制序列Sh=

第3步:将Sh均分成 四部分,然后将 转换为(0,1)范围

内的10进制小数Gi,i=0,1,…,3;

第4步:将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G0′,G1′,G2′,将G0′,G1′,G2′作为密钥参数Xinit,Yinit,xinit,即Xinit=G0′,Yinit=G1′,xinit=G2′,将xinit作为序列Sx>中的第k个元素第5步:将μ0作为系统参数,xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp=,由Sp构造(0,1)范围内的区间划分序列S′p=,从而得到6个概率区间[0,p′0),[p′0,p′1),[p′1,p′2),[p′2,p′3),[p′3,p′4),[p′4,1],将p′0,p′1,p′2,p′3,p′4作为序列S′p>中第5k,5k+1,…,5k+4个元素第6步:将Yinit,μ0映射为[3.57,4]范围内的μ1,将Xinit和μ1分别作为初始值和系统参数迭代1次的映射值作为中间密钥参数Zinit;

第7步:由Xinit,Yinit,Zinit作为初始值代入混沌系统迭代1次产生3个实值随机数X0,Y0,Z0,并将X0,Y0,Z0依次分别作为SX>,SY>,SZ>中的第k个元素第8步:利用X0,Y0,Z0对Sid进行更新,将Sid中的所有元素依次作为Sid>中第6k,6k+1,…,

6k+5个元素

第9步:利用X0,Y0,Z0对μ0和Sms=72中的元素进行更新操作;

第10步:若k≠t更新k=k+1,反复执行第2步~第9步,可得到序列第11步:将SX>,SY>第k-1个元素 映射为C=(ci,j)m×n上的随机点(r0,v0),将SZ>序列中的第k-1个元素 和 映射为变换参数v;

第12步:将(r0,v0)作为起点,从C=(ci,j)m×n筛选出4×4矩阵小块Min=(mu,w)4×4,计算Min的映射值Map(Min),若Map(Min)≥δ,则当k≠0时更新k=k-1,执行第11步,当k=0时执行第

14步,若上述条件Map(Min)≥δ不被满足,取Sx>第k-1个元素 作为概率判断值P,利用S′p>第5k-5,5k-4,…,5k-1个元素 构造概率区间取Sid>第6k-6,6k-5,…,

6k-1个元素 作为Sid,以v为变换参数,根据P所落入的概率区间,将矩阵小块Min=(mu,w)4×4解密为矩阵小块Mout;

第13步:计算Mout对应的映射值Map(Mout),若Map(Mout)<δ,则将Mout中的元素依次作为C=(ci,j)m×n对应位置的像素,反之将Min中元素作为C=(ci,j)m×n对应位置的像素,当k≠0时更新k=k-1,反复执行第11步~第13步;

第14步:将C=(ci,j)m×n输出作为解密图像。

8.如权利要求7所述的一种动态概率和空频域复合的图像选择性解密方法,其特征在于:第2步中将Sms映射为序列Sh=的具体方法为式(1):Sh=Draw(Sms,start,gap,|Sh|)            (1)式(1)中,Draw()为序列元素抽取函数,其中start为抽取起点,gap为跳过的样本数,|Sh|为Sh中元素数量,即从Sms循环抽取|Sh|个16进制数作为Sh,start,gap分别由式(2)和式(3)映射得到:第3步将Sh均分成 四部分的具体方法为式(4):

第3步将 转换为(0,1)范围内的10进制小数Gi,i=0,1,…,3的具体方法为式(5),[]是四舍五入取整函数:

第4步将G3作为参数α,把G0,G1,G2映射为(0,1)范围内的10进制小数G′0,G′1,G′2的具体方法为将G0,G1,G2分别作为式(6)的输入参数,代入式(6)迭代1次产生3个序列值G′0,G′1,G′2;

第5步中将μ0作为系统参数,xinit作为初始值产生5个(0,1)范围内的随机数作为序列Sp=的具体方法为将μ0作为系统参数,xinit作为初始值带入式(7)迭代5次产生序列Sp=:xi+1=μxi(1-xi)              (7);

第5步中由Sp构造(0,1)范围内的区间划分序列S′p=的具体方法为将Sp中元素按递增顺序排列得到区间划分序列S′p=

9.如权利要求7所述的一种动态概率和空频域复合的图像选择性解密方法,其特征在于:第6步将Yinit,μ0映射为[3.57,4]范围内的μ1的具体方法为式(8):第6步将Xinit和μ1分别作为初始值和系统参数迭代1次的映射值作为中间密钥参数Zinit的具体方法为使用式(7):xi+1=μxi(1-xi)              (7);

第7步由Xinit,Yinit,Zinit作为初始值代入混沌系统迭代1次产生3个实值随机数X0,Y0,Z0的具体方法为将Xinit,Yinit,Zinit作为式(9)的初始值,式(9)系统参数取a=b=0.2,c=5.7,迭代式(9)1次产生3个实值随机值X0,Y0,Z0:第8步利用X0,Y0,Z0对Sid进行更新的具体方法为将X0,Y0,Z0按式(18)和式(19)映射为start,gap,然后按式(20)对Sid进行更新,其中 为向下取整运算符:Sid=Draw(Sid,start,gap,|Sid|)              (20);

第9步利用X0,Y0,Z0对μ0进行更新的具体方法为式(22):

第9步对Sms=72中的元素进行更新操作的具体方法为:先用X0,Y0,Z0按式(21)生成xinit,然后将xinit,μ0代入式(7)迭代产生随机序列SR=72,按式(23)对Sms=72中的元素进行更新操作;

xinit=(X0+X0Y0+X0Y0Z0)mod1            (21)xi+1=μxi(1-xi)                  (7)

10.如权利要求7所述的一种动态概率和空频域复合的图像选择性解密方法,其特征在于:第11步中将SX>,SY>第k-1个元素 映射为C=(ci,j)m×n上随机点(r0,v0)的具体方法为式(24):第11步将SZ>序列中的第k-1个元素 和 映射为变换参数v的具体方法为式(25):

第12步将(r0,v0)作为起点,从C=(ci,j)m×n筛选出4×4的矩阵小块Min=(mu,w)4×4的具体方法为式(26):第12步计算Min的映射值Map(Min)的具体方法为按式(12)计算出Min所对应的方差:第12步中将矩阵Min=(mu,w)4×4解密为矩阵Mout的具体方法为式(27):Mout=Decryption(Min,v,P,f′,Sid,S′p>)             (27)式(27)中,f′={f′0,f′1,…,f′5}是解密事件集合,f′对应6组解密事件,其中f′0,f′1,f′2空域置换盒解密事件,如式(28)所示,f′3,f′4,f′5变换域置换盒解密事件,如式(29)所示,f′0,f′1,…,f′5所对应的置换盒Px0,Px1,…,Px5如式(17)所示:式(28)中,Mcode是编号矩阵,记Min中的元素mu,w在Pxi中的编号为id,则 函数执行的功能是将mu,w移动到Mcode中元素编号为(id-v+16)mod16的坐标位置;

式(29)中,MH是哈达码变换阵,Permute1-1()执行的操作是将在Pxi中的编号为id≠×的元素mtu,w移动到Mcode中编号为(id-v+16)mod16+1的坐标位置,id=×的元素始终保持在(0,0)位置不发生位置改变;

第13步计算Mout对应的映射值Map(Mout)的具体方法为按式(12)同样的方法计算Mout所对应的方差。