李 瑩, 王 哲
(1.陜西工業(yè)職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,陜西 咸陽 712000;2.陜西工業(yè)職業(yè)技術(shù)學(xué)院 圖書館,陜西 咸陽 712000)
數(shù)字水印技術(shù)是當(dāng)前能夠為數(shù)字作品的版權(quán)保護和完整性認(rèn)證提供有效幫助的一種技術(shù)手段。然而,目前多數(shù)數(shù)字水印方案都是對稱體制的,水印的提取過程和水印的嵌入過程相反,水印檢測和提取時所使用的參數(shù)與水印嵌入時所使用的參數(shù)一樣,所以如果公開驗證版權(quán),就會暴露密鑰,使得水印可能會被非法移去或偽造。
針對對稱數(shù)字水印方案中存在的問題,近年來一些國內(nèi)外學(xué)者借鑒公鑰密碼學(xué)的思想,提出了非對稱數(shù)字水印方案[1]。例如Hartung和Girod[2]提出的擴頻非對稱數(shù)字水印算法,F(xiàn)uron和Duhame提出的單向信號處理非對稱數(shù)字水印,Van Schyndel的Legendre序列水印,Eggers提出的特征向量水印,Justin Picard的神經(jīng)網(wǎng)絡(luò)非對稱水印等等。非對稱水印方案在水印檢測提取和嵌入過程中使用不同的密鑰,能夠?qū)崿F(xiàn)水印的公開檢測,更有利于數(shù)字水印技術(shù)走向?qū)嶋H應(yīng)用。
本文通過對置換非對稱水印方案的研究,提出一種基于小波變換的非對稱水印算法,并對公鑰的檢測性能以及水印的魯棒性進行分析和實驗。
Fu等[3]提出可以在宿主數(shù)據(jù)中嵌入兩個互不相關(guān)的水印來實現(xiàn)非對稱檢測,例如以加權(quán)和的形式嵌入同一水印的不同版本??梢赃M行對稱檢測和非對稱檢測。Gui等[4]在Fu等研究的基礎(chǔ)上,提出了一種利用置換構(gòu)建非對稱數(shù)字水印方案的通用方法,其中嵌入水印是公開水印和它的置換版本的加權(quán)和。該方案的安全性依賴于置換集的大小,置換集越大安全性越高,方案能夠提供最小安全性[5]。
Arnold變換是一種圖像置亂變換,又稱貓臉變換,通常用來“擾亂”圖像,破壞圖像的自相關(guān)性,經(jīng)過置亂以后的圖像,看起來雜亂無章,如果不知道所使用的置亂變換,很難恢復(fù)出原始圖像。該變換的映射方程如下:
mod 1 表示取小數(shù)部分,即 x mod 1=1-[x],(xn,yn)的相空間限制在單位正方形[0,1]×[0,1]內(nèi),以矩陣形式表達為:
該映射具有非常典型的產(chǎn)生混沌運動的兩個因素:拉伸(乘以矩陣C使都變大)和折疊(取模使又折回單位矩陣內(nèi)),事實上Arnold變換是混沌映射。當(dāng)?shù)螖?shù)足夠大時,圖像任意兩個相鄰的像素點的位置將會產(chǎn)生極大的分離,而且由于是一一映射,所以像素的位置不會重疊,全部像素將被隨機而均勻地置亂到整個圖像空間。本文將利用Arnold變換來對公開水印進行置亂,從而產(chǎn)生秘密水印,這樣兩個水印的相關(guān)性會很小。隨著圖像尺寸的變化,Arnold變換的周期也會隨之增加,要恢復(fù)原始圖像需要完成的變化次數(shù)難以確定,破譯難度較大。
本文采用二值圖像作為原始水印信息,嵌入水印的生成流程如圖1所示。
圖1 嵌入水印生成流程Fig.1 The generation process of embedded watermark
具體步驟如下:
1)將大小為MW×NW的原始二值水印圖像降維,得到一維原始水印信息,長度為I=MW×NW,并將其轉(zhuǎn)換為雙極性二值信號 a,即
2)為了增強水印的冗余度,提高水印抵抗攻擊的能力,這里我們利用擴頻技術(shù),以切普速率cr對a進行比特重復(fù),形成長度為n=l×cr的擴展信號,即
3)求原始宿主圖像的Hash值,將其作為水印檢測的公鑰keyp予以公開。然后以keyp作為種子,產(chǎn)生長度為n的二值隨機序列
4)利用隨機序列p對水印信號進行調(diào)制,使水印信號接近隨機,得到公開水印
5)將公開水印序列wp組織成M×N的二維矩陣A,其中M×N=n,使用私鑰keys對A進行Arnold置亂得到矩陣B,然后將B降維為一維序列,得到秘密水印序列ws。
6)按照下列公式生成嵌入水印,其中0<α<1,通過調(diào)整α的值可以控制兩個水印的嵌入比例。
可以選擇不同的Arnold置亂變換參數(shù)作為秘鑰,生成不同的秘密水印,為同一作品的不同版本嵌入不同的水印,由于公開水印是相同的,它們可以用同一公鑰進行檢測。
小波分析是一種優(yōu)秀的圖像分析方法,通過小波變換可以對信號進行多分辨率分解,將圖像分解成具有水平、垂直、對角線方向不同分辨率下的多個高頻子圖和一個低頻子圖。小波對圖像的分析特點與人眼對圖像的視覺感應(yīng)過程是相吻合的。
本文在水印嵌入過程中,首先對大小為MI×NI的灰度宿主圖像進行三層小波分解,得到一個逼近子圖和若干個細節(jié)子圖。為了能夠在圖像局部紋理越大的地方嵌入越多的水印信息,使水印自適應(yīng)地嵌入到圖像三層小波分解后的低頻系數(shù)中,我們采用文獻[6]所給出的計算公式,計算出低頻系數(shù)的相關(guān)掩蔽參數(shù)矩陣,該矩陣能夠反映低頻系數(shù)對應(yīng)的圖像局部區(qū)域像素值的變化信息大小。然后根據(jù)掩蔽參數(shù)矩陣選擇相應(yīng)的低頻系數(shù)嵌入水印信號,將修改后的小波系數(shù)連同未修改的高頻系數(shù)一起進行相應(yīng)的逆變換,得到嵌入水印后的圖像。
對于非對稱水印系統(tǒng),必需采用盲檢測算法完成水印的公開檢測,本文通過計算接收到的信號和隨機序列之間的相關(guān)度來檢測和提取水印。具體過程為:
首先,將待測圖像進行三層Harr小波分解,按照嵌入規(guī)則抽取相應(yīng)嵌入位置的小波系數(shù),得到序列
然后,由公鑰keyp生成偽隨機序列p,通過計算x和p的線性相關(guān)性,并根據(jù)閾值判斷公開水印是否存在。
檢測到水印存在后,可以按照下式,計算每一位水印信號的相關(guān)度,則有
設(shè)
則提取出的水印信息為
將恢復(fù)出的水印序列映射到(0,1)區(qū)間,然后恢復(fù)成MW×NW的二值圖像,提取出水印圖像。
攻擊者得到公開水印后,可能會對含水印圖像做減去攻擊,此時,版權(quán)所有者可以利用私鑰對公開水印進行Arnold變換,得到秘密水印ws,使用we進行對稱檢測來證明版權(quán)所有。因為含有秘密水印,所以對稱檢測總會成功,只是水印的能量會減小。
為了驗證本文所提出的算法,我們在Matlab7.0中進行仿真。載體圖像為512像素×512像素的灰度圖像,原始水印為 16像素×16像素的二值圖像,參數(shù)cr=16,α=0.45,生成嵌入水印后按照嵌入算法,將水印嵌入載體圖像三層小波分解后的低頻系數(shù)中。通過計算歸一化相關(guān)系數(shù)來以判斷提取出的水印與水印原圖的相似程度,利用峰值信噪比來對含水印圖像的失真度做客觀評價。
為了清晰地顯示公鑰檢測的響應(yīng)值,在仿真實驗中,生成了1 000個與擴頻后的水印信號等長,均值為零、方差為1的隨機序列。然后由公鑰keyp生產(chǎn)偽隨機序列p,將隨機序列中的第500個替換為p,與待測信號做相關(guān)性檢測。從圖2可以看出公鑰的檢測響應(yīng)較高。
圖2 公鑰檢測響應(yīng)Fig.2 Public key detection response
圖3 給出了水印嵌入前后的載體圖像以及利用公鑰提取出的水印圖像。嵌入水印后的Lena圖像的PSNR=43.122 5,失真不大,提取出的水印相似度NC=1.000 0。
在各種魯棒性攻擊操作處理下,利用公鑰提取出的水印的相似度如表1所示。
剪切含水印圖像中部300×300區(qū)域后,使用公鑰提取的水印,如圖4所示。
圖4剪切中部300×300后的含水印圖像與公鑰提取的水?。ㄋD像適當(dāng)放大)
圖3 嵌入水印前后的圖像和公鑰提取的水?。ㄋD像適當(dāng)放大)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后的含水印圖像與公鑰提取的水印(水印圖像適當(dāng)放大)Fig.4 The watermarked image and the extracted watermark with public key after shearing middle 300×300 image(watermark image magnified properly)
本文提出的非對稱水印算法能夠?qū)崿F(xiàn)水印的公開檢測和提取,系統(tǒng)滿足最小安全性。公開檢測的密鑰是原始圖像的Hash值,不同的作品檢測密鑰不同,在原始圖像不可得的情況下,很難偽造公鑰和水印。此外,以置亂變換的參數(shù)作為私鑰,可以為同一作品的不同版本生成不同的嵌入水印,以利于盜版追蹤。Arnold變換良好置亂效果和巨大的密鑰空間保證了方案的安全性。實驗表明,本文所提出的算法公鑰檢測性能良好,水印具有較好的魯棒性。經(jīng)過改進該算法也可以用于彩色圖像或數(shù)字視頻水印的版權(quán)保護。
[1]鄒瀟湘,李錦濤,彭聰.非對稱數(shù)字水印技術(shù)研究[J].計算機工程與應(yīng)用, 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]劉芳,曹歐,李畢祥.基于小波變換的非對稱數(shù)字水印算法研究[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.