基于视觉密码的DWT-SVD 水印技术

2021-12-01 05:26王洪君
智能计算机与应用 2021年8期
关键词:矩阵载体密码

高 淼,王洪君

(吉林师范大学 计算机学院,吉林 四平 136000)

0 引言

随着计算机的普及应用,简单的复制粘贴就可以轻易的篡改他人的创新成果,盗版现象越发猖獗,版权信息泄露愈演愈烈[1]。如何保护研发者的创新成果是一个重要的问题,目前关于如何保护数字作品的知识产权,研究者们提出了许许多多的技术方案,其中数字水印技术一直是维护知识产权的重要方法。数字水印就是在载体图像上嵌入可以代表研究者身份的水印信息,在需要产权维护时,将水印信息从载体图像中提取出来,进行验证,维护产权的合法权益。

为了解决数字水印鲁棒性与透明性之间的问题,温泉等人提出了零水印算法,零水印是指没有把水印信息嵌入到载体图像中去,所以不会对载体图像的完整性起到影响[2];在此基础上曲长波等人又提出了基于视觉密码和边缘检测的零水印算法[3-4];Rain 等人又提出基于离散小波的零水印算法,把载体图像进行小波变换,然后将与载体图像相似的部分分成4×4 个子块,将每个子块都进行奇异值分解,最后实现零水印的生成[5];李春燕又实现了像素不扩展的盲水印算法,基于像素不扩展的(2,2)视觉密码方案修改载体图像的空间域实现[6]。

本文基于(2,2)像素不扩展视觉密码方案,将版权信息图像拆分成与版权信息图像大小相同的两个分享份图像,然后将两个分享份图像进行奇异值分解,再把载体图像先进行一级小波变换,其中LL子带是载体图像的近似图像,再将LL 子带进行一级Haar 小波变换,取LL2 子带与HH2 子带,进行奇异值分解,把两个分享份分别嵌入到LL2 与HH2 中去,完成在载体图像上嵌入两个水印图像。在需要进行版权验证时,使用数字水印的提取算法,把两个分享份提取出来,进行叠加,完成版权信息图像的恢复。因为基于视觉密码学,所以即使水印提取算法泄露,提取出的分享份也不会暴露任何版权信息。

1 视觉密码

1.1 视觉密码概括

视觉密码学是在1994 年由Naor 和Shami 提出来的,是一个全新的密码学理论,其不再需要复杂的数学计算与高深的数学理论知识,而是将秘密形成一幅图像,然后将秘密图像根据规则拆分成n个分享份,将n个分享份分发给n个参与者,当n个参与者中k个人(k≤n)将自己的分享份叠加在一起,就可以实现秘密图像的恢复[7]。参与者不在需要学习复杂的密码学知识,仅仅需要一双肉眼就可以获取秘密信息。但是传统的秘密学会产生像素扩展等问题,导致恢复的图像与原始图像大小不一,针对这一问题,王洪君等人提出像素不扩展的(2,3)视觉密码方案,根据传统方案进行拆分的分享份图像都是杂乱无章没有规律的图像,容易受到攻击[8];所以又提出具有掩盖图像并且像素不扩展的(2,2)视觉密码方案[9]。

1.2 (2,2)视觉密码方案

传统的(2,2)视觉密码方案,会让恢复出来的秘密图像长度变为原来的二倍,存在像素扩展,因为原始秘密图像中无论一个黑色像素块还是一个白色像素块,在进行加密时分存图像中都需要被一黑一白两个像素块进行表达,所以使整体长度变宽。(2,2)像素不扩展视觉密码方案是指恢复出来的秘密图像与原始秘密图像大小一样,在原始秘密图像中一个黑色像素块或者一个白色像素块,在进行加密时,分存图像也只需要一个像素块进行表达,加密规则见表1。

表1 (2,2)像素不扩展视觉密码方案加密规则Tab.1 (2,2)pixels do not extend the encryption rules of the visual cipher scheme

由数字0 代表白色,数字1 代表黑色,进行异或运算。两个分存片颜色相同,叠加恢复出来的秘密图像颜色是白色;两个分存片颜色不同,叠加恢复出来的秘密图像颜色是黑色。

2 离散小波变换DWT

变换域水印算法是水印算法的重心,包括离散傅里叶变换(DFT),离散余弦变换(DCT),离散小波变换(DWT)。本文主要使用Haar 小波变换,Haar小波具有构造简单、计算方便的特点。利用Haar 小波变换,将二维图像进行一级分解与二级分解,如图1 和图2 所示。

图1 一级Haar 小波变换Fig.1 First-order Haar wavelet transform

图2 二级Haar 小波变换Fig.2 Second-order Haar wavelet transform

LL 是低频水平子带;LH 是高频水平子带;HL是高频垂直子带;HH 是高频对角线子带。低频水平子带与原始图像非常相似,包含了图像的大多数细节,只是大小发生了变化,其它的3 个子带只包含图像的边缘细节。

3 奇异值分解SVD

奇异值分解是线性代数中最常用的一种矩阵分解,图像可以看成是由许多非负标量组成的矩阵。

SVD 可以用来提取图像的特征值,实现图像的降维与压缩,应用到数字水印中去可以提高水印的鲁棒性,图像在经过SVD 分解后可以拆分成3 个矩阵,分为左奇异值矩阵U,奇异值矩阵S,右奇异值矩阵V,在奇异值矩阵中,奇异值由大到小排列成对角矩阵。R代表实数域,矩阵A的大小为MXN。

矩阵A的奇异值分解可以表示为式(1):

其中,U∈RMXN,V∈RMXN是正交矩阵,∑∈RMXN是一个非对角线上都是0 的矩阵,在对角线上的元素满足σ1≥σ2≥...≥σr >σr+1=σM =0。

4 水印算法

4.1 水印添加

利用(2,2)像素不扩展方案将数字水印图像拆分成两个分享份,利用Haar 小波变换,将载体图像进行二级Haar 小波变换,得到子带LL2、HH2,将LL2 与HH2 都进行奇异值分解,将分享份1 进行奇异值分解,并将分解后的奇异值矩阵,加到LL2 奇异值上,将分享份2 进行奇异值分解,并将分解后的奇异值矩阵,加到HH2 奇异值上,实现数字水印的添加。

水印嵌入算法的步骤如下:

(1)分别读取原始图像I,水印分享份1 图像W和水印分享份1 图像WW;

(2)原始图像I 进行Haar 小波二级变换,得到LL2 与HH2;

(3)LL2 与W 进行奇异值分解,然后完成水印的嵌入,嵌入公式(2)~(4):

其中,∝代表嵌入水印的强度。

(4)将HH2 与WW 进行奇异值分解,然后完成水印的嵌入,嵌入公式(5)~(7):

其中,∝1 代表嵌入的水印强度。

(5)利用公式(8)和(9):

实现SVD 的逆变换得到LL3∗和HH3∗,再利用Haar 小波的逆变换得到含义水印的图像IW。

4.2 水印提取

对得到的载体图像进行Haar 小波二级变换,提取出新的LL2 子带和新的HH2 子带,将两个新的子带进行奇异值分解,从新的奇异值上求出嵌入水印的奇异值,从而求出水印的矩阵,进行水印的提取。

水印提取算法的步骤如下:

(1)分别读取嵌入水印图像IW 与原始水印图像I;

(2)对嵌入水印的图像IW 进行Haar 小波二级变换,得到新的LL2 与HH2;

(3)利用公式(10)~(12)提取出水印W;

(4)利用公式(13)~(15)提取出水印WW。

5 Matlab 实验结果

载体图像是512×512 的Lena 图像,如图3 所示;秘密图像是128×128 的图像,如图4 所示。嵌入的水印图像是两幅,分别是秘密图像基于(2,2)像素不扩展视觉密码方案的分享份1 与分享份2,都是128×128 的图像,如图5(a),(b)所示。图6 是嵌入两幅分享份水印图像的载体图像按照水印提取算法从载体图像提取出的两份分享份水印图像如图7(a),(b)所示,提取出的两份水印分享份图像进行叠加恢复出秘密图像,如图7(c)所示。

图3 载体图像512×512Fig.3 Carrier image 512×512

图4 秘密图像128×128Fig.4 Secret image 128×128

图5 秘密图像的分享份图像Fig.5 A shared image of the secret image

图6 嵌入两个分享份的载体图像512×512Fig.6 Carrier image 512×512 embedded with two shares

图7 提取出的分享份图像及恢复图像Fig.7 Extract the shared image and restore the image

在整个实验中,利用峰值信噪比(PSNR)来评价嵌入水印后载体图像的质量。PSNR 的数学表达式(16)如下:

其中,MSE的数学表达式(17)为:

其中,Pi,j代表原始载体图像的像素值,P′i,j代表嵌入水印后的像素值,PSNR 的数值越大,代表嵌入水印后的载体图像与原始载体图像越相似,PSNR的数值越小,代表嵌入水印后的载体图像与原始载体图像区别越大。

一般来说,当PSNR的数值超过30,人眼就无法分辨出嵌入水印的图像与原始图像的区别。原始载体图像与嵌入水印后的载体图像峰值信噪比达到69.213 4,所以在人类的视觉系统下进行观察,两幅图片几乎看不见差异,当峰值信噪比达到正无穷的时候,两张图像完全相同,没有差异。

对嵌入的水印进行攻击后,判断提取出的水印图像与原始水印图像的差异,由归一化相关(NC)进行评价,数学表达式(18)如下:

其中,W(i,j)代表原始水印的像素,W′(i,j)代表提取出来的水印像素,NC值越接近1,表示提取出来的水印与原始水印越相似,不同攻击下提取出的水印恢复的秘密图像如图8 所示。

图8 各种攻击下秘密图像恢复效果Fig.8 Secret image restoration effect under various attacks

PSNR值是由原始载体图像与接受各种攻击的水印嵌入图像计算出来的,NC 值是原始秘密图像的分享份水印与经受各种各样攻击后提取出来的分享份水印计算出来的,见表2。

表2 常见攻击Tab.2 Common attacks

6 结束语

本文将像素不扩展的(2,2)视觉密码方案与DWT-SVD 技术结合在一起,不在是传统意义上将水印信息直接嵌入与提取,而是利用视觉密码技术将两幅水印信息分享份图像同时嵌入到载体图像中,即使水印算法被攻击者窃取,分享份图像被别人提取出来,也不会获取关于水印信息的任何内容,具有一定的安全性。本算法同时实现了在载体图像上嵌入两个分享份图像,一定程度上减轻了保存的工作量。通过实验结果,嵌入两幅水印图像后的载体图像,在受到攻击后与原始载体图像的峰值信噪比依旧可以取得不错的清晰度,达到很高的完整性,受到攻击后提取出的水印分享图像与原始水印分享图像NC值依旧很接近1,相似程度很高。

猜你喜欢
矩阵载体密码
创新举措强载体 为侨服务加速跑
以几何画板为载体,探究等腰三角形的存在性问题
坚持以活动为载体有效拓展港澳台海外统战工作
创新代表履职载体 充分发挥代表作用
多项式理论在矩阵求逆中的应用
谁泄露了密码
密码藏在何处
破译密码
矩阵
矩阵