石紅芹,呂方亮
(華東交通大學 軟件學院,江西 南昌 330013)
數(shù)字水印是信息安全的重要組成部分,作為數(shù)字產(chǎn)品認證和版權(quán)保護的重要手段,已得到越來越多的關注和發(fā)展。數(shù)字水印應具有以下幾個基本特性:(1)不易察覺性:數(shù)字產(chǎn)品引入數(shù)字水印后,應不易被接收者察覺,同時又不能影響原作品的質(zhì)量。(2)魯棒性:能在多種無意或有意的信號處理過程后產(chǎn)生一定的失真,但仍保持水印完整性和鑒別的準確性。(3)水印容量:嵌入宿主圖像水印的多少,將直接影響圖像的不可見性。數(shù)字水印的不易察覺性與魯棒性是相互矛盾的,解決這矛盾的有效途徑是充分利用人類視覺系統(tǒng)的掩蔽特性。目前在灰度圖像中嵌入數(shù)字水印受到了廣泛深入的研究,并且形成了產(chǎn)品[1]。但在實際應用中,彩色圖像和視頻占主導地位。因此,近年來人們的研究興趣逐漸轉(zhuǎn)向在彩色圖像和視頻中嵌入數(shù)字水印。文獻[2]提出了一種基于SVD的水印算法,雖然其對抗常規(guī)的信號處理攻擊魯棒性較高,但是利用偽造攻擊[3]對該算法進行攻擊能使算法失去意義。本文利用水印和載體圖像雙雙置亂,進一步消除了像素之間的相關性且提高了水印信息的安全性。水印嵌入到奇異值中能對原始圖像的剪切、旋轉(zhuǎn)、行列鏡像等幾何攻擊具有比較好的穩(wěn)健性。
根據(jù)HVS水印策略,人眼對YUV彩色空間中亮度分量Y的敏感性低于RGB彩色空間中各個顏色分量的敏感性,這樣將水印信息嵌入到Y(jié)分量中具有較高的魯棒性。因為一般的彩色圖像都是用RGB彩色空間來表示,所以首先要將彩色圖像由RGB模式轉(zhuǎn)換到Y(jié)UV模式以得到亮度Y分量。YUV彩色空間與RGB空間的轉(zhuǎn)換關系式(1)
Y表示亮度,U,V用來表示色差,R,G,B分別表示紅色、綠色、藍色分量值。
圖像置亂作為一種圖像加密技術(shù),成為數(shù)字圖像加密的重要手段之一。所謂圖像置亂技術(shù)是指將一幅圖像的像素的空間位置重新進行排列,將原始圖像變換成雜亂無章的新圖像。如果不知道所使用的置亂方法和密鑰,就很難恢復出原始圖像。置亂變換有兩個重要特點:(1)置亂變換一般都有周期性,先是越來越亂,而后當?shù)揭欢ù螖?shù)之后就會恢復到原圖。(2)置亂變換只是令像素的空間位置發(fā)生了變換,而像素的值不變。
Fibonacci數(shù)列是數(shù)學中很重要的數(shù)列,由于它具有許多重要的應用,所以一直受到人們的青睞。Fibonacci數(shù)列的定義如下
令:F1=1,F2=1,一般地公式(2)為Fibonacci數(shù)列
Fibonacci變換的公式見(3)
Fn、Fn+1是Fibonacci數(shù)列中的兩個相鄰數(shù),其中 k=0,1,2,3,…Fn+1-1;r=0,1,2,3,…Fn+1-1。這里r可作算法中密鑰的一部分。由定義可以看出,該變換可將數(shù)列{Q}=(0,1,2…,Fn+1-1)變換成另一個新數(shù)列{S}=(S0,S1,S2,…SFn+1-1)且可以證明{S}是{Q}的一個偽隨機置換[4]??紤]到Fibonacci變換置亂度計算量小,置亂的周期短,速度快。故而對彩色載體圖像用Fibonacci變換。圖1為載體圖像,圖2為經(jīng)過Fibonacci置亂變換的載體圖像。
Arnold變換是將圖像看作平面區(qū)域上的二元函數(shù)Z=F(x,y),(x,y)∈R,通常區(qū)域R是一個矩形。對R中的任意點相對應的函數(shù)值代表圖像的信息(如灰度值等)。
圖像的離散Arnold變換即為式(4)
式中:(x,y)表示該圖像矩陣的某個元素未變換時的位置,(x′,y′)表示變換后新的位置。通過變換水印圖像由清晰到模糊,提取水印后,可以利用Arnold變換的周期性,重新得到原圖像.表1為部分不同尺寸的圖像經(jīng)Arnold變換的周期表:
因Arnold變換具有算法簡單,運算快和具有周期性等特點故對水印的加密采用二維Arnold變換。圖3為水印圖像,圖4為經(jīng)過Arnold置亂變換的水印圖像。
表1 Arnold變換的周期
圖1 載體圖像
圖2 置亂后的載體圖像
圖3 水印圖像圖
圖4 置亂后的水印圖像
奇異值分解是線性代數(shù)中一種重要的矩陣分解,在信號處理、統(tǒng)計學等領域有重要應用。數(shù)字圖像可以被視為有許多非負標量組成的矩陣,奇異值分解(singular value decomposition,SVD)是一種將矩陣進行對角化的數(shù)值技術(shù),已被廣泛應用與圖像編碼和其他信號處理技術(shù)中。從圖像處理的角度來看,奇異值分解有如下的特性:一幅圖像的奇異值具有相當好的穩(wěn)定性,也就是說,當圖像受到輕微的擾動時,它的奇異值不會發(fā)生劇烈的改變,從線性代數(shù)的角度來看,一幅數(shù)字圖像可以看成是由一個許多非負標量項組成的矩陣。用X∈RN×N表示一個圖像矩陣,其中R表示實數(shù)域,則X的奇異值分解定義如式(5)
式中:U∈RN×N和V∈RN×N均為正交陣,S∈RN×N為對角陣。其對角線上的元素滿足式(6)
式中:r為X的秩,λi(1≤i≤N)由分解惟一確定,它稱之為X的奇異值。圖像SVD分解,其奇異值所表現(xiàn)的是圖像內(nèi)在的代數(shù)特性而非視覺特性,它可以作為圖像特征之一。奇異值的穩(wěn)定性非常好,當圖像被施加小的擾動時,圖像的奇異值不會有大的變化。文獻[5]給出了SVD分解運用于水印嵌入算法的理論分析。
本文選取的載體圖像為M×M的彩色圖像Baboon,水印為N×N的二值圖像Cameraman。因為當載體圖像較大的時候進行奇異值分解的時間較長,故可先將其分塊后再分別對每塊進行SVD分解。具體的水印嵌入過程描述如下:
步驟1:將原始水印圖像進行二維Arnold置亂得待嵌入的水印圖像,迭代的次數(shù)k就是一個密鑰。應用公式(7),對置亂水印圖像進行奇異值分解。
其中T為共軛轉(zhuǎn)置。
步驟2:將彩色載體圖像由RGB模式轉(zhuǎn)換為YUV模式后對Y分量進行Fibonacci置亂變換,置亂參數(shù)r可以作為密鑰。
步驟3:對置亂后的載體圖像進行8×8分塊,對每一塊進行奇異值分解,得到公式(8)
其中:j代表各個分塊,λji(i=1,2,…,N)為Sj的奇異值元素。
步驟4:利用公式(9)修改各個分塊的奇異值,嵌入水印圖像的奇異值到各個分塊中。
水印提取是水印嵌入的逆過程,在水印圖像的加密域進行。具體提取過程如下:
步驟1:對含水印圖像進行彩色空間模式變換,由RGB轉(zhuǎn)換為YUV模式后進行Fibonacci置亂變換后,提取Y分量進行8×8分塊。
步驟2:由公式(8)對各分塊進行奇異值分解,再利用公式(11)從各分塊中提取水印圖像的奇異值。
其中 i=1,2,…,N,j=1,2,…,64,αj為嵌入因子。
步驟5:利用修改后的各分塊的奇異值集,由公式(10)進行重構(gòu),逆Fibonacci變換,再由YUV模式轉(zhuǎn)換為RGB模式,得到嵌入水印后的載體圖像。
其中:i=1,2,…,n,j=1,2,…,64。
步驟3:利用公式(7),提取出置亂水印圖像,再經(jīng)利用Arnold反置亂技術(shù)和提供的密鑰(置亂次數(shù)k和加密者的密鑰)解密提取出來的信息,即得到可能已經(jīng)失真的圖像水印。
本實驗采用512×512的彩色圖像Baboon,水印為128×128的二值圖像Cameraman,為了客觀地驗證本算法的性能,這里引入兩個指標:歸一化相關系數(shù)NC:原始水印和提取出的水印之間的相似度可以通過相關性檢驗來衡量;峰值信噪比PSNR:用來客觀反映圖像視覺特性的指標,嵌入水印的圖像可以用PSNR驗證水印的不可見性。圖5為水印圖像受到攻擊時的部分測試結(jié)果圖。
圖5 水印圖像部分攻擊測試結(jié)果
本文算法與常用的魯棒性較好的小波域置亂水印算法[6]和基于改進型的SVD算法[7]作比較,用水印圖像常常遇到的攻擊手段對無置亂、水印置亂、原圖置亂和本文采用的雙置亂算法進行攻擊,觀察它們的NC值。實驗結(jié)果的比較如表2。
表2 不同置亂方式下的抗攻擊實驗NC值比較
由以上各個實驗可以看出,本文采用的水印嵌入策略,很好地滿足了數(shù)字水印的不可見性,在人類視覺系統(tǒng)中圖像明顯改變的攻擊下,也表現(xiàn)了不錯的魯棒性,本算法的創(chuàng)新之處就在于采用了水印和彩色載體圖像的雙置亂,不但較好地保證了算法的安全性,而且在抗幾何變換攻擊上也具有良好的性能。
[1]李斌,王新偉.關于SVD圖像水印算法的分析和改進[J].華東師范大學學報,2007,13(1):100-106.
[2]王淑琴,張金海,王衛(wèi)民.一種基于奇異值分解的自適應水印算法[J].計算機仿真,2008,25(8):109-112.
[3]徐超漢,柯宗貴.計算機網(wǎng)絡安全實用技術(shù)[M].北京:電子工業(yè)出版社,2005.
[4]堪志鵬,鄒建成.一種基于Fibonacci變換的視頻置亂技術(shù)[J].北方工業(yè)大學學報,2007,19(3):6-10.
[5]李學斌,俞登峰,程亮.基于奇異值分解的零水印算法[J].計算機工程,2009,35(11):163-165.
[6]楊衛(wèi)民,譚駿珊,金正.基于奇異值分解的彩色圖像水印算法[J].計算機工程與設計,2008,29(23):6 151-6 153.
[7]張遂生,袁正道.基于奇異值分解的數(shù)字水印改進方案[J].南京師范大學學報,2008,8(4):141-144.