基于混沌和小波理論的圖像加密技術(shù)
針對數(shù)字圖像的傳輸,我們提出了一種基于密鑰的圖像像素置亂變換加密算法,并在此基礎(chǔ)上實現(xiàn)了基于混沌和小波理論的數(shù)字圖像加密。該方法利用小波的多尺度特性對圖像分解,只留取其低頻信息壓縮圖像,再利用Logistic系統(tǒng)生成的混沌序列作為密鑰進行加密。
基于混沌和小波理論的圖像加密技術(shù)的實現(xiàn)
我們首先采用小波分解圖像壓縮算法,應(yīng)用小波的多尺度特性對圖像進行分解,根據(jù)人類的視覺特性,只留取其低頻部分(即近似部分),去掉高頻系數(shù)。接著,采用Logistic混沌系統(tǒng)生成的混沌序列作為密鑰,再對壓縮后的圖像做基于密鑰的圖像像素置亂加密。整個圖象加密模型如圖1所示,設(shè)計過程基本上可以分為圖像壓縮與混沌加密兩大塊。

1、利用小波變換對圖像壓縮
小波變換是一種時-頻域分析方法,它介于純時域分析和純頻域分析的傳統(tǒng)富氏分析之間,它由于同時具有時頻域的良好的局部化性質(zhì)而優(yōu)于富氏變換,而且隨著信號不同頻率成分在時空域中取樣的疏密而自動調(diào)節(jié),在低頻部分具有較高的頻率分辨率和較低的時間分辨率,在高頻部分具有較高的時間分辨率和較低的頻率分辨率,可以達到效率高、質(zhì)量佳的效果,被譽為數(shù)學(xué)顯微鏡?;谛〔ㄗ儞Q的這一特性,可觀察函數(shù)的任意細節(jié)并加以分析。
小波變換的思想是用一族函數(shù)去表示或逼近一信號,這一族函數(shù)稱為小波函數(shù)系,它是通過一基本小波函數(shù)的伸縮和平移構(gòu)成的,用其變換系數(shù)即可描述原來的信號。因此,小波變換的定義是把某一被稱為基本小波(也叫母小波 mother wavelet)的函數(shù)Ψ(t)做位移τ后,再在不同尺度a下與待分析的信號x(t)做內(nèi)積:
![]()
式(1)為小波變換的定義式,小波變換具有多分辨率(multi-resolution),也叫多尺度(multi-scale)的特點,可以由粗及細地逐步觀察信號。 在圖像數(shù)據(jù)壓縮中,我們采用的是二維離散小波變換。多分辨分析實現(xiàn)二維離散正交小波變換的算法。利用小波變換壓縮圖像分以下三個步驟:
① 利用二維離散小波變換將圖像分解為低頻近似分量和高頻水平、高頻垂直、高頻對角細節(jié)分量。
② 根據(jù)人的視覺特性對低頻及高頻分量分別作不同的量化(即壓縮)。
③ 利用逆小波變換重構(gòu)圖像。
利用wavedec2 函數(shù),按小波變換對lena.bmp圖像進行多尺度分解;每次只提取原圖像中低頻近似分量,舍棄其高頻細節(jié)分量。利用appcoef2函數(shù)提取低頻系數(shù),detcoef2函數(shù)提取高頻系數(shù)。使用bior3.7小波對圖像分解,其二層分解及壓縮結(jié)果如圖2所示:


從圖2及表一的壓縮結(jié)果可以看出,壓縮后的圖像保留了原始圖像的大部分信息,但圖像壓縮比卻很高,這就是小波變換的優(yōu)勢所在。這樣,經(jīng)過小波分解和壓縮后的圖像形成了一幅較小的圖片,更適合傳輸。接下來,就要對壓縮后的圖像設(shè)計一種合適的加密算法進行加密。
2、混沌序列
混沌現(xiàn)象是在非線性動力系統(tǒng)中出現(xiàn)的確定性、類似隨機的過程,這種過程既非周期又不收斂,并且對初始值有極其敏感的依賴性。從時域上看,混沌映射得到的序列類似于隨機序列,相關(guān)性較弱,具有很好的類白噪聲特性,因此可以用來產(chǎn)生偽隨機信號或偽隨機碼。原理上只要增加迭代次數(shù),偽隨機碼的周期可以很長。通過混沌系統(tǒng)對初始值和結(jié)構(gòu)參數(shù)的敏感依賴性,可以提供數(shù)量眾多、非相關(guān)、類隨機而又確定可再生的信號。由于上述特點,本文采用混沌序列作為加密序列?;煦缂用芗夹g(shù)已成為一種新興的加密技術(shù)。
離散時間動態(tài)系統(tǒng)Logistic映射的定義為:
![]()
當選取參數(shù)μ= 2.000 00時,系統(tǒng)工作于混沌態(tài),輸入不同的初始值,可對應(yīng)產(chǎn)生一個迭代序列,即混沌序列。此時的迭代方程為:
![]()
此時Logistic 映射的輸入輸出都分布在區(qū)間[ - 1, 1 ]上, 為滿映射。可任意選取一個初始值0x,迭代產(chǎn)生一個序列來計算系統(tǒng)(3)的Lyapunov指數(shù), 從而驗證系統(tǒng)(3) 的混沌特性. 我們?nèi)〕跏贾?x= 0. 4 迭代得到一個序列, 計算它的Lyapunov 指數(shù)為:
![]()
計算結(jié)果表明, 該系統(tǒng)的Lyapunov 指數(shù)大于0。 故系統(tǒng)(3)為混沌系統(tǒng), 所產(chǎn)生的序列為混沌序列。 當初始值分別取10x=0.400000和20x=0.400001,生成的混沌序列圖3所示:

通過圖3 可以說明,即使兩個初始值0x相差很小(只有0.000001),但n 到一定大小的時候,兩個xn的起伏就有很大的差別,變得不相關(guān)。因此,混沌序列可以用作加密序列。
3、加密算法的設(shè)計
圖像一般加密、解密系統(tǒng)可由圖4和圖5表示:

設(shè)計加密算法主要在于找出一種合適的對圖像像素點的加密變換,在此,我們選擇位置關(guān)系置亂的加密算法,它的核心就是位置關(guān)系映射,目的就是找一種算法簡單、加密效果好、抗破譯能力強的映射關(guān)系,而現(xiàn)在廣泛認為基于混沌密鑰的排列算法是可行的,因此該算法的關(guān)鍵就是利用混沌序列生成位置參數(shù),再選擇一個排列規(guī)律按照這個參數(shù)進行圖像像素點的重排。
根據(jù)上述思想,筆者經(jīng)過分析及大量的試驗發(fā)現(xiàn),如果將生成的混沌序列進行按照大小關(guān)系重新排列,將原序列的元素在排序后的序列中的位置映射到新的一維數(shù)組中,這將是一個非常好的位置參數(shù)矩陣。因為它具有如下優(yōu)點:
1)數(shù)組中元素均為整數(shù),適合作為位置關(guān)系的映射;
2)數(shù)組中的元素沒有重復(fù),只是順序被打亂;
3)它包含了各個位置參數(shù),從而使圖像數(shù)據(jù)在打亂后不會丟失。根據(jù)上述優(yōu)點我們不難想到,可以利用生成的位置參數(shù)分別把行、列順序打亂,這樣置亂后的圖像不會看出原圖像的信息,相鄰像素點沒有關(guān)聯(lián),從而得到很好的加密效果。而此算法最重要的優(yōu)點,就是它的算法簡單,相對于一般的置亂算法,它的運算量要小很多,生成的混沌序列也無需太長。以較小的運算量獲得較強的加密效果,這正是保密通信所追求的目標。
下面介紹這一算法的具體實現(xiàn)過程:
讀入圖像像素矩陣IM×N,按照Logistic混沌系統(tǒng),取μ=2,初始值x0=0.4進行迭代,n取max(M,N),生成混沌序列{kx|k=0,1,2,3,…n}(對于生成的混沌序列,最好不選用初始段部分序列,這樣能加強加密效果)。把生成的混沌序列按照從小到大的順序重排,找出原序列中的元素在排序后的序列中的位置,并生成位置序列{kxh|k=0,1,2,3,…n}。接著,按照位置序列中的元素[xhi](i=1,2,3,…,M),把圖像矩陣中的第i列整列移到第[xhi]列。當把所有的列都移動完成后,再對所有的行做相同的移動,即把第i行整行移到第[xhi](i=1,2,3,…,N)行。變換后的圖像矩陣得到了完全置亂的目的。圖6是仿真結(jié)果:

可以看出,加密后的圖像看不出原圖像的絲毫信息,加密效果比較好。且本算法加密速度快,相對于魔方加密算法,這種算法的運算量要小很多。
圖7是對此算法解密0x分別取0.400000和0.400001的結(jié)果。由圖7可以看出,混沌序列的初始值相差僅0.00001卻完全得不到正確的解密結(jié)果,這就是利用混沌序列加密的優(yōu)勢,它具有較強的抗攻擊、抗破譯能力。實驗結(jié)果驗證了該算法的可行性。

圖8是對加密后的圖像分別加入高斯噪聲和椒鹽噪聲,以模擬在信道中傳輸后解密的結(jié)果,其中椒鹽噪聲強度為0.02,高斯噪聲均值為0,方差為0.005??梢钥闯?,加密后的圖像由于受到噪聲的污染,而導(dǎo)致解密出的圖像存在一定程度的失真,但是接收者仍然能夠獲得圖像的主要信息。
本文成功地運用了混沌及小波理論實現(xiàn)了對數(shù)字圖像文件加密仿真。對待處理的圖像先利用二維離散小波變換進行分解及壓縮,只留取變換后的低頻系數(shù),舍去高頻系數(shù),達到了理想的壓縮效果。對壓縮后的圖像進一步利用混沌序列進行加密,采用非傳統(tǒng)的加密算法,將圖像像素點置亂重排,加密效率高,安全性好,解密方便,無失真。
小知識之小波理論
小波理論是以某些特殊函數(shù)為基將數(shù)據(jù)過程或數(shù)據(jù)系列變換為級數(shù)系列以發(fā)現(xiàn)它的類似頻譜的特征,從而實現(xiàn)數(shù)據(jù)處理。








