李春艷
(紅河學院工學院,云南蒙自 661199)
數(shù)字水印是數(shù)字產(chǎn)品版權(quán)保護的有效技術(shù)。數(shù)字水印使用某種算法將水印信息隱藏在媒體中,以此來證明所有者對作品的版權(quán)。這種技術(shù)在一定程度上影響了媒體的原有信息,難以平衡水印魯棒性和媒體質(zhì)量間的矛盾。而零水印算法卻能很好地解決這一矛盾。零水印不對媒體做任何修改,而是利用媒體的重要特征信息構(gòu)造零水印。文獻〔1〕和文獻〔2〕就是利用圖像的最高有效位(Most Significant Bit,MSB)和最不重要位構(gòu)造零水印。這些算法既保證了圖像的質(zhì)量,又可抵御幾何和常規(guī)圖像處理的攻擊。因此零水印算法日益受到關(guān)注。視覺密碼是一種新型的密碼技術(shù),它具有計算量小、解密簡單、無條件安全等優(yōu)勢。文獻〔3〕-〔7〕利用視覺密碼構(gòu)造零水印。這些水印算法對載體圖像做視覺密碼分解后,再結(jié)合水印信息構(gòu)造零水印。算法先對載體圖像做多種變換后提取圖像的穩(wěn)定特征信息,并對這些信息做視覺密碼分解,然后結(jié)合水印信息構(gòu)造零水印。然而,圖像的穩(wěn)定特征信息是相對的,即:當圖像受到攻擊時,所提取的特征信息與原載體圖像的特征信息是不完全相同的。此時,由于視覺密碼的特性,這些臟點(即提取的特征信息與原載體圖像的特征信息不同的點)被放大,這將嚴重降低水印的提取質(zhì)量。為此,本文不再對載體圖像進行視覺密碼分解,而是對水印圖像進行視覺密碼分解后再與載體圖像的穩(wěn)定特征來構(gòu)造零水印。
視覺密碼理論(VisualCryptographyScheme,VCS)是在1994年的歐洲密碼學會議上由Naor和Shamir提出的〔8〕。這是有史以來第一次用圖像作為密鑰來研究,且他們給出了圖像共享的方案。該方案解密時只需經(jīng)過簡單的運算,然后利用人類的視覺系統(tǒng)即可完成。與傳統(tǒng)的密碼學相比,視覺密碼具有運算量小、解密簡單等優(yōu)勢。因此視覺密碼方案一經(jīng)提出便備受青睞。典型的(k,n)視覺密碼方案是將一幅秘密圖像加密成n個影子圖像(分享圖像),并將這些影子圖像分別賦給n個參與者保存;解密時只需k(k≤n)個參與者將各自的影子圖像疊加起來,利用人類的視覺系統(tǒng)就可辨認出秘密信息。
(k,n)視覺密碼的加密過程是將秘密圖像P中的每個像素擴展為m個黑白子像素(m叫像素擴展度),所得圖像即為一個分享份,對秘密圖像P做n次這樣的操作即可得到P的n幅影子圖像。假設(shè)秘密圖像P的大小為X×Y,則對P做視覺密碼加密后,其影子圖像(分享份)的大小為X×(Y×m),即:相對于秘密圖像P來講,分享份被拉寬了m倍。
為簡單起見,現(xiàn)對秘密圖像P做(2,2)的視覺密碼分解,圖像P=(Pij)X×Y,從P中第一個像素p11開始,若p11為白色,則從集合H0中隨機挑出一個矩陣來對它進行加密;加密時矩陣中的第一行(0,1)對應(yīng)p11在第一個影子圖像中的像素塊,矩陣中第二行(0,1)元素對應(yīng)p11在第二個影子圖像中的像素塊。同理,若p11為黑色,則從集合H1中隨機挑出一個矩陣來對該像素加密;矩陣中的第一行(0,1)是像素p11在第一個影子圖像中對應(yīng)的像素塊。矩陣中的第二行(1,0)是像素p11在第二個影子圖像中對應(yīng)的像素塊。重復上述操作,直至P中所有像素都被加密為止即可得到2個影子圖像。其中矩陣中的元素1代表黑色像素;元素0代表白色像素。加密規(guī)則如表1所示。
表1 加密規(guī)則
解密時將2個影子圖像重疊,計算每個像素塊的漢明重量。其中d為門限值,即恢復圖像中的像素被認為是黑色還是白色的灰度臨界值;a為對比度,指解密圖像中原始黑白像素對應(yīng)的灰度值與像素擴展度m的比值。一般情況下a的值隨m的增加而增加。
算法利用(2,2)視覺密碼對水印圖像W進行加密,得到2個影子圖像P1和P2。對圖像P1和P2進行拓展得到圖像P`,P`的大小與載體圖像I一致。提取載體圖像中每個像素的MSB,得到矩陣MSB。對P`與MSB做異或操作即可得到提取水印的密鑰矩陣K。
1)對水印圖像W做(2,2)的視覺密碼分解,得到2個影子圖像P1和P2。
2)將P1和P2組合成一幅圖PP,再對PP進行拓展得到P`,使其大小與載體圖像I的大小一致。
3)提取載體圖像I中每個像素的MSB,得到矩陣MSB。
4)用拓展得到的二值圖P`和MSB做異或操作,得到的結(jié)果即為提取水印的密鑰矩陣K。將K置亂加密后得到注冊信息。
1)對注冊信息進行解密并恢復,得到密鑰矩陣K。
2)提取載體圖像I`中每個像素的MSB,得到矩陣MSB`。
3)對密鑰矩陣K和MSB`做異或操作,得到拓展圖P`。
4)對拓展圖進行分割,得到影子圖像P1的集合和影子圖像P2的集合,依次從2個集合中取出子圖進行視覺密碼解碼。解碼后看到的信息即為水印信息。
本文采用256×256×8 bit的標準測試圖像Lena為載體圖像I,以32×32×2 bit的圖像為水印w;用歸一化相似度NC來衡量提取水印的性能〔9〕,其公式如下:
由于水印信息w做視覺密碼分解后,其大小發(fā)生了變化(即高度不變,寬度擴大了m倍),因此為了判斷提取水印的質(zhì)量,此處用原始水印w做視覺密碼編碼得到的水印圖像W與提取的水印W`做比較。
3.1 常規(guī)圖像處理攻擊 下面我們考慮對含水印的圖像分別進行JPEG壓縮(質(zhì)量因子較小)、加噪、濾波、銳化、模糊等處理后,再從中提取出水印,計算其歸一化相似度NC。同時與文獻〔3〕的實驗結(jié)果做比較。具體數(shù)據(jù)如表2所示。
表2 常規(guī)圖像處理攻擊
3.2 剪切攻擊 為了進一步驗證本算法對剪切攻擊的魯棒性,下面對含水印圖像進行不同層次的剪切后再從中提取水印。表3給出了本文算法與文獻〔3〕的比較結(jié)果。
表3 剪切攻擊
3.3 無水印測試 由圖像的MSB構(gòu)造的圖像特征信息具有穩(wěn)定性和唯一性。即當作品受到某種攻擊時(如濾波或剪切),從受攻擊圖像中提取的特征信息變化不大,且與圖像一一對應(yīng)。這種唯一性使零水印具備了區(qū)分不同圖像版權(quán)的能力。為了驗證本算法的有效性,下面以一組與原載體圖像相似的圖片為測試對象來驗證其唯一性。實驗結(jié)果如表4所示。
表4 無水印測試
本文使用視覺密碼技術(shù)對水印信息進行編碼得到2個影子圖像。分解獲得的影子圖像與原圖聯(lián)系甚少,用戶在影子圖像中看不出任何水印信息,因此影子圖像具備天然的數(shù)據(jù)保護性。另外對影子圖像進行組合、拓展后才與載體圖像的MSB進行操作,這使算法具有較強的抗剪切能力;最后MSB的穩(wěn)定性使算法在常規(guī)圖像處理攻擊中表現(xiàn)出優(yōu)越的性能,實驗結(jié)果表明了算法具有良好的安全性和魯棒性。
〔1〕牛萬紅,楊紹華.一種基于圖像最高有效位構(gòu)造密鑰的零水印算法〔J〕.計算機工程與科學,2010,32(4):55-58.
〔2〕何冰.基于LSB的抗旋轉(zhuǎn)攻擊魯棒性數(shù)字水印算法〔J〕.系統(tǒng)仿真技術(shù),2010,4(6):304-307.
〔3〕曲長波,楊曉陶,袁鐸寧.小波域視覺密碼零水印算法〔J〕.中國圖象圖形學報,2014,19(3):365-372.
〔4〕曲長波,楊曉陶,袁鐸寧.平衡多小波視覺密碼零水印算法〔J〕.計算機工程,2014,40(9):178-182.
〔5〕VERMA J,KHEMCHANDANI V.A visual cryptographic technique to secure image shares〔J〕.International Journal of Engineering Research and Applications,2012,2(1):1121-1125.
〔6〕TU S F,SHENG H C.A joint ownership protection scheme for digital images based on visual cryptography〔J〕.The International Arab Journal of Information Technology,2012,9(3):276-283.
〔7〕ABUSITTA A H.A visual cryptography based digital image copyright protection〔J〕.Journal of Information Security,2012,3(2):96-104.
〔8〕KLEIN A,WESSLER M.Extended visual cryptography schemes〔J〕.Information&Computation,2007,205(5):716-732.
〔9〕王敏.基于準循環(huán)LDPC碼的數(shù)字圖像水印技術(shù)研究〔J〕.云南師范大學學報(自然科學版),2010,30(4):43-46.