《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 基于雙混沌映射的圖像加密算法
基于雙混沌映射的圖像加密算法
來(lái)源:微型機(jī)與應(yīng)用2010年第23期
唐立法,周健勇
(上海理工大學(xué) 管理學(xué)院,上海 200093)
摘要: 提出了一種基于Logistic和Henon混沌映射的圖像加密方法。首先利用Logistic混沌動(dòng)力學(xué)系統(tǒng)產(chǎn)生的混沌序列,通過(guò)動(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)的安全性。
Abstract:
Key words :

摘  要: 提出了一種基于Logistic和Henon混沌映射圖像加密方法。首先利用Logistic混沌動(dòng)力學(xué)系統(tǒng)產(chǎn)生的混沌序列,通過(guò)動(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?、生產(chǎn)中接觸最多的信息種類之一[1]。隨著數(shù)字圖像在商業(yè)、軍事等不同程度的保密領(lǐng)域內(nèi)的普及,其安全性研究得到了廣泛的關(guān)注[2]。由于圖像存儲(chǔ)的特殊性,在傳統(tǒng)的密碼學(xué)領(lǐng)域并沒(méi)有單獨(dú)將圖像作為一種特殊的明文形式來(lái)考慮其加密特性。雖然利用傳統(tǒng)的加密技術(shù)對(duì)圖像加密是可實(shí)現(xiàn)的,但其加密效率低、安全性不高,不能適應(yīng)圖像加密的需要,因此專用的圖像加密技術(shù)被廣泛關(guān)注。近年來(lái)混沌理論的應(yīng)用研究引起了密碼學(xué)界的關(guān)注,由于混沌遍歷性正符合Shannon提出的密碼系統(tǒng)設(shè)計(jì)的擴(kuò)散混淆等基本原則,使混沌理論在圖像加密中得到廣泛應(yīng)用[3-5]。本文提出一種基于Logistic和Henon雙混沌的圖像加密算法,并通過(guò)實(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ì)于相差的初始值,方程迭代出來(lái)的軌跡差別相差很明顯,一般情況下,很難從一段有限長(zhǎng)度的序列來(lái)推斷出混沌系統(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)來(lái)構(gòu)造加密矩陣實(shí)現(xiàn)對(duì)圖像加密。首先對(duì)Logistic混沌系統(tǒng)產(chǎn)生的序列通過(guò)一種動(dòng)態(tài)量化得到置換矩陣的隨機(jī)數(shù),對(duì)圖像的像素位置置亂;再通過(guò)Henon混沌系統(tǒng)的映射,利用整數(shù)求余的量化方法來(lái)得到“異或”加密的隨機(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ī)全排列生成算法來(lái)生成置換加密中所需的全排列。所謂全排列即是將M個(gè)不同元素按照一定的順序排列起來(lái),稱為這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)行迭代來(lái)產(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)過(guò)判決所在的位置構(gòu)成序列為Pn={p1,p2,…,pn},其中Pi=j,即每一個(gè)xi都和一個(gè)xpi相對(duì)應(yīng),可進(jìn)行兩個(gè)位置元素交換,然后再重新判決,通過(guò)這樣的量化即可得到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)行一次全變換來(lái)增強(qiáng)隨機(jī)性,方法同步驟(2),即將兩個(gè)對(duì)應(yīng)位置元素A[Pi]同A[Ppi]的交換。這里全變換的次數(shù)可以自行設(shè)定,但考慮系統(tǒng)運(yùn)行的速度,全變換輪數(shù)r不宜過(guò)大,一般不超過(guò)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)過(guò)列置換后為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)算,在解密算法中,置換矩陣是加密算法中置換矩陣的逆置換,“異或”矩陣與加密中的“異或”矩陣相同,只是在解密過(guò)程中要先進(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為正確密鑰解密所得圖像,通過(guò)比較可知,與原圖的像素值完全相同,表明該算法沒(méi)有信息的丟失。當(dāng)密鑰中的x0=0.079 897 522 926 300 6、其他密鑰參數(shù)不變時(shí),解密所得圖像如圖6所示。可見(jiàn)即使使用與正確密鑰差值微小錯(cuò)誤的密鑰進(jìn)行解密,得到的仍是與原圖像差別很大的錯(cuò)誤圖像,即說(shuō)明本文所用算法對(duì)密鑰具有高度的敏感性。

3.3 圖像剪裁測(cè)試
    從解密后的圖像中,剪裁掉右上角25%大小后的圖像如圖7所示,剪裁掉中間一個(gè)大小為100×100后的圖像如圖9所示。經(jīng)解密后的圖像分別如圖8、圖10所示??梢钥闯?,對(duì)密文進(jìn)行剪裁干擾后進(jìn)行恢復(fù),恢復(fù)后的圖像也能很清楚地反映原始圖像的一些特征,而且密文集中剪裁出的點(diǎn)都分散到原圖像的不同位置,說(shuō)明對(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),說(shuō)明明文的統(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] 馮明庫(kù),薛迎宵.混沌吸引子隨機(jī)性的一種判別方法[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(15):56-58.
[10] 蔡覺(jué)平,李贊,宋文濤.一種混沌偽隨機(jī)序列復(fù)雜度分析法[J].物理學(xué)報(bào),2003,52(8).

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。