陳秋瓊 張安清 林洪文 牛治永
(海軍大連艦艇學(xué)院信息作戰(zhàn)系 大連 116011)
隨著網(wǎng)絡(luò)通信、云計算等技術(shù)的高速發(fā)展,數(shù)字圖像信息的安全傳輸成為亟須解決的重要問題,數(shù)字圖像加密技術(shù)是目前最為有效的方法之一。由于混沌系統(tǒng)具有不可預(yù)測性、偽隨機性、對初始條件的極度敏感性等特征,許多學(xué)者提出了基于混沌的數(shù)字圖像加密算法[1~8]。然而,現(xiàn)有的混沌圖像加密算法大多基于整數(shù)階混沌系統(tǒng)。研究表明,分?jǐn)?shù)階混沌動力學(xué)系統(tǒng)除具有除整數(shù)階混沌系統(tǒng)的特性外,還具有很強的記憶性,可反映系統(tǒng)歷史信息。此外,可通過非線性預(yù)測、神經(jīng)網(wǎng)絡(luò)和回歸映射等方法重構(gòu)整數(shù)階混沌系統(tǒng),但無法實現(xiàn)分?jǐn)?shù)階系統(tǒng)的重構(gòu)。因此,基于分?jǐn)?shù)階混沌的數(shù)字圖像加密算法極具研究意義。
1994年,Adleman首次提出DNA(deoxyribonu?cleic acid)計算思想,開辟了信息時代的新紀(jì)元。后續(xù)研究證明,DNA計算具有低功耗、大存儲量、高信息密度等優(yōu)點,能夠很好地解決圖像信息的安全問題,為數(shù)字圖像加密開拓了新的研究方向。近年來,國內(nèi)外學(xué)者提出了將混沌理論與DNA編碼相結(jié)合的數(shù)字圖像加密算法。其中,Wang等[10]利用DNA編碼將圖像分為4個子圖像塊,利用Logis?tic映射產(chǎn)生的混沌序列分別對其置亂加密,但是該算法密鑰空間小,無法抵御窮舉攻擊。Xue等[11]提出基于多混沌映射與DNA序列相融合的加密算法,利用DNA編碼與Logistic映射、Cubic映射相融合加密數(shù)字圖像,但是加密后的密文圖像安全性低,相鄰像素相關(guān)性高,實現(xiàn)過程復(fù)雜。Liu等[12]提出利用混沌系統(tǒng)和DNA互補規(guī)則對圖像進(jìn)行加密,同樣存在密鑰空間小、像素相關(guān)性低、抗攻擊能力弱等問題。魏廣政等[13]提出一種改進(jìn)的基于DNA編碼和混沌映射的圖像加密方法,分別對明文圖像和Logistic映射產(chǎn)生的混沌序列進(jìn)行DNA編碼,利用DNA加法法則進(jìn)行加密,但該算法的安全性完全依賴于混沌映射,與明文圖像沒有任何關(guān)系,因此可以通過選擇明文攻擊的方法破譯[14]。
基于上述分析,本文提出一種基于分?jǐn)?shù)階混沌系統(tǒng)與DNA計算相融合的數(shù)字圖像加密方案。該方案采用置亂和擴散技術(shù),利用改進(jìn)的Logistic混沌映射和一種新的分?jǐn)?shù)階混沌系統(tǒng),結(jié)合DNA編碼規(guī)則對彩色圖像進(jìn)行加密。本文算法密鑰空間大、相鄰像素相關(guān)性弱、安全性能高,能有效抵抗各種攻擊。
Logistic映射表達(dá)式為
式中,xn∈[0,1],μ∈[0,4]為系統(tǒng)參數(shù)。Logistic映射因其動力學(xué)行為復(fù)雜、結(jié)構(gòu)簡單而得到廣泛的應(yīng)用,但其映射范圍較小,僅當(dāng)μ=4時,在區(qū)間[0,1]上呈現(xiàn)滿映射狀態(tài),有較強的混沌特性[15]。如果混沌映射范圍較小,數(shù)字量化的過程中各迭代值之間更相近,容易出現(xiàn)動力學(xué)行為退化、周期短的現(xiàn)象。為了改善Logistic映射的動力學(xué)特性,文獻(xiàn)[15]提出一種改進(jìn)的形式,即Logistic-Logistic系統(tǒng)級聯(lián),其動力學(xué)方程如下:
式中,xn∈[0,1],μ1,μ1∈[0,4]。圖1(a)、(b)分別為Logistic映射和級聯(lián)系統(tǒng)的分岔圖,圖2給出了級聯(lián)系統(tǒng)的Lyapunov指數(shù)譜。從圖1(a)、(b)可以看出,級聯(lián)系統(tǒng)的混沌映射參數(shù)范圍約擴展為[1.53,4],是Logistic混沌映射參數(shù)范圍的5.86倍。因此,Logistic-Logistic級聯(lián)系統(tǒng)可以提供較大的密鑰空間,增強破譯難度。其次,級聯(lián)系統(tǒng)的混沌滿映射范圍擴展為1.7,而Logistic映射只有在μ=4時才是滿映射。其三,級聯(lián)混沌系統(tǒng)的Lyapunov指數(shù)成倍提高,從而增加了系統(tǒng)對初始值的敏感性。
圖1 Logistic映射和級聯(lián)系統(tǒng)的分叉圖
綜上,Logistic-Logistic級聯(lián)混沌系統(tǒng)明顯改善了系統(tǒng)的動力學(xué)特性,可以產(chǎn)生隨機性良好、安全性較高的混沌偽隨機序列,因此適合用于信息加密或混沌保密通信。
分?jǐn)?shù)階Qi系統(tǒng)[16]的動力學(xué)方程為
其中,(a,b,c)T是系統(tǒng)的控制參數(shù)向量,(x,y,z)T是系統(tǒng)的狀態(tài)向量。當(dāng)系統(tǒng)的階次q1、q2、q3∈[0.91,1],且(a,b,c)=(35,8/3,80)時,該分?jǐn)?shù)階系統(tǒng)是混沌系統(tǒng)。圖2給出了分?jǐn)?shù)階Qi系統(tǒng)的初始變量(x0,y0,z0)=(0.21,0.2,0.011)下的混沌吸引子圖。
圖2 分?jǐn)?shù)階Qi混沌系統(tǒng)的相軌跡圖
2.3.1 DNA編解碼
一個DNA序列是由腺嘌呤(A)、胞嘧啶(T)、胸腺嘧啶(C)和鳥嘌呤四個不同的核酸基組成,其中A與T、C與G形成堿基互補對。二進(jìn)制中1和0互補,故11和00,10和01也分別互補。因此,如果用A、T、C、G分別表示二進(jìn)制數(shù)11、00、10和01,則可以得到24種編碼方案,其中僅有8種滿足Wat?son-Crick規(guī)則,即堿基互補規(guī)則,如表1。
表1 滿足Watson-Crick規(guī)則的8種DNA編碼
一副彩色圖像由R、G、B三個通道組成,每個通道的像素值可表示為一個8位二進(jìn)制序列,其中每兩位用一個DNA堿基表示,則8位二進(jìn)制像素值可用一個長度為4的DNA序列表示。例如,某個單通道的像素值為108,其8位二進(jìn)制序列為01101100,當(dāng)它通過表1中的DNA編碼規(guī)則2進(jìn)行編碼以后,得到的DNA序列為CGTA。解碼時利用同一種規(guī)則即可恢復(fù)原始二進(jìn)制像素值。但如果采用表1中的其它編碼規(guī)則,例如編碼規(guī)則5,則得到二進(jìn)制序列00111001。顯然,它屬于DNA編解碼中一種簡單的加密方法。
2.3.2 DNA加減法運算
DNA序列加減法運算的理論依據(jù)為二進(jìn)制序列的加減法運算法則。8種DNA編碼方法分別對應(yīng)8種DNA加法運算和減法運算。表2和表3給出了編碼規(guī)則3對應(yīng)的加法和減法運算法則。從表中可以看出,DNA序列的運算結(jié)果有且僅有一個。
表2 DNA編碼規(guī)則3的加法法則
表3 DNA編碼規(guī)則3的減法法則
圖像加密流程圖如圖3所示。
圖像加密算法具體過程如下。
步驟一 讀入大小為M×N的三維彩色圖像,分離R、G、B三基色,形成三個單一的灰度圖像矩陣R1、G1、B1。
步驟二 分別將灰度圖像矩陣R1、G1、B1的十進(jìn)制灰度值轉(zhuǎn)換為M×N×8的二進(jìn)制序列。同時,隨機生成整數(shù)r1∈[1,8],根據(jù)表1中與r1對應(yīng)的DNA編碼規(guī)則,將三個二進(jìn)制灰度矩陣轉(zhuǎn)換為三個大小為M×N×4的DNA編碼矩陣。
步驟三 利用改進(jìn)的Logistic方程(2),設(shè)置3組初始值密鑰x0及混沌狀態(tài)下的參數(shù)μ1,μ2分別生成3個混沌序列。將所生成的混沌序列按升序重新排列成三個有序序列,得到3個不同的置亂地址集合。
步驟四 利用步驟三所產(chǎn)生的置亂地址集合,分別對三個DNA編碼矩陣進(jìn)行灰度值置亂操作,記為R2、G2、B2。
步驟五 給定分?jǐn)?shù)階混沌系統(tǒng)(3)的三個不同初始值(x0,y0,z0),設(shè)置混沌系統(tǒng)的控制參數(shù)(a,b,c)和分?jǐn)?shù)階次(q1、q2、q3),迭代若干次后分別產(chǎn)生3個長度為M×N的混沌序列矩陣,并作離散化處理,使混沌序列所有值均在0~255之間,記為S1、S2、S3。
步驟六 將S1、S2、S3中的每一個數(shù)值轉(zhuǎn)換為8位二進(jìn)制序列。同時,根據(jù)r1轉(zhuǎn)換成3個DNA編碼序列。
步驟七 將步驟六得到的分?jǐn)?shù)階混沌DNA編碼矩陣,與置亂后的DNA編碼圖像R2、G2、B2進(jìn)行DNA序列加法運算,得到R3、G3、B3。
步驟八 隨機生成整數(shù)r3∈[1,8],由r3對應(yīng)的編碼規(guī)則確定R3、G3、B3的DNA解碼,得到三個二值矩陣,合并R、G、B三個通道,得到彩色加密圖像E(M,N,3)。
解密過程是加密過程的逆運算,確定與加密過程相同的密鑰,即可恢復(fù)原始圖像。
選取大小為256×256×3的Lena標(biāo)準(zhǔn)彩色圖像進(jìn)行測試,如圖3(a)所示。Logistic-Logistic級聯(lián)系統(tǒng)(2)的控制參數(shù)和初始變量分別為μ1=4,μ2=0.7,x01=0.1003,x02=0.2403,x03=0.5001。分?jǐn)?shù)階 Qi系統(tǒng)(3)的控制參數(shù)為a=35,b=8/3,c=80;初始變量設(shè)定為 x0′=2.421150004000001,y0′=-3.560590000301,z0′=2.478340005001;分 數(shù) 階 次 選 取 :q1=0.98001000031, q2=0.9722104005001, q3=0.9920300110001。DNA編碼規(guī)則的編號r1、r2隨機生成。本文算法以(μ1,μ2、x01、x01、x01、x0′、y0′、z0′、q1、q2、q3、r1、r2)作為密鑰。仿真后的密文圖像如圖 3(b)所示。由圖3(b)可知,加密后的密文圖像雜亂無章,完全不同于明文圖像。圖3(c)為正確解密后的圖像,與原始明文圖像完全相同。
圖3 算法中的明文、密文及正確解密的圖像
4.2.1 密鑰安全性分析
本文算法密鑰為μ1、μ2、x0、x0′、y0′、z0′、q1、q2、q3、r1、r2和r3。如果以計算精度為1015作估計,密鑰空間至少可以達(dá)到(1015)12=10180,由此可見,本文算法密鑰空間足夠大,能夠較好地抵抗窮舉攻擊。此外,如果對算法密鑰作微小的改變,例如將初始變量x0′修改為2.421150004000002,其它參數(shù)不變,運用本文算法得到的解密圖像仍然雜亂無序,不包含任何明文圖像信息,如圖4(a)所示。又如,分?jǐn)?shù)階次q1作輕微擾動,令q1=0.98001000030002,其它密鑰不變,解密圖像如圖4(b)所示,仍然得不到正確的明文圖像。因此,本文提出的算法具有極強的密鑰敏感性。
圖4 錯誤解密的圖像
4.2.2 灰度直方圖分析
圖5所示為明文圖像的R、G、B分量直方圖;圖6為密文圖像的R、G、B分量直方圖。從圖5和圖6可以看出,密文圖像的灰度直方圖趨于均勻化分布,完全不同于明文圖像的分布規(guī)律,這表明密文圖像的像素灰度值在區(qū)間范圍內(nèi)取值概率是均等的,從而驗證了本文算法具有良好的擾亂性和統(tǒng)計特性,達(dá)到擴散和混亂的目的。
圖5 明文灰度直方圖分析
圖6 密文灰度直方圖
4.2.3 差分攻擊
分別通過像素變化率(NPCR)和歸一化平均變化強度(UACI)[13]來判斷本文算法的抗差分攻擊能力。其中,NPCR表示對明文圖像某一像素作微小改變,密文圖像所改變的像素數(shù)占總像素值的比例。UACI表示明文圖形和密文圖像對應(yīng)像素點平均強度的變化率,式(5)和式(6)分別為NPCR和UACI的計算公式。
其中,J1(i,j)和J2(i,j)表示只有一個像素之差的兩個密文圖像 J1、J2在(i,j)處的像素值,定義矩陣 D是一個和J1、J2同樣大小的二值矩陣,若J1(i,j)=J2(i,j),則 D(i,j)=1;否則,D(i,j)=0。
改變明文圖像的B層第一個像素值,由式(5)和(6)可以計算:NPCR=94.28%,UACI=34.27%。對于一個理想的加密算法,像素變化率應(yīng)足夠大,而歸一化平均變化強度應(yīng)盡可能小。而針對上面所求NPCR和UACI的結(jié)果可知,明文圖像改變一位像素值,可以引起密文圖像幾乎完全改變,所以本文加密算法的抗差分攻擊能力強。
4.2.4 相鄰像素點的相關(guān)性分析
相鄰像素點的相關(guān)性越小,表明其抵御攻擊能力越強。為了測試算法的抗攻擊能力,分別從明文圖像和密文圖像中隨機選取3000對像素點,按照式(7)~(10)計算兩相鄰像素點的相關(guān)性,相關(guān)系數(shù)rxy結(jié)果如表1所示。
表2 明文和密文中兩相鄰像素點之間的相關(guān)系數(shù)
由表2可知,明文圖像在各個方向上的相關(guān)度趨于1,表明相鄰像素點密切相關(guān);而密文圖像的相關(guān)度幾乎接近0,鄰近像素點間幾乎不相關(guān)。這表明明文圖像的統(tǒng)計特性已被擴散到密文圖像當(dāng)中,從而驗證了加密算法良好的擴散特性。
基于分?jǐn)?shù)階混沌系統(tǒng)和DNA編碼技術(shù),本文提出一種新的圖像加密算法。首先利用級聯(lián)混沌系統(tǒng)產(chǎn)生的混沌系列置亂彩色圖像;然后利用分?jǐn)?shù)階混沌系統(tǒng)和DNA運算法則對置亂圖像進(jìn)行像素的混亂和擴散,得到密文圖像。算法仿真結(jié)果表明,該算法不僅與密鑰相關(guān),且與明文圖像相關(guān),因而隨機特性大大增加,且可以抵御各種攻擊。因此,本文算法具有很高的安全性,適合于彩色圖像的安全實時傳輸。