一种基于消息编码受控交替量子游走的三维长方体图像加密方法

文档序号:32607679发布日期:2022-12-20 18:22阅读:54来源:国知局
一种基于消息编码受控交替量子游走的三维长方体图像加密方法

1.本发明涉及多媒体信息安全技术领域,具体涉及一种基于消息编码受控交替量子游走的三维长方体图像加密方法。


背景技术:

2.随着5g的发展与兴起,越来越多的设备接入移动网络,导致移动网络上的数据流量急剧增加。在日常生活中,人们每天都会通过多种设备在移动网络上处理、传输各种数字信息,其中,数字图像信息占了很大的比重。如何避免这些数字图像信息遭受攻击者的窃取与篡改,保证信息安全,是不容忽视的一个研究课题。因此设计出一种安全性能良好的图像加密方法是非常有意义的。


技术实现要素:

3.本发明的目的在于,利用离散量子游走模型,通过初始状态的无限可能性来保证系统安全,其能够有效避免数字图像信息遭受攻击者的窃取与篡改。
4.为实现上述目的,本技术提出一种基于消息编码受控交替量子游走的三维长方体图像加密方法,包括:
5.步骤1:将明文图像作为sha-512的输入,得到128位十六进制序列,将其分为64组序列k1~k
64
,每组是8位的字节序列,根据所述64组序列,生成初始参数d1~d8,并作为主要密钥;对明文图像所有像素值累加求和,得到密钥sump;获取明文图像短边m,用m除以11~30以内的奇数,从结果中选择小数部分最大的数所对应的奇数,作为分块大小bsize密钥;根据分块大小bsize密钥,将图像的行和列都补成能被bsize整除的数,补充元素0的行数m1和列数n1作为填充密钥;
6.步骤2:利用主要密钥、密钥sump、分块大小bsize密钥、填充密钥生成一维量子游走1dqws和受控交替量子游走caqws的参数;先通过一维量子游走得到一维概率分布序列,然后对所述一维概率分布序列编码生成四进制消息,根据所述四进制消息进行受控交替量子游走,最终得到多个caqws的概率幅矩阵和概率分布矩阵,所述多个caqws的概率幅矩阵组合成为3d概率幅矩阵,多个caqws概率分布矩阵组合成为3d概率分布矩阵,再根据3d概率分布矩阵获取3d量子哈希序列;
7.步骤3:利用填充密钥参数m1,n1对明文图像块分别补充m1行和n1列的零元素,根据分块大小bsize和分块数目bnum,将填充后的图像分为大小为bsize*bsize,数目为bnum的图像块;
8.步骤4:将bnum个图像块,按照从左到右,从上到下的顺序,逐行转换成一个大小为bsize*bsize*bnum的3d图像长方体plain3d;
9.步骤5:将一维概率分布序列qum1d分为bnum组,然后对每组的序列求和,得到序列prm1dt,然后对所述序列prm1dt进行从小到大的排序,根据其索引序列prm1dindex对所述
图像长方体plain3d进行分层间的置乱,得到分层间置乱的图像块prmp3d;
10.步骤6:将所述3d概率分布矩阵qum2d按照从顶层到底层的顺序,分别在图像块prmp3d的每一个深度层内部进行从小到大排序,利用每一层生成的索引排序矩阵,对图像块prmp3d进行逐层置乱,得到图像块prm2;
11.步骤7:将置乱后的所述图像块prm2的每一个0-255像素值,从左到右,逐层操作,然后每层按照从后往前,从上到下的顺序,编码为二进制立方体;根据所述3d概率幅矩阵对所述二进制立方体进行旋转,获取二进制立方体旋转后的3d图像块p3bin;
12.步骤8:利用所述3d量子哈希序列btest和3d图像块p3bin进行全局按位异或操作,转换成十进制序列,得到图像块ctest,然后将所述图像块ctest平铺,得到最终的加密图像en。
13.进一步的,将明文图像作为sha-512的输入,得到128位十六进制序列,将其分为64组序列k1~k
64
,每组是8位的字节序列,根据所述64组序列,生成初始参数d1~d8,具体为:
[0014][0015]
其中,mod表示取模,《《表示对二进制序列循环左移位,>>表示对二进制序列循环右移位,表示异或运算符。
[0016]
进一步的,对明文图像所有像素值累加求和,得到密钥sump,具体为:
[0017][0018]
其中,p(x,y)表示(x,y)位置的像素值。
[0019]
进一步的,填充密钥参数m1,n1获取方式为:
[0020]
m1=mod(m,bsize);n1=mod(n,bsize)
ꢀꢀ
(3)
[0021]
其中,mod表示取模,m和n分别为原图像的行数和列数,bsize为分块大小;
[0022]
对原图像进行元素补充以后,其行和列分别为m2,n2,然后获取分块数目:
[0023][0024]
进一步的,生成一维量子游走1dqws的参数方式为:利用密钥sump,得出像素值之和的十位数位数sp:
[0025]
sp=floor(log
10
sump)
ꢀꢀ
(5)
[0026]
其中,log
10
是以10为底的对数函数;
[0027]
然后利用参数d1得到消息的长度lmess:
[0028]
lmess=mod(floor(sump*d1*10
15-sp
),25)+1+bsize
ꢀꢀ
(6)
[0029]
其中,floor表示向下取整,mod表示取模运算;
[0030]
如果密钥sump=0,则消息的长度lmess1为:
[0031]
lmess1=11+bsize
ꢀꢀ
(7)
[0032]
故圆的节点数目tc为:
[0033]
tc=lmess1*bnum
ꢀꢀ
(8)
[0034]
再利用参数d2,得到硬币参数θ:
[0035][0036]
再利用参数d3和d4获取硬币初始状态的振幅相位α,β:
[0037][0038]
其中,α,β为初始状态的振幅相位(复数),i表示复数单位;
[0039]
通过下式生成的硬币初始状态为:
[0040][0041]
其中,f表示要求解的一元二次方程,x表示未知的参数。
[0042]
进一步的,生成受控交替量子游走caqws的参数方式为:利用参数d7,d8,得到硬币参数θ0,θ1:
[0043][0044][0045]
利用参数d5和d6获取硬币初始状态的振幅相位α1,β1:
[0046][0047]
其中,α1,β1为初始状态的振幅相位(复数),i表示复数单位;
[0048]
通过下式生成的硬币初始状态为:
[0049][0050]
其中,f1表示要求解的一元二次方程,x1表示未知的参数。
[0051]
进一步的,将一维概率分布序列qum1d映射到0-255的值,对其进行四进制编码,编码后的message作为消息:
[0052]
message=mod(mod(floor(qum1d*10
200
),256),4)
ꢀꢀ
(16)
[0053]
其中,mod表示取模运算,floor表示向下取整;
[0054]
将四进制消息作用于量子系统的演化过程,用全局幺正算符统的演化过程,用全局幺正算符来表示:
[0055][0056]
在t步以后,整个量子系统的最终状态为:
[0057][0058]
在位置(x,y)处找到漫步者的概率幅为:
[0059][0060]
在位置(x,y)处找到漫步者的概率为:
[0061][0062]
进一步的,利用分块数目bnum,将消息message分成bnum组,根据对应的消息编码,分别在圆上进行bnum次消息编码控制的交替量子游走,获得大小为2*(bsize*bsize)*bnum的3d概率幅矩阵fre:
[0063][0064]
其中,表示在第i组消息message编码的控制下,生成的概率幅矩阵;
[0065]
及获得大小为bsize*bsize*bnum的3d概率分布矩阵qum2:
[0066]
qum2d(bsize,bsize,i)=ω(p(x,y,t),message(i))i=1,

,bnum
ꢀꢀ
(22)
[0067]
其中,ω(p(x,y,t),message(i))表示在第i组消息message编码的控制下,生成的概率矩阵;
[0068]
通过式(23),(24)将3d概率分布矩阵qumm2d转换为二进制字符串,得到3d量子哈希序列btest:
[0069]
b=mod(floor(qum2d*10
15
),256)
ꢀꢀ
(23)
[0070]
btest=dec2bin(b)
ꢀꢀ
(24)
[0071]
其中,dec2bin表示将十进制数转换为二进制。
[0072]
更进一步的,将一维概率分布序列qum1d分为bnum组,然后对每组的序列求和,得到序列prm1dt,具体为:
[0073]
prm1dt=sum(reshape(qum1d,lmess,bnum))
ꢀꢀ
(25)
[0074]
其中,reshape是数组重构函数,lmess表示消息长度,bnum表示分块数目,sum表示对数组按列求和;
[0075]
然后通过下式对所述序列prm1dt进行从小到大的排序,根据其索引序列prm1dindex对所述图像长方体plain3d进行分层间的置乱,得到分层间置乱的图像块prmp3d:
[0076]
[~,prm1dindex]=sort(prm1dt)
ꢀꢀ
(26)
[0077]
其中,sort是排序函数,prm1dindex是索引排序的序列。
[0078]
更进一步的,将置乱后的所述图像块prm2的每一个0-255像素值,从左到右,逐层操作,然后每层按照从后往前,从上到下的顺序,编码为二进制立方体;根据所述3d概率幅矩阵对所述二进制立方体进行旋转,获取二进制立方体旋转后的3d图像块p3bin,具体为:将概率幅分为a方向和b方向,如果a>b,则二进制立方体的上层按逆时针方向旋转90度;否则,二进制立方体的下层按顺时针旋转90度;最终将每个像素值对应的二进制立方体,转换为二进制序列,得到二进制立方体旋转操作后的3d图像块p3bin;
[0079]
利用所述3d量子哈希序列btest和3d图像块p3bin进行全局按位异或操作,转换成十进制序列,得到图像块ctest,具体为:
[0080]
ctest=bitxor(btest,p3bin)
ꢀꢀ
(27)
[0081]
其中bitxor表示按位异或。
[0082]
本发明采用的以上技术方案,与现有技术相比,具有的优点是:1.离散量子游走是量子算符与出现位置概率的非线性映射,对初始状态极其敏感;离散量子游走通过初始状态的无限可能性来保证系统的安全性能,其在确定系统中的游走状态,具有和混沌动力学相似的特性,能够有效提升加密系统的鲁棒性。
[0083]
2.设计了安全性很好的密钥集,得到量子系统的初始参数,进行一维量子游走生成概率分布序列,将此序列编码为四进制消息,利用多组编码的消息控制交替量子游走模型。
[0084]
3.将平面图像分块并转换为三维长方体图像进行处理,结合量子游走模型的量子力学特性,使得方案具有良好的安全性能,能够有效避免数字图像信息遭受攻击者的窃取与篡改。
附图说明
[0085]
图1为基于消息编码受控交替量子游走的三维长方体图像加密方法流程图;
[0086]
图2为图像长方体的生成过程图;
[0087]
图3为索引序列prm1dt的生成过程图;
[0088]
图4为基于索引序列分层间置乱示意图;
[0089]
图5为基于3d概率分布矩阵的逐层置乱示意图;
[0090]
图6为基于概率幅矩阵的二进制立方体旋转示意图;
[0091]
图7为lena,baboon,peppers,纯白,纯黑图片的加密效果图;
[0092]
图8为lena,baboon,peppers图片的原图像和加密图像像素直方图;
[0093]
图9为usc-sipi图像数据库中的图像水平、垂直和对角线的相关性分布情况图;
[0094]
图10为原始和加密后的相邻像素相关性分布图;
[0095]
图11为对lena进行不同程度的裁剪攻击测试结果图;
[0096]
图12为lena施加不同等级的椒盐噪声攻击测试结果图;
[0097]
图13为密钥敏感性测试图。
具体实施方式
[0098]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术,即所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
[0099]
因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0100]
实施例
[0101]
如图1所示,本实施例提供一种基于消息编码受控交替量子游走的三维长方体图像加密方法,具体包括:
[0102]
步骤1:将明文图像lena作为sha-512的输入,得到128位十六进制序列,将其分为64组序列k1~k
64
,每组是8位的字节序列,根据所述64组序列,生成初始参数d1~d8,并作为主要密钥;对明文图像所有像素值累加求和,得到密钥sump,其值为8127018;选择图像较短的那条边,假设m是短边,用m除以11~30以内的奇数,从结果中选择小数部分最大的数对应的奇数29,作为分块大小bsize密钥;根据分块大小bsize密钥,将图像的行和列都补成可以被bsize整除的数,补充元素0的行数m1和列数n1作为密钥,优选的m1=24,n1=24;
[0103]
步骤2:利用主要密钥、密钥sump、分块大小bsize密钥、填充密钥生成一维量子游走1dqws和受控交替量子游走caqws的参数,先通过一维量子游走生成长度为2673的一维概率分布序列,然后对所述一维概率分布序列编码生成四进制消息,根据长度为2673的四进制消息进行受控交替量子游走,最终得到大小为2*841*81的概率幅矩阵和大小为29*29*81概率分布矩阵,分别组合成为3d概率幅矩阵和3d概率分布矩阵,再根据所述3d概率分布矩阵生成3d量子哈希序列;
[0104]
步骤3:利用填充密钥参数m1,n1对明文图像块分别补充24行和24列的零元素,根据分块大小bsize和分块数目bnum,将填充后的图像分为大小为29*29,81数目的图像块;
[0105]
步骤4:将81个图像块,按照从左到右,从上到下的顺序,逐行转换为一个大小为29*29*81的3d图像长方体plain3d;
[0106]
步骤5:将一维概率分布序列qum1d分为81组,然后对每组的序列求和,得到序列prm1dt,然后对prm1dt进行从小到大的排序,根据其索引序列prm1dindex对图像长方体plain3d进行分层间的置乱,得到分层间置乱的图像块prmp3d;
[0107]
步骤6:将所述3d概率分布矩阵qum2d按照从顶层到底层的顺序,分别在图像块的每一个深度层内部进行从小到大排序,利用每一层生成的索引排序矩阵,对图像块prmp3d进行逐层的置乱,得到新的图像块prm2;
[0108]
步骤7:将置乱后的所述图像块prm2的每一个0-255像素值,从左到右,逐层操作,然后每层按照从后往前,从上到下的顺序,编码为二进制立方体;根据3d概率幅矩阵对二进制立方体进行旋转操作,得到二进制立方体旋转后的3d图像块p3bin;
[0109]
步骤8:利用所述3d量子哈希序列btest和3d图像块p3bin进行全局按位异或操作,转换为十进制序列,得到图像块ctest,然后将图像块ctest平铺,得到最终的加密图像en。
[0110]
本发明提出一种基于消息编码受控交替量子游走的三维长方体图像加密方法,利用sha-512得到密钥集,利用密钥集分别生成在圆上的一维离散量子游走和受控交替量子游走的系统参数,进而利用一维离散量子游走模型和受控交替量子游走模型加密图像。设计了一种三维长方体图像加密算法,在置乱阶段,对图像进行分层间和逐层间横切面的置乱;在扩散阶段,先对像素二进制立方体进行旋转,然后再和3d量子哈希序列进行异或,平铺得到加密图像。本发明是在matlab 2020b中进行仿真,内存为16gb,cpu为i5-10500。图2-6是本实例的加密阶段具体操作示意图,图7-13表明本实例得到的密文具有良好的加密性能,能够抵抗各种典型攻击,具有很好的安全性能。
[0111]
以上所述,仅为本发明创造较佳的具体实施方式,但本发明创造的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明创造披露的技术范围内,根据本发明创造的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明创造的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1