占履軍, 李 昇, 張旭東
(1. 華南師范大學(xué)物理與電信工程學(xué)院,廣州 510006; 2. 肇慶市四會(huì)中學(xué),肇慶526200 )
基于二重加密的數(shù)字水印算法
占履軍1*, 李 昇1,2, 張旭東1
(1. 華南師范大學(xué)物理與電信工程學(xué)院,廣州 510006; 2. 肇慶市四會(huì)中學(xué),肇慶526200 )
采用二重或多重置亂的方式對(duì)水印置亂加密,針對(duì)個(gè)人版權(quán)的保密問(wèn)題,提出了多重置亂產(chǎn)生多種密鑰及其加密流程的方法,增加了水印的破解難度. 以Arnold置亂和采樣置亂對(duì)水印進(jìn)行二重加密為例,研究了水印的不可見性和魯棒性,并與一重置亂加密進(jìn)行了比較,發(fā)現(xiàn)二重置亂的魯棒性最好,其次是Arnold置亂,最差的是采樣置亂. 研究表明,二重加密能夠達(dá)到同時(shí)保護(hù)2人共有圖像版權(quán)的目的,可采用多重置亂方法保護(hù)多人共有版權(quán). 因此,文章提出的實(shí)驗(yàn)方法可為尋找更好的加密方法提供參考.
數(shù)字水印; 二重加密; Arnold置亂; 采樣置亂
數(shù)字水印[1-3]具有保護(hù)版權(quán)的作用,但要求水印要有一定的不可見性、魯棒性以及難以被侵權(quán)者解密等特性. 許多做法是在水印嵌入之前,對(duì)水印進(jìn)行置亂加密. 一般情況下,水印只要做一重置亂加密就能起到版權(quán)保護(hù)的作用. 而考慮版權(quán)屬于2人或以上共有的情況下,對(duì)水印如果只做一重置亂加密,一旦其中某個(gè)人泄密,水印即泄密,則不能保護(hù)共有版權(quán). 目前對(duì)涉及保護(hù)2人以上的圖像文件的共有版權(quán)的數(shù)字水印技術(shù)的文獻(xiàn)還很少.
本文從水印置亂方法著手,采用二重或多重置亂方法進(jìn)行加密,經(jīng)過(guò)一重置亂就有1個(gè)密鑰,多重置亂就有多個(gè)密鑰. 版權(quán)共有者各方只獲得1個(gè)密鑰,如果要提取水印必須獲得所有密鑰以及加密流程,以保護(hù)多人的版權(quán)利益,而不會(huì)因?yàn)閱畏叫姑茉斐蓳p失. 同時(shí),該方法還增強(qiáng)了水印破解的難度. 本文以Arnold置亂和采樣置亂對(duì)水印進(jìn)行二重加密為例,研究了水印的不可見性和魯棒性,并與一重置亂加密進(jìn)行了比較.
圖像置亂[6]是一種常用的圖像加密方法. 在數(shù)字水印技術(shù)中,主要運(yùn)用于置亂數(shù)字水印,增強(qiáng)其不可見性,以便將水印信息更好地隱藏起來(lái). 如果水印被非法提取,得到的也只是置亂的水印. 可見,圖像置亂是數(shù)字水印的一個(gè)重要的處理方法. 目前,圖像置亂技術(shù)主要基于幾何變換、Hilbert變換、采樣變換、幻方變換、生命游戲以及多步置亂等變換技術(shù).
幾何變換法直觀、分散度較好且易于實(shí)現(xiàn). 做法是對(duì)像素個(gè)數(shù)為N×N的圖像P,首先進(jìn)行某種可能改變圖像結(jié)構(gòu)的變換,如放縮或錯(cuò)切變換,接著將落在圖像區(qū)域外的像素重新移回圖像內(nèi),如進(jìn)行取模運(yùn)算,得到圖像P′.
以取模形式的非線性變換為例,采用公式P′=(A×P)modN,其中,P=(x,y)T,P′=(x′,y′)T,分別為原圖和變換后圖像的像素位置,變換矩陣
滿足關(guān)系:{ad=bc±1,a、b、c、d,為整數(shù)集合};mod為取模運(yùn)算. 可以得到許多滿足要求的變換,如
即著名的Arnold變換,以下簡(jiǎn)稱Arnold置亂.
隨著迭代次數(shù)的增加,圖像逐漸趨于混亂,但在一定次數(shù)時(shí),又將回到原圖. 例如圖像大小分別為128 px × 128 px、240 px × 240 px、256 px × 256 px的圖像分別迭代次數(shù)k=96、60、192次將回到原圖. 圖1為128 px × 128 px圖像在不同迭代次數(shù)的置亂情況,當(dāng)k=96次時(shí),圖像復(fù)原. 對(duì)于128 px × 128 px的圖像,Arnold變換周期為96,變換不等于96n(n為自然數(shù))次,就會(huì)起到置亂效果,如果置亂96n次,則會(huì)讓置亂的圖像復(fù)原.
圖1 128 px × 128 px 水印的Arnold置亂
從采樣理論角度,圖像是在二維連續(xù)曲面上按照某一間隔和某種策略進(jìn)行采樣所得到的一個(gè)二維離散點(diǎn)的陣列. 不同的采樣策略得到的圖像質(zhì)量存在一定的差異,但在視覺上通常都具有基本上相同的形態(tài). 先將圖像分成大小相同的矩形或正方形小塊,然后依序抽取其中的1個(gè)像素組合成新的圖像塊,最后按某種排列方式拼成1幅新的圖像,即采樣變換的置亂技術(shù)(簡(jiǎn)稱采樣置亂).
采樣置亂具有如下特點(diǎn):(1)采樣過(guò)程不改變?cè)瓐D的直方圖,像素只是發(fā)生位移;(2)采樣后形成原圖的縮略圖組合. 隨著迭代的進(jìn)行逐漸形成能量分散的圖像,當(dāng)次數(shù)達(dá)到一定程度時(shí)又將向原圖靠近. 該方法置亂效果較好,易于實(shí)現(xiàn),易于恢復(fù),通常無(wú)需太多的迭代次數(shù)即可達(dá)到要求.
圖2顯示采樣變換次數(shù)對(duì)圖像的置亂效果. 對(duì)于一幅128 px × 128 px的圖像來(lái)說(shuō),采樣變換的置亂技術(shù)周期為7,變換不等于7n(n為自然數(shù))次,即可起到置亂效果;如果置亂7n次,則會(huì)讓置亂的圖像復(fù)原.
圖2 128 px × 128 px 水印的采樣置亂
水印加密[7-10]是水印嵌入前一個(gè)重要的步驟,主要是提高水印的不可見性,確保被提取后也難以發(fā)現(xiàn)真正的水印信息. 對(duì)水印加密,本文采取圖像置亂的方法,具體做法是,先對(duì)水印(128 px × 128 px)進(jìn)行N(N<96)次Arnold變換置亂,根據(jù)Arnold變換的周期,得到第一個(gè)密鑰(96-N),然后對(duì)置亂后的水印進(jìn)行M(M<7)次采樣變換置亂,根據(jù)采樣變換的周期,得到第二個(gè)密鑰(7-M),要還原水印,必須同時(shí)有這2個(gè)密鑰,對(duì)提取出來(lái)的經(jīng)過(guò)置亂的水印進(jìn)行(7-M)次采樣變換,再進(jìn)行(96-N)次Arnold變換獲得原水印. 圖3是水印經(jīng)過(guò)各種置亂的效果,“a40”表示Arnold變換40次,“s6”表示采樣變換6次.
水印通過(guò)2次變換置亂后得到水印(圖3D)以及2個(gè)密鑰,第一個(gè)是56,第二個(gè)是4,這2個(gè)密鑰將用于水印的提取. 綜上所述,水印置亂的流程如圖4所示.
圖3 128 px × 128 px原水印經(jīng)過(guò)不同置亂的效果
Figure 3 Effect images of 128 px × 128 px watermark dealt with different scrambling methods
圖4 水印置亂流程及解密算法
Figure 4 Watermark scrambling flow chart and the decipherment algorithm
圖像經(jīng)過(guò)小波變換[11-12]即被分解成不同分辨率級(jí)和不同方向上的多個(gè)子圖(圖5). 小波分解形成的塔式結(jié)構(gòu),每一層小波分解為4個(gè)子帶:垂直和水平方向的低頻子帶LL,水平方向的低頻和垂直方向的高頻子帶LH,水平方向的高頻和垂直方向的低頻子帶HL,對(duì)角線方向的高頻子帶HH. 圖像的LL子帶為逼近子圖,其余3個(gè)方向的子帶為細(xì)節(jié)子圖. 逼近子圖又可以進(jìn)一步分解為4個(gè)子圖,因此當(dāng)分解級(jí)數(shù)為N時(shí),總的子圖數(shù)為3N+l.
圖5 小波分解
圖像的二維小波重構(gòu)是分解過(guò)程的逆過(guò)程. 通過(guò)對(duì)圖像的二維小波分解以及重構(gòu)可以實(shí)現(xiàn)水印的嵌入和提取.
對(duì)經(jīng)過(guò)二重置亂的水印以及經(jīng)一重置亂的水印分別嵌入到一幅512 px × 512 px的圖像當(dāng)中,觀察其不可見性. 然后再將置亂水印提取出來(lái)并還原水印,觀察其還原效果.
3.2.1 水印嵌入 先將置亂后的水印圖像P進(jìn)行一級(jí)小波分解,得到一級(jí)分辨率下類似的3個(gè)細(xì)節(jié)子圖Pk(k=1,2,3)和1個(gè)逼近子圖P0;再對(duì)原始圖像X進(jìn)行三級(jí)小波分解,得到不同分辨率級(jí)下的多個(gè)細(xì)節(jié)子圖Xkj(j代表層數(shù),j=1,2,3)和1個(gè)逼近子圖X0;再將P一級(jí)小波分解后的子圖按比例系數(shù)(低頻系數(shù)0.8,高頻系數(shù)0.3,這是考慮到水印的魯棒性和不可見性)分別嵌入對(duì)應(yīng)的原始圖像第3級(jí)小波分解的子圖;最后對(duì)以上子圖重新組合并進(jìn)行四級(jí)小波重構(gòu)得到最終的嵌入水印圖像XP(圖6~8).
圖6 二重置亂水印嵌入圖像效果
圖7 Arnold置亂水印嵌入圖像效果
圖8 采樣置亂水印嵌入圖像效果
二重置亂、Arnold置亂和采樣置亂水印嵌入后的圖像與原圖像的相似度分別為88.40%,88.80%和94.20%,在這3種置亂方法中,采樣置亂的不可見性最好,其次是Arnold置亂,最后是二重置亂,但總體差距并不大.
3.2.2 水印的提取 依次讀入原始圖像X和已嵌入水印圖像XP;將原始圖像X和已嵌入水印圖像XP分別進(jìn)行三級(jí)小波分解,分別得到不同分辨率下的多個(gè)細(xì)節(jié)子圖Xk、XPk和1個(gè)逼近子圖X0、XP0;再?gòu)腦P的子圖中剔除掉X的子圖的信息,剩余即水印的子圖信息;最后把水印的子圖重新組合并進(jìn)行小波重構(gòu)得出置亂后水印圖像. 根據(jù)2個(gè)密鑰,把置亂后的水印再還原為原水印. 執(zhí)行結(jié)果如圖9所示. 提取出來(lái)的水印與原水印的相似度為30.96%,還原效果比較明顯,用肉眼也可以看出,水印的還原效果令人滿意.
計(jì)算一重Arnold置亂和一重采樣置亂提取出來(lái)的水印與原水印的相似度分別為27.41%和27.70%. 從提取水印的相似度來(lái)看,對(duì)比兩種一重置亂的結(jié)果(圖10)可得出,經(jīng)過(guò)二重置亂的水印提取效果最好.
圖9 水印的提取與還原
圖10 一重置亂水印的還原效果
Figure 10 Effect of the reduction of watermark with single scrambling
對(duì)添加水印的圖像進(jìn)行以下攻擊:添加高斯噪聲、JPEG壓縮、剪裁、旋轉(zhuǎn),主要觀察提取水印的清晰度,以檢查水印的魯棒性, 并對(duì)二重置亂與一重置亂做比較. 具體的攻擊分6個(gè)子項(xiàng):疊加均值為0,方差為0.01的高斯噪音;疊加均值為0,方差為0.1的高斯噪音;壓縮質(zhì)量為90的JPEG壓縮;壓縮質(zhì)量為20的JPEG壓縮;裁剪為500 px × 500 px的圖像(原圖大小為512 px × 512 px);順時(shí)針旋轉(zhuǎn)1°.
對(duì)二重置亂進(jìn)行魯棒性檢測(cè)(圖11),設(shè)置圖像疊加均值為0且方差為0.01的高斯噪音,提取的水印較清晰,而對(duì)圖像進(jìn)行順時(shí)針旋轉(zhuǎn)1°的攻擊,提取的水印無(wú)法識(shí)別,其他攻擊的效果一般.
圖11 二重置亂的魯棒性檢測(cè)
對(duì)一重置亂的魯棒性檢測(cè)結(jié)果也呈現(xiàn)類似的規(guī)律(圖12~13). 二重置亂的魯棒性最好,其次是Arnold置亂,最差的是采樣置亂. 因此不難預(yù)測(cè),只要選擇更好的置亂方法,相信就能提高水印的魯棒性.
圖12 Arnold置亂的魯棒性檢測(cè)
圖13 采樣置亂的魯棒性檢測(cè)
結(jié)合目前常用的兩種圖像置亂方法對(duì)水印進(jìn)行二重加密,選取具有周期性變換特點(diǎn)的Arnold置亂和采樣置亂,便于置亂后的恢復(fù)還原. 本文采用二重置亂加密方法,實(shí)驗(yàn)表明能夠達(dá)到同時(shí)保護(hù)2人共有圖像版權(quán)的目的,而如果要保護(hù)多個(gè)人的版權(quán),可以選擇多重置亂方法. 另外,如果能找到更好的置亂方法,有望能更好地提高水印的不可見性以及魯棒性.
[1] 周洪玉,姜春茂,許龍律,等. 基于XOR運(yùn)算的多幅圖像的數(shù)字水印算法[J]. 自動(dòng)化技術(shù)與應(yīng)用,2003,22(10):55-57.
ZHOU H Y,JIANG C M,XU L L,et al. Multi image digital watermark algorithm based on XOR optration[J]. Techniques of Automatiom & Applications,2003,22(10):55-57.
[2] 施建平. 圖像數(shù)字水印算法的研究[D]. 西安:西北工業(yè)大學(xué),2006.
[3] 鄒瀟湘. 多媒體數(shù)字水印技術(shù)研究[D]. 北京:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,2003.
[4] INGEMAR J C,MATTHEW L M,JEFFREY A B. 數(shù)字水印[M]. 王穎,黃志蓓,譯. 北京:電子工業(yè)出版社,2003.
[5] 汪莉,石躍祥. 小波變換的圖像自適應(yīng)數(shù)字盲水印算法的研究[J]. 數(shù)字技術(shù)與應(yīng)用,2012(4):114-114.
WANG L,SHI Y X. Research on the adaptive digital blind watermarking algorithm for wavelet transform [J]. Digital Technology and Application,2012(4):114-114.
[6] 劉建華,李燕,張昌年. 數(shù)字圖像置亂技術(shù)及其Matlab實(shí)現(xiàn)[J]. 桂林航天工業(yè)學(xué)院學(xué)報(bào),2002,7(4):9-12.
LIU J H,LI Y,ZHANG C N. Digital Image. scrambling technology and Matlab implementation [J]. Journal of Guilege of Aerospace Technology,2002,7(4):9-12.
[7] 劉瑞禎,譚鐵牛. 數(shù)字圖像水印研究綜述[J]. 通信學(xué)報(bào),2000,21(8):39-48.
LIU R Z,TAN T N. A review of digital image watermarking [J]. Journal of Communication,2000,21(8):39-48.
[8] 劉芳,姚霞. 基于視覺掩蔽的二維數(shù)字水印算法[J]. 西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,30(1):38-41.
LIU F,YAO X. The two-dimension digital image watermarking algorithm based on visual masking [J]. Journal of Xidian University(Natural Science Edition),2003,30(1):38-41.
[9] KATZENBEISSER S. 信息隱藏技術(shù)-隱寫術(shù)與數(shù)字水印[M]. 吳秋新,鈕心忻,楊義先,等譯. 北京:人民郵電出版社,2001:50-62.
[10] 王圓妹,李濤. 基于Arnold變換和混沌理論的圖像加密算法研究[J]. 山西大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,35(1):43-47.
WANG Y M,LI T. Research on image encryption algorithm based on Arnold transform and chaos theory [J]. Journal of Shanxi University (Natural Science Edition),2012,35(1):34-47.
[11] 莊琳. 小波域圖像數(shù)字水印算法研究[D]. 濟(jì)南:山東師范大學(xué),2007.
[12] 飛思科技產(chǎn)品研發(fā)中心. 小波分析理論與MATLAB 7實(shí)現(xiàn)[M]. 北京:電子工業(yè)出版社,2005.
[13] 徐金明,張孟喜,丁濤. MATLAB實(shí)用教程[M]. 北京:北京交通大學(xué)出版社,2005.
[14] BARNI M,BARTOLINI F,CAPPELLINI V,et al. A DCT-domain system for robust image watermarking[J]. Signal Processing,1998,66(3):357-372.
[15] INGEMAR J C,KILIAN J,LEIGHTON F T,et al. Secure spread spectrum watermarking for multimedia[J]. IEEE Transactions on Image Processing,1997,6(12):1673-1822.
A Digital Watermarking Algorithm Based on Double Encryption
ZHAN Lüjun1*, LI Sheng1,2, ZHANG Xudong1
(1. School of Physics and Telecommunication Engineering, South China Normal University, Guangzhou 510006, China; 2. Zhaoqing Sihui Middle School, Zhaoqing 526200, China)
Double scrambling or multiple resetting is used to encrypt the watermark scrambling. Aiming at the privacy problem of personal copyright, a method of resetting multiple keys and generating a plurality of encryption keys are proposed, which increases the difficulty of breaking the watermark. Arnold scrambling and sampling scrambling for the double encryption are taken as examples to study the imperceptibility and robustness. They are compared with single scrambling and it is found that the robustness of double scrambling is the best, followed by Arnold scrambling and sampling scrambling is the worst one. The experiment shows that the double encryption can be able to protect the copyright of two images at the same time, and multiple reset methods can be used to protect the copyright. Therefore, the experimental method proposed in this paper can provide a reference for finding better encryption methods.
digital watermark; double encryption; Arnold scrambling; sample scrambling
2016-04-08 《華南師范大學(xué)學(xué)報(bào)(自然科學(xué)版)》網(wǎng)址:http://journal.scnu.edu.cn/n
國(guó)家自然科學(xué)基金項(xiàng)目(61471175);廣東省科技計(jì)劃項(xiàng)目(2016A010101022)
*通訊作者:占履軍,副教授,Email:953922955@qq.com.
TN919.8
A
1000-5463(2017)06-0007-05
【中文責(zé)編:譚春林 英文責(zé)編:肖菁】
華南師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2017年6期