郝 晉,王 偉,李 慶 宇,曹 穎 鴻
(1.大連工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 大連 116034;2.大連工業(yè)大學(xué) 機(jī)械工程與自動化學(xué)院,遼寧 大連 116034;3.陸裝沈陽軍代局駐大連地區(qū)軍代室,遼寧 大連 116033)
隨著網(wǎng)絡(luò)和通信技術(shù)的飛速發(fā)展,數(shù)據(jù)的傳輸方式產(chǎn)生了巨大的改變,對數(shù)據(jù)傳輸安全的要求越來越高。然而,由于數(shù)字圖像本身具有的信息量大、相鄰像素點(diǎn)間相關(guān)性高的特點(diǎn),使得常用的加密方法并不能完全滿足數(shù)字圖像的加密要求。因此,針對數(shù)字圖像加密算法的研究成為研究熱點(diǎn)。由于混沌系統(tǒng)是特定系統(tǒng)中的隨機(jī)或不確定運(yùn)動,具有許多獨(dú)特的特性,如遍歷性、內(nèi)在的隨機(jī)性和對初值的敏感性[1-2],使得混沌系統(tǒng)在圖像加密算法的設(shè)計(jì)中具有廣泛的應(yīng)用前景[3-6]。
與整數(shù)階混沌系統(tǒng)相比,分?jǐn)?shù)階系統(tǒng)能更準(zhǔn)確地反映自然現(xiàn)象,這使得分?jǐn)?shù)階混沌系統(tǒng)得到了廣泛的研究。與傳統(tǒng)的分?jǐn)?shù)階系統(tǒng)求解算法相比,Adomian分解法具有收斂速度快、資源消耗少、計(jì)算速度快等優(yōu)點(diǎn),被廣泛應(yīng)用于分?jǐn)?shù)階混沌系統(tǒng)的求解。目前,有很多基于ADM算法的分?jǐn)?shù)階系統(tǒng)的研究與應(yīng)用。Yang等[2]研究了分?jǐn)?shù)階4D憶阻超混沌電路的動力學(xué)特性,并將其應(yīng)用于圖像加密。Zhang等[7]分析了分?jǐn)?shù)階混沌系統(tǒng)的同步和自適應(yīng)問題。Ayub等[8]研究了分?jǐn)?shù)階反饋控制的動力學(xué)問題。Manoj等[9]分析了分?jǐn)?shù)階的動態(tài)特性,并將其應(yīng)用于圖像加密。本研究提出了一種三維分?jǐn)?shù)階簡化統(tǒng)一系統(tǒng),并對其分?jǐn)?shù)階系統(tǒng)動力學(xué)特性進(jìn)行了分析。
目前,基于混沌系統(tǒng)已經(jīng)提出了多種圖像加密算法。文獻(xiàn)[10-11]提出了基于離散混沌系統(tǒng)圖像加密算法,文獻(xiàn)[12-14]采用超混沌系統(tǒng)圖像加密算法。為了提高圖像加密算法的安全性能,在圖像加密過程中加入了DNA序列編碼。文獻(xiàn)[15-16]提出了一種新的基于混沌系統(tǒng)和DNA操作的圖像加密算法。文獻(xiàn)[4,17]提出了一種基于DAN計(jì)算和混沌系統(tǒng)的新型圖像加密算法。本研究將DNA突變理論引入到加密算法中,以期進(jìn)一步提高圖像加密算法的安全性,降低密文圖像與明文圖像相關(guān)性。
DNA序列由腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)、鳥嘌呤(G)4種核酸堿基組成,其中A和T是互補(bǔ)的,C和G是互補(bǔ)的。在當(dāng)前DNA編碼理論中,所有的信息都由這4種核苷酸表示。根據(jù)計(jì)算機(jī)二進(jìn)制0和1的互補(bǔ)規(guī)則,00和11是互補(bǔ)的,01和10是互補(bǔ)的。因此,在編碼過程中將DNA堿基A、T、C、G分別編碼為00、01、10、11。顯然,編碼規(guī)則有4!=24種,但只有8種編碼方式滿足Watson-Crick互補(bǔ)規(guī)則,如表1所示。在傳統(tǒng)二進(jìn)制加減法的基礎(chǔ)上,可得DNA的加減法。因此,根據(jù)8種DNA編碼規(guī)則,存在相應(yīng)的8種DNA加減法規(guī)則。例如,在DNA編碼規(guī)則1的基礎(chǔ)上,DNA加法規(guī)則1和減法規(guī)則1如表2所示。
表1 DNA編碼法則Tab.1 The law of DNA encoding
表2 DNA加減法則表Tab.2 Addition and subtraction rules of DNA
在DNA序列形成過程中,按照A與T、C與G配對。同時(shí)當(dāng)L(xi)為xi的互補(bǔ)對時(shí),每個(gè)堿基xi與它的配對堿基對都滿足式(1)。
(1)
由式(1)可知,互補(bǔ)堿基對有6種合理組合,如式(2)所示。加密過程中,隨機(jī)選擇6種互補(bǔ)組合規(guī)則中的一種互補(bǔ)置換,達(dá)到像素?cái)U(kuò)散的目的。
(2)
在DNA互補(bǔ)配對過程中,會出現(xiàn)DNA突變現(xiàn)象,也稱堿基置換突變,是指DNA分子中一個(gè)堿基被另一個(gè)不同的堿基取代所引起的突變,即點(diǎn)突變。因?yàn)榛蛲蛔兊陌l(fā)生限定在特點(diǎn)時(shí)間、特定突變的個(gè)體、特定突變的基因,都是隨機(jī)突變的結(jié)果。這種突變的應(yīng)用可滿足圖像信息加密隨機(jī)性高、變化率大的需求。
所提出的基于Lu系統(tǒng)和Chen系統(tǒng)的分?jǐn)?shù)階三維簡化統(tǒng)一系統(tǒng)數(shù)學(xué)模型如式(3)所示[18]。其中x1,x2,x3為混沌系統(tǒng)的狀態(tài)變量,q(0 (3) 令c=0.9,q=0.9,時(shí)間步長為t=0.001 s,系統(tǒng)初值[x0,y0,z0]=[0.1,0.2,0.3]。此時(shí),得到系統(tǒng)的混沌吸引子相圖如圖1所示。同時(shí)計(jì)算可得李雅普諾夫指數(shù)(L1,L2,L3)=(5.082 4,0,-33.903),由于系統(tǒng)只有一個(gè)正的李雅普諾夫指數(shù)值,并且所有的李雅普諾夫指數(shù)之和為負(fù),所以系統(tǒng)在當(dāng)前條件下處于混沌狀態(tài)。當(dāng)系統(tǒng)參數(shù)q=0.9,c∈[0.7:1.15]時(shí),得到李雅普諾夫指數(shù)譜與分岔圖如圖2所示。由圖2可看出,系統(tǒng)在c∈[0.7,1.15]的大部分范圍內(nèi)是混沌的,僅僅c=0.84附近出現(xiàn)了一個(gè)周期窗口。 (a) x-y平面 (a) 李雅普諾夫指數(shù) 綜上所述,分?jǐn)?shù)階簡化統(tǒng)一系統(tǒng)具有較大的混沌域,分布在一個(gè)較大的區(qū)域內(nèi),這意味著該系統(tǒng)具有良好的隨機(jī)性。 所提出的圖像加密算法由像素點(diǎn)隨機(jī)置亂和DNA擴(kuò)散兩部分組成。像素點(diǎn)隨機(jī)置亂部分利用三維分?jǐn)?shù)階混沌映射生成隨機(jī)混沌序列對圖像R通道、G通道和B通道進(jìn)行無序化處理。DNA擴(kuò)散部分利用三維分?jǐn)?shù)階混沌系統(tǒng)生成混沌序列結(jié)合DNA編碼操作,對置亂后的圖像R通道、G通道和B通道進(jìn)行擴(kuò)散運(yùn)算,即互補(bǔ)操作、加法操作、突變操作。主加密過程如圖3所示。 圖3 加密算法流程圖Fig.3 The flow chart of algorithm 具體加密步驟如下: 步驟1輸入大小為H×W×3的彩色原始圖像(H為圖片高度、W為寬度)。設(shè)置密鑰值c,x0,y0,z0,m,n,c0,α,β,Li,根據(jù)式(4)算法得到分?jǐn)?shù)階三維混沌系統(tǒng)的新初值條件: (4) (5) 步驟2設(shè)定L=max(H,W),讓混沌系統(tǒng)根據(jù)新的初始條件迭代(m+L)次,并將之前的m個(gè)值丟棄,以提高初始值的靈敏度。同時(shí),置亂算法的置亂規(guī)則由式(6)確定。 (6) 式中:Cx,Cy,Cz為矩陣置換系數(shù),k為對應(yīng)置換點(diǎn)的坐標(biāo)。 步驟3將彩色圖像I分解為R、G、B部分,然后將R、G、B部分轉(zhuǎn)換為3個(gè)矩陣,并分別對3個(gè)像素矩陣元素的點(diǎn)進(jìn)行點(diǎn)移位處理。具體操作:矩陣中的每個(gè)坐標(biāo)點(diǎn)都與之唯一相對的置換點(diǎn)置換。重新構(gòu)造矩陣后,得到置亂圖像矩陣TK。置亂后的像素矩陣根據(jù)DNA運(yùn)算規(guī)則進(jìn)行擴(kuò)散,包括相加運(yùn)算、互補(bǔ)運(yùn)算和突變運(yùn)算。具體見步驟4~9。 步驟4將置亂后矩陣中的數(shù)值以二進(jìn)制數(shù)值表示,得到H×W×8的二元矩陣R1、G1和B1。然后依照DNA編碼規(guī)則,將二進(jìn)制矩陣轉(zhuǎn)化為H×W×4的DNA序列矩陣S1,S2和S3。 步驟5設(shè)定混沌系統(tǒng)的初始值x0,y0,z0,得到混沌序列,通過迭代式(1):n+H×W次,并丟棄前n個(gè)值。根據(jù)式(7)得到k1,k2和k3三個(gè)序列。 k1=mod((xi)×1016,256)k2=mod((yi)×1016,256)k3=mod((zi)×1016,256) (7) 將得到的序列整形后進(jìn)行DNA編碼,得到一組新的DNA序列矩陣k1,k2和k3,矩陣大小與像素矩陣大小相同。 步驟6用得到的偽隨機(jī)數(shù)序列矩陣k1對加密圖像的像素矩陣S1進(jìn)行擴(kuò)散操作。具體方式是:利用規(guī)定好的堿基配對規(guī)則,將像素S1矩陣原有的DNA排序擾亂,生成新的DNA排序,再與偽隨機(jī)序列矩陣k1進(jìn)行加法計(jì)算,得到新的加密圖像像素矩陣N1。 步驟7利用基因突變中的堿基置換突變規(guī)則,加大圖像信息加密隨機(jī)性。在DNA擴(kuò)散操作后,每一像素點(diǎn)的值已經(jīng)被表示為4個(gè)堿基組成的加密組合(如ATCG),將每組內(nèi)的堿基隨機(jī)互換。得到新的加密圖像像素矩陣C1。 步驟8利用DNA編碼規(guī)則對C1矩陣進(jìn)行反編碼,并還原成十進(jìn)制數(shù)表示的像素矩陣C。 步驟9輸出最終加密圖像結(jié)果,完成加密過程。 解密算法是一個(gè)恢復(fù)原始圖像的過程。首先將加密圖像重新編碼成DNA序列矩陣,之后利用突變原理進(jìn)行反向還原,還原后運(yùn)用DNA減法原理以及DNA互補(bǔ)原理,從而得到加密圖像的原DNA序列。利用編碼規(guī)則對DNA序列反編碼,利用三維系統(tǒng)生成混沌序列并轉(zhuǎn)變?yōu)閭坞S機(jī)序列來還原加密圖像的置亂步驟,得到最初的已解密像素矩陣,并編碼成十進(jìn)制像素矩陣,組合后得到解密圖像。 解密算法: 步驟1輸入加密后的大小為H×W×3的圖像C,利用DNA編碼原則對矩陣編碼形成C1,元素矩陣的大小為H×W×4。 步驟2利用基因突變堿基置換突變,進(jìn)行逆突變變化。生成原始DNA加密后的矩陣。 步驟3根據(jù)三維系統(tǒng)生成的混沌序列并轉(zhuǎn)化后的偽隨機(jī)系列。利用DNA減法計(jì)算,還原加密圖像的DNA序列,得到加密擴(kuò)散序列,擴(kuò)散序列,再依據(jù)規(guī)定好的堿基配對原則與生成的偽隨機(jī)序列逆運(yùn)算,得到未全部解密的DNA元素矩陣S1。 步驟4重新整形S1為大小H×W矩陣,并進(jìn)行二進(jìn)制編碼,形成元素矩陣TK。由三維混沌系統(tǒng)生成序列,再由式(6)生成點(diǎn)置換規(guī)則,對矩陣反置亂。 步驟5對元素矩陣進(jìn)行點(diǎn)置亂計(jì)算。具體過程為三個(gè)像素矩陣中的每個(gè)點(diǎn)都與之唯一相對的置換點(diǎn)k置換,得到解密圖像矩陣TK3。 步驟6恢復(fù)三個(gè)二進(jìn)制像素矩陣為十進(jìn)制,通過組合輸出解密圖像。完成解密過程。 為驗(yàn)證所提加密算法的有效性。使用大小為256×256的Lena圖像進(jìn)行算法測試。設(shè)定分?jǐn)?shù)階混沌系統(tǒng)的參數(shù)、初始值和階數(shù)。基于Matlab 平臺,得到相應(yīng)的實(shí)驗(yàn)測試結(jié)果如圖4所示。實(shí)驗(yàn)結(jié)果表明,該算法能有效地對圖像進(jìn)行加密和解密。 (a) 原始圖像 對于一個(gè)好的圖像加密算法,需要有足夠大的密鑰空間來抵御蠻力攻擊。在加密方案中,如果計(jì)算精度為10-5,密鑰c,q,x0,y0,z0對應(yīng)的密鑰空間大小約為2249;對于密鑰的另一部分m,n,c0,α,β,Li,因?yàn)镈NA有4種堿基,8種編解碼規(guī)則和6種互補(bǔ)規(guī)則,所以得到密鑰空間22×26×220=228。所提算法的密鑰空間是2277,所提出的算法空間足夠大,可以經(jīng)受蠻力攻擊。 密鑰敏感性是指當(dāng)密鑰發(fā)生微小變化時(shí),恢復(fù)后的圖像將與原來的圖像完全不同,這意味著加密算法是良好的密鑰敏感性。實(shí)驗(yàn)中,分別對解密算法的密鑰(x0+10-15),(y0+10-15),(z0+10-15),(c+10-15)進(jìn)行了改變,將加密的圖像進(jìn)行解密算法運(yùn)算,得到相應(yīng)的結(jié)果如圖5所示。顯然,這些恢復(fù)后的圖像與正常解密后的圖像完全不同。因此,該算法對密鑰非常敏感。 (a) 正確解密圖像 3.4.1 直方圖分析 直方圖反映圖像中像素值的分布。加密圖像的直方圖應(yīng)該是平坦的,能夠很好地抵抗統(tǒng)計(jì)攻擊。原始彩色Lena圖像及其加密圖像的直方圖如圖6所示??梢钥闯觯用軋D像的直方圖非常平滑,因此,攻擊者不會通過分析密文直方圖得到任何有用的圖像信息。所以,此算法可以防止統(tǒng)計(jì)攻擊。 3.4.2 圖像相關(guān)系數(shù) 對于原始圖像,相鄰像素之間有很強(qiáng)的相關(guān)性。一個(gè)好的圖像加密算法應(yīng)該打破相鄰像素之間的相關(guān)性。計(jì)算像素相關(guān)系數(shù)見式(8)。 (a) R通道 (8) 式中:x、y為不同圖像的像素值,cov(x,y)為協(xié)方差,E(x)和D(x)分別表示x和N的平均值和方差,N是圖像中像素的總數(shù)。 通過計(jì)算,表3、表4列出了加密后的圖像在R、G、B分量中相同及相鄰的位置的相關(guān)系數(shù)。原始Lena圖像和加密后的圖像在R、G、B通道的相關(guān)系數(shù)如表5所示。表格數(shù)據(jù)表明,原始圖像具有顯著的相關(guān)性,而加密圖像的相關(guān)性很小說明加密算法的效果達(dá)到了要求。 表3 相同位置相關(guān)系數(shù)Tab.3 Correlation coefficients of identical position 表4 相鄰位置相關(guān)系數(shù)Tab.4 Correlation coefficients of adjacent position 表5 RGB通道相關(guān)系數(shù)Tab.5 Correlation coefficients in R,G,B channels 為了清楚地看到原始圖像和加密圖像的相關(guān)性,圖7給出了Lena圖像R通道各方向上的相關(guān)性分布。如圖7所示,原始圖像在相鄰像素之間具有極強(qiáng)的相關(guān)性,原始圖像的所有像素點(diǎn)都是沿著對角線聚集的。然而,加密圖像的像素點(diǎn)分散在整個(gè)平面上,這表明加密圖像中不同像素點(diǎn)之間的關(guān)系在加密圖像中大大減少。因此,圖像加密算法具有抵抗靜態(tài)攻擊的能力。 信息熵是證明圖像隨機(jī)性的一個(gè)重要的測量值,由式(9)確定。 (9) 式中:p(mi)表示符號mi出現(xiàn)的概率,L表示所有的特征點(diǎn)mi的數(shù)量。對于L=256圖像,信息熵的理論值為8。加密圖像在R、G、B通道中的信息熵值,以及R、G、B分量S的組合,新算法的計(jì)算結(jié)果接近于8。因此,加密后的圖像具有良好的隨機(jī)性。 差分攻擊是指密文對純文本的敏感性。一般采用像素?cái)?shù)變化率(NPCR)和統(tǒng)一平均變化率(UACI)來檢測差異攻擊。 NPCR和UACI的計(jì)算公式: (10) 式中:L為所有圖像像素的個(gè)數(shù)。C和C1分別為同一位置變化前后的像素值,通過式子(11)得到D(i,j)。 (11) (a) R通道水平方向 在實(shí)驗(yàn)測試中,只需要改變原始圖像的一個(gè)隨機(jī)像素,用一輪加密進(jìn)行10次測試,就可以得到NPCR和UACI的平均值。計(jì)算結(jié)果表明,該算法的NPCR和UACI分別為大于99.79%和33.45%,表示該算法足以抵抗差分攻擊。 統(tǒng)計(jì)各項(xiàng)性能,我們與已有的算法進(jìn)行對比,如表6所示。從密鑰空間、信息熵、抗差分攻擊性能。證明該加密方法,有更好的安全性。 表6 系統(tǒng)性能比較Tab.6 System performance comparison 基于ADM算法,研究了三維分?jǐn)?shù)階簡化統(tǒng)一系統(tǒng)的動態(tài)特性和圖像加密應(yīng)用。動力學(xué)分析表明,該混沌系統(tǒng)具有更復(fù)雜的動態(tài)特性,其混沌態(tài)分布在一個(gè)較大的參數(shù)范圍內(nèi),這說明它更適合于混沌密碼體制。在此基礎(chǔ)上,為了保證數(shù)字圖像在信息傳輸和存儲過程中的安全傳輸,基于分?jǐn)?shù)階混沌系統(tǒng)和基于DNA突變算法的算術(shù)運(yùn)算,本文設(shè)計(jì)了一種新的圖像加密方案。加密算法的安全性能分析表明,分?jǐn)?shù)階簡化統(tǒng)一系統(tǒng)及DNA突變原理在圖像加密算法中得到了應(yīng)用,不僅可以有效地對圖像進(jìn)行加密,而且提高了圖像加密算法的安全性。為密碼學(xué)、保密通信和信息安全等領(lǐng)域提供了相關(guān)的理論基礎(chǔ)和實(shí)際應(yīng)用基礎(chǔ)。2 圖像加密和解密方案
2.1 加密方法
2.2 解密方法
3 仿真與性能分析
3.1 算法仿真結(jié)果
3.2 密鑰空間分析
3.3 密鑰敏感性分析
3.4 統(tǒng)計(jì)性能分析
3.5 差分攻擊分析
3.6 系統(tǒng)性能比較
4 結(jié) 論