浩 明
(西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安710121)
隨著網(wǎng)絡(luò)和多媒體技術(shù)的發(fā)展和普及,圖像等多媒體數(shù)據(jù)的安全問題日益引起人們的關(guān)注。由于數(shù)字圖像具有冗余度高、數(shù)據(jù)量大、數(shù)據(jù)相關(guān)性強等特點,采用傳統(tǒng)的加密方式進行加密將導(dǎo)致加密速度慢、實時性差等缺點。如何結(jié)合數(shù)字圖像的特點設(shè)計有效的數(shù)字圖像加密算法成為信息安全領(lǐng)域的一個研究熱點?;煦缦到y(tǒng)具有初值敏感性、非周期性、非收斂性、偽隨機性等良好的密碼學(xué)特性,是非線性確定系統(tǒng)。由于內(nèi)在隨機性而產(chǎn)生的外在復(fù)雜表現(xiàn),是一種貌似隨機的非隨機現(xiàn)象。混沌系統(tǒng)的這些特點使其被廣泛應(yīng)用于數(shù)據(jù)加密技術(shù)[1-7]。當前,基于混沌的數(shù)字圖像加密方式主要包括基于置亂的加密技術(shù)、基于灰度替換的加密技術(shù)和基于混合迭代結(jié)構(gòu)的圖像加密技術(shù)[8-11]。其中基于像素位置置亂的加密算法雖然可以達到對圖像加密的目的,但其安全性較差,無法滿足實際需求。由于僅通過像素位置置亂加密圖像的加密方式存在可恢復(fù)周期等安全隱患,研究者進一步提出了將像素位置置亂和灰度替代相結(jié)合的加密方式,這種混合迭代結(jié)構(gòu)的加密方式可以有效提高算法的保密性。本文研究了基于混沌和位運算的圖像加密算法[12-18],在此基礎(chǔ)上,給出了一種改進的基于組合混沌和位運算的圖像加密算法,該方法首先對灰度圖像進行位平面分解,通過對高四位分別進行置亂變換,再與低四位整體進行置亂變換,然后組合置亂后的位平面,并與二值矩陣進行異或運算得到密文圖像。由于在加密過程中結(jié)合具有可控放大因子的像素灰度替代加密,能夠取得更好的加密效果和安全性。
Logistic映射是一種典型的一維混沌系統(tǒng),其公式定義為
式中:μ為分支參數(shù),0≤μ≤4;k為迭代次數(shù),Xk∈(0,1)。當3.569…≤μ≤4時,Logistic映射處于混沌狀態(tài),此時對給定的不同初始條件x0和y0,得到的序列{xk}∞k=0和{yk}∞k=0表現(xiàn)出非周期、非收斂、偽隨機等混沌性質(zhì)。
設(shè)任意明文圖像P的大小為M×N,混沌映射的初始條件為μ,x0取正整數(shù)t,由(1)式生成混沌序列{xk}k∞=0,從其中第t+1項開始,取其中T項,對取得的序列{Xt+1,Xt+2,…,Xt+T}進行排序得到序列{Xt+1,Xt+2,…,Xt+T},計算序列{Xt+1,Xt+2,…,Xt+T}在原序列{Xt+1,Xt+2,…,Xt+T}中的位置信息,得到對應(yīng)圖像行坐標置亂操作的置亂向量TM={h1,h2,…,hT},實現(xiàn)圖像的行置亂。同理可以得到對圖像進行列坐標置亂的置亂向量TN,實現(xiàn)對圖像的列置亂。通過以上兩個過程,實現(xiàn)對圖像的位置置亂加密。圖1給出了以上方法進行圖像加密后的實驗結(jié)果。
圖1的實驗結(jié)果表明,利用像素級別的圖像置亂加密算法,原始圖像和密文圖像的灰度直方圖沒有發(fā)生改變,說明基于位置置亂的圖像加密方式不改變圖像的灰度統(tǒng)計信息[19-21],這種特點將使得加密結(jié)果不能有效抵抗統(tǒng)計分析攻擊。因此,接下來我們給出一種改進的基于混沌和位運算圖像加密算法。
圖1 加密效果Fig.1 Effectiveness of encryption
基于混沌和位運算圖像加密算法,首先將每個像素分解為bit位,p(i,j)表示原始圖像的第i行、第j列的像素值,pt(i,j)表示(i,j)位置像素p(i,j)分解的第t位(t=0,…,7)。由(2)式將一幅灰度圖像轉(zhuǎn)換為由0和1組成的二值矩陣:
(3)式可將二值圖像恢復(fù)成灰度圖像:
以大小為M ×N 灰度圖像為例,由(2)式可轉(zhuǎn)化成大小為M×8 N的二值圖像。
該加密過程如下:
Step1:首先讀取一幅大小為M×N的灰度圖像A。
Step2:由(2)式將圖像A轉(zhuǎn)換為M×8 N的二值圖像,記為B。
Step3:由(1)式產(chǎn)生混沌序列,按照1.2節(jié)的方法,構(gòu)造行、列置亂向量,置亂圖像B,得圖像C。
Step4:用(3)式對圖像C進行變換,得大小為M×N的密文圖像D。
Step5:加密過程結(jié)束。
圖2給出了應(yīng)用以上方法進行圖像置亂加密的仿真結(jié)果。
圖2 圖像置亂加密結(jié)果Fig.2 Results of image permutation encryption
圖2 的結(jié)果表明,基于Logistic和位運算圖像加密算法所得密文圖像的灰度直方圖均勻性較差,加密效果較差,無法保證圖像的安全性。因此,本文對該方法進行了改進,采用基于組合混沌和位運算的圖像加密算法,取得了良好的加密效果。
一幅數(shù)字圖像總可以分解成多個位平面,每個位平面含有不同的圖像信息。高位和低位分別代表了數(shù)字圖像的輪廓和細節(jié),處理不同的位平面相當于對圖像不同位置信息進行處理。
一幅m比特灰度級灰度圖像,各點像素的灰度值可由下面多項式表示:
式中:ai表示第i位的取值,ai∈{0,1};2i表示第i位的權(quán)重,i=0,1,…,m-1。
對于灰度圖像,相同的二進制bit位構(gòu)成該圖像的一個位平面,也就是說同一個bit位的系數(shù)集合就是一個二值圖像,稱作一個位平面。位平面從0開始到m-1共可構(gòu)成m個位平面,也可將這m個圖像組合恢復(fù)出原始圖像。一個灰度級為256的灰度圖像H(x,y),其各像素點的灰度值表示為
以大小512像素×512像素,256個灰度級的“Lena”圖為例。根據(jù)像素每位的位置進行分解,圖3是分解后的8個二值圖像,Pici代表所有像素第i位所組成的二值圖像。像素中,每位所包含圖像信息量的大小取決于其所在像素的位置,例如,一個像素的第8位的“1”代表128(27),而第1位的“1”代表1(20)。(6)式表示第i位所提供像素p(i)所含圖像信息百分比。表1列出不同位平面包含圖像信息百分比,盡管p(i)不能完全反應(yīng)人類肉眼感知的精確百分比信息,但明顯看到高位較低位攜帶更大圖像信息,其中i∈[0,7],p(i)計算式為
表1的統(tǒng)計結(jié)果表明,灰度圖像像素的高四位(第8、7、6、5位)包含了整幅圖像信息的94.125%,然而低四位(第4、3、2、1位)僅含不到6%的圖像信息。因此,將位平面分為兩類,對高四位(Pic8,Pic7,Pic6,Pic5)分別進行置亂,低四位作為整體進行置亂,可以減少加密的執(zhí)行時間。
表1 不同位像素信息百分比Table 1 Percents of different bit pixel information
改進算法的原理為對每個位平面進行置亂再組合,其像素位置和像素值被同時改變。因此,同時取得了置亂和擴散的雙重效果,增強了圖像安全性。此外,各個位平面的錯誤比特分散相互獨立,增強其抗攻擊能力。將混沌序列應(yīng)用到該加密算法,產(chǎn)生置亂序列進行圖像加密,混沌序列的初始值和參數(shù)可以作為密鑰。本文加密算法基本思想是:首先對灰度圖像進行位平面分解,考慮到圖像的高四位含有較大的信息量,因此高四位分別進行置亂,低四位構(gòu)成一個整體進行置亂,然后組合置亂后的位平面,最后與另一個等大的二值矩陣異或得到密文圖像,算法原理如圖4,其中位平面的分解和組合公式參考(2)式和(3)式。
圖4 基于組合混沌的位運算圖像加密算法Fig.4 Bit operation encryption algorithm based on combined chaos
加密算法流程如下:
Step1:首先讀取一幅大小為M×N的灰度圖像A。
Step2:對圖像A進行位平面分解,獲取5個位平面Pic8~Pic4。
Step3:設(shè)定初值S10,S20及參數(shù)μ,應(yīng)用(1)式生成兩組初始混沌序列S1(m)、S2(m),m=1,2,…,5。
Step4:由step3產(chǎn)生的兩組數(shù)作初值,再由(1)式生成5組用于行和列置亂混沌序列sx(i),i=1,2,…,M 和sy(j),j=1,2,…,N,其中,M、N分別表示圖像的長和寬;
Step5:用step4生成的混沌序列分別對各個位平面進行置亂操作,再組合成M×8 N的二值矩陣B;
Step6:設(shè)定初值p、q、x0、y0,由一般的 Henon映射[22]模型
,生成混沌序列構(gòu)造與B大小相同的二值矩陣C,與B進行異或運算得到圖像D。
Step7:將M×8 N的二值矩陣圖像D,恢復(fù)成M×N的密文圖像E。
Step8:加密過程結(jié)束。
解密過程與加密過程類似,所需的混沌序列與加密完全相同,對密文圖像實施相反的操作,可恢復(fù)原始圖像。圖5為相應(yīng)的解密流程圖。
圖5 基于組合混沌的位運算圖像解密流程圖Fig.5 Flow chart of bit operation decryption algorithm based on combined chaos
圖6 給出了應(yīng)用以上圖像加密算法的實驗結(jié)果,圖6(b)混沌序列初始條件和參數(shù)S10、S20、μ、p、q、x0、y0分 別 為 0.875 6、0.363 5、3.8、1.4、0.3、0.355 4、0.373 5。實驗結(jié)果表明,明文圖像變得面目無存,因此該算法的加密效果良好,保密性高。
圖6 置亂加密圖比較Fig.6 Comparison of permutation encryption
本文加密算法在不同階段分別選取不同的初始條件和參數(shù)S10、S20、μ、p、q、x0、y0產(chǎn)生混沌序列,根據(jù)IEEE浮點標準[23]可得本節(jié)加密算法的密鑰為K≈248×248×248×248/2≈2192,因此該加密算法具有巨大的密鑰空間,可以有效地抵密鑰的窮舉攻擊,安全性較強。
圖7(a)和(b)分別是對圖6(a)和(c)在μ、p、q、x0、y0不變,S10和S20變換一位的結(jié)果(例如:圖7(b),S10=0.875 7,S20=0.363 4)。實驗結(jié)果表明,即使密鑰相差10-4,仍解密不出任何原始圖像信息,解密圖像變得雜亂無章,因此該算法具有良好的抗破解性能,算法保密安全性較好。
圖7 密鑰敏感性測試Fig.7 Sensitivity testing of key
以圖6為例,圖8分別給出原始圖像直方圖和密文圖像直方圖對比結(jié)果。
圖8(b)和(d)表明,原始圖像經(jīng)過2.2節(jié)的加密算法加密后,密文圖像灰度直方圖均勻分布開來,明文圖像較高的相關(guān)性被擴散到整個密文,每個灰度級的像素非常均勻地分部開,原始圖像的統(tǒng)計特性完全被打破,因此該算法具有優(yōu)良的抗統(tǒng)計分析性能。
圖8 直方圖測試Fig.8 Histogram testing
圖9 (a)和(b)分別是對密文疊加強度為0.001的高斯噪聲與0.25的椒鹽噪聲后,通過正確解密流程所得的解密圖像。很顯然,圖像的恢復(fù)質(zhì)量受到噪聲影響,但是圖像的基本內(nèi)容仍清晰可見。
圖9實驗結(jié)果表明,在密文圖像受到破壞后,仍能較好地解密恢復(fù)出原始圖像,因此,本算法具有較好抗破壞性。
圖9 抗攻擊性測試Fig.9 Anti-attack testing
由于本文僅對明文分解含有信息量較大的高四bit位平面進行加密,算法執(zhí)行效率高。表2中給出了本文算法,及像素位置置換算法(PLP)和二維數(shù)據(jù)加密算法(增強型TDCEA)速度的比較。
表2 幾種加密方法效率比較Table 2 Efficiency comparsion of some encryptionmethods
表2的實驗結(jié)果表明本文算法對于不同大小的數(shù)字圖像,加密速度顯著高于其他算法,更適合于實時圖像加密傳輸。
本文提出了基于組合混沌和位平面的圖像加密算法,改進算法結(jié)合具有可控放大因子的像素灰度替代加密,能夠取得更好的加密效果和安全性。理論分析和仿真結(jié)果表明,該算法能實現(xiàn)強大的密鑰空間與良好的灰度直方圖,具有抗攻擊能力高、速度快等優(yōu)點。
[1] 張小華,劉芳,焦李成.一種基于混沌序列的圖象加密技 術(shù) [J].中 國 圖 象 圖 形 學(xué) 報,2003,8(4) :374-378.ZHANG Xiao-hua,LIU Fang,JIAO Li-cheng.An image encryption arithmetic based on chaotic sequences[J].Journal of Image and Graphics,2013,8(4):374-378.(in Chinese with an English abstract)
[2] 葉天語,鈕心忻,楊義先.基于奇異值分解和混沌映射的脆弱認證水?。跩].光電工程,2008,35(9):138-144.YE Tian-yu,NIU Xin-xin,YANG Yi-xian.Fragile authentication watermark based on singular value decomposition and chaotic mapping[J].Opto-Electronic Engineering,2008,35(9):138-144.(in Chinese with an English abstract)
[3] 趙學(xué)峰.基于面包師變換的數(shù)字圖像置亂[J].西北師范大學(xué)學(xué)報:自然科學(xué)版,2003,39(2):26-29.ZHAO Xue-feng.Digital image scrambling based on the bake's transformation[J].Journal of Northwest Normal University:Natural Science,2003,39(2):26-29.(in Chinese with an English abstract)
[4] 顧勤龍,姚明.基于Logistic混沌序列的數(shù)字圖像加密研究 [J].計 算 機 工 程 與 應(yīng) 用,2003,23(3):114-116.GU Qin-long,YAO Ming.A reserch of digital image encryption based on logistic chaotic sequence[J].Computer Engineering and Applications,2003,23(3):114-116.(in Chinese with an English abstract)
[5] 郭建勝,金晨輝.對基于廣義貓映射的一個圖像加密系統(tǒng)的已知圖像攻擊[J].通信學(xué)報,2005,26(2):131-135.GUO Jian-sheng,JIN Chen-hui. An attack with known image to an image cryptosystem based on general cat map[J].Journal on Communications,2005,26(2):131-135.(in Chinese with an English abstract)
[6] 王讓定,李 倩,陳金兒.新穎的音頻信息隱藏算法[J].光電工程,2005,32(9):79-82.WANG Rang-ding,LI Qian,CHEN Jin-er.Novel audio information hiding algorithm[J].Opto-Electronic Engineering,2005,32(9):79-82.(in Chinese with an English abstract)
[7] 王云才,馬建議,韓曉紅,等.混沌激光相關(guān)法測距系統(tǒng)的信號采集與處理[J].應(yīng)用光學(xué),2011,32(3):568-573.WANG Yun-cai,MA Jian-yi,HAN Xiao-hong,et al.Data acquisition and processing of correlation ranging system with chaotic laser[J].Journal of Applied Optics,2011,32(3):568-573.(in Chinese with an English abstract)
[8] 曹建秋,肖華榮,藍章禮.像素位置與像素值雙重置換的混沌加密算法[J].計算機工程與應(yīng)用,2010,46(28):192-195.CAO Jian-qiu,XIAO Hua-rong,LAN Zhang-li.Chaos encryption algorithm based on dual scrambling of pix-el position and value[J].Computer Engineering and Applications,2010,46(28):192-195.(in Chinese with an English abstract)
[9] WANG Y,WONG K W,LIAO X F,et al.A chaosbased image encryption algorithm with variable control parameters [J].Chaos,Solitons & Fractals,2009,41(4):1773-1783.
[10] 孫鑫,易開祥,孫優(yōu)賢.基于混沌系統(tǒng)的圖像加密算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2002,14(2):136-139.SUN Xin,YI Kai-xiang,SUN You-xian.New image encryption algorithm based on chaos system[J].Journal of Computer-Aided Design & Computer Graphics,2002,14(2):136-139.(in Chinese with an English abstract)
[11] 張健,于曉洋,任洪娥.基于Cat映射和Lu混沌映射的圖像加密方案[J].電子器件,2007,30(1):155-157.ZHANG Jian,YU Xiao-yang,REN Hong-e.Image enc-ryption scheme based on Cat map and Lu chaotic map[J].Chinese Journal of Electron Devices,2007,30(1):155-157.(in Chinese with an English abstract)
[12] FU Cong,LIN Bin-bin,MIAO Yu-sheng,et al.A novel chaos based bit-level permutation scheme for digital image encryption[J].Optics Communications,2011,284(23):5415-5423.
[13] YE Guo-dong.Image scrambling encryption algorithm of pixel bit based on chaos map[J].Pattern Recognition Letters,2010,31(5):347-354.
[14] ZHU Zhi-liang,ZHANG Wei,WONG Kwok-wo,et al. A chaos-based symmetric image encryption scheme using a bit-level permutation[J].Information Sciences,2011,181(6):1171-1186.
[15] 張雪鋒,范九倫.基于位運算的數(shù)字圖像隱藏技術(shù)[J].信息安全與通信保密,2007(5):149-150.ZHANG Xue-feng,F(xiàn)AN Jiu-lun.An image hiding method based on bit-operation[J].Information Security and Communications Privacy,2007(5):149-150.(in Chinese with an English abstract)
[16] 許艷.基于位運算的BMP圖像加密算法研究[J].湖南理工學(xué)院學(xué)報:自然科學(xué)版,2007,20(4):41-43.XU Yan.Research of BMP image encryption algorithm based on bit operation[J].Journal of Hunan Institute of Science and Technology:Natural Sciences,2007,20(4):41-43.(in Chinese with an English abstract)
[17] 袁玲,康寶生.基于Logistic混沌序列和位交換的圖像置亂算法[J].計算機應(yīng)用,2009,29(10):2681-2683.YUAN Ling,KANG Bao-sheng.Image scrambling algorithm based on Logistic chaotic sequence and bit exchange[J].Journal of Computer Applications,2009,29(10):2681-2683.(in Chinese with an English abstract)
[18] 李濤,柳健.基于位平面與混沌系統(tǒng)的圖像置亂方法[J].西南民族大學(xué)學(xué)報:自然科學(xué)版,2008,34(3):595-599.LI Tao,LIU Jian.Image scrambling based on bitplane decomposition and chaotic system[J].Journal of Southwest University for Nationalities:Natural Science Edition,2008,34(3):595-599.(in Chinese with an English abstract)
[19] 張瓊,沈民奮,翟懿奎.基于三維混沌貓映射的圖像加密 算法的改進[J].系統(tǒng)工程與電子技術(shù),2007,29(9):1568-1572.ZHANG Qiong ,SHEN Min-fen,ZHAI Yi-kui.Improving image encryption method based on threedimensional chaotic cat map[J].Systems Engineering and Electronics,2007,29(9):1568-1572.(in Chinese with an English abstract)
[20] 王珊珊,陳艷峰.一種基于混沌的圖像加密算法[J].微計算機信息,2009,25(3-3):62-63.WANG Shan-shan,CHEN Yan-feng.An algorithm of image encryption based on chaos[J].Microcomputer Information ,2009,25(3-3):62-63.(in Chinese with an English abstract)
[21] RHOUMA R,BELGHITH S.Cryptanalysis of a new image encryption algorithm based on hyper-chaos[J].Physics Letters A,2008,372(38):5973-5978.
[22] 黃大足,陳志剛,朱從旭.基于廣義貓映射與神經(jīng)網(wǎng)絡(luò)的圖像空域水印算法[J].計算機應(yīng)用研究,2008,25(4):1144-1146.HUANG Da-zu,CHEN Zhi-gang,ZHU Cong-xu.Image spatial domain watermark algorithm based on general Arnold mapping and neural network[J].Application Research of Computers,2008,25(4):1144-1146.(in Chinese with an English abstract)
[23] KAHAN W.IEEE standard 754for binary floatingpoint arithmetic[S/OL].(2001-08-06)[2012-1-1].http://www.cs.berkeley.edu/~wkahan/ieee754status/IEEE.