冉 維,韋鵬程,段 昂
(重慶第二師范學(xué)院 數(shù)學(xué)與信息工程系,重慶 400065)
圖像加密是防止圖像被截獲篡改的有效方法。混沌是非線性動(dòng)力學(xué)系統(tǒng)中的一種確定性的類隨機(jī)過(guò)程,與密碼學(xué)之間有著結(jié)構(gòu)上的相似性,非常適合用于圖像加密[1]。文獻(xiàn)[2]提出了一種多混沌圖像加密算法;文獻(xiàn)[3]提出了一種基于Logistic混沌系統(tǒng)的快速數(shù)字圖像加密算法,該法簡(jiǎn)單易行,加密與恢復(fù)效果良好;文獻(xiàn)[4]將Logistic混沌序列與Chebyshev混沌序列相結(jié)合,提出了一種基于復(fù)合混沌系統(tǒng)改進(jìn)的高級(jí)加密標(biāo)準(zhǔn)加密算法。這些基于混沌的圖像加密算法一般使用低維混沌映射作為加密的工具,雖然加密結(jié)構(gòu)簡(jiǎn)單便捷,但由于低維混沌系統(tǒng)參數(shù)和初始值個(gè)數(shù)少,密鑰空間較小,算法的安全性較低[5]。
DNA計(jì)算技術(shù)的飛速發(fā)展使其逐漸應(yīng)用到圖像加密中。例如文獻(xiàn)[6]使用置亂和擴(kuò)散技術(shù)結(jié)合DNA互補(bǔ)規(guī)則和混沌映射,提出了一種圖像加密算法;文獻(xiàn)[7]運(yùn)用DNA計(jì)算模型中的DNA剪切、轉(zhuǎn)換等操作對(duì)目標(biāo)圖像進(jìn)行加密處理;文獻(xiàn)[8]在離散小波域中基于DNA水印技術(shù)對(duì)DNA編碼序列進(jìn)行劃分,利用加密控制信息和分組方案對(duì)編碼序列進(jìn)行替換,完成圖像加密;文獻(xiàn)[9]利用DNA技術(shù)將目標(biāo)圖像編碼成DNA序列和超圖像格式,在DNA序列下完成替換,在超圖像格式下完成擴(kuò)散,實(shí)現(xiàn)目標(biāo)圖像的加密。
雖然基于DNA技術(shù)的加密算法有很多無(wú)法比擬的優(yōu)勢(shì),但單一使用DNA技術(shù)加密無(wú)法保證加密算法的安全性,將混沌理論與DNA技術(shù)相結(jié)合已成為DNA加密技術(shù)的研究熱點(diǎn)。文獻(xiàn)[10]融合二維混沌映射、DNA編碼和細(xì)胞自動(dòng)機(jī)模型,提出了一種圖像編碼算法;文獻(xiàn)[11]采用混沌映射索引和DNA互補(bǔ)編碼相結(jié)合的方法,提出了一種安全可靠的圖像加密技術(shù);文獻(xiàn)[12]以混沌序列為映射隨機(jī)編碼圖像信息,提出了一種真彩圖加密算法;文獻(xiàn)[13]提出了一個(gè)基于DNA、哈希算法SHA-2和Lorenz系統(tǒng)的圖像編碼算法。當(dāng)前基于DNA編碼技術(shù)與混沌理論的圖像加密算法對(duì)明文攻擊有較低的防御性,存在對(duì)明文和密鑰低敏感性的不足[14],同時(shí)圖像相鄰像素存在相關(guān)性,在加密算法中單一置換無(wú)法有效抵御統(tǒng)計(jì)攻擊。針對(duì)以上問(wèn)題,本文在借鑒前人研究成果的基礎(chǔ)上,提出了一種融合多混沌和DNA編碼技術(shù)的圖像加密算法。
Logistic映射是眾多一維混沌映射中的一種,它雖然實(shí)現(xiàn)簡(jiǎn)單但可以產(chǎn)生復(fù)雜的混沌狀態(tài),其定義如下
xn+1=L(μ,xn)=μxn(1-xn)μ∈(0,4],xn∈[0,1]
(1)
當(dāng)參數(shù)μ在[3.57,4]范圍內(nèi),系統(tǒng)處在混沌狀態(tài),如圖1(a)所示。但Logistic映射的lyapunov指數(shù)較小,混沌序列分布不均勻,比如當(dāng)μ=3.62、3.74或3.83時(shí),系統(tǒng)并沒(méi)有表現(xiàn)出混沌特性,如圖2(a)所示。正弦映射(Sine映射)與Logistic映射具有類似的混沌特性,其定義如下
xn+1=S(μ,xn)=μsin(πxn)/4
(2)

圖1 混沌序列分岔圖
正弦映射的分岔圖如圖1(b)所示,當(dāng)參數(shù)μ在[3.48,4]范圍內(nèi)時(shí)系統(tǒng)處于混沌狀態(tài)。而正弦映射和Logistic 映射一樣存在較小的lyapunov指數(shù)、序列分布不均勻等缺點(diǎn),如圖2(b)所示。Logistic-正弦映射具有較大的參數(shù)空間,當(dāng)參數(shù)μ在(0,4]范圍內(nèi)時(shí)系統(tǒng)處于混沌狀態(tài),其定義如下
xn+1= (L(μ,xn)+S((4-μ),xn))mod1=
(μxn(1-xn)+(4-μ)sin(πxn)/4)mod1
(3)

圖2 混沌序列分布圖
Logistic-正弦映射的分岔圖如圖1(c)所示。Logistic-正弦映射的混沌序列分布比較均勻,如圖2(c)所示。而且具有較大的lyapunov指數(shù)[15]。
由圖1和圖2可知,與Logistic映射和正弦映射相比,Logistic-正弦映射具有更大的參數(shù)空間,更加均勻的混沌序列分布和更大的lyapunov指數(shù),由于lyapunov指數(shù)越大,說(shuō)明混沌特性越明顯,混沌程度越高,因此更適合利用混沌狀態(tài)對(duì)圖像進(jìn)行加密。
Arnold映射也稱為貓映射,其是采用階數(shù)維的圖像矩陣將目標(biāo)圖像中的像素點(diǎn)(x,y)變換到(x′,y′)處,其變換矩陣如下

(4)
上式是單位正方形上的貓變換,當(dāng)擴(kuò)展到圖像大小為N×N上時(shí),變換矩陣如下

(5)
Arnold映射變換中,經(jīng)過(guò)一定次數(shù)的迭代后可使目標(biāo)圖像像素隨機(jī)均勻分布在置亂的圖像中,但Arnold映射變換具有周期性,被置亂的圖像可能會(huì)被迭代變換恢復(fù)。為了解決此問(wèn)題,可將經(jīng)Arnold映射變換后的圖像進(jìn)行替換和擴(kuò)散

(6)
經(jīng)過(guò)改進(jìn)后的變換矩陣不僅具有混沌映射的特性,還可在一定迭代次數(shù)后,任意相鄰的像素點(diǎn)可隨機(jī)分布在整個(gè)圖像空間中且不重疊,這可以大大提高圖像加密的抗統(tǒng)計(jì)性攻擊。
DNA是脫氧核糖核酸(deoxyribo nucleic acid,DNA)的簡(jiǎn)寫,代表著生物特征的遺傳信息,共有4種含氮堿基,分別是腺嘌呤(A)、鳥(niǎo)嘌呤(G)、胞嘧啶(C)和胸腺嘧啶(T)。DNA通過(guò)兩條單鏈DNA序列利用堿基互補(bǔ)配對(duì)通過(guò)氫鍵連接起來(lái)。其中,腺嘌呤(A)與胸腺嘧啶(T)配對(duì),鳥(niǎo)嘌呤(G)與胞嘧啶(C)配對(duì)。若用二進(jìn)制00,01,10,11表示A,C,G和T這4個(gè)堿基時(shí),共有4!=24種編碼方案,但是其中僅有8種符合堿基互補(bǔ)規(guī)則。見(jiàn)表1。

表1 DNA序列的8種編解碼
對(duì)于不同的編碼方案,對(duì)應(yīng)的加減運(yùn)算也是各異,本文定義如下DNA加減法:
根據(jù)表1中DNA序列的8種編解碼,本文定義了3種DNA序列的加減運(yùn)算方案,表2為第1種編碼方案與第3種編碼方案加減運(yùn)算,其運(yùn)算結(jié)果以第1種編碼表示,表3為第3種編碼方案與第1種編碼方案加減運(yùn)算,其運(yùn)算結(jié)果以第3種編碼表示,表4為第6種編碼方案與第3種編碼方案加減運(yùn)算,其運(yùn)算結(jié)果以第6種編碼表示。

表2 第1種編碼方案與第3種編碼方案加減運(yùn)算(結(jié)果以第1種編碼表示)

表3 第3種編碼方案與第1種編碼方案加減運(yùn)算(結(jié)果以第3種編碼表示)

表4 第6種編碼方案與第3種編碼方案加減運(yùn)算(結(jié)果以第6種編碼表示)
結(jié)合Logistic-正弦映射、Arnold映射和DNA編碼技術(shù)的優(yōu)點(diǎn),文章提出了一種融合多混沌映射和DNA編碼技術(shù)的圖像加密算法,算法流程如下:
步驟1 初始化變量p=q=2,Arnold置亂變換迭代次數(shù)Na=90,Logistic-正弦映射初值x0=0.5,μ=4;
步驟2 將M×N目標(biāo)圖像轉(zhuǎn)化成R、G、B這3個(gè)M×N大小的二維顏色分量矩陣,通過(guò)補(bǔ)零方式將3個(gè)顏色分量矩陣組成大小N1×N1的方陣;
步驟3 利用式(6)對(duì)大小N1×N1的3個(gè)顏色分量矩陣進(jìn)行置亂,將置亂后的R、G、B這3個(gè)矩陣轉(zhuǎn)化成大小為N1×8N1二進(jìn)制矩陣;
步驟4 按照第1種、3種和第6種編碼方案對(duì)R、G、B二進(jìn)制矩陣進(jìn)行DNA編碼,得到大小為N1×4N1的R1、G1、B1;
步驟5 根據(jù)設(shè)定的初值,迭代Logistic-正弦映射300次去除暫態(tài)效應(yīng),繼續(xù)迭代Logistic-正弦映射N1×N1次,獲得N1×N1混沌序列ω,利用式(7)對(duì)混沌序列整數(shù)化處理,將處理后的Logistic-正弦混沌整數(shù)序列進(jìn)行DNA編碼
w(i,j)=mod(floor(ω*power(10,5)),256)
(7)
步驟6 按照式(8)替換R、G、B這3個(gè)平面中堿基,得到被替換的顏色矩陣
(8)
步驟7 對(duì)置亂替換后的R2、G2、B2分別按照第4種、2種和第7種編碼方案進(jìn)行DNA編碼,得到3個(gè)大小N1×N1的R3、G3、B3矩陣;
步驟8 將R3、G3、B3合成中間密文,對(duì)其求和得到和值,利用和值對(duì)所獲得的中間密文按位異或,最終得到加密圖像。
解密是加密的逆過(guò)程,按照以上反操作即可,需要注意的是在解密算法中,按照B、G、R的順序恢復(fù),其中步驟6中進(jìn)行的是DNA減法運(yùn)算。圖像加密的流程如圖3所示。

圖3 圖像加密的簡(jiǎn)要流程
本文算法改進(jìn)后的Arnold變換矩陣置亂,使顏色分量中的任意相鄰像素點(diǎn)隨機(jī)分布在整個(gè)圖像空間中,利用Logistic-正弦映射通過(guò)多次迭代產(chǎn)生混沌序列進(jìn)行DNA編碼,用于作用于R、G、B這3個(gè)顏色分量平面。文中算法的重點(diǎn)在于將以第1種DNA編碼的R顏色分量與第3種DNA編碼方案編碼的Logistic-正弦映射序列進(jìn)行DNA加運(yùn)算,得到以第1種編碼方案編碼的R2分量,將以第3種DNA編碼的G顏色分量與經(jīng)置亂替換后的R2分量進(jìn)行DNA加運(yùn)算,得到以第1種編碼方案編碼的G2分量,以第6種DNA編碼的B顏色分量與經(jīng)置亂替換后的G2分量進(jìn)行DNA加運(yùn)算,得到第1種編碼方案編碼的B2分量。不同顏色平面采用不同DNA編碼方案,大大加大了破譯難度,同時(shí)將Logistic-正弦映射產(chǎn)生的混沌序列混入R顏色分量平面,并以此結(jié)果相DNA加,依次產(chǎn)生置亂替換后的3個(gè)顏色平面,這樣置亂替換后的像素不僅與Logistic-正弦映射混沌序列相關(guān),還影響不同顏色平面的像素,解決目標(biāo)圖像相鄰像素點(diǎn)的相關(guān)性,增強(qiáng)了抗統(tǒng)計(jì)攻擊的能力。
本文在實(shí)驗(yàn)環(huán)境為Intel(R) Core(TM) i5-2520M CPU @2.5 GHz、4 G RAM,Win7 32位操作系統(tǒng)。使用的仿真軟件為Matlab R2013a。測(cè)試圖像為512×512的Lena圖像。參數(shù)設(shè)置為Arnold置亂變換迭代次數(shù)Na=90,p=q=2,Logistic-正弦映射初值x0=0.5,μ=4,加密前后結(jié)果如圖4所示。

圖4 Lena圖像加密前后結(jié)果對(duì)比
通過(guò)圖4結(jié)果對(duì)比可以看出,加密后的Lena圖像完全掩蓋了明文信息,與原圖毫不相關(guān),而解密結(jié)果則完全呈現(xiàn)了原圖的信息,說(shuō)明本算法加密效果良好。
為了破壞目標(biāo)圖像像素間的相關(guān)性,本文利用改進(jìn)后的Arnold變換矩陣置亂顏色分量矩陣,使顏色分量中的任意相鄰像素點(diǎn)隨機(jī)分布在整個(gè)圖像空間中。為了驗(yàn)證本算法對(duì)相鄰像素的置亂效果,從原始和加密圖像的垂直、水平和對(duì)角3個(gè)方向上隨機(jī)選擇2500對(duì)相鄰像素,計(jì)算相鄰像素相關(guān)系數(shù)
(9)
(10)
(11)
(12)
表5、表6、表7分別為加密前后圖像R、G、B在3個(gè)方向上的像素相關(guān)性。

表5 目標(biāo)圖像垂直像素相關(guān)性

表6 目標(biāo)圖像水平像素相關(guān)性

表7 目標(biāo)圖像對(duì)角像素相關(guān)性
相關(guān)性系數(shù)越接近于0,說(shuō)明相鄰像素的相關(guān)性越不明顯,加密圖像越難被破解,從上表可以看出本文加密算法加密后的圖像的R、G、B這3個(gè)顏色分量平面的相關(guān)系數(shù)比其它3種算法都小,更接近于0,說(shuō)明本算法的置亂效果顯著,置亂替換后的加密圖像相鄰像素間的相關(guān)性很低。
選取R、G、B這3個(gè)顏色分量平面B平面3個(gè)方向上相鄰像素灰度值,繪制像素相關(guān)性分布圖,將本文算法與文獻(xiàn)[17]進(jìn)行對(duì)比,結(jié)果如圖5所示。

圖5 B平面像素相關(guān)性分布圖對(duì)比
從上圖可以看出,未加密前原Lena圖B分量平面上3個(gè)方向的像素相關(guān)性明顯,經(jīng)過(guò)置亂替換加密后,本文加密圖像B分量平面上3個(gè)方向的像素變得雜亂無(wú)章,相對(duì)比文獻(xiàn)[17]算法,本算法加密后的圖像的像素分散性更加均勻。
信息熵可理解成某種特定信息出現(xiàn)的概率。圖像灰度值均勻度與信息熵成正比
(13)
式中:p(xi)表示圖像中灰度值為xi的概率,對(duì)于一幅灰度值256的圖像,當(dāng)所有灰度值等概率出現(xiàn)時(shí),信息熵最大為8,側(cè)面說(shuō)明此時(shí)像素等概率出現(xiàn),抗統(tǒng)計(jì)性攻擊的能力越強(qiáng)。
通過(guò)表8對(duì)比原文信息熵與4種算法加密后的圖像信息熵可知,4種算法加密后信息熵都有一定的提高,與其它3種算法相比,本算法加密后圖像的信息熵更接近于8,說(shuō)明本文算法能更好的抵御統(tǒng)計(jì)攻擊。

表8 信息熵對(duì)比
差分攻擊是通過(guò)分析特定明文差分來(lái)盡可能獲得密鑰。算法對(duì)明文越敏感抗差分攻擊能力越強(qiáng)。文章用像素?cái)?shù)改變率NPCR(numberof pixels change rate)和歸一化像素值平均改變強(qiáng)度UACI(unified average changing intensity)定量分析抗差分攻擊,計(jì)算公式如下
(14)
(15)
式中:M、N分別表示圖像的行列數(shù),C1(i,j)、C2(i,j)表示明文在僅改變一個(gè)像素值情況下兩幅密文圖像。


表9 各算法明文敏感性對(duì)比
本文改變明文圖像G顏色分量平面內(nèi)的一個(gè)像素值,計(jì)算各算法的NPCR和UACI值,通過(guò)對(duì)比我們可以看出,本文的NPCR和UACI值普遍高于其它3種算法,這是由于本文利用中間密文和值進(jìn)行擴(kuò)散,任何像素值變化都會(huì)引起中間密文和值變化,再通過(guò)和值按位異或其它像素,就會(huì)影響其它像素。說(shuō)明本文加密算法的擴(kuò)散效果更優(yōu),更能抵御差分攻擊。
好的加密算法不僅要對(duì)明文敏感,還要對(duì)密鑰敏感。Arnold映射變換迭代次數(shù)和Logistic-正弦映射初始參數(shù)均可以作為密鑰。為了驗(yàn)證本文加密算法對(duì)密鑰的敏感性,在解密過(guò)程中,分別將Logistic-正弦映射初值x0增加0.00001和Arnold映射變換迭代次數(shù)減少1次,利用修改后的參數(shù)解密密文,結(jié)果如圖6所示。

圖6 密鑰錯(cuò)誤解密結(jié)果
圖6結(jié)果顯示,當(dāng)Logistic-正弦映射初值x0和Arnold映射變換迭代次數(shù)不正確時(shí),都無(wú)法還原密文,說(shuō)明本算法對(duì)密鑰具有較強(qiáng)的敏感性。
健壯的加解密算法可應(yīng)對(duì)密文的殘缺與噪聲。本算法對(duì)密文噪聲的魯棒性進(jìn)行了測(cè)試。將高斯噪聲(均值0,方差0.05)混入加密后的密文中,測(cè)試各加密算法的抗噪能力,圖7為各個(gè)算法抗高斯噪聲的能力對(duì)比。

圖7 各算法抗噪聲能力對(duì)比
圖7(b)~圖7(e)分別為文獻(xiàn)[1,16,17]和本文加密算法對(duì)含高斯噪聲密文的解密結(jié)果,文獻(xiàn)[1,16]的解密圖像幾乎沒(méi)有還原原圖的信息,文獻(xiàn)[17]雖然大體上解密了原圖的大體輪廓,但解密圖像有含有較多噪聲,而本文算法的解密結(jié)果不僅能大致上解密密文,解密圖像中噪聲污染較輕,說(shuō)明本文加密算法具有較好的抗噪能力。
本文在借鑒前人研究成果的基礎(chǔ)上,提出了一種圖像加密算法。算法首先利用改進(jìn)的Arnold變換矩陣置亂目標(biāo)圖像,使任意相鄰的像素點(diǎn)隨機(jī)分布在整個(gè)圖像空間中,然后對(duì)明文圖像進(jìn)行DNA編碼,利用Logistic-正弦映射產(chǎn)生更均勻、更大lyapunov指數(shù)的混沌序列,將其DNA編碼后作用于目標(biāo)圖像的R、G、B這3個(gè)平面,利用依次DNA相加,差異化DNA編碼的形式,置亂替換圖像空間像素點(diǎn),以此增大破譯難度,解決目標(biāo)圖像相鄰像素點(diǎn)的相關(guān)性,增強(qiáng)了抗統(tǒng)計(jì)攻擊的能力。