李 瑩, 王 哲
(1.陜西工業職業技術學院 信息工程學院,陜西 咸陽 712000;2.陜西工業職業技術學院 圖書館,陜西 咸陽 712000)
數字水印技術是當前能夠為數字作品的版權保護和完整性認證提供有效幫助的一種技術手段。然而,目前多數數字水印方案都是對稱體制的,水印的提取過程和水印的嵌入過程相反,水印檢測和提取時所使用的參數與水印嵌入時所使用的參數一樣,所以如果公開驗證版權,就會暴露密鑰,使得水印可能會被非法移去或偽造。
針對對稱數字水印方案中存在的問題,近年來一些國內外學者借鑒公鑰密碼學的思想,提出了非對稱數字水印方案[1]。例如Hartung和Girod[2]提出的擴頻非對稱數字水印算法,Furon和Duhame提出的單向信號處理非對稱數字水印,Van Schyndel的Legendre序列水印,Eggers提出的特征向量水印,Justin Picard的神經網絡非對稱水印等等。非對稱水印方案在水印檢測提取和嵌入過程中使用不同的密鑰,能夠實現水印的公開檢測,更有利于數字水印技術走向實際應用。
本文通過對置換非對稱水印方案的研究,提出一種基于小波變換的非對稱水印算法,并對公鑰的檢測性能以及水印的魯棒性進行分析和實驗。
Fu等[3]提出可以在宿主數據中嵌入兩個互不相關的水印來實現非對稱檢測,例如以加權和的形式嵌入同一水印的不同版本。可以進行對稱檢測和非對稱檢測。Gui等[4]在Fu等研究的基礎上,提出了一種利用置換構建非對稱數字水印方案的通用方法,其中嵌入水印是公開水印和它的置換版本的加權和。該方案的安全性依賴于置換集的大小,置換集越大安全性越高,方案能夠提供最小安全性[5]。
Arnold變換是一種圖像置亂變換,又稱貓臉變換,通常用來“擾亂”圖像,破壞圖像的自相關性,經過置亂以后的圖像,看起來雜亂無章,如果不知道所使用的置亂變換,很難恢復出原始圖像。該變換的映射方程如下:

mod 1 表示取小數部分,即 x mod 1=1-[x],(xn,yn)的相空間限制在單位正方形[0,1]×[0,1]內,以矩陣形式表達為:

該映射具有非常典型的產生混沌運動的兩個因素:拉伸(乘以矩陣C使都變大)和折疊(取模使又折回單位矩陣內),事實上Arnold變換是混沌映射。當迭代次數足夠大時,圖像任意兩個相鄰的像素點的位置將會產生極大的分離,而且由于是一一映射,所以像素的位置不會重疊,全部像素將被隨機而均勻地置亂到整個圖像空間。本文將利用Arnold變換來對公開水印進行置亂,從而產生秘密水印,這樣兩個水印的相關性會很小。隨著圖像尺寸的變化,Arnold變換的周期也會隨之增加,要恢復原始圖像需要完成的變化次數難以確定,破譯難度較大。
本文采用二值圖像作為原始水印信息,嵌入水印的生成流程如圖1所示。

圖1 嵌入水印生成流程Fig.1 The generation process of embedded watermark
具體步驟如下:
1)將大小為MW×NW的原始二值水印圖像降維,得到一維原始水印信息,長度為I=MW×NW,并將其轉換為雙極性二值信號 a,即

2)為了增強水印的冗余度,提高水印抵抗攻擊的能力,這里我們利用擴頻技術,以切普速率cr對a進行比特重復,形成長度為n=l×cr的擴展信號,即

3)求原始宿主圖像的Hash值,將其作為水印檢測的公鑰keyp予以公開。然后以keyp作為種子,產生長度為n的二值隨機序列

4)利用隨機序列p對水印信號進行調制,使水印信號接近隨機,得到公開水印

5)將公開水印序列wp組織成M×N的二維矩陣A,其中M×N=n,使用私鑰keys對A進行Arnold置亂得到矩陣B,然后將B降維為一維序列,得到秘密水印序列ws。
6)按照下列公式生成嵌入水印,其中0<α<1,通過調整α的值可以控制兩個水印的嵌入比例。

可以選擇不同的Arnold置亂變換參數作為秘鑰,生成不同的秘密水印,為同一作品的不同版本嵌入不同的水印,由于公開水印是相同的,它們可以用同一公鑰進行檢測。
小波分析是一種優秀的圖像分析方法,通過小波變換可以對信號進行多分辨率分解,將圖像分解成具有水平、垂直、對角線方向不同分辨率下的多個高頻子圖和一個低頻子圖。小波對圖像的分析特點與人眼對圖像的視覺感應過程是相吻合的。
本文在水印嵌入過程中,首先對大小為MI×NI的灰度宿主圖像進行三層小波分解,得到一個逼近子圖和若干個細節子圖。為了能夠在圖像局部紋理越大的地方嵌入越多的水印信息,使水印自適應地嵌入到圖像三層小波分解后的低頻系數中,我們采用文獻[6]所給出的計算公式,計算出低頻系數的相關掩蔽參數矩陣,該矩陣能夠反映低頻系數對應的圖像局部區域像素值的變化信息大小。然后根據掩蔽參數矩陣選擇相應的低頻系數嵌入水印信號,將修改后的小波系數連同未修改的高頻系數一起進行相應的逆變換,得到嵌入水印后的圖像。
對于非對稱水印系統,必需采用盲檢測算法完成水印的公開檢測,本文通過計算接收到的信號和隨機序列之間的相關度來檢測和提取水印。具體過程為:
首先,將待測圖像進行三層Harr小波分解,按照嵌入規則抽取相應嵌入位置的小波系數,得到序列

然后,由公鑰keyp生成偽隨機序列p,通過計算x和p的線性相關性,并根據閾值判斷公開水印是否存在。
檢測到水印存在后,可以按照下式,計算每一位水印信號的相關度,則有

設

則提取出的水印信息為

將恢復出的水印序列映射到(0,1)區間,然后恢復成MW×NW的二值圖像,提取出水印圖像。
攻擊者得到公開水印后,可能會對含水印圖像做減去攻擊,此時,版權所有者可以利用私鑰對公開水印進行Arnold變換,得到秘密水印ws,使用we進行對稱檢測來證明版權所有。因為含有秘密水印,所以對稱檢測總會成功,只是水印的能量會減小。
為了驗證本文所提出的算法,我們在Matlab7.0中進行仿真。載體圖像為512像素×512像素的灰度圖像,原始水印為 16像素×16像素的二值圖像,參數cr=16,α=0.45,生成嵌入水印后按照嵌入算法,將水印嵌入載體圖像三層小波分解后的低頻系數中。通過計算歸一化相關系數來以判斷提取出的水印與水印原圖的相似程度,利用峰值信噪比來對含水印圖像的失真度做客觀評價。
為了清晰地顯示公鑰檢測的響應值,在仿真實驗中,生成了1 000個與擴頻后的水印信號等長,均值為零、方差為1的隨機序列。然后由公鑰keyp生產偽隨機序列p,將隨機序列中的第500個替換為p,與待測信號做相關性檢測。從圖2可以看出公鑰的檢測響應較高。

圖2 公鑰檢測響應Fig.2 Public key detection response
圖3 給出了水印嵌入前后的載體圖像以及利用公鑰提取出的水印圖像。嵌入水印后的Lena圖像的PSNR=43.122 5,失真不大,提取出的水印相似度NC=1.000 0。
在各種魯棒性攻擊操作處理下,利用公鑰提取出的水印的相似度如表1所示。
剪切含水印圖像中部300×300區域后,使用公鑰提取的水印,如圖4所示。
圖4剪切中部300×300后的含水印圖像與公鑰提取的水印(水印圖像適當放大)

圖3 嵌入水印前后的圖像和公鑰提取的水印(水印圖像適當放大)Fig.3 The images before and after embedding watermark and the extracted watermark with public key(watermark image magnified properly)

表1 公鑰提取水印的魯棒性測試效果Tab.1 The robustness test of public key watermarking extraction

圖4 剪切中部300×300后的含水印圖像與公鑰提取的水印(水印圖像適當放大)Fig.4 The watermarked image and the extracted watermark with public key after shearing middle 300×300 image(watermark image magnified properly)
本文提出的非對稱水印算法能夠實現水印的公開檢測和提取,系統滿足最小安全性。公開檢測的密鑰是原始圖像的Hash值,不同的作品檢測密鑰不同,在原始圖像不可得的情況下,很難偽造公鑰和水印。此外,以置亂變換的參數作為私鑰,可以為同一作品的不同版本生成不同的嵌入水印,以利于盜版追蹤。Arnold變換良好置亂效果和巨大的密鑰空間保證了方案的安全性。實驗表明,本文所提出的算法公鑰檢測性能良好,水印具有較好的魯棒性。經過改進該算法也可以用于彩色圖像或數字視頻水印的版權保護。
[1]鄒瀟湘,李錦濤,彭聰.非對稱數字水印技術研究[J].計算機工程與應用, 2002,38(16):7-10,54.ZOU Xiao-xiang,LI Jin-tao,PENG Cong.Research on asym-metric watermark[J].Computer Engineering and Applications,2002,38(16):7-10,54.
[2]Hartung F,Girod B, Fast public-key watermarking of compressed video[C]//Proceedings of the IEEE International Conference on Image Processing, Santa Barbara, CA, USA:[s.n.],1997:528-531.
[3]Fu Y,Shen R,Shen L.A novel asymmetric watermarking scheme[C]//Proceedings of the Third International Conference on Machine Learning and Cybemetics, Shanghai:[s.n.],2004:26-29.
[4]GUI Guo-fu,JIANG Ling-ge,HE Chen.General construction of asymmetric watermarking based on permutation[C]//IEEE Int.Workshop VLSI Design&Video Tech, Suzhou, China:,2005:260-263.
[5]Kim T Y,Choi H,Lee K,et al.An asymmetric watermarking system with many embedding watermarks corresponding to one detection watermark[J].IEEE Signal Process Lett,2004,11(3):375-377.
[6]劉芳,曹歐,李畢祥.基于小波變換的非對稱數字水印算法研究[J].計算機安全,2011,(5):18-21.LIU Fang,CAO Ou, LI Bi-xiang.The research of waveletbased asymmetric digital watermarking algorithm[J].Network and Computer Security,2011(5):18-21.