摘 要: 提出了一種基于Logistic和Henon混沌映射的圖像加密方法,。首先利用Logistic混沌動(dòng)力學(xué)系統(tǒng)產(chǎn)生的混沌序列,,通過動(dòng)態(tài)量化算法增強(qiáng)其隨機(jī)性和復(fù)雜性,對(duì)原始圖像進(jìn)行混沌置亂,,得到置亂圖像,。然后對(duì)Henon混沌映射產(chǎn)生的序列進(jìn)行量化變換,產(chǎn)生“異或”矩陣,,與置亂后的圖像進(jìn)行“異或”,,實(shí)現(xiàn)對(duì)圖像的加密。仿真實(shí)驗(yàn)表明,,該方法具有良好的加密效果和較強(qiáng)的安全性,。
關(guān)鍵詞: 圖像加密;混沌加密;Logistic映射,;Henon映射,;混沌映射
數(shù)字圖像信息具有直觀、形象,、易懂和信息量大等特點(diǎn),,已成為人們?nèi)粘I睢⑸a(chǎn)中接觸最多的信息種類之一[1],。隨著數(shù)字圖像在商業(yè),、軍事等不同程度的保密領(lǐng)域內(nèi)的普及,其安全性研究得到了廣泛的關(guān)注[2],。由于圖像存儲(chǔ)的特殊性,,在傳統(tǒng)的密碼學(xué)領(lǐng)域并沒有單獨(dú)將圖像作為一種特殊的明文形式來考慮其加密特性。雖然利用傳統(tǒng)的加密技術(shù)對(duì)圖像加密是可實(shí)現(xiàn)的,,但其加密效率低、安全性不高,,不能適應(yīng)圖像加密的需要,,因此專用的圖像加密技術(shù)被廣泛關(guān)注。近年來混沌理論的應(yīng)用研究引起了密碼學(xué)界的關(guān)注,,由于混沌遍歷性正符合Shannon提出的密碼系統(tǒng)設(shè)計(jì)的擴(kuò)散混淆等基本原則,,使混沌理論在圖像加密中得到廣泛應(yīng)用[3-5]。本文提出一種基于Logistic和Henon雙混沌的圖像加密算法,,并通過實(shí)驗(yàn)分析證明,,該算法具有優(yōu)異的加密性能和運(yùn)算效率。
1 混沌理論及模型
混沌與密碼學(xué)有著緊密的聯(lián)系,,一個(gè)好的密碼系統(tǒng)應(yīng)該具備以下幾個(gè)條件[6]:(1)把明文變換為盡可能隨機(jī)的密文,;(2)加密算法對(duì)明文有高度敏感性;(3)加密系統(tǒng)對(duì)密鑰有高度敏感性,。由于混沌具有對(duì)初值的敏感性,、良好的偽隨機(jī)特性、軌道的不可預(yù)測(cè)性等特征,,這些特征正好能夠滿足密碼系統(tǒng)的要求,。
Logistic映射是一個(gè)非常簡(jiǎn)單卻具有重要意義的非線性迭代方程,雖然它具有確定的方程形式,,不包含任何不確定因素,,卻能產(chǎn)生完全隨機(jī)的、對(duì)參數(shù)?滋的動(dòng)態(tài)變化和初值極為敏感的序列,。其定義如下:
初始值極度敏感,,對(duì)于相差的初始值,方程迭代出來的軌跡差別相差很明顯,一般情況下,,很難從一段有限長(zhǎng)度的序列來推斷出混沌系統(tǒng)的初始條件,。該混沌模型迭代方程簡(jiǎn)單,混沌加密參數(shù)只有一個(gè),,這決定了其加密運(yùn)算速度快,,特別是比高維的混沌系統(tǒng)要快很多,但其密鑰空間比較小,,安全性稍差,,因此不考慮單獨(dú)使用它。
Henon混沌系統(tǒng)是1976年由Henon提出的一種二維迭代系統(tǒng),,具有兩個(gè)參數(shù)的平面映射族,。Henon混沌映射定義如下:
式中,a,、b為控制參數(shù),,當(dāng)1.05<a<1.8、b=0.3時(shí),,Henon映射處于混沌狀態(tài)[7],。當(dāng)處于混沌時(shí),它與Logistic模型同樣具有混沌的特性,,不同的是Henon映射是一個(gè)具有兩個(gè)參數(shù)的平面映射族,。雖然理論上對(duì)Henon混沌的研究比較成熟,但是由于其產(chǎn)生混沌序列的特殊性,,一般也不單獨(dú)使用,。
2 加密解密矩陣的構(gòu)造
由于單混沌存在諸多缺陷,密鑰空間小,,且在有限精度的系統(tǒng)下受限制,,參考文獻(xiàn)[8]表明,單混沌映射加密易受到攻擊利用,。因此,,本文利用Logistic和Henon雙混沌系統(tǒng)來構(gòu)造加密矩陣實(shí)現(xiàn)對(duì)圖像加密。首先對(duì)Logistic混沌系統(tǒng)產(chǎn)生的序列通過一種動(dòng)態(tài)量化得到置換矩陣的隨機(jī)數(shù),,對(duì)圖像的像素位置置亂,;再通過Henon混沌系統(tǒng)的映射,利用整數(shù)求余的量化方法來得到“異或”加密的隨機(jī)數(shù),,與置亂后的圖像依次“異或”,。圖像加密效果完全取決于兩種混沌系統(tǒng)產(chǎn)生的隨機(jī)數(shù),因此,,對(duì)Logistic混沌的動(dòng)態(tài)量化和Henon的整數(shù)求余量化成為實(shí)現(xiàn)加密效果的關(guān)鍵,。
設(shè)原始圖像為I,大小為m×n,則圖像I可以表示為:I=F(i,,j)(0≤i≤m,,0≤j≤n)。其中,,(i,,j)表示像素點(diǎn)位置,F(xiàn)(i,,j)表示該點(diǎn)處圖像的數(shù)據(jù),,則F(i,j)可構(gòu)成圖像數(shù)據(jù)矩陣T,。
2.1 置換矩陣的構(gòu)造
首先利用一種隨機(jī)全排列生成算法來生成置換加密中所需的全排列,。所謂全排列即是將M個(gè)不同元素按照一定的順序排列起來,稱為這M個(gè)不同元素的一個(gè)全排列,。本置換方法分為行置換和列置換,,行置換算法描述如下:
(1)設(shè)生成的置換矩陣大小為m×n,,首先要生成一個(gè)0~M-1之間的全排列元素,,元素?cái)?shù)目為M(M>n)。
(2)初始化全排列矩陣,,令{0,,1,…,,M-1}中所有元素的一個(gè)全排列為{a0,,a1,…,,aM-1},,當(dāng)i≠j時(shí),有ai≠aj,。全排列初始值系數(shù)為L(zhǎng),,令n=?骔L×M」,L可以當(dāng)密鑰給出,,一般L在(0.5,,0.7)區(qū)間即可。若太小,,則產(chǎn)生的全排列隨機(jī)性差,;若太大,則數(shù)據(jù)重復(fù)多,,將會(huì)增加系統(tǒng)的迭代次數(shù),。
(3)設(shè)所用混沌系統(tǒng)方程為xn=f(xn-1),本文用的是Logistic混沌模型,xn即為當(dāng)前混沌序列,,每次都要進(jìn)行迭代來產(chǎn)生新的混沌序列,。利用不等分區(qū)間的動(dòng)態(tài)量化對(duì)混沌序列進(jìn)行進(jìn)一步處理,以增強(qiáng)其隨機(jī)性和復(fù)雜度,,本文利用參考文獻(xiàn)[9]的判決公式(3)對(duì)Logistic混沌方程式(1)產(chǎn)生的序列{xn}進(jìn)行判決,,可以得到K=2n進(jìn)
定義序列{xn}經(jīng)過判決所在的位置構(gòu)成序列為Pn={p1,p2,,…,,pn},其中Pi=j,,即每一個(gè)xi都和一個(gè)xpi相對(duì)應(yīng),,可進(jìn)行兩個(gè)位置元素交換,然后再重新判決,,通過這樣的量化即可得到n個(gè)0~M-1之間的隨機(jī)數(shù),。
(4)初始化一個(gè)數(shù)組A,初始為空,,最大長(zhǎng)度為m,,將步驟(2)生成的元素依次添加到A中,若A中不存在生成的元素,,則添加到A末尾,,否則舍棄。直到A中元素為n個(gè),,然后將0~M-1間元素不在A中的依次添加到A中,,形成初始化全排列A。
(5)對(duì)初始化全排列A再進(jìn)行一次全變換來增強(qiáng)隨機(jī)性,,方法同步驟(2),,即將兩個(gè)對(duì)應(yīng)位置元素A[Pi]同A[Ppi]的交換。這里全變換的次數(shù)可以自行設(shè)定,,但考慮系統(tǒng)運(yùn)行的速度,,全變換輪數(shù)r不宜過大,一般不超過5輪,,由密鑰給出,。
(6)反復(fù)執(zhí)行步驟(3)、(4),、(5)可得到一個(gè)m行隨機(jī)全排列,,即可構(gòu)成m×n大小的行置換矩陣A′。
(7)行置換方法可看作函數(shù)B=E(A′,,T),,其中B為加密后矩陣,,即是將T[i,j]的值賦給B[i,,Ppj],。列置換的方法和行置換方法相同,在此不再描述,。設(shè)矩陣B經(jīng)過列置換后為B′m×n,。
該算法生成的全排列對(duì)混沌系統(tǒng)的初值敏感,密鑰的細(xì)微差別都將產(chǎn)生不同的全排列,。利用該算法可以生成任意多所需長(zhǎng)度的隨機(jī)全排列,,算法中細(xì)微部分可以靈活處理,以增強(qiáng)密鑰強(qiáng)度,。
2.2 “異或”矩陣的構(gòu)造
利用Henon映射進(jìn)行迭代產(chǎn)生隨機(jī)數(shù)構(gòu)成“異或”矩陣,。由于Henon映射有一定的局限性,參考文獻(xiàn)[10]對(duì)常用的幾種混沌模型產(chǎn)生的序列進(jìn)行隨機(jī)性測(cè)試,,得出Henon混沌映射的隨機(jī)性強(qiáng)度并不是十分理想,。因此,本文用Henon混沌序列進(jìn)行擾動(dòng)變換后產(chǎn)生相關(guān)序列及參數(shù),,將輸出結(jié)果進(jìn)行整數(shù)取余進(jìn)一步量化得到“異或”矩陣,。其中部分細(xì)節(jié)可以靈活變換修改,在此不作詳細(xì)規(guī)定,。
(4)反復(fù)執(zhí)行步驟(1),、(2)、(3),,直到構(gòu)成大小為m×n的“異或”矩陣所需隨機(jī)數(shù),,設(shè)得到的“異或”矩陣為Cm×n。
(5)將“異或”矩陣Cm×n與所得的置換矩陣B′m×n逐一“異或”即可得到加密矩陣,。
“異或”矩陣的使用增強(qiáng)了整個(gè)算法的安全性。置換矩陣和“異或”矩陣的使用,,進(jìn)一步增強(qiáng)了加密效果,,使抗攻擊能力得到增強(qiáng)。
2.3 解密算法
解密算法是加密算法的逆運(yùn)算,,在解密算法中,,置換矩陣是加密算法中置換矩陣的逆置換,“異或”矩陣與加密中的“異或”矩陣相同,,只是在解密過程中要先進(jìn)行“異或”運(yùn)算,,最后再進(jìn)行“異或”運(yùn)算。
3 仿真實(shí)驗(yàn)及測(cè)試分析
3.1 加密效果
本文采用大小為256×256,、8 bit大小的Lena灰度圖像作為待測(cè)試圖像,。密鑰選取參數(shù)如下:x0=0.079 897 522 926 330 7,,μ0=4,r=1,,x′0=0.790 408 305 649 9,,y′0=0.210 030 319 169 164,t=3,,分別取小數(shù)點(diǎn)后3,、5、7位,。原始圖像及其灰度直方圖分別如圖1,、圖3所示,加密后的圖像和灰度直方圖分別如圖2,、圖4所示,。從圖中可以看出,加密后的圖像效果很好,,各像素的灰度值分布均勻,,與原始圖像完全不同,對(duì)已知明文攻擊非常安全,。
3.2 敏感性分析
圖5為正確密鑰解密所得圖像,,通過比較可知,與原圖的像素值完全相同,,表明該算法沒有信息的丟失,。當(dāng)密鑰中的x0=0.079 897 522 926 300 6、其他密鑰參數(shù)不變時(shí),,解密所得圖像如圖6所示,。可見即使使用與正確密鑰差值微小錯(cuò)誤的密鑰進(jìn)行解密,,得到的仍是與原圖像差別很大的錯(cuò)誤圖像,,即說明本文所用算法對(duì)密鑰具有高度的敏感性。
3.3 圖像剪裁測(cè)試
從解密后的圖像中,,剪裁掉右上角25%大小后的圖像如圖7所示,,剪裁掉中間一個(gè)大小為100×100后的圖像如圖9所示。經(jīng)解密后的圖像分別如圖8,、圖10所示,。可以看出,,對(duì)密文進(jìn)行剪裁干擾后進(jìn)行恢復(fù),,恢復(fù)后的圖像也能很清楚地反映原始圖像的一些特征,而且密文集中剪裁出的點(diǎn)都分散到原圖像的不同位置,,說明對(duì)圖像的加密效果比較理想,。
3.4 圖像相關(guān)性分析
為了分析原圖像與密文圖像的相鄰像素相關(guān)性,,在水平、垂直和對(duì)角線方向上分別從原始圖像和密文圖像中隨機(jī)選擇2 000對(duì)相鄰的像素點(diǎn),,并按照參考文獻(xiàn)[10]中公式計(jì)算相關(guān)性,,圖11、圖12分別是圖像加密前后3個(gè)方向(水平方向,、垂直方向,、對(duì)角線方向)的相鄰像素相關(guān)性。
表1為按3個(gè)方向計(jì)算所得的相關(guān)系數(shù)結(jié)果,。由結(jié)果可知,,原始明文圖像相鄰像素是高度相關(guān)的,相關(guān)系數(shù)接近于1,。而加密圖像的相鄰像素相關(guān)系數(shù)接近于0,,相鄰像素已基本不相關(guān),說明明文的統(tǒng)計(jì)特征已被擴(kuò)散到隨機(jī)的密文中,。
本文提出基于雙混沌映射的圖像加密方法,,充分利用混沌映射的性質(zhì)實(shí)現(xiàn)圖像的加密。相對(duì)于傳統(tǒng)的單一混沌映射,,密鑰空間選擇更廣,,提高了密鑰流的線性復(fù)雜度,很大程度上增強(qiáng)了圖像加密的效果,。實(shí)驗(yàn)及測(cè)試分析證明,,本方法簡(jiǎn)單易行、可靠性和安全性較好,。
參考文獻(xiàn):
[1] JAIN A K.著.數(shù)字圖像處理基礎(chǔ)[M].韓博,,等譯.北京:清華大學(xué)出版社,2006.
[2] 廖曉峰.混沌密碼學(xué)原理及其應(yīng)用[M].北京:科學(xué)出版社,,2009:232.
[3] MATTEWS R. On the derivation of a chaos encryptional algorithm[J]. Cryptologia,, 1989,13:29-42.
[4] 李國(guó)輝,,徐得名,,周世平.隨機(jī)性參數(shù)自適應(yīng)的混沌同步[J].物理學(xué)報(bào),2004,,53(2):379-382.
[5] 曹美君,,張宏.混沌理論在數(shù)據(jù)加密中的應(yīng)用[J].信息技術(shù),,2009(6):169-171.
[6] 鐘華.基于混沌技術(shù)的圖像加密研究[D].長(zhǎng)沙:長(zhǎng)沙理工大學(xué),,2006.
[7] HENON M. A two-dimensional mapping with strange attractor[J]. Communication in Mathematical Physics, 1978(50):69-70.
[8] CHEN G,, MAO Y. A symmetric image encryption scheme based on 3D chaotic cat maps[ J ]. Chaos,, Solitons and Fractals,, 2004(21):749-761.
[9] 馮明庫,薛迎宵.混沌吸引子隨機(jī)性的一種判別方法[J].計(jì)算機(jī)工程與應(yīng)用,,2007,,43(15):56-58.
[10] 蔡覺平,李贊,,宋文濤.一種混沌偽隨機(jī)序列復(fù)雜度分析法[J].物理學(xué)報(bào),,2003,52(8).