閆 兵,柏 森,朱桂斌,季曉勇
(1.重慶通信學院信息工程系,重慶400035;2.應急通信重慶市重點實驗室,重慶400035)
基于整數紅-黑小波變換的圖像加密算法
閆 兵1,2,柏 森1,2,朱桂斌1,2,季曉勇1,2
(1.重慶通信學院信息工程系,重慶400035;2.應急通信重慶市重點實驗室,重慶400035)
設計了一種基于整數紅-黑小波變換的圖像加密算法。首先對圖像進行最大層數整數紅-黑小波變換,然后僅加密非零高頻系數,加密方法是利用交叉混沌映射生成的混沌序列對系數進行擴散。最后,對加密后的系數矩陣進行類似zigzag掃描,得到加密數據并傳輸到接收方。該方案彌補了傳統頻域加密算法不能無損重構的缺陷,克服了單一、低維混沌系統保密性不高的缺點,密鑰空間大、敏感性強,并且能有效抵抗信息丟失,具有很好的安全性和實用性。
整數紅-黑小波變換;部分加密;交叉混沌映射;無損重構;圖像加密
隨著互聯網的飛速發展,越來越多的信息都通過網絡進行傳播,因此信息的安全問題成為人們不得不關注的焦點[1]。圖像以其無法比擬的直觀性、大信息量而成為信息交互的重要載體,這使得圖像的安全性顯得越來越重要[2]。
圖像加密作為保護圖像安全性的有效手段,近年來已經取得了可喜的成果,各種加密算法不斷被設計出來。按照不同的方式,可將圖像加密算法進行不同的分類。其中比較常見的分類方法是按加密操作所在空間進行分類,圖像加密可分為空間域(時域)加密和變換域(頻域)加密兩種。目前,空間域加密的方法比較多,但該類算法會破壞掉原始圖像的相鄰像素相關性,不利于之后的壓縮操作[3]。頻域加密算法通常是對變換后的頻域系數進行加密處理,并且可以根據人的視覺特性選擇性地加密一些重要數據,能很好地減少加密數據量,而且頻域加密能很好地與數據壓縮結合起來[4-5]。
一般來說,圖像經過時頻變換(如離散余弦變換/DCT、離散小波變換/DWT等)后,得到的頻域系數是浮點型的。由于計算機的精度有限,這些系數要經過截短、量化等處理。在這些處理中,頻域數據會有一些損失,所以頻域加密后重建的圖像會有一定程度的失真[6]。針對這一缺點,Gu和Han[7]提出了基于整數Haar小波的分層分塊置亂加密算法,在只進行一層分解和置亂后就能達到無失真解密。Podoba等[8]進一步提出了整數Haar小波域序列加密算法,該算法進行多層小波分解加密后仍能達到無失真解密。Wei等[9]也提出了基于可逆整數小波的混沌圖像加密方案,利用整數Haar小波變換實現了無失真解密。由于圖像是二維信號,只能利用Haar小波先對行、后對列進行變換,而不能同時對行和列進行處理,這勢必會對算法的運算速度造成一定影響。紅-黑小波(Red-black wavelet)是一種適用于二維信號的新型提升小波,能同時對行和列進行處理,采用原位運算,計算速度快,且對圖像的尺寸沒有限制[10]。目前,還沒有人對紅-黑小波的加密方案進行研究。因此,本文設計了一種基于整數紅-黑小波變換的圖像加密算法。實驗結果證明,本文算法運算速度快,安全性高,能有效地抵抗信息丟失,實用性較高。
紅-黑小波變換是在提升小波的基礎上發展而來的,它繼承了提升小波的優良特性,同時又特別適用于二維信號[11]。其主要變換過程有水平/垂直提升、對角提升。本文以8×8圖像I(i,j),0≤i,j<8為例,詳細說明紅-黑小波的變換過程。
1.1 水平/垂直提升
分裂:將圖像I(i,j)按水平、垂直方向分為紅塊和黑塊,如圖1(a)所示。
預測:利用水平、垂直方向上的4鄰域紅塊對黑塊進行預測,用黑塊的實際值與預測值的差值取代黑塊的實際值,得到水平/垂直方向上的小波系數。如圖1(b)所示。

式中?*」表示向下取整。
更新:利用預測后的水平、垂直方向上的4鄰域黑塊對紅塊進行更新,得到近似系數。如圖2(b)所示。

經過一次水平/垂直提升,得到的黑塊相當于圖像的細節信息,紅塊相當于圖像的近似信息,而且紅塊和黑塊的值都是整數。
1.2 對角提升
同樣,對角提升也包含分裂、預測、更新3個步驟。
分裂:將水平/垂直提升后得到的紅塊按對角交叉方式分為藍塊和黃塊,如圖2(a)所示。
預測:利用4個對角鄰域的藍塊對黃塊進行預測,用黃塊的實際值與預測值的差值取代黃塊的實際值,得到對角方向上的小波系數,如圖2(b)所示。


更新:利用預測后的4個對角鄰域的黃塊對藍塊進行更新,得到最后的近似系數。如圖2(c)所示。

至此,就完成了一級整數紅-黑小波變換。圖像每4個像素點中只有1個點存儲著圖像的近似信息,其他3個點都存儲著圖像的細節信息。重復對藍塊進行分解,就能得到多級分解結果。
整數紅-黑小波反變換是上述變換的逆過程,即反更新、反預測,經過反變換,圖像可以無損恢復。并且在正變換和反變換過程中,像素點的值均是整數,這為之后的加密操作提供了便利。

圖1 水平/垂直提升過程

圖2 對角提升過程
圖像經過整數紅-黑小波變換后,得到的近似信息和細節信息均是整數,可直接對其進行擴散加密,減少了量化這一步驟,增強了算法的運行速度。本文研究首先對圖像進行最大層數的整數紅-黑小波變換,得到最終的低頻系數(近似信息)和高頻系數(細節信息),為了減少加密數據量的大小,進一步減少算法的時間復雜度,只對部分高頻系數進行擴散加密,最終得到加密后的數據流。算法加密步驟如圖3所示。

圖3 算法加密步驟
2.1 加密過程
類似于傳統小波變換,整數紅-黑小波變換能將原始圖像變換成低頻系數(近似信息)和高頻系數(細節信息),以512×512的標準灰度Lena圖像為例(圖4(a)),對該圖像進行最大層數(8層)分解,其分解結果如圖4(b)所示(為了便于顯示,將負數取其絕對值)。此時低頻系數只有2×2大小。實驗結果表明:是否加密低頻系數對最終結果影響很小,所以只需考慮對高頻系數進行加密。高頻系數的分布直方圖如圖4(c)所示。
從圖4(c)中可以看出:高頻系數基本集中在區間[-50,50],而且在0附近達到峰值。為了減少加密數據量,本研究只對非0的高頻系數進行加密。
2.1.1 交叉混沌映射
混沌系統產生的偽隨機序列具有密鑰空間大、初值敏感性、遍歷性等特點,因此基于混沌理論的加密技術日益受到關注。但低維混沌加密方案已有很多攻擊方法可以將其破解,于是利用超混沌、交叉混沌等改進型混沌系統對圖像進行加密成為了當前的主流加密方式。本文采用的交叉混沌映射如下:

式中:i=1,2,…,n;3.569 945 672…<u≤4;0< x<1;0<y<1,參數u和初始條件x0,y0可以作為密鑰。
該交叉混沌是利用經典Logistic混沌和另一混沌系統組合而成,能克服Logistic混沌可能產生平凡密鑰的現象,同時使混沌序列更為復雜。其中混沌系統的證明可參考文獻[12]。

圖4 整數紅-黑小波變換結果圖
2.1.2 高頻系數擴散
從圖4(c)中可看出:得到的高頻系數主要集中在區間[-50,50]。在選擇擴散范圍時,應盡量使擴散后的系數大致分布在這個區間。原因是高頻系數值發生改變時,在圖像重構時就可能發生溢出,為了盡量避免這種情況,所以需要對得到的混沌序列進行數值處理。令xi=「xi×50?,yi=「yi×2?,i=1,2,…,n。得到序列X=x1x2…xn和Y=y1y2…yn分別用來加密高頻系數D=d1d2…dn的數值和符號:

經過擴散,得到加密后的高頻系數D′=d′1d′2…d′n。為了提高加密效果,該步驟可重復進行k次,每次可選用不同的混沌序列。最后對加密后的數據進行Morton掃描,即可得到加密后的數據流。加密數據流通過正常網絡渠道傳到接收者,原圖的尺寸和密鑰可通過密鑰分發機制傳到接收者。具體掃描方式如圖5所示(以8×8圖像塊為例)。

圖5 系數掃描示意圖
這種掃描方式能充分利用紅-黑小波變換后各系數塊的分布特點,首先掃描比較重要的低頻系數,然后依次掃描各層的高頻系數,而且保證每個高頻系數塊內的數據是連續的。這樣,一旦接收到前面一部分的數據,就可以進行反變換和解密,重構出子圖像,而不用等到數據完全接收再進行,這有利于加快圖像重構的速度。并且,一旦出現通信中斷等突發情況時,接收方仍能根據已接收到的數據重構出原始圖像的大致信息,這大大增強了算法的實用性。
2.2 解密過程
本算法屬于對稱加密,解密過程基本上是加密過程的逆過程,具體解密步驟如圖6所示。

圖6 算法解密過程
接收者接收到加密密鑰、原始圖像大小和加密數據后,將加密數據流分為低頻系數和加密高頻系數D′=d′1d′2…d′n,并利用密鑰生成的調整后的混沌序列X=x1x2…xn和Y=y1y2…yn對高頻系數D′=d′1d′2…d′n進行逆擴散得到D=d1d2…dn:

利用得到的低頻系數和解密后的高頻系數D=d1d2…dn進行紅-黑小波逆變換,紅-黑小波逆變換的層數根據接收到的原圖尺寸計算出。最后就能無損重構出原始圖像。
本文用標準的512×512灰度Lena圖像對算法進行了仿真,軟件環境為Matlab R2011(b),硬件環境為Intel(R)Core(TM)2 Duo 2.00 GHz處理器,2 GB內存,320 GB硬盤。采用密鑰為x0=0.896 751 231,y0=0.956 772 331,u=3.988 899 598,k=4。圖7(a)是原始圖像,圖7(b)是加密后的高頻系數圖(為了便于顯示,將負數取其絕對值),圖7(c)是加密后的高頻系數直方圖,圖7(d)是直接用加密的高頻系數進行紅-黑小波逆變換的結果。值得注意的是,高頻系數加密后,如果沒有正確解密,重構的過程中圖像會出現溢出[0,255]的奇異值,這時需要將奇異值重新映射到[0,255]。

圖7 算法加密效果圖
3.1 密鑰空間分析
本算法的密鑰由參數u和初始條件x0,y0及加密迭代次數k組成。假設u,x0,y0均采用16位雙精度表示,k一般為不大于10的正整數,則總的密鑰數目約為1016×1016×1016×10=1049≈2163>>2100,足以抵抗暴力攻擊(brute-force attacks)[13]。若每次擴散時選用不同的參數和初始值,密鑰的數目將會更大。
3.2 密鑰敏感性分析
將密鑰k改變1或將u,x0,y0三者中的任意一個改變10-10,都不能正確重構出原始圖像。圖8(a)是正確解密圖,圖8(b)是k改變1后的解密圖,圖8(c)是u,x0,y0三者中的任意一個改變10-10后的代表圖(u改變10-10)。
3.3 抗信息丟失能力分析
在加密數據傳輸過程中,可能遇到通信中斷造成后端信息丟失,或者由于帶寬、時間受限,只能接收到加密數據前段部分信息。本文分別就接收加密數據6.25%、25%、75%、100%進行了實驗,結果如圖9所示。圖9(a)是接收約6.25%加密數據重構出來的圖像,(b)、(c)、(d)依次是接收25%、75%、100%加密數據后重構出來的解密圖像,表1計算出了各自的PSNR值。
由表1可知,隨著接收數據的逐漸增多,重構圖像的質量也越來越好,當完全接收時,可做到無損重構。而且,當只接收到6.25%的加密數據時,雖然重構圖像的PSNR值比較小,但從視覺上來看恢復效果還是可以接受的,說明本算法能很好地抵抗信息丟失。

圖8 密鑰敏感性分析

圖9 接收部分加密數據重構圖

表1 重構圖像PSNR值
3.4 算法性能比較
將本文設計算法與文獻[14]所提算法進行比較,為體現公平性,所比較算法都是基于小波域的部分加密算法。測試圖像為512×512的灰度Lena圖,加密迭代次數為k=4,比較結果如表2所示。文獻[14]的硬件環境為i3 2.20 GHz處理器,4GB內存,優于本文。但從表2中可以看出:本算法在加密速度上有比較明顯的優勢,在解密速度上與其接近,更重要的是本算法能進行無損重構,而且能抵抗信息丟失。

表2 算法性能比較
本算法利用整數紅-黑小波變換和混沌加密實現了頻域的無損加密。算法中引入交叉混沌映射克服了單一低維混沌安全性不高的缺點,同時利用部分加密和基于提升框架的紅-黑小波提高了算法運行速度。實驗結果表明:本算法密鑰空間大,密鑰敏感性強,算法運行速度快、抗信息丟失能力強。由于本算法只加密了非零高頻系數,加密數據中仍然存在大量冗余,因此下一步工作是如何減小加密數據的冗余,實現加密數據的壓縮。
[1] 宋春艷.基于混沌理論的信息加密技術研究[D].哈爾濱:哈爾濱工程大學,2013.
[2] LIU S,SONG Y,YANG J.Image Encryption Algorithm Based on Wavelet Transforms and Dual Chaotic Maps[J].Journal of Software,2014,9(2):458-65.
[3] TEDMORI S,AL-NAJDAWIN.Image cryptographic algorithm based on the Haar wavelet transform[J].Information Sciences,2014,269:21-34.
[4] 李園園,張紹武.小波變換和SHA-1相結合的圖像壓縮加密[J].中國圖象圖形學報,2013,18(4):376-81.
[5] 陳鴻,柏森,劉博文.混沌和小波變換的圖像加密壓縮算法[J].重慶大學學報,2014,37(006):65-70.
[6] 張歡,蔡如華.基于提升小波變換的超混沌圖像加密方案[J].微電子學與計算機,2011,28(7):46-9.
[7] GU GS,HAN GQ.The application of chaos and DWT in image scrambling[C]//2005 International Conference on Machine Learning and Cybernetics,2006:3729-33.
[8] PODOBA T,GIESL J,VLCˇEK K.Image Encryption In Wavelet Domain Based on Chaotic Maps[C]//Image and Signal Processing,2009.CISP’09.2nd International Congress on,IEEE,2009:1-5.
[9] WEI X,WANG B,ZHANG Q,et al.Image encryption based on chaotic map and reversible integer wavelet transform[J].Journal of Electrical Engineering,2014,65(2):90-6.
[10]雨趙,林曉佳,維陽,等.基于加權紅-黑小波變換的DR圖像增強[J].暨南大學學報(自然科學與醫學版),2015,36(03):191-201.
[11]UYTTERHOEVEN G,BULTHEEL A.The red-black wavelet transform[J].TW Reports,1997.
[12]HAN F Y,ZHU C X.One kid based on double dimensional chaos system picture encryption algorithm[J].Comput Eng Appl,2007,43:50-1.
[13]ALVAREZ G,LI S.Some basic cryptographic requirements for chaos-based cryptosystems[J].International Journal of Bifurcation and Chaos,2006,16(08):2129-51.
[14]HAZARIKA N,BORAH S,SAIKIA M.A wavelet based partial image encryption using chaotic logisticmap[C]//Advanced Communication Control and Computing Technologies(ICACCCT),2014 International Conference on,IEEE,2014:1471-5.
(責任編輯楊文青)
Algorithm of Image Encryption Based on Integer Red-Black Wavelet Transform
YAN Bing1,2,BAISen1,2,ZHU Gui-bin1,2,JIXiao-yong1,2
(1.Department of Information Engineering,Chongqing Communication Institute,Chongqing 400035,China;2.Chongqing Key Laboratory of Emergency Communication,Chongqing 400035,China)
An algorithm of image encryption based on integer red-black wavelet transform is presented in this paper.The original image was transformed by integer red-black wavelet with the highest decomposition level firstly,and then the nonzero high-frequency coefficients were diffused by chaotic sequence generated by cross chaotic map.The elements of encrypted coefficients matrix were reordered by similar zigzag scan coding lastly,which would be transmitted to receiver.Thecryptosystem makes up flaws which the reconstructed image after the traditional wavelet encryption is distortion,and overcomes the deficiency that the confidentiality of single low-dimensional chaotic system is not high.The scheme has a high sensitive key with large space,it can resist the loss of information,and possesses high security and practicability.
integer red-black wavelet transform;partial encryption;cross chaotic map;lossless reconstruction;image encryption
TP309
A
1674-8425(2016)12-0122-07
10.3969/j.issn.1674-8425(z).2016.12.019
2016-03-09
國家自然科學基金資助項目(61272043);重慶市基礎與前沿研究計劃項目(cstc2013jjB40009);重慶市科技研發基地能力提升項目(cstc2014pt-sy40003);重慶市研究生科研創新項目(cys14239)資助
閆兵(1992—),男(土家族),湖南常德人,碩士研究生,主要從事圖像加密,圖像壓縮方面的研究,E-mail:386729558@qq.com;通訊作者柏森(1963—),男,四川達州人,博士,教授,主要從事圖像加密,信息隱藏方面的研究。
閆兵,柏森,朱桂斌,等.基于整數紅-黑小波變換的圖像加密算法[J].重慶理工大學學報(自然科學),2016(12):122-128.
format:YAN Bing,BAISen,ZHU Gui-bin,et al.Algorithm of Image Encryption Based on Integer Red-Black Wavelet Transform[J].Journal of Chongqing University of Technology(Natural Science),2016(12):122-128.