張 忠,丁 群
(黑龍江大學(xué) 電子工程學(xué)院,哈爾濱 150080)
基于混沌的加密算法目前論述很多,多數(shù)基于新混沌系統(tǒng)提出的圖像加密算法。趙亮等[1]對高維混沌系統(tǒng)的圖像加密算法的安全性和效率進(jìn)行了改進(jìn);胡學(xué)剛[2]基于復(fù)合混沌系統(tǒng)提出了圖像加密新算法,該算法使用一維Logistic混沌映射與復(fù)雜的三維Lorenz映射;盧輝斌[3]討論了一種新的彩色圖像加密的算法。該算法以Lorenz混沌系統(tǒng)的初始條件作為初始密鑰對圖像進(jìn)行異或預(yù)處理,由Logistic映射和Lorenz系統(tǒng)產(chǎn)生的混沌序列分別對圖像進(jìn)行置亂和擴(kuò)散操作。該算法以處理后圖像數(shù)據(jù)作為置亂過程中Logistic映射的初始值,實(shí)現(xiàn)Lorenz系統(tǒng)與Logistic映射;王珊珊[4]提出了一種基于混沌的圖像加密算法;佟曉筠[5]提出一種基于擾動(dòng)的復(fù)合混沌序列密碼的圖像反饋加密算法;陳艷峰[6]提出了一種基于Logistic和Chebyshev雙混沌映射的數(shù)字灰度圖像加密算法,即借助基于明文產(chǎn)生的輔助密鑰、初始密鑰以及由雙混沌系統(tǒng)產(chǎn)生交替分段相互置亂的密碼序列;劉樹堂[7]基于空間混沌進(jìn)行了圖像加密設(shè)計(jì);邱炳城等[8]提出了一種基于小波變換和混沌映射的數(shù)字圖像置亂加密算法。先對數(shù)字圖像進(jìn)行小波分解,再對變換后的小波系數(shù)進(jìn)行混沌置亂,最后對置亂后的系數(shù)矩陣進(jìn)行逆小波變換得到加密圖像;包浩明[9]提出一基于多層密鑰的混沌映射保密通信系統(tǒng);陳帥等[10]提出基于離散數(shù)字混沌序列的圖像加密;周慶等[11]給出3種加密算法的壓縮性能。此外,這類算法在安全性、加密效率和魯棒性方面也有很好的表現(xiàn),可用于二值圖像的安全通信。特別是劉宴兵[12]提出基于混沌的RC4流加密算法;陳慧杰等[13]提出了圖像混合和小波變換的雙重彩色圖像隱藏; Yeo,J.-C[14]提出了基于VLSI的硬件實(shí)現(xiàn)。
本文利用小波與分形結(jié)合的圖像編碼方法對圖像進(jìn)行壓縮,基于此提出了混沌加密技術(shù)算法。
分形編碼具有任意比例下存在著某種自相似性的特點(diǎn)。它由迭代方法產(chǎn)生,表現(xiàn)的是事物從總體向局部轉(zhuǎn)化,從宏觀向微觀深化的過程。分形編碼提取的是整體與局部之間存在的某種自相似特征,因此為了有效地提取圖像的函數(shù)迭代系統(tǒng)代碼,必須對原圖像進(jìn)行預(yù)分割。它可以是空域的分割,也可以是頻域或其它像空間的分割。小波變換是一種頻域與空域相結(jié)合的圖像分析手段,它本身并不具有壓縮功能,它只是把圖像分解為不同分辨率和不同空間方向的一系列子帶圖像。而這正好為分形編碼提供了一種性能優(yōu)良的預(yù)分解工具。另一方面,分形圖像編碼的依據(jù)是圖像的自相似性。而一般圖像的自相似性并不強(qiáng),但小波變換能很好地提取原始圖像的細(xì)節(jié)信息,且這些細(xì)節(jié)信息在不同分辨率上表現(xiàn)出較好的自相似性??沙浞掷眠@種相似性,結(jié)合分形圖像編碼可以獲得比單獨(dú)進(jìn)行小波圖像編碼或分形圖像編碼高得多的壓縮比。
小波圖像編碼和分形圖像編碼都是圖像壓縮領(lǐng)域的研究熱點(diǎn),但二者又都存在一定的局限性。利用小波與分形結(jié)合的圖像編碼方法對圖像進(jìn)行壓縮,使兩種算法相得益彰,已經(jīng)成為目前發(fā)展的趨勢。
一幅N×N的圖像經(jīng)n級小波變換后得到的小波系數(shù)組成的矩陣記為S,排列形式如式(1);其中HLj、L Hj、HHj(j=1,…,n)的尺寸為最低頻LLn的尺寸為圖像小波分解后的近似信息由LLn體現(xiàn),垂直方向的輪廓、邊緣和紋理等信息由L Hj體現(xiàn),水平方向的輪廓、邊緣和紋理等信息由各高頻子帶HLj體現(xiàn),對角方向的輪廓、邊緣和紋理等信息由HHj體現(xiàn)。
圖像經(jīng)過小波分解后的能量主要集中在低頻域LLn,高頻子帶中大部分?jǐn)?shù)值都接近于零。所以對于一個(gè)圖像來說,表現(xiàn)一個(gè)圖像最主要的部分是低頻部分,即使丟棄L H,HL,HH 3個(gè)方向的信息,只恢復(fù)低頻子帶LLn的信息,也能較好地恢復(fù)原始圖像。因此基于小波變換的分形圖像壓縮的基本思想是去掉高頻子帶信息 (垂直方向的信息L Hj、水平方向的信息 HLj、對角方向的信息H Hj),對低頻子帶進(jìn)行圖像重構(gòu),然后對重構(gòu)圖像進(jìn)行分形圖像壓縮編碼(圖1、圖2)。
編碼速度太慢一直是傳統(tǒng)分形壓縮算法實(shí)用化的最大障礙。對于 N×N大小的圖像,取值域塊大小為R×R,定義域塊大小為2R×2R時(shí),Δ h為沿原圖水平方向的移動(dòng)的步長。圖像共有個(gè)值域塊和個(gè)定義域塊。在進(jìn)行分形圖像壓縮算法中,對某一個(gè)特定的值域塊,為了尋找其最佳匹配塊,必須對整個(gè)定義域進(jìn)行全局搜索,因而計(jì)算量非常大,非常耗時(shí)。一直以來,分形圖像編碼研究的核心內(nèi)容之一是提高編碼速度。
圖像分類是一種最簡單的設(shè)置判斷標(biāo)準(zhǔn)的方法,只有相同類別的R塊和D塊才進(jìn)行匹配,這樣可以縮小搜索D塊的范圍。分類的作用在于減少最佳匹配塊的搜索范圍,把全搜索變?yōu)榫植克阉?從而達(dá)到降低編碼時(shí)間的目的。
圖像的信息熵是圖像所含信息的度量,由于圖像中每個(gè)像素點(diǎn)灰度的信息熵能很好地描述圖像像素點(diǎn)灰度的分布特征,它表達(dá)了圖像所包含的信息豐富程度,因此將圖像的信息熵看成是圖像統(tǒng)計(jì)特性的一種。由于每個(gè)D塊的信息熵是唯一的,即使該D塊經(jīng)過對折、旋轉(zhuǎn)及伸縮等變換,其信息熵始終不變。信息熵的計(jì)算比較簡單,因此本文利用信息熵作為一種分類標(biāo)準(zhǔn)對R塊和D塊進(jìn)行分類,只有相同類別的R塊和D塊才進(jìn)行匹配,在搜索過程中每個(gè)R塊只需要通過比較R塊和D塊的信息熵,找到熵值接近R塊的D塊后,這樣就縮小了搜索D塊的范圍,再讓該D塊經(jīng)過8種矩陣變換找到最優(yōu)的參數(shù)并且使誤差滿足閾值,使匹配精度進(jìn)一步提高。
對于由像素點(diǎn)組成的數(shù)字圖像,由于不同灰度的像素點(diǎn)以不同的概率分布填充不同的空間區(qū)域,因而使得不同的圖像表現(xiàn)出了不同的形狀特征。將圖像像素灰度值(取值為[0,255])表示為集合F。假設(shè)具有灰度m的像素點(diǎn)在圖像中出現(xiàn)的概率為pm,則根據(jù)式(2),該灰度的信息熵可定義為:
其中0≤m≤255。若將不同灰度的熵的累加和定義為圖像的信息熵,則對于灰度圖像,圖像的信息熵可定義為:
根據(jù)式(4)算出每一個(gè)Ri塊和Di塊所對應(yīng)的信息熵,分別記為和。設(shè)置閾值T,對每一值域塊Ri來說,找出滿足||<T的定義域塊。計(jì)算出相應(yīng)參數(shù),從而完成對值域塊Ri的編碼。
對最低頻子帶進(jìn)行單獨(dú)編碼之后,對剩余的高頻子帶進(jìn)行Spiht編碼?,F(xiàn)進(jìn)行如下的修改:
1.3.1 LIP初始化為空集
由于對小波分解后的低頻子帶單獨(dú)進(jìn)行分形圖像編碼,而Spiht算法僅對小波分解后的高頻子帶進(jìn)行編碼,所以原來包括低頻子帶的所有系數(shù)的不重要系數(shù)表LIP,現(xiàn)在將其初始化為空集。
1.3.2 初始閾值的修改
閾值 T=2m,其中其中將ci,j改為不包括低頻子帶LLn的系數(shù),這樣才能更好地對剩余的高頻細(xì)節(jié)子帶,即 HLj、中的小波系數(shù)進(jìn)行編碼。
由于小波變換后的低頻子帶具有能量高的特點(diǎn)且高頻子帶存在大量的零樹,對低頻子帶和高頻子帶分別采用不同的編碼方案:對小波變換的低頻子帶采用基于信息熵的快速分形圖像壓縮,在不顯著影響重構(gòu)圖像質(zhì)量的基礎(chǔ)上,提高分形編碼的速度;小波變換后的高頻系數(shù)存在大量的零樹,且越到高分辨帶,零樹越密集,而且零樹的自相似性很弱。而分形圖像編碼只是對重要系數(shù)的編碼性能較好,對于較多的零樹情況,壓縮比較低,所以對包含原圖像中豐富的細(xì)節(jié)邊緣信息的高頻系數(shù)采用Spiht編碼,增加重構(gòu)圖像的質(zhì)量,從而減少由分形圖像壓縮所帶來的方塊效應(yīng)。
本文算法的編解碼示意圖見圖3、圖4。
圖3 編碼示意圖Fig.3 Encryption graph
編碼步驟:①原始圖像基于DWT進(jìn)行變換,產(chǎn)生低頻與高頻子帶圖像;②基于低頻子帶進(jìn)行基于信息熵的快速分形編碼;③基于高頻子帶進(jìn)行Spiht編碼;④分別對編碼后的高、低頻數(shù)據(jù)進(jìn)行混沌加密,生成加密數(shù)據(jù)流。
解碼步驟:①應(yīng)用混沌密鑰分別對編碼后的高、低頻數(shù)據(jù)進(jìn)行混沌加密,生成高低頻數(shù)據(jù)壓縮數(shù)據(jù);②基于低頻子帶進(jìn)行基于信息熵的快速分形解碼;③基于高頻子帶進(jìn)行Spiht解碼;④基于IDWT進(jìn)行反變換,產(chǎn)生低頻與高頻子帶圖像,重構(gòu)原始圖像。
下面以Lorenz系統(tǒng)為例,實(shí)現(xiàn)該保密通信方案。在仿真中,發(fā)送系統(tǒng)和接收系統(tǒng)均為Lorenz系統(tǒng),采用耦合同步法,發(fā)送和接收端都引入了有用信號和混沌信號組成的混合信號的反饋,發(fā)送和接收系統(tǒng)方程分別見式(5)、式(6),待仿真結(jié)果見圖5。
圖4 解碼示意圖Fig.4 Decode Graph
由此可見,在改進(jìn)方案中,由于有用信號反饋回發(fā)送端,收、發(fā)雙方受到同一信號u(t)驅(qū)動(dòng),有用信號完全融合到混沌系統(tǒng)的運(yùn)動(dòng)當(dāng)中,不僅消除了波形迭加引起的信息外泄,系統(tǒng)的抗噪聲干擾能力也增強(qiáng)了,同時(shí)信息可以較好地被恢復(fù),信息恢復(fù)精度與原始混沌遮掩方案相比,大為提高。
單純采用小波,混沌的加解密效果圖見圖5。采用spiht算法實(shí)現(xiàn)的混沌加解密效果圖見圖6。
當(dāng)采用常規(guī)的小波分解算法時(shí),混沌密鑰在加解密前后有明顯的對比效果。而采用spiht算法混沌噪聲很強(qiáng)時(shí),加解密對比效果在高峰值信噪比時(shí)較差;加解密對比效果在低峰值信噪比時(shí)較理想;這是因?yàn)閟piht算法在小波分解后,又多了一層小波系數(shù)排序的過程及信源編碼過程,當(dāng)混有混沌噪聲時(shí),會影響信源的編碼,在解碼端亦受到影響,低峰值信噪比時(shí)影響較小。
基于混沌、分形與Spiht算法提出了一種有效的圖像加密算法,該算法達(dá)到了理想的加密效果。目前算法已實(shí)現(xiàn),下一步將基于 ICETEKDM642-DSP開發(fā)板硬件實(shí)現(xiàn)基于Spiht與混沌的圖像加密算法。
[1]趙 亮,廖曉峰,向 濤.對高維混沌系統(tǒng)的圖像加密算法安全性和效率的改進(jìn) [J].計(jì)算機(jī)應(yīng)用,2009, 29(7):1 775-1 778.
[2]胡學(xué)剛,王 月.基于復(fù)合混沌系統(tǒng)的圖像加密新算法[J].計(jì)算機(jī)應(yīng)用,2010,30(5):1 209-1 211.
[3]盧輝斌,劉海鶯.基于耦合混沌系統(tǒng)的彩色圖像加密算法 [J].計(jì)算機(jī)應(yīng)用,2010,30(5):1 812-1 814.
[4]王珊珊.一種基于混沌的圖像加密算法[J].CONTROL&A UTOMATION,2009,(9):251-255.
[5]佟曉筠,崔明根.基于擾動(dòng)的復(fù)合混沌序列密碼的圖像反饋加密算法[J].中國科學(xué)(F輯:信息科學(xué)), 2009,29(6):588-597.
[6]陳艷峰,李義方.交替分段相互置亂的雙混沌序列圖像加密算法[J].華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版), 2010,38(5):27-33.
[7]劉樹堂,孫福艷.基于空間混沌的圖像加密設(shè)計(jì) [J].中國科學(xué)(G輯:物理學(xué)力學(xué)天文學(xué)),2009,(3): 387-393.
[8]邱炳城,姚仰新,陳銀冬.用小波變換和混沌映射實(shí)現(xiàn)圖像置亂[J].計(jì)算機(jī)工程與應(yīng)用,2009,(11): 102-103.
[9]包浩明.基于多層密鑰的混沌映射保密通信系統(tǒng) [J].電子學(xué)報(bào),2009,(6):201-205.
[10]陳 帥,鐘先信.基于離散數(shù)字混沌序列的圖像加密[J].電子與信息學(xué)報(bào),2007,4(4):898-900.
[11]周 慶,廖曉峰.一類二值圖像快速加密算法的壓縮性能分析[J].電子與信息學(xué)報(bào),2009,(2):800-806.
[12]劉宴兵,田四梅,唐浩坤,等.基于混沌的RC4流加密算法[J].計(jì)算機(jī)工程,2011,(2):136-138.
[13]陳慧杰,賴惠成.圖像混合和小波變換的雙重彩色圖像隱藏[J].計(jì)算機(jī)工程與應(yīng)用,2011(4):231-235.
[14]Yeo,J.-C.Guo,J.-I.Efficient hierarchical chaotic image encryption algorithm and its VLSI realisation. Vision,Image and Signal Processing[J].IEE Proceedings.2000,147:167-175.