摘 要:給出一種在二維小波分解基礎上,應用Zigzag變換和混沌序列相組合對數(shù)字圖像進行加密的方法,可以達到密碼學中混淆和擴散的目的。該方法應用二維小波分解算法分解明文圖像,首先對分解的全部頻率系數(shù)進行Zigzag變換,再應用變換后的系數(shù)進行重構,得到一次加密結果,然后對其應用混沌序列設計算法進行再次加密,從而完成圖像的最終加密。解密是加密的逆過程。把該算法分別應用于彩色圖像的R,G,B層,達到了對一幅彩色圖像加密的目的。仿真試驗結果證明了該方法的有效性,分析表明該方法有很大的密鑰空間,且具有一定抵抗惡意攻擊的魯棒性和抗統(tǒng)計攻擊的能力。
關鍵詞:小波分解;Zigzag變換;混沌序列;Henon映射;正弦平方映射;圖像加密
中圖分類號:TP309-7 文獻標識碼:A
文章編號:1004373X(2008)0510403
Research and Implementation of Image Encryption Algorithm Based on
Zigzag Transformation and Chaotic Sequence
MA Wentao,YU Ping′an
(Huazhong University of Science and Technology,Wuhan,430074,China)
Abstract:Based on wavelet decompose,this paper presents an image encryption algorithm which applying Zigzag transformation and chaotic sequence are combined,it can attain the purpose of confusion and diffusion in cryptography.The method decomposes plaintext image by using wavelet decompose algorithm.Firstly,all decomposed frequency coefficientare transformed by Zigzag.Secendly,applying the transformed coefficient to restructure image,thenthe first encryption result can be attained.Thirldly,applying chaotic sequence to encrypt the first result again with the composed algorithm,then the final encryption of the image is finished.Decryption is the contrary process of encryption.The paper also applies the algorithm to R,G,B component of one color image separately,and it can reach the intention ofencryption of color image. The simulation results show the validity of the method.Through theoretical analysis,the method is not only of more larger secret key space,but also of the robust resisting vicious attack and the ability resisting statistical attack.
Keywords:wavelet decompose;Zigzag transform;cheotic sequence;Henon map;sine square mag;image encryption
在各種信息中,圖像信息由于本身所具有的感性特征更加受到人們的青睞,圖像信息安全問題也逐漸成為人們關注的焦點。現(xiàn)在,圖像加密技術成為圖像信息安全領域中的一個研究熱點?;煦缌W系統(tǒng)具有偽隨機型、確定性和對初始條件與系統(tǒng)參數(shù)的極端敏感性,因此可以構造非常好的信息加密系統(tǒng)。目前廣泛應用于加密的混沌模型是Logistic映射,其有著形式簡單、產(chǎn)生混沌時間序列短等優(yōu)點。如果在混沌加密之前,對圖像數(shù)據(jù)進行小波變換[1],變換后得到的小波系數(shù)中如果有一個發(fā)生改變,就會通過小波變換的逆運算體現(xiàn)在所有的象素點中,這樣的加密效果會更好。為此,本文引入兩種混沌映射,設計了對二維小波分解所得到全部頻率系數(shù)進行Zigzag置亂和應用混沌序列改變象素值相結合的圖像加密算法。
1 Zigzag變換
Zigzag置換是一種置亂方法[2],通過對一個矩陣中的元素從左上角開始按“之”字形依次掃描取數(shù)來達到對數(shù)據(jù)進行置換。首先將掃描到的元素先依次存放到一個一維數(shù)組中,然后再將此一維數(shù)組按一定的方式置換為二維矩陣,則上述的置換過程可看作是對矩陣中元素的置換,這樣的過程就叫做Zigzag置換。Zigzag置換的特點是算法實現(xiàn)簡單,時間復雜度低。其在數(shù)字圖像處理中應用比較多[3],基于Zigzag置亂在視頻加密方法及圖像數(shù)據(jù)壓縮等方面已有廣泛的應用。
在算法分析領域有兩個很重要的概念[4]:時間復雜度和空間復雜度,二者往往是矛盾的。在信息安全領域,往往更追求的是算法的時間復雜度低而相對不在意空間復雜度。如在AES加密過程中,其S變換使用查表的方法得到的程序,加密效率遠遠高于其他算法。在本文所設計的變換過程中也使用查表的方法完成Zigzag排列。圖1給出一組8×8的Zigzag排列的系數(shù)的行列變換表及其逆變換表。
其中:z(i,j)表示置亂后矩陣i,j處的元素,r(i,j),c(i,j)分別為行、列變換索引表i,j處的元素。由相應的逆變換表可以得到原始矩陣。
2 混沌序列模型
混沌[5]現(xiàn)象是在非線性動力系統(tǒng)中出現(xiàn)的確定性的、類似隨機的過程,這種過程既非周期又不收斂,并且對初始值極其敏感,正是由于此性質(zhì),在信息安全中得到了廣泛的應用。
其中:a,b均為任意常數(shù),b=1時為保面積映射,b<1時為耗散映射。參數(shù)取值為a=1-4,b=0-3,此時系統(tǒng)處于混沌狀態(tài)。
2.2 正弦平方映射
正弦平方映射方程為:
2.3 初值敏感性測試
本文在這里設計了一種測試混沌序列初值敏感性的方法,以正弦平方映射為例來說明實現(xiàn)方法。設有兩個初值,僅相差10-5,由這兩個初值分別得到兩組序列值,再計算出他們對應值的差值,進而可以繪制出初值敏感性圖,部分代碼如下。圖2(a)、(b)畫出了henon映射100步內(nèi)的誤差圖,由圖可知差異有時可達最大值,圖2(c)給出了正弦平方映射50步內(nèi)的誤差圖,差異有時甚至接近1。
3 基于Zigzag變換及混沌序列的圖像加解密算法
3.1 加解密過程
3.1.1 基于Zigzag變換的置亂
考慮一幅大小為M×N具有N級灰度的圖像,對其采用適當?shù)男〔ɑM行二維小波分解得到其全部頻率系數(shù),可以采用自己設計的一個隨機置亂表代替圖1中的Zigzag變換表和式(1),把所得到的頻率系數(shù)轉換成矩陣,然后對其進行8×8分塊使用Zigzag變換表進行掃描。經(jīng)掃描后得到一組置亂了的頻率系數(shù),再利用其進行二維小波重構,這樣便得到了置亂后的圖像。為了能使置亂效果更好,可以多次對頻率系數(shù)進行變換。要想得到正確的圖像,必須要用變換時使用的變換表得到其相應逆變換表和變換的次數(shù)n。因此,可以把所設計的變換表和變換次數(shù)n作為密鑰,從而實現(xiàn)圖像加密。
3.1.2 混沌密鑰模板序列生成及象素值變換
本文所設計的加密算法就是利用Henen映射、正弦平方映射對初值敏感的性質(zhì)生成混沌序列作為密鑰模板進而與象素值進行運算來得到一幅雜亂無章的圖像。由于圖像的灰度級為N級,其值從0~N-1,Henen映射、正弦平方映射產(chǎn)生的混沌序列值不在此范圍之內(nèi)。為了將以上映射產(chǎn)生的混沌序列與圖像象素值運算,需做一些適當?shù)男拚阉傻闹涤成涞郊蟵0,1,2…,N,N-1}。
(1) 混沌密鑰模板序列值的修正
設Henen映射,正弦平方映射所生成的混沌序列分別為r1,r2,r3。為了方便后邊的運算,使用Matlab中的reshape函數(shù)將r1,r2,r3轉換成矩陣的形式,稱為密鑰模板矩陣??捎檬?4)進行修正。
其中,round()函數(shù)為取整,abs()表示求絕對值。
(2) 象素值變換
設I(i,j)為圖像(i,j)坐標處的象素值,其中1≤i≤M,1≤j≤N,I′(i,j)為(i,j)坐標處變換后圖像的象素值,本文采用r1,r2,r3設計象素值變換映射,可由式(4)表示:
N是圖像的顏色深度(對于256級的灰度圖像,N=256),⊕代表按位異或運算,mod代表求模運算。為了增加密文圖像的安全性,可以多次進行上述過程。這部分所用密鑰為:key1=(x01,y01,x02,b,n),x01,y01為式(2)的初值,x02,b為式(3)的初值和參數(shù),n為迭代次數(shù)。為了提高圖像加密過程的效率,對于待加密的原圖像可以進行分塊處理。解密是加密的逆,其逆運算式為:
由此式就可完成象素變換的解密運算。
3.1.3 加密算法
(1) 對明文圖像I進行小波分解得到分解的全部頻率系數(shù),對其進行Zigzag變換,然后用此結果進行二維小波重構得到一次加密結果I1。
(2) 應用混沌序列模板r1,r2,r3及式(5)對I1進行加密得到密文象素流I1′(i,j),可重復步驟(1)、(2)兩步多次。解密算法是加密過程的逆。
3.2 算法思想的擴展
在3.1節(jié)中主要描述了對一幅灰度圖像的加密過程,本算法也可應用于彩色圖像,具體過程是分別提取彩色圖像的R,G,B顏色分量,分別對其進行3.1節(jié)所述的加密,然后對3個加密結果使用cat函數(shù)就可得到加密后的結果。同時在加密算法中,需要3個密鑰模板,則還可以使用三個不同的混沌映射來得到,在加密彩色圖像時,對每個分量加密時可以選取不同的初值和參數(shù),這樣可以大大增大密鑰空間。
4 仿真試驗及結果分析
在Matlab 7-0編程環(huán)境下,本文首先按照上面所述的加密算法對大小為96×96的lenna灰度圖像進行了加解密試驗,然后又按上面所述思想實現(xiàn)了彩色圖像的加解密。在試驗中,對圖像使用haar小波基進行二維小波分解,key1中的參數(shù)x01=0-2,y01=0-1,x02=0-5,b=3-9,n=1,試驗結果如圖3所示。
由圖3(b)、3(e)可看出加密后的圖像已是一幅無紋理,雜亂無章的圖像,從中不能得出原圖像的任何信息,得到了理想的加密結果。
4.1 算法的安全性分析
在信息安全領域,Kerckhoffs準則認為:一個安全保護系統(tǒng)的安全性不是建立在他的算法對于對手是保密的,而是應該建立在他所選擇的密鑰對于對手來說是保密的。
4.2 密鑰空間分析
由上文加密算法的描述過程可知,該加密系統(tǒng)使用了Zigzag變換表和兩個不同的混沌系統(tǒng)。Zigzag變換表由兩個8×8行、列索引表構成,其可以作為密鑰,在混沌序列的產(chǎn)生過程中,需要3個不同的初始條件和1個參數(shù)以及加密次數(shù),由此可見密鑰空間是非常大的,可以有效地抵抗窮舉攻擊。
4.2.1 密鑰敏感性測試
圖3(g)是當解密時只把x02的值做了微小的變化得到的解密結果,其中x02=0-500 000 001。結果表明,解密結果是一幅雜亂無章的圖像,解密失敗。體現(xiàn)了很好的密鑰敏感性,同時也達到了密碼學中混淆和擴散的目的。
4.2.2 抗惡意攻擊
當?shù)谌呓厝〉诫s亂無章加密圖像但無法獲取解密密鑰就不可能得到明文圖像,則其就可能對密文圖像進行加噪、剪切等惡意攻擊來破壞圖像。圖3(h)是加密圖像受加椒鹽噪聲攻擊的解密結果,可看出解密結果雖然有一些噪聲顆粒,但整個圖像輪廓還是可見的。實驗過程也做了其他攻擊,結果都體現(xiàn)了算法的魯棒性。圖像中相鄰象素間存在較大的相關性,利用這一固有性質(zhì)可以進行統(tǒng)計分析攻擊。圖3(i)是原圖像的灰度值統(tǒng)計直方圖,圖3(j)是加密圖像的象素直方圖。可見,加密過程將原始圖像灰度值的不均勻分布變成了灰度值的均勻分布,使密文灰度值在[0,255]整個空間范圍內(nèi)取值概率均等,使明密文的相關性大大降低,體現(xiàn)了算法抗統(tǒng)計分析攻擊的能力。
對于彩色圖像可得到相同結果。
5 結 語
本文給出了基于小波分解所得到的頻率系數(shù)的Zigzag置亂和應用兩個混沌系統(tǒng)生成相應的混沌序列經(jīng)修正后轉換成圖像加密模板矩陣,進而應用這兩個加密模板對象素值進行變換的加密算法,該算法易實現(xiàn)。仿真實驗表明,算法具有良好的密鑰敏感性和很大的密鑰空間,達到了密碼學上所要求的密碼強度,同時具有較好的抗統(tǒng)計攻擊和有[CM
效抵抗惡意攻擊的能力,提高了圖像加密的安全性。同時把算法應用于彩色圖像,也得到了很好的加密效果。
參考文獻
[1]單華寧,王執(zhí)銓,王國清,等.一種基于小波變換的混沌圖像加密方法[J].計算機應用,2003,23(Z1):256-257.
[2]柏森,曹長休.圖像置亂程度研究[A].全國第三屆信息隱藏學術研討會論文集[C].西安:西安電子科技大學,2001.
[3]Kunkelmann T,Reinema R.A Scalable Security Architecture Formultimedia Communication Standards[C].Proceedings IEEE International Conference on Multimedia Computing and Systems′97,1997:660-661.
[4]王麗娜,郭遲.信息隱藏技術試驗教程[M].武漢:武漢大學出版社,2004.
[5]陳式剛.映像與混沌[M].北京:國防工業(yè)出版社,1989.
[6]周欣,黃煒.一種自適應綜合DCT系數(shù)置亂加密算法[J].現(xiàn)代電子技術,2006,30(5):52-56.
作者簡介 馬文濤 男,研究生。研究方向為數(shù)字圖像處理,圖像加密。
余平安 男,研究生。研究方向為數(shù)字圖像處理。
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。”