兀旦暉, 張 琴
(1.陜西科技大學(xué) 電氣與信息工程學(xué)院, 陜西 西安 710021; 2.南京工程學(xué)院 材料工程系, 江蘇 南京 211167)
置亂技術(shù)是隨著信息安全及保密被重視而發(fā)展起來的一種圖像加密技術(shù).它可以看作是從經(jīng)典密碼學(xué)中的單表系統(tǒng)中擴展而來的.數(shù)字圖像置亂作為一種加密方法,合法使用者通過自由控制算法的選擇、參數(shù)的選擇,以及使用隨機數(shù)技術(shù),可以達到非法使用者無法破譯圖像內(nèi)容的目的[1].
對于數(shù)字化的圖像,置亂過程不僅可以在數(shù)字圖像的空域(色彩空間、位置空間)上進行,還可以在數(shù)字圖像的頻域上進行.數(shù)字圖像置亂即是對數(shù)字圖像的一種加密方法,它使得合法使用者可以自由控制算法的選擇、參數(shù)的選擇以及使用隨機數(shù)技術(shù),這給攻擊者帶來了非法破譯的難度,這主要體現(xiàn)在統(tǒng)計分析各種可能的組合的巨大計算量.此外,近年來興起的信息隱藏以及數(shù)字水印技術(shù),都從不同角度對數(shù)字圖像的隱藏與偽裝、著作權(quán)保護等問題提出了一些解決方法.
數(shù)字圖像的置亂變換是一種可逆變換[2],它通過對數(shù)字圖像的位置或灰度級等做變換,來“擾亂”圖像,以達到在一定程度上迷惑第三者的目的.這是因為如果不知道所使用的置亂變換算法,很難恢復(fù)出原始圖像.
與一般的置亂相比,混沌具有以下優(yōu)點:
(1)形式簡單.只要具備混沌映射的參數(shù)和初始條件就可以很方便地生成、復(fù)制混沌序列,而不必浪費空間來存儲很長的整個序列.
(2)初始條件敏感性.不同的初始值,即使相當(dāng)接近,迭代得到的混沌軌跡序列都不相同.同時,混沌動力系統(tǒng)具有確定性,給定相同的初始值,其相應(yīng)的軌跡肯定相同.從安全的角度考慮,在一般情況下,很難從一段有限長度推斷混沌序列的初始條件.
(3)保密性好.如果不知道混沌模型及相關(guān)參數(shù),幾乎不能破譯.因此,混沌數(shù)字水印信號可以有效地解決實際應(yīng)用中大量數(shù)字水印產(chǎn)生的問題.
圖像置亂可以達到兩個目的[3]:第一,加密處理,就像不知道加密密鑰而無法對加密過的信息進行解密一樣,如果不知道置亂所采用的算法,同樣亦難以恢復(fù)原始圖像的信息;第二,圖像被置亂后是一個無法讀取的雜亂信息,可被抽象成一些隨機的信息,沒有任何明顯可統(tǒng)計的特征,如形狀、紋理色彩等,在隱藏到另一幅圖像中時,不會出現(xiàn)容易識別的形狀或交疊現(xiàn)象,因而可做到圖像紋理特征不可察覺.
置亂變換有兩個特點:第一,置亂變換一般都有周期,先是越來越亂,而后當(dāng)?shù)揭欢ù螖?shù)之后就會恢復(fù)到原圖;第二,置亂變換之后的圖像的大小不會發(fā)生改變.
從空間分布看,可以將圖像視為一個由若干像素點組成的矩形塊,因此,在加密過程中除了需要對像素值進行處理之外,從增加安全性的角度考慮,還需要對像素點在圖像中的位置進行置亂.利用混沌映射對圖像的像素點進行位置變換,有三種最具代表性的方法,即貓映射(Arnold映射)、面包師映射(Baker映射),以及標(biāo)準(zhǔn)映射(Standard映射)等.
在本文所提出的算法中,選擇了Arnold變換對水印圖像進行預(yù)處理.
Arnold[4]變換是在遍歷理論研究中提出的一種變換,又稱貓臉變換(Arnold′s Cat Map).設(shè)想在平面單位正方形內(nèi)繪制一個貓臉圖像,貓臉變換式為:
通過變換,貓臉圖像由清晰變模糊,這實際上是一種點的位置移動,并且這種變換是一一對應(yīng)的.
x,y∈{0,1,2,…,N-1}
其中,x,y表示該圖像矩陣的某個元素未變換時的位置;x′,y′表示變換后新的位置,把灰度值移到位置(x′,y′),就稱對像素(x,y)完成Arnold變換.對圖像F中所有的像素進行Arnold變換就完成了一次Arnold變換.
我們可以記(x,y)、(x′,y′)分別為原圖像和變換后圖像的像素位置,變換矩陣記為P′=(x′,y′)T,則Arnold可以記為:
P′=(A×P)modN
如果把上一次的變換結(jié)果作為輸入,則又可以得到一次的Arnold變換結(jié)果,也就是說可以對圖像進行多次的變換,這可以表示為:
Pn=(An×P)modN
(1)
其中,An表示矩陣A的n次連乘,而Pn則表示對P進行n次矩陣變換的結(jié)果.
在式(1)中,隨著迭代次數(shù)的增加,圖像逐漸趨于混亂,不過當(dāng)?shù)揭欢ù螖?shù)時,又將回到原圖,即存在一個變換周期.經(jīng)過仿真分析得到,Arnold變換的周期如表1所示.
表1 不同階數(shù)N下Arnold變換的周期
從表1可以看出,矩陣階數(shù)與二維變換的周期并不成正比.因此,我們在設(shè)計數(shù)字水印圖像大小時,應(yīng)盡量選擇變換周期較小的階數(shù).從計算簡單及計算花費少的角度考慮,將Arnold變換作為本文中圖像置亂方法,從而使圖像快速趨于混亂.本文將Arnold變換作為中圖像置亂方法.
下面給出了Arnold變換的實例[1,5],本例選擇的圖像大小為64×64的帶有“數(shù)字水印”字樣的二值圖像.圖 1 為迭代9次的水印圖像,圖2為迭代96次的水印圖像.
圖1 迭代9次的水印圖像
圖2 迭代96次的水印圖像
由圖1、圖2可知,原始水印圖像經(jīng)過9迭代后,圖像起到了很好的加密效果,然而迭代96次后的水印圖像與原圖像基本一致.可見,Arnold變換存在周期性,經(jīng)過大量實驗分析表明,結(jié)果與表1所述的周期性基本一致.
因為水印圖像大小為64×64,所以由表1知其Arnold周期為48,由仿真結(jié)果可知經(jīng)過T~N次Arnold變換可得到反置亂水印圖像,如圖3所示.
在提取水印中,通過計算原始水印與提取的水印的歸一化系數(shù)NC值發(fā)現(xiàn),NC=1.000 0,這說明水印在沒有受到攻擊的情況下,可以非常完好地提取水印.這說明本文的置亂和提取算法是可行的.
圖3 水印貓變換和反貓變換仿真圖像
仿真實驗中,采用Matlab 7.1作為軟件的仿真平臺.選擇256×256的圖像作為宿主圖像,選擇大小為64×64的二值圖像作為水印圖像.
提出的攻擊是對置亂水印分別進行噪聲攻擊、濾波攻擊、旋轉(zhuǎn)的攻擊等,恢復(fù)水印情況如下.
本實驗為了測試本算法對噪聲的抵抗力[7,8],在上面置亂水印圖像中分別加入系數(shù)為0.05、0.1和0.5的高斯噪聲,提取水印圖像從左到右如圖4所示.
圖4 高斯噪聲攻擊的提取水印圖像
由仿真圖及性能測試結(jié)果表2顯示,經(jīng)過高斯噪聲干擾后的水印圖像的峰值信噪比PSNR比較高,但隨著高斯噪聲添加系數(shù)的增大,呈現(xiàn)下降趨勢,結(jié)果顯示PSNR值均小于20 dB,再結(jié)合仿真圖像知此時圖像已經(jīng)看不清楚,受噪聲干擾很嚴(yán)重,人眼已不能再分辨出原始圖像與噪聲.
表2 加入高斯噪聲的仿真測試結(jié)果
從NC值來看,均比較低,但可以恢復(fù)出水印圖像,不過結(jié)果受到干擾,相似度不是很高.同時可知,隨著噪聲系數(shù)的加大,NC值呈現(xiàn)下降趨勢,這說明高斯噪聲影響圖像水印信息的程度加大.總的來說,由仿真結(jié)果可知該水印提取算法可以抵抗一定的高斯噪聲攻擊.
計算機仿真結(jié)果為:PSNR=33.977 2,NC=0.953 4.
由仿真圖5及性能測試結(jié)果顯示,經(jīng)過濾波干擾后的水印圖像的PSNR比較高,其PSNR值均大于20 dB.再結(jié)合仿真圖像知此時圖像受到一定程度的干擾,但還可以清楚地分辨出來.由NC值來看,均比較高,可以恢復(fù)出水印圖像,且恢復(fù)出的水印圖像與原圖像具有較高的相似度.總的來說,該水印提取算法對于各種濾波干擾具有一定的魯棒性.
圖5 中值濾波攻擊的提取水印圖像
計算機仿真結(jié)果為:PSNR=29.131 2,NC=0.953 7.
旋轉(zhuǎn)屬于空域攻擊.本例對原帶有水印的置亂圖像進行10度的攻擊,其結(jié)果如圖6所示.圖像經(jīng)過旋轉(zhuǎn)后的峰值信噪比PSNR在人眼的不可見范圍內(nèi),NC值較高,從仿真圖像來看,圖像由于旋轉(zhuǎn)受到了一定的干擾,但還是可以恢復(fù)出可分辨的水印信息.這進一步說明此算法對于圖像的旋轉(zhuǎn)具有一定的抗攻擊性.
圖6 旋轉(zhuǎn)10度攻擊的提取水印圖像
利用置亂技術(shù)對圖像水印信息進行預(yù)處理,可以提高水印信息的安全性,增強水印抵抗惡意攻擊的能力[9-11].本文采用混沌Arnold映射擾亂圖像的組成部分,破壞圖像的自相關(guān)性,使得人眼無法從中提取有價值的信息.
在分析基于Arnold變換圖像加密算法的基礎(chǔ)上,通過實驗給出了不同圖像階數(shù)下Arnold變換的周期,并對Arnold變換圖像水印的抗攻擊性進行了分析,這為混沌在圖像水印[12,13]以及圖像加密中[14]的應(yīng)用提供了理論依據(jù).
[1] 劉建華,李 燕,張昌年.數(shù)字圖像置亂技術(shù)及Matlab實現(xiàn)[J].桂林航天工業(yè)高等??茖W(xué)校學(xué)報,2002,28(4):9-12.
[2] 齊東旭.分形及其計算機生成[M].北京:科學(xué)出版社,1994.
[3] 丁 瑋,齊東旭.數(shù)字圖像變換及信息隱藏與偽裝技術(shù)[J].計算機學(xué)報,1998,21(9):838-848.
[4] Jayant N,Johnston J,Safranek R.Signal compression based on model of human perception[J].Proceedings of the IEEE,1993,81(10):1 385-1 422.
[5] 陳 思,張翠芳.基于混沌的自適應(yīng)圖像數(shù)字水印算法[J].計算機仿真,2005,22(10):105-107.
[6] 伍凱寧,曹漢強.?dāng)?shù)字水印攻擊技術(shù)及對策研究[J].計算機應(yīng)用,2004,14(6):153-155.
[7] 董長虹,賴至國,余嘯海.MATLAB圖像處理與應(yīng)用[M].北京:國防工業(yè)出版社,2004:24-25.
[8] 徐 飛,施曉紅.MATLAB 應(yīng)用圖像處理[M].西安:西安電子科技大學(xué)出版社,2002.
[9] 曹光輝.基于最小粒度全置亂的圖像加密算法[J].計算機應(yīng)用研究,2011,28(10):3 803-3 806.
[10] 陳志建.基于DWT和DCT數(shù)字圖像魯棒水印算法[J].世界科技研究與發(fā)展,2012,34(5):726-728.
[11] 許鐵鑫,蔣 華.基于混沌和SVD的數(shù)字視頻水印算法[J].計算機仿真,2013,30(4):406-410.
[12] 文昌辭,王 沁.基于仿射和復(fù)合混沌的圖像自適應(yīng)加密算法[J].通信學(xué)報,2012,33(11):119-127.
[13] 兀旦暉,王 鑫.一種基于人眼視覺系統(tǒng)的小波水印系統(tǒng)研究[J].陜西科技大學(xué)報,2012,30(3):113-113.
[14] 文昌辭,王 沁.基于仿射和復(fù)合混沌的圖像加密新算法[J].計算機研究與發(fā)展,2013,50(2):319-324.