圖像Contourlet編碼加密算法

針對圖像Contourlet多級樹集合分裂編碼的安全性問題,我們利用混沌密碼設(shè)計(jì)了一種新的圖像加密算法。該加密軟件使用具有良好隨機(jī)性、安全性的混沌映射構(gòu)造置亂數(shù)組和混沌密鑰流對圖像文件進(jìn)行加密。

一、混沌映射

數(shù)值混沌映射具有非常適合于作為密碼系統(tǒng)的特性:遍歷性、混合性、非周期性以及對初值的敏感依賴特性等。近10年來混沌理論在數(shù)據(jù)安全保密方面得到廣泛的應(yīng)用。

常用的數(shù)值混沌系統(tǒng)包括:

一維Logistic映射:

當(dāng)3. 994 65<μ≤4時(shí),該映射處于混沌狀態(tài)。

具有一次耦合項(xiàng)形式的二維Logistic映射:

在μ1=μ2=0.89,γ=0.1時(shí)系統(tǒng)是混沌的。

混沌映射階數(shù)越高,安全性也越尚,相應(yīng)的計(jì)算復(fù)雜度也越高。

二、離散Contourlet變換

2002年提出了一種新的多分辨分析框架——Contourlet變換,也稱為金字塔型方向?yàn)V波器組(Pyramidal Directional Filter Bank,PDFB)。Contourlet變換具有良好的多分辨率、局部化和方向性等優(yōu)良性質(zhì),與小波相比更適合于捕捉高維奇異點(diǎn)信息。

二維離散Contourlet變換由兩個(gè)獨(dú)立的步驟完成,分別是拉普拉斯金字塔( Laplaciari Pyramid,LP)和方向?yàn)V波器組(Directional Filter Bank.DFB)變換。圖1顯示了使用離散ConLourlet變換進(jìn)行二維圖像分解的過程。

Conioulet變換首先使用LP濾波器對原圖像進(jìn)行子帶分解,捕獲二維圖像信號(hào)中存在的奇異點(diǎn)。一次LP分解將原始圖像信號(hào)分解為原信號(hào)的低頻逼近分量和原信號(hào)與低頻信號(hào)的差值,即高頻分量。這一過程在低頻逼近圖像上可重復(fù)進(jìn)行,從而將原圖像分解為多分辨分解圖像。

LP變換后,Contourlet變換接著使用方向?yàn)V波器組DFB對LP變換中獲得的高頻分量進(jìn)行方向變換,將同方向上的奇異點(diǎn)進(jìn)行匯集,得到Contourlet變換系數(shù)。

數(shù)字圖像經(jīng)過Contourlet變換后的子帶系數(shù)分布規(guī)律和小波變換有許多相似之處。在Contourlet系數(shù)矩陣中,系數(shù)幅值總體而言從低頻子帶到高頻子帶是逐漸衰減的。如果對DFB選擇適當(dāng)?shù)姆较蚍纸鈹?shù)(如進(jìn)行I『層分解,每一層高頻子帶DF'B分解的方向數(shù)設(shè)定為下一層分解的方向數(shù)的2倍,由高至低分別含有4個(gè)方向子帶,8個(gè)方向子帶,16個(gè)方向子帶,…,2t個(gè)方向子帶),則構(gòu)建出的Contourlet系數(shù)矩陣具有“零樹”特征,因此可參照小波變換進(jìn)行嵌入式位平面編碼,獲得優(yōu)異的編碼效率。圖2給出了這種分解方式下系數(shù)矩陣所形成的零樹結(jié)構(gòu)。

參照SPIHT算法(基于小波零樹結(jié)構(gòu))編碼過程,基于上述的ConIourlet零樹(Spatial Orientation Tree,SOT)結(jié)構(gòu)提出了CSPIH1算法。和SPIHT算法類似。CSPIHI編碼算法構(gòu)造了3個(gè)鏈表:不重要系數(shù)鏈表(Ust ofInsignificant Pixels.UP)、不重要集合鏈表(List of InsignificantSets.LIS)和重要系數(shù)鏈表(List of Significant Pixe18,LSP),用于存放編碼過程數(shù)據(jù)。

三、圖像加密算法

為了便于描述加密算法,引入如下符號(hào)表示:

O(i,j)表示節(jié)點(diǎn)(i,j))所有孩子的坐標(biāo)集;

D(i,j))表示節(jié)點(diǎn)(i,j))所有子孫(包括孩子)的坐標(biāo)集;

H表示低頻子帶所有樹根的集合;

L(i,j))=D(i,j))- O(i,j)),即節(jié)點(diǎn)(i,j))所有非直系子孫的坐標(biāo)集。

最初坐標(biāo)集由LIS=Φ、LIP=|{i,j|(i,j))∈H}及LIS=|D{i,j|(i,j))∈ H且具有非零子孫}組成。

根據(jù)Shannon信息理論的擴(kuò)散和置換兩個(gè)基本要求,圖像加密算法將由兩部分構(gòu)成,加密過程融合在CSPIHT編碼過程中。

1、置亂算法

置亂算法作用于編碼中的兩個(gè)環(huán)節(jié),實(shí)現(xiàn)Shannon信息理論的擴(kuò)散要求。

1)對初始化的LIP表的置亂

2)對US表的D、L型表項(xiàng)分集數(shù)據(jù)的置亂

2、異或加密算法

CSPIHT在編碼第f輪(f=l,2,…,n)掃描中,處理完LIP表、LIS表后,對LSP表的掃描輸fi5非本輪掃描新添加系數(shù)的第i個(gè)位平面比特。

于是,編碼過程中對LIp、LIS、LSP這3個(gè)鏈表掃描,產(chǎn)生了6種類型的比特?cái)?shù)據(jù):UP系數(shù)重要性比特及系數(shù)符號(hào)比特;D型表項(xiàng)重要性比特、其孩子系數(shù)重要性比特及符號(hào)位比特;L型表項(xiàng)重要性比特;LSP系數(shù)位平呵比特。本文使用高效的異或運(yùn)算設(shè)計(jì)加密算法.設(shè)編碼輸出的比特序列為Xi(i=l,2,…,s),采用混沌函數(shù)生成一個(gè)二值混沌序列Ci(i=1.2,…,s),與輸出比特序列作異或加密運(yùn)算,實(shí)現(xiàn)Shannon信息理論的置換要求。

注意到在解碼過程中,將會(huì)使用這些比特逆向構(gòu)造空間方向樹。特別地,如果加密改變了其中的LIp系數(shù)重要性比特、D型表項(xiàng)重要性比特和L型表項(xiàng)重要性比特,則不但影響了它們自身的值,還改變了它們相應(yīng)子樹的分布和重構(gòu)過程,也連鎖地改變了后續(xù)比特的含義。因此,如果需要進(jìn)一步降低加密的開銷,則可以選擇此部分比特進(jìn)行加密,就已經(jīng)可以達(dá)到良好的加密效果。

四、仿真實(shí)驗(yàn)與分析

采用256 x 256的灰度圖像Lena作為測試圖像a圖3給出了利用本文算法對Lena圖像進(jìn)行完全加密的結(jié)果。加密后的圖像已經(jīng)無法識(shí)別出原圖像的任何信息。出了加密前后圖像的厭度統(tǒng)計(jì)直方圖。原圖和密圖的灰度統(tǒng)計(jì)直方圖完全不同,并且密圖直方圖中的灰度均勻分布,完全消除了原圖像中的灰度統(tǒng)計(jì)分布特征,這說明加密算法有效實(shí)現(xiàn)了Shannon信息加密理論擴(kuò)散和置換的兩個(gè)要求。

根據(jù)實(shí)驗(yàn)結(jié)果對算法的性能進(jìn)行分析。

1)安全性分析

本文算法由基于掃描有序表數(shù)據(jù)的置亂和掃描輸出比特加密兩部分組成,實(shí)現(xiàn)了Shannon理論的置換和擴(kuò)散兩個(gè)要求。由于采用對初始參數(shù)極其敏感的混沌密鑰流來構(gòu)建置亂矩陣和流密碼,算法安全性由選用的混沌密碼保證。混沌初始參數(shù)敏感性是指給定的初始密鑰盡管有很微小的差別,但所產(chǎn)生的混沌序列卻有特別大的差別,因此密鑰稍有偏差則不能正確解密圖像。足使用正確的混沌密鑰所獲得的解密圖像,而圖4(b)是使用錯(cuò)誤密鑰(將混沌參數(shù)由0.1改為0. 10001,僅相差l0-5)所獲得的解密圖像。可以看到,得益于混沌初始參數(shù)的敏感性,不能還原出任何原圖像的信息。

用均方誤差(Mean Square Error.MSE)衡量解密圖像和原圖像之間的差別,分別使用不同初始參數(shù)的敏感性統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果列于圖5。從圖5可知,正確密鑰0.1對應(yīng)的MSE值為0,即圖像被正確解密,其他錯(cuò)誤密鑰(分別與正確密鑰相差10-2、10-3、10-4、10-5)的解密圖像與原圖像的MSE值均很大,超過105,說明無法正確解密。

2)對編碼效率影響分析

對掃描有序表數(shù)據(jù)的置亂過程實(shí)質(zhì)上是僅改變了相應(yīng)節(jié)點(diǎn)為根的子樹掃描順序,沒有增加新的數(shù)據(jù),因此對編碼效率沒有影響。而對掃描輸出比特的異或加密運(yùn)算,也不會(huì)對編碼效率造成影響。

3)對編碼時(shí)間影響分析

本文的加密算法中的置亂單元中,采用高效的混沌映射,可快速構(gòu)建置亂矩陣。例如,將256×256的Lena標(biāo)準(zhǔn)圖像按圖2方式分解,初始LIP表的置亂僅需要使用1個(gè)長度為32 x32 =1024的置亂數(shù)組,對D型表項(xiàng)和L型表項(xiàng)數(shù)據(jù)的置亂均使用長度為4的置亂數(shù)組。置亂數(shù)組規(guī)模小,效牢很高。搭配采用高效異或運(yùn)算的替換單元,對編碼時(shí)間影響較小。

設(shè)編碼時(shí)間影響率為γ,不包含加密過程時(shí)(即原CSPIHT算法)熵編碼編碼時(shí)間為L,包含加密時(shí)熵編碼時(shí)間為T2。

小知識(shí)之遍歷性

遍歷性是指統(tǒng)計(jì)結(jié)果在時(shí)間和空間上的統(tǒng)一性,表現(xiàn)為時(shí)間均值等于空間均值。