1.本发明涉及图像隐藏技术领域,更具体的,涉及一种基于压缩感知的非对称可逆图像隐藏方法。
背景技术:
2.全球信息一体化的步伐正在随着计算机技术与网络技术的高速发展而不断加速前进,越来越多的多媒体信息成为了人们生活中不可或缺的组成部分。相比于文字、电子书等纯文本信息而言,数字图像包含大量的可视化内容,可以更加直观了然地传递信息。因此,越来越多的数字图像被广泛的应用在各个研究领域中,例如:医学ct图像、遥感卫星图像、军事图像、艺术图像等。对于图像传输或存储过程,有效地保护图像信息安全已经成为迫切和重要的挑战。
3.自从压缩感知理论被提出以来,它打破了传统的nyquist采样定理的局限性,可以以较低的采样频率以较大概率重构出原始信号,在信号传输和处理方面得到广泛应用。同样地,压缩感知也非常适合于图像的压缩与隐藏。又因为混沌系统具有对初始值高敏感性、遍历性和非周期性等特点。许多专家学者在结合混沌系统和压缩感知的基础上提出了一些图像隐藏方法。然而,对于超高维混沌系统,虽然密钥空间大,但是结构复杂,求解困难且繁琐,耗费时间长。基于三维的混沌系统的算法虽然求解相对简单,密钥空间相对高,同样可以有效抵抗暴力攻击,但如果使用压缩感知直接对图像进行压缩加密,耗费的时间同样很长,很难满足图像的实时通信。所以,目前仍然有很多问题没有得到有效的解决:第一:算法使用的密钥是对称密钥,这会带来密钥的分配和管理的困难性问题。第二:秘密图像在隐藏的过程中使用的密钥和秘密图像本身无关,对不同秘密图像进行加密隐藏时,单一密钥容易造成密钥被破解的风险。第三:直接对秘密图像压缩隐藏,时间消耗过长,而且图像的重构质量不高。
技术实现要素:
4.本发明为了解决以上至少一种技术缺陷,提供一种基于压缩感知的非对称可逆图像隐藏方法,不仅解决密钥的分发和管理困难的问题,还能保证算法的安全性。
5.为解决上述技术问题,本发明的技术方案如下:
6.基于压缩感知的非对称可逆图像隐藏方法,包括以下步骤:
7.s1:选择两个大素数生成一对公钥和私钥;根据秘密图像的像素信息特征计算得到明文信息;
8.s2:基于rsa算法利用公钥对明文信息进行加密得到密文信息;
9.s3:构造密钥转换数学模型将明文信息与密文信息转换成非线性混沌系统的初始密钥,并迭代计算生成随机密钥流;
10.s4:根据随机密钥流对秘密图像进行置乱预加密,获取置乱图像,并对置乱图像进行奇异值分解得到奇异值;对奇异值进行分块,并对每块不全为0的奇异值压缩采样,获取
相应的采样值;
11.s5:对载体图像进行离散小波变换,将采样值中的最大两列的元素去除,并在相应的采样值中进行零元素嵌入,使其大小和小波系数的大小一致并将零元素嵌入后的采样值嵌入到小波系数中;
12.s6:进行逆离散小波变换和量化,得到最终的视觉有意义的含密载体图像。
13.上述方案中,通过本方法生成的随机密钥流,不仅解决了密钥分配和管理的问题,还使得密钥和秘密图像相关联,并且使用rsa算法可以保证整个方法的安全性。本方法还区别于创痛的压缩采样,对奇异值先进性分解再进行采样可以有效缩短秘密图像信息的采样时间。去除采样值中的最大两列的元素,可以避免给最终得到的视觉图像带来明显的差异。
14.上述方案中,本方案提出的基于压缩感知的非对称可逆图像隐藏方法,能够解决密钥分发和管理困难的问题;特别地,密钥流的生成依赖于秘密图像,做到一图一密的效果,并且其鲁棒性较好,可以抵抗常见的攻击,在保证视觉图像质量的前提下,重构图像的质量也相对较高。
15.其中,在所述步骤s1中,根据秘密图像的像素信息特征计算得到明文信息m1、 m2、m3;明文信息在步骤s2中加密后得到密文信息c1、c2、c3;接着,在步骤s3中,使用密钥转换数学模型将明文信息m1、m2、m3和密文信息c1、c2、c3转换成非线性混沌系统的初始密钥x0、y0、z0,再迭代生成随机密钥流x、y、z;
16.其中,所述步骤s1具体步骤如下:假设秘密图像的大小为n
×
n,用p1表示;根据秘密图像p1的大小和像素信息特征,构造数学模型提取的明文信息m1、m2、 m3具体表示为:
[0017][0018]
其中,符号表示向上取整数,p1(i,j)表示图像p1在位置(i,j)处的像素值, mod表示取模运算。
[0019]
其中,在所述步骤s2中,基于rsa算法利用公钥对明文信息进行加密的计算过程具体表示为:
[0020][0021]
其中,p和q表示生成公钥和私钥的两个大素数,e表示公钥;此处公钥e的选择过程为:计算乘积n=p
×
q和欧拉函数随机选择一个与互素的数作为公钥,满足
[0022]
其中,所述步骤s3具体包括以下步骤:
[0023]
s31:构造密钥转换数学模型将明文信息与密文信息转换成非线性混沌系统的初始密钥,计算公式具体为:
[0024][0025]
其中,令x0=k1,y0=k2,z0=k3,即得到初始密钥x0,y0,z0;
[0026]
s32:将得到的初始秘钥代入非线性混沌系统中进行迭代,此处所使用的非线性混沌系统是一个三维离散混沌系统,其表达形式具体为:
[0027][0028]
其中,参数a,b,c为控制参数,设消除瞬态效应的控制参数为t,则迭代完成后需去掉前t个迭代值以消除瞬态效应,得到长度为nn的序列x、y、z,即得到随机密钥流x、y、z。
[0029]
上述方案中,因为彩色图像是由r,g,b三个通道组成,每一个通道可以像灰度像素一样压缩隐藏,最后再合成彩色视觉图像;因此,为了能更好地表达本方案,本方法使用灰度图像进行压缩隐藏。
[0030]
其中,在所述步骤s4中,对随机密钥流y进行从小到大排序得到索引序列,并根据索引序列对秘密图像进行置乱预加密,降低其相邻像素间的相关性,获取置乱图像;然后,对置乱图像进行奇异值分解。
[0031]
其中,所述步骤s4具体包括以下步骤:
[0032]
s41:使用sort函数对随机密钥流y进行从小到大排序得到索引序列 k={k1,k2,
…
,kn×n};
[0033]
s42:根据序列k对秘密图像p1的像素位置,得到置乱图像p1′
,具体表示为:
[0034]
p1′
(i)=p1(k(i)),i=1,2,
…
,n
×
n.
ꢀꢀꢀ
(5)
[0035]
此步骤的目的不仅能够提高视觉有意义的载体图像的抗攻击能力,还能够提高图像重构质量。
[0036]
s43:对置乱图像p1′
进行奇异分解svd,得到奇异矩阵u,v和奇异值s,具体表示为:
[0037]
[u,s,v]=svd(p1′
)
ꢀꢀꢀ
(6)
[0038]
s44:将奇异矩阵u,v的值量化到[0,255],得到类似噪声的图像u
′
和v
′
,具体表示为:
[0039][0040]
其中,δ=u,v;
[0041]
s45:将奇异值s分成4块大小均为n/2
×
n/2的矩阵s1,s2,s3,s4,其中矩阵s2,s3的元素均为0,直接丢弃;矩阵s1和s4的表达式具体为:
[0042][0043]
s46:构建并使用循环测量矩阵对奇异值s1和s4进行测量压缩分别得到采样值e和f。
[0044]
其中,所述步骤s46过程具体为:
[0045]
从随机密钥流z中选出长度为m=n/2的子序列z
′
,然后,对z
′
进行
操作,得到序列z
″
,接着,将序列z
″
中小于127的值变换成
ꢀ‑
1,其余的变换成1,得到序列u;
[0046]
序列u的形式为u={t1,t2,
…
,tm},ti的取值为
±
1,i=1,2,
…
,m,再利用行向量通过循环位移生成循环测量矩阵h
δ
;
[0047]
接着使用循环测量矩阵h
δ
对奇异值s1和s4进行测量压缩分别得到采样值e 和f,具体表示为:
[0048][0049]
其中,所述循环测量矩阵h
δ
的形式表示具体为:
[0050][0051]
其中,δ=cr
×
m,cr∈(0,1)是明文图像的压缩比。
[0052]
上述方案中,选择循环测量矩阵作为测量矩阵,是因为循环矩阵是确定性测量矩阵,相比其他确定性测量矩阵而言,该矩阵易于通过硬件实现,应用前景好。因此,运用混沌系统和控制系统参数生成循环测量矩阵,发送者和接收者使用相同的密钥就可以得到相同的测量矩阵,节省了很多传输带宽和存储空间。
[0053]
其中,所述步骤s5具体包括以下步骤:
[0054]
s51:对载体图像p2进行离散小波变换得到4个小波系数cl,ch,cv,cd;
[0055]
s52:在采样值e和f的下方填充0元素,使它们的大小和系数cl的大小一样,得到新的矩阵e
′
和f
′
;
[0056]
s53:分别将矩阵e
′
和f
′
的第一列和第二列的高能量元素去除,并用零元素填充得到e
″
和f
″
,因为e
′
和f
′
的第一列和第二列的元素的值很大,直接嵌入到载体图像中,会给载体图像带来明显的视觉差异。因此,该步骤的目的不仅是为了能够直接将e和f分别嵌入到系数cl和ch中,也是为了提高视觉效果。具体表示为:
[0057][0058]
其中,所述步骤s6具体包括以下步骤:
[0059]
s61:从随机密钥流x选取出长度为nn/4的子序列x
′
,再使用sort函数对序列x
′
进行从小到大的升序排序,从而得到索引序列g={g1,g2,
…
,g
nn/4
};
[0060]
s62:根据索引序列g分别对e
″
和f
″
进行像素位置置乱得到e
″′
和f
″′
,具体表示为:
[0061][0062]
s63:将e
″′
嵌入到系数cl中得到cl
′
,同样的方法,将f
″′
嵌入到系数ch中得到ch
′
,嵌入方式表示为:
[0063][0064]
其中,β是嵌入系数;
[0065]
s64:对小波系数cl
′
,ch
′
和cv,cd合并做逆离散小波变换得到p2′
,具体为:
[0066]
p2′
=idwt2(cl
′
,ch
′
,cv,cd)
ꢀꢀꢀ
(14)
[0067]
再进行量化使其元素落入[0,255]之间,从而得到最终的视觉有意义的含密载体图像c,具体表示为:
[0068][0069]
上述方案中设计新的非对称加密方法,与传统公钥加密方式不同,本方法只加密密钥,不加密整体图像信息,解决传统公钥的效率低问题。另外,与现有直接使用对称密钥加密不同,本方法在密钥的基础上使用rsa算法对密钥加密,不仅解决密钥的分发和管理困难的问题,而且还能保证算法的安全性。而且,本方法所使用的密钥依赖于秘密图像,即:根据秘密图像的像素信息得到3个明文信息m1,m2,m3,然后使用rsa算法分别对明文信息m1,m2,m3分别加密,得到密文信息c1,c2,c3。最后,使用密钥转换数学模型:
[0070][0071]
将明文信息和密文信息转换成混沌系统的初始密钥x0,y0,z0,即: x0=k1,y0=k2,z0=k3。因此,本方法可以抵抗选择明文攻击和已知明文攻击,并且每次使用时的密钥都不相同,可以确保不会因为一次的密钥丢失,从而导致后面的图像被破译。
[0072]
上述方案区别于传统的对图像直接压缩采样,本方法在对秘密图像进行压缩采样之前,先对秘密图像进行奇异值分解svd,获取奇异值。然后,再对奇异值进行压缩采样,可以有效地解决采样时间长和重构时间长的问题;本方法还寻找并去除高能量信息,将采样值嵌入到载体图像之前,先将采样值中的最大两列的元素去掉,并使用零元素填充,可以有效消除嵌入秘密图像信息后给载体图像带来明显的视觉差异。
[0073]
本方案提供了一种新的基于压缩感知的非对称可逆图像隐藏方法,能够弥补当前图像隐藏方法中出现的部分不足,可以为将来基于混沌和压缩感知的图像隐藏技术研究提供参考。
[0074]
与现有技术相比,本发明技术方案的有益效果是:
[0075]
本发明提供的基于压缩感知的非对称可逆图像隐藏方法,能够解决密钥分发和管理困难的问题;特别地,密钥流的生成依赖于秘密图像,做到一图一密的效果,并且其鲁棒性较好,可以抵抗常见的攻击,安全性高。
附图说明
[0076]
图1为本发明的方法流程示意图;
[0077]
图2为本发明的秘密图像隐藏框架示意图;
[0078]
图3为本发明的秘密图像重构框架示意图;
[0079]
图4为本发明一实施例中载体图像landscape;
[0080]
图5为本发明一实施例中秘密图像barbara;
[0081]
图6为本发明一实施例中含barbara载体图像landscape;
[0082]
图7为本发明一实施例中重构出的秘密图像barbara;
[0083]
图8为本发明一实施例中载体图像landscape的直方图;
[0084]
图9为本发明一实施例中视觉有意义的载体图像landscape的直方图;
[0085]
图10为本发明一实施例中载体图像peppers;
[0086]
图11为本发明一实施例中秘密多图像(tree,jungle,barbara,pond);
[0087]
图12为本发明一实施例中视觉有意义的含多图像的载体图像peppers;
[0088]
图13为本发明一实施例中重构出的秘密多图像(tree,jungle,barbara,pond)。
具体实施方式
[0089]
附图仅用于示例性说明,不能理解为对本专利的限制;
[0090]
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
[0091]
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0092]
下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0093]
实施例1
[0094]
如图1所示,基于压缩感知的非对称可逆图像隐藏方法,包括以下步骤:
[0095]
s1:选择两个大素数生成一对公钥和私钥;根据秘密图像的像素信息特征计算得到明文信息;
[0096]
s2:基于rsa算法利用公钥对明文信息进行加密得到密文信息;
[0097]
s3:构造密钥转换数学模型将明文信息与密文信息转换成非线性混沌系统的初始密钥,并迭代计算生成随机密钥流;
[0098]
s4:根据随机密钥流对秘密图像进行置乱预加密,获取置乱图像,并对置乱图像进行奇异值分解得到奇异值;对奇异值进行分块,并对每块不全为0的奇异值压缩采样,获取相应的采样值;
[0099]
s5:对载体图像进行离散小波变换,将采样值中的最大两列的元素去除,并在相应的采样值中进行零元素嵌入,使其大小和小波系数的大小一致并将零元素嵌入后的采样值嵌入到小波系数中;
[0100]
s6:进行逆离散小波变换和量化,得到最终的视觉有意义的含密载体图像。
[0101]
在具体实施过程中,通过本方法生成的随机密钥流,不仅解决了密钥分配和管理的问题,还使得密钥和秘密图像相关联,并且使用rsa算法可以保证整个方法的安全性。本方法还区别于创痛的压缩采样,对奇异值先进性分解再进行采样可以有效缩短秘密图像信息的采样时间。去除采样值中的最大两列的元素,可以避免给最终得到的视觉图像带来明显的差异。
[0102]
在具体实施过程中,本方案提出的基于压缩感知的非对称可逆图像隐藏方法,能
够解决密钥分发和管理困难的问题;特别地,密钥流的生成依赖于秘密图像,做到一图一密的效果,并且其鲁棒性较好,可以抵抗常见的攻击,在保证视觉图像质量的前提下,重构图像的质量也相对较高。
[0103]
更具体的,在所述步骤s1中,根据秘密图像的像素信息特征计算得到明文信息m1、m2、m3;明文信息在步骤s2中加密后得到密文信息c1、c2、c3;接着,在步骤s3中,使用密钥转换数学模型将明文信息m1、m2、m3和密文信息c1、 c2、c3转换成非线性混沌系统的初始密钥x0、y0、z0,再迭代生成随机密钥流x、 y、z;
[0104]
更具体的,如图2所示,为本发明的秘密图像隐藏框架,所述步骤s1具体步骤如下:假设秘密图像的大小为n
×
n,用p1表示;根据秘密图像p1的大小和像素信息特征,构造数学模型提取的明文信息m1、m2、m3具体表示为:
[0105][0106]
其中,符号表示向上取整数,p1(i,j)表示图像p1在位置(i,j)处的像素值, mod表示取模运算。
[0107]
更具体的,在所述步骤s2中,基于rsa算法利用公钥对明文信息进行加密的计算过程具体表示为:
[0108][0109]
其中,p和q表示生成公钥和私钥的两个大素数,此处p=2389,q=2399; e表示公钥,此处取e=223;此处公钥e的选择过程为:计算乘积n=p
×
q和欧拉函数随机选择一个与互素的数作为公钥,满足
[0110]
更具体的,所述步骤s3具体包括以下步骤:
[0111]
s31:构造密钥转换数学模型将明文信息与密文信息转换成非线性混沌系统的初始密钥,计算公式具体为:
[0112][0113]
其中,令x0=k1,y0=k2,z0=k3,即得到初始密钥x0,y0,z0;
[0114]
s32:将得到的初始秘钥代入非线性混沌系统中进行迭代,此处所使用的非线性混沌系统是一个三维离散混沌系统,其表达形式具体为:
[0115][0116]
其中,参数a,b,c为控制参数,此处有a=4,b=1.8,c=2,设消除瞬态效应的控制
参数为t=200,则迭代完成后需去掉前t个迭代值以消除瞬态效应,得到长度为nn的序列x、y、z,即得到随机密钥流x、y、z。
[0117]
在具体实施过程中,因为彩色图像是由r,g,b三个通道组成,每一个通道可以像灰度像素一样压缩隐藏,最后再合成彩色视觉图像;因此,为了能更好地表达本方案,本方法使用灰度图像进行压缩隐藏。
[0118]
更具体的,在所述步骤s4中,对随机密钥流y进行从小到大排序得到索引序列,并根据索引序列对秘密图像进行置乱预加密,降低其相邻像素间的相关性,获取置乱图像;然后,对置乱图像进行奇异值分解。
[0119]
更具体的,所述步骤s4具体包括以下步骤:
[0120]
s41:使用sort函数对随机密钥流y进行从小到大排序得到索引序列 k={k1,k2,
…
,kn×n};
[0121]
s42:根据序列k对秘密图像p1的像素位置,得到置乱图像p1′
,具体表示为:
[0122]
p1′
(i)=p1(k(i)),i=1,2,
…
,n
×
n.
ꢀꢀꢀ
(5)
[0123]
此步骤的目的不仅能够提高视觉有意义的载体图像的抗攻击能力,还能够提高图像重构质量。
[0124]
s43:对置乱图像p1′
进行奇异分解svd,得到奇异矩阵u,v和奇异值s,具体表示为:
[0125]
[u,s,v]=svd(p1′
)
ꢀꢀꢀ
(6)
[0126]
s44:将奇异矩阵u,v的值量化到[0,255],得到类似噪声的图像u
′
和v
′
,具体表示为:
[0127][0128]
其中,δ=u,v;
[0129]
s45:将奇异值s分成4块大小均为n/2
×
n/2的矩阵s1,s2,s3,s4,其中矩阵s2,s3的元素均为0,直接丢弃;矩阵s1和s4的表达式具体为:
[0130][0131]
s46:构建并使用循环测量矩阵对奇异值s1和s4进行测量压缩分别得到采样值e和f。
[0132]
更具体的,所述步骤s46过程具体为:
[0133]
从随机密钥流z按照选取规则z
′
=z(1:2n:nn)选出长度为m=n/2的子序列z
′
,然后,对z
′
进行操作,得到序列z
″
,接着,将序列z
″
中小于127的值变换成-1,其余的变换成1,得到序列u;
[0134]
序列u的形式为u={t1,t2,
…
,tm},ti的取值为
±
1,i=1,2,
…
,m,再利用行向量通过循环位移生成循环测量矩阵h
δ
;
[0135]
接着使用循环测量矩阵h
δ
对奇异值s1和s4进行测量压缩分别得到采样值e 和f,具体表示为:
[0136][0137]
其中,所述循环测量矩阵h
δ
的形式表示具体为:
[0138][0139]
其中,δ=cr
×
m,cr∈(0,1)是明文图像的压缩比,此处cr=0.25。
[0140]
在具体实施过程中,选择循环测量矩阵作为测量矩阵,是因为循环矩阵是确定性测量矩阵,相比其他确定性测量矩阵而言,该矩阵易于通过硬件实现,应用前景好。因此,运用混沌系统和控制系统参数生成循环测量矩阵,发送者和接收者使用相同的密钥就可以得到相同的测量矩阵,节省了很多传输带宽和存储空间。
[0141]
更具体的,所述步骤s5具体包括以下步骤:
[0142]
s51:对载体图像p2哈尔haar小波变换得到4个小波系数cl,ch,cv,cd,具体表示为:
[0143]
[cl,ch,cv,cd]=dwt2(p2,'haar')
[0144]
s52:在采样值e和f的下方填充0元素,使它们的大小和系数cl的大小一样,得到新的矩阵e
′
和f
′
;
[0145]
s53:分别将矩阵e
′
和f
′
的第一列和第二列的高能量元素去除,并用零元素填充得到e
″
和f
″
,因为e
′
和f
′
的第一列和第二列的元素的值很大,直接嵌入到载体图像中,会给载体图像带来明显的视觉差异。因此,该步骤的目的不仅是为了能够直接将e和f分别嵌入到系数cl和ch中,也是为了提高视觉效果。具体表示为:
[0146][0147]
其中,所述步骤s6具体包括以下步骤:
[0148]
s61:从随机密钥流x选取出长度为nn/4的子序列x
′
,再使用sort函数对序列x
′
进行从小到大的升序排序,从而得到索引序列g={g1,g2,
…
,g
nn/4
};
[0149]
s62:根据索引序列g分别对e
″
和f
″
进行像素位置置乱得到e
″′
和f
″′
,具体表示为:
[0150][0151]
s63:将e
″′
嵌入到系数cl中得到cl
′
,同样的方法,将f
″′
嵌入到系数ch中得到ch
′
,嵌入方式表示为:
[0152][0153]
其中,β是嵌入系数,此处取β=0.006;
[0154]
s64:对小波系数cl
′
,ch
′
和cv,cd合并做逆离散小波变换得到p2′
,具体为:
[0155]
p2′
=idwt2(cl
′
,ch
′
,cv,cd)
ꢀꢀꢀ
(14)
[0156]
再进行量化使其元素落入[0,255]之间,从而得到最终的视觉有意义的含密载体图像c,具体表示为:
[0157][0158]
最后可以根据实际的需要,将多张图像隐藏到载体图像中。
[0159]
本发明设计新的非对称加密方法,与传统公钥加密方式不同,本方法只加密密钥,不加密整体图像信息,解决传统公钥的效率低问题。另外,与现有直接使用对称密钥加密不同,本方法在密钥的基础上使用rsa算法对密钥加密,不仅解决密钥的分发和管理困难的问题,而且还能保证算法的安全性。而且,本方法所使用的密钥依赖于秘密图像,即:根据秘密图像的像素信息得到3个明文信息 m1,m2,m3,然后使用rsa算法分别对明文信息m1,m2,m3分别加密,得到密文信息c1,c2,c3。最后,使用密钥转换数学模型:
[0160][0161]
将明文信息和密文信息转换成混沌系统的初始密钥x0,y0,z0,即: x0=k1,y0=k2,z0=k3。因此,本方法可以抵抗选择明文攻击和已知明文攻击,并且每次使用时的密钥都不相同,可以确保不会因为一次的密钥丢失,从而导致后面的图像被破译。
[0162]
本方案区别于传统的对图像直接压缩采样,本方法在对秘密图像进行压缩采样之前,先对秘密图像进行奇异值分解svd,获取奇异值。然后,再对奇异值进行压缩采样,可以有效地解决采样时间长和重构时间长的问题;本方法还寻找并去除高能量信息,将采样值嵌入到载体图像之前,先将采样值中的最大两列的元素去掉,并使用零元素填充,可以有效消除嵌入秘密图像信息后给载体图像带来明显的视觉差异。
[0163]
本方案提供了一种新的基于压缩感知的非对称可逆图像隐藏方法,能够弥补当前图像隐藏方法中出现的部分不足,可以为将来基于混沌和压缩感知的图像隐藏技术研究提供参考。
[0164]
实施例2
[0165]
更具体的,本方案还包括基于压缩感知的非对称可逆图像隐藏方法的图像重构与恢复过程,具体包括以下步骤:
[0166]
(1)解密过程中密钥流的生成
[0167]
使用私钥d和rsa解密公式mi=c
id mod n将密文信息ci解密出明文信息mi。再使用密钥转换数学模型将密文信息ci和明文信息mi转换成非线性混沌系统的初始密钥x0,y0,z0,其中x0=k1,y0=k2, z0=k3。然后,迭代非线性混混系统得到随机序列x,y,z。
[0168]
(2)秘密图像信息的提取和替换
[0169]
分别对载体图像p2进行离散小波变换,得到4个系数ca,ch,cv,cd。同样地,对视觉有意义的含密载体图像c进行离散小波变换,得到4个系数 ca
″
,ch
″
,cv
″
,cd
″
,如下公式:
[0170]
ma=(ca
″‑
ca)/β
[0171]
mh=(ch
″‑
ch)/β
[0172]
其中,β为嵌入系数。然后,通过随机序列x分别对ma和mh进行相应的逆置乱操作,得到ma
′
和mh
′
。最后,将ma
′
和mh
′
的3和4列的元素分别替换1和 2列的元素,得到ma
″
和mh
″
。特别说明的是:此步骤的目的不仅是为了补全秘密图像的信息,而且因为ma
′
和mh
′
的1和2列的元素全为0,也是为了能够更好的提高图像重构的质量。
[0173]
(3)秘密图像信息重构和对角矩阵构造
[0174]
使用正交匹配追踪(omp)算法对图像信息ma
″
和mh
″
进行重构,得到重构信息a和b。然后,保留重构信息a中每列最大的值,再进行降序排序。接着,将排序后的第一个值乘以30得到一维向量信息a。同样,保留重构信息b中每列最大的值,再进行降序排序,得到一维向量信息b。将b排列在a的后面,得到新的一维向量信息ab。再将ab扩展成对角矩阵s
′
。特别说明的是:此运算的目的是为能够还原到奇异值分解的形式,并构造出奇异值矩阵,以便后续能够进行svd逆分解。
[0175]
(4)逆svd分解和秘密图像的量化与重构
[0176]
将对角矩阵s
′
结合载体图像的u,v分量及其逆置乱u
′
,v
′
进行逆svd分解,得到矩阵q。然后,将q量化到[0,255]之间,从而得到图像q
′
。最后,通过随机序列y对图像q
′
进行相应的逆置乱操作,得到最终的重构出来的秘密图像d。
[0177]
在具体实施过程中,如图3给出了本发明的秘密图像的重构框架。输入:大小均为n
×
n的视觉有意义的含密载体图像c和原始载体图像p2,两幅类似噪声的图像u
′
和v
′
,密文信息c1,c2,c3,混沌系统的控制参数a=4,b=1.8,c=2,消除瞬态效应控制参数t=200,两个大素数p=2389,q=2399,私钥d=4904695,压缩比cr=0.25,嵌入系数β=0.006。
[0178]
使用rsa算法和私钥d分别对密文信息c1,c2,c3分别解密,得到明文信息 m1,m2,m3,过程如下公式:
[0179][0180]
使用本发明方法构造的数学模型将明文信息m1,m2,m3和密文信息c1,c2,c3转换成混沌系统的初始密钥x0,y0,z0,密钥转换数学模型如下公式:
[0181][0182]
其中,令x0=k1,y0=k2,z0=k3,即可得到初始密钥x0,y0,z0。将得到的初始密钥代入公式(1)中进行迭代t+nn次,并去掉前面t个迭代值以消除瞬态效应,得到长度为nn的序列x,y,z。
[0183]
对载体图像p2进行离散小波变换,得到4个系数ca,ch,cv,cd。同样,对视觉有意义的含密载体图像c进行离散小波变换,得到4个系数ca
″
,ch
″
,cv
″
,cd
″
。
[0184]
再通过嵌入系数β和公式(18)计算秘密图像的信息ma和mh。
[0185][0186]
利用随机序列x分别对秘密图像的信息ma和mh进行相应的逆置乱操作,从而得到
ma
′
和mh
′
。
[0187]
因为ma
′
和mh
′
的1和2列的元素全为0,为能更好的重构秘密图像,将ma
′
和mh
′
的3和4列的元素分别替换1和2列的元素,得到ma
″
和mh
″
。
[0188]
使用正交匹配追踪(omp)算法对图像信息ma
″
和mh
″
进行重构,得到重构信息a和b。保留重构信息a中每列最大的值,再进行降序排序,然后将排序后的第一个值乘以30得到一维向量信息a
′
。同样,保留重构信息b中每列最大的值,再进行降序排序,得到一维向量信息b
′
。
[0189]
将b
′
按照公式(19)排列在a
′
的后面,得到新的一维向量ab。
[0190]
ab=[a
′
,b
′
]
ꢀꢀꢀ
(19)
[0191]
将ab按公式(20)扩展成对角矩阵s
′
,目的是为能够还原回奇异值的形式,更好的进行svd逆分解。
[0192]s′
=diag(ab)
ꢀꢀꢀꢀ
(20)
[0193]
使用公式(21)将图像u
′
,v
′
分别量化得到
[0194][0195]
其中δ=u,v.将和s
′
进行svd逆分解,得到q,逆分解如下公式(22):
[0196][0197]
使用公式(23)将q量化到[0,255]之间得到图像q
′
:
[0198][0199]
通过随机序列y对图像q
′
进行相应的逆置乱操作,最终输出重构图像d,即秘密图像。
[0200]
在测试方面,随机选择如图4的载体图像landscape,图5的秘密图像barbara,经过本方法进行隐藏,得到图6的视觉含密的载体图像landscape。
[0201]
重构方面,经过对秘密图像的重构,得到图7的重构图像barbara。
[0202]
图像灰度值统计特性方面,图8是载体图像landscape的直方图,图9则是视觉有意义的含密载体图像landscape的直方图。
[0203]
多图测试方面,随机选择图10为载体图像peppers,图11为秘密多图像(tree, jungle,barbara,pond),经过本隐藏方法,得到图12为视觉有意义的含密载体图像peppers。
[0204]
多图重构方面,经过对秘密多图像的重构,得到图13为重构出的多图像(tree, jungle,barbara,pond)。
[0205]
本方案在具体实施过程中,采用svd分解、压缩感知、离散小波变换、可逆信息隐藏等技术将秘密图像嵌入到载体图像中。秘密图像嵌入载体图像过程中经过密钥转换数学模型构造和密钥流生成、秘密图像的置乱加密和奇异值分解与分块、测量矩阵的控制和秘密图像的奇异值压缩、载体图像的小波系数填充和秘密图像嵌入隐藏四个步骤,最后输出视觉有意义的含密载体图像c。秘密图像重构过程经过解密过程中密钥流的生成、秘密图像信息的提取和替换、秘密图像信息重构和对角矩阵构造、逆svd分解和秘密图像的量化与重构
成四个步骤,最后得到重构出的秘密图像d。本发明实际上既可以实现单图嵌入,也满足多图嵌入,而且采用rsa加密算法以保证图像隐藏加密过程的安全性。
[0206]
综上所述,本发明的图像隐藏方法是基于压缩感知的非对称可逆图像隐藏算法。仿真结果表明本方法具有良好的图像隐藏效果,特别是引入非对称加密体制,在密钥的基础上使用rsa算法对密钥加密,不仅解决密钥的分发和管理困难的问题,而且还能保证算法的安全性。另外,本算法所使用的密钥依赖于秘密图像,可以保证每次使用的密钥都不一样。而且,对秘密图像进行压缩采样之前,先对秘密图像进行奇异值分解svd,获取奇异值,再奇异值压缩采样,有效解决采样时间长和重构时间长的问题。在嵌入和提取的过程中对图像信息进行特殊处理,在保证视觉图像质量的基础上,也保证重构图像的质量。本方法所采用的混沌系统不局限于离散混沌系统,对于连续的混沌系统也适用,可以推广到其它混沌映射或混沌系统。本方法也适用于彩色图像的加密,因为彩色图像可以分解为 r,g,b三个通道,每一个通道视为一幅灰度图像,可分别对这三幅图像进行隐藏,再整合为彩色的视觉图像。
[0207]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
技术特征:
1.基于压缩感知的非对称可逆图像隐藏方法,其特征在于,包括以下步骤:s1:选择两个大素数生成一对公钥和私钥;根据秘密图像的像素信息特征计算得到明文信息;s2:基于rsa算法利用公钥对明文信息进行加密得到密文信息;s3:构造密钥转换数学模型将明文信息与密文信息转换成非线性混沌系统的初始密钥,并迭代计算生成随机密钥流;s4:根据随机密钥流对秘密图像进行置乱预加密,获取置乱图像,并对置乱图像进行奇异值分解得到奇异值;对奇异值进行分块,并对每块不全为0的奇异值压缩采样,获取相应的采样值;s5:对载体图像进行离散小波变换,将采样值中的最大两列的元素去除,并在相应的采样值中进行零元素嵌入,使其大小和小波系数的大小一致并将零元素嵌入后的采样值嵌入到小波系数中;s6:进行逆离散小波变换和量化,得到最终的视觉有意义的含密载体图像。2.根据权利要求1所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,在所述步骤s1中,根据秘密图像的像素信息特征计算得到明文信息m1、m2、m3;明文信息在步骤s2中加密后得到密文信息c1、c2、c3;接着,在步骤s3中,使用密钥转换数学模型将明文信息m1、m2、m3和密文信息c1、c2、c3转换成非线性混沌系统的初始密钥x0、y0、z0,再迭代生成随机密钥流x、y、z;其中,所述步骤s1具体步骤如下:假设秘密图像的大小为n
×
n,用p1表示;根据秘密图像p1的大小和像素信息特征,构造数学模型提取的明文信息m1、m2、m3具体表示为:其中,符号表示向上取整数,p1(i,j)表示图像p1在位置(i,j)处的像素值,mod表示取模运算。3.根据权利要求2所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,在所述步骤s2中,基于rsa算法利用公钥对明文信息进行加密的计算过程具体表示为:其中,p和q表示生成公钥和私钥的两个大素数,e表示公钥;此处公钥e的选择过程为:计算乘积n=p
×
q和欧拉函数随机选择一个与互素的数作为公钥,满足4.根据权利要求3所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,所述
步骤s3具体包括以下步骤:s31:构造密钥转换数学模型将明文信息与密文信息转换成非线性混沌系统的初始密钥,计算公式具体为:其中,令x0=k1,y0=k2,z0=k3,即得到初始密钥x0,y0,z0;s32:将得到的初始秘钥代入非线性混沌系统中进行迭代,此处所使用的非线性混沌系统是一个三维离散混沌系统,其表达形式具体为:其中,参数a,b,c为控制参数,设消除瞬态效应的控制参数为t,则迭代完成后需去掉前t个迭代值以消除瞬态效应,得到长度为nn的序列x、y、z,即得到随机密钥流x、y、z。5.根据权利要求2所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,在所述步骤s4中,对随机密钥流y进行从小到大排序得到索引序列,并根据索引序列对秘密图像进行置乱预加密,降低其相邻像素间的相关性,获取置乱图像;然后,对置乱图像进行奇异值分解。6.根据权利要求5所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,所述步骤s4具体包括以下步骤:s41:使用sort函数对随机密钥流y进行从小到大排序得到索引序列k={k1,k2,
…
,k
n
×
n
};s42:根据序列k对秘密图像p1的像素位置,得到置乱图像p1′
,具体表示为:p1′
(i)=p1(k(i)),i=1,2,
…
,n
×
n.
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)s43:对置乱图像p1′
进行奇异分解svd,得到奇异矩阵u,v和奇异值s,具体表示为:[u,s,v]=svd(p1′
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)s44:将奇异矩阵u,v的值量化到[0,255],得到类似噪声的图像u
′
和v
′
,具体表示为:其中,δ=u,v;s45:将奇异值s分成4块大小均为n/2
×
n/2的矩阵s1,s2,s3,s4,其中矩阵s2,s3的元素均为0,直接丢弃;矩阵s1和s4的表达式具体为:s46:构建并使用循环测量矩阵对奇异值s1和s4进行测量压缩分别得到采样值e和f。7.根据权利要求6所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,所述步骤s46过程具体为:从随机密钥流z中选出长度为m=n/2的子序列z
′
,然后,对z
′
进行操作,得到序列z
″
,接着,将序列z
″
中小于127的值变换成-1,其余的变换成1,得到序列u;
序列u的形式为u={t1,t2,
…
,t
m
},t
i
的取值为
±
1,i=1,2,
…
,m,再利用行向量通过循环位移生成循环测量矩阵h
δ
;接着使用循环测量矩阵h
δ
对奇异值s1和s4进行测量压缩分别得到采样值e和f,具体表示为:8.根据权利要求7所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,所述循环测量矩阵h
δ
的形式表示具体为:其中,δ=cr
×
m,cr∈(0,1)是明文图像的压缩比。9.根据权利要求8所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,所述步骤s5具体包括以下步骤:s51:对载体图像p2进行离散小波变换得到4个小波系数cl,ch,cv,cd;s52:在采样值e和f的下方填充0元素,使它们的大小和系数cl的大小一样,得到新的矩阵e
′
和f
′
;s53:分别将矩阵e
′
和f
′
的第一列和第二列的高能量元素去除,并用零元素填充得到e
″
和f
″
,具体表示为:10.根据权利要求9所述的基于压缩感知的非对称可逆图像隐藏方法,其特征在于,所述步骤s6具体包括以下步骤:s61:从随机密钥流x选取出长度为nn/4的子序列x
′
,再使用sort函数对序列x
′
进行从小到大的升序排序,从而得到索引序列g={g1,g2,
…
,g
nn/4
};s62:根据索引序列g分别对e
″
和f
″
进行像素位置置乱得到e
″′
和f
″′
,具体表示为:s63:将e
″′
嵌入到系数cl中得到cl
′
,同样的方法,将f
″′
嵌入到系数ch中得到ch
′
,嵌入方式表示为:其中,β是嵌入系数;s64:对小波系数cl
′
,ch
′
和cv,cd合并做逆离散小波变换得到p2′
,具体为:p2′
=idwt2(cl
′
,ch
′
,cv,cd)
ꢀꢀ
(14)再进行量化使其元素落入[0,255]之间,从而得到最终的视觉有意义的含密载体图像
c,具体表示为:
技术总结
本发明提供的基于压缩感知的非对称可逆图像隐藏方法,包括:生成一对公钥和私钥并计算秘密图像的明文信息;利用公钥对明文信息进行加密得到密文信息;将明文信息与密文信息转换成非线性混沌系统的初始密钥,生成随机密钥流;根据随机密钥流对秘密图像进行置乱预加密后进行奇异值分解得到奇异值;对奇异值进行分块,并获取相应的采样值;对载体图像进行离散小波变换,在相应的采样值中进行零元素嵌入并将零元素嵌入后的采样值嵌入到小波系数中;进行逆离散小波变换和量化,得到含密载体图像。本发明提供图像隐藏方法,能够解决密钥分发和管理困难的问题;密钥流的生成依赖于秘密图像,鲁棒性较好,可以抵抗常见的攻击,安全性高。高。高。
技术研发人员:叶国栋 吴惠山
受保护的技术使用者:广东海洋大学
技术研发日:2021.11.12
技术公布日:2022/3/8