黃林荃,劉 會,王志穎,王敬華
1(武漢軟件工程職業(yè)學(xué)院 信息學(xué)院,武漢 430205)2(武漢大學(xué) 國家網(wǎng)絡(luò)安全學(xué)院,武漢 430072)3(華中師范大學(xué) 計(jì)算機(jī)學(xué)院,武漢 430079)
E-mail:liuh824@whu.edu.cn
數(shù)字圖像包含大量的可視化信息,容易被人類視覺捕獲和接受,因此被廣泛應(yīng)用在各個(gè)領(lǐng)域.隨著云計(jì)算技術(shù)的成熟和5G時(shí)代的到來,數(shù)字圖像的應(yīng)用范圍將進(jìn)一步擴(kuò)大.數(shù)字圖像包含了大量個(gè)人隱私、機(jī)密信息等重要數(shù)據(jù),各個(gè)領(lǐng)域中數(shù)字圖像的使用都面臨著嚴(yán)峻的安全威脅.例如,在移動計(jì)算領(lǐng)域,移動設(shè)備因其在公共區(qū)域的頻繁使用容易遭受竊取或丟失,其內(nèi)部存儲的大量的數(shù)字圖像數(shù)據(jù)因此面臨泄露的風(fēng)險(xiǎn);在云計(jì)算領(lǐng)域,數(shù)字圖像在云環(huán)境下的明文存儲被認(rèn)為是不可信的,需要采取必要的安全措施確保第三方存儲的安全性;在安全傳輸方面,明文圖像在公共信道的傳輸容易遭受中間人攻擊、仿冒攻擊等,從而引起嚴(yán)重的信息泄露事件.而加密技術(shù)是一種保證數(shù)字圖像機(jī)密性的常用手段.現(xiàn)階段存在許多成熟的分組加密方案,例如RSA[1],AES[2],SM4[3]等,這些加密方案已經(jīng)被廣泛應(yīng)用于文本加密并取得了良好的加密效果.然而,數(shù)字圖像具備二維性、冗余性,相鄰像素之間具有極高的相關(guān)性,因此傳統(tǒng)的文本加密方案并不完全適用于數(shù)字圖像.本文提出了一種基于二維Logistic混沌映射與DNA編碼的自適應(yīng)圖像加密算法.該加密算法采用二維Logistic混沌映射產(chǎn)生偽隨機(jī)序列以生成掩碼圖像,并利用DNA異或運(yùn)算實(shí)現(xiàn)圖像擴(kuò)散.為建立明文圖像與密文圖像的關(guān)聯(lián)性,本文設(shè)計(jì)了自適應(yīng)置換方案,建立擴(kuò)散編碼圖像的堿基數(shù)量與置亂順序的關(guān)系.當(dāng)攻擊者對明文圖像進(jìn)行微小擾動時(shí),擴(kuò)散編碼圖像的堿基數(shù)量將隨之改變,從而導(dǎo)致密文圖像的置亂結(jié)果明顯不同.該方案能有效抵御差分攻擊、已知明文攻擊等.
近年來,基于混沌理論的加密算法備受密碼學(xué)研究者的關(guān)注.混沌系統(tǒng)[4-7]具有計(jì)算速度快、隨機(jī)性強(qiáng)、對初始條件敏感等優(yōu)點(diǎn),在偽隨機(jī)數(shù)發(fā)生器中有著廣泛的應(yīng)用.基于混沌理論的加密算法能夠?yàn)榧用芟到y(tǒng)提供足夠大的密鑰空間、良好的隨機(jī)性和靈敏的密鑰敏感度,足以抵御暴力攻擊、統(tǒng)計(jì)分析、密鑰敏感度分析等多種傳統(tǒng)的攻擊方案.Liu等人[4]利用量子混沌系統(tǒng)聯(lián)合二維Logistic混沌系統(tǒng)設(shè)計(jì)偽隨機(jī)數(shù)生成器,隨機(jī)選擇圖像像素值的交叉位和變異位,實(shí)現(xiàn)像素間的混淆和像素內(nèi)的灰度加密.呂群等人[5]采用Logistic-Sine混沌系統(tǒng)對圖像進(jìn)行隨機(jī)分組,并利用Tent-Sine混沌系統(tǒng)構(gòu)造動態(tài)的S盒子進(jìn)行圖像的灰度值替換,實(shí)驗(yàn)結(jié)果證明了該圖像加密算法能夠?yàn)槊芪膱D像提供良好的隨機(jī)性保障,具備抵御差分攻擊、選擇明文攻擊等多種攻擊方法.Chai等人[6]分析了二維Logistic混沌映射包含大量密碼學(xué)特性,如分支圖中周期窗較少,混沌行為參數(shù)范圍較大,非常適用于加密系統(tǒng)的設(shè)計(jì).本文充分利用了二維Logistic混沌映射的密碼學(xué)特性.在擴(kuò)散階段,我們充分利用了二維Logistic混沌序列的隨機(jī)性,實(shí)現(xiàn)明文圖像的DNA隨機(jī)編碼和DNA異或運(yùn)算;在置換階段,考慮到二維Logistic混沌系統(tǒng)對初始值敏感的特點(diǎn),我們將圖像中DNA堿基數(shù)量作為混沌系統(tǒng)的初始值種子生成偽隨機(jī)序列,構(gòu)建自適應(yīng)置換方案.該方案保證在攻擊者實(shí)施差分攻擊時(shí),明文圖像的輕微改變經(jīng)二維Logistic混沌系統(tǒng)后被明顯放大,使得置換過程完全改變,保證對應(yīng)密文圖像的輸出發(fā)生巨大變化,從而有效地抵御差分攻擊.
DNA計(jì)算[8-10]具有高并行性、大存儲量和低能耗等特點(diǎn),基于DNA編碼的加密算法在圖像加密領(lǐng)域有著廣泛的運(yùn)用.冉維等人[8]采用DNA編碼技術(shù),并定義了3種DNA序列的加/減運(yùn)算規(guī)則,設(shè)計(jì)了融合多混沌映射和DNA編碼的圖像加密算法并取得了良好的加密效果.Chai等人[9]在明文圖像的DNA矩陣上進(jìn)行DNA水平行置換和列置換,同時(shí)進(jìn)行DNA像素間置換和像素內(nèi)置換,最后對置換后的DNA矩陣進(jìn)行DNA異或運(yùn)算得到密文圖像.基于DNA編碼的圖像加密算法通常結(jié)合了DNA計(jì)算方案實(shí)施,包括DNA加法、DNA減法、DNA異或等.在這些DNA計(jì)算規(guī)則中,DNA異或運(yùn)算因其可逆性(即DNA異或運(yùn)算及其逆運(yùn)算的運(yùn)算規(guī)則相同)而應(yīng)用更為廣泛.DNA編碼與混沌系統(tǒng)的結(jié)合能有效消除圖像相鄰像素的相關(guān)性,同時(shí)保留了DNA計(jì)算大量的并發(fā)性.本文中,我們將二維Logistic混沌映射與DNA計(jì)算相結(jié)合,對明文圖像進(jìn)行隨機(jī)編碼和DNA異或運(yùn)算,在加密算法的設(shè)計(jì)過程中保留了二維Logistic系統(tǒng)的混沌性和DNA計(jì)算的高并發(fā)行.
為了使得圖像加密算法具備抵御差分攻擊、選擇明文攻擊的能力,現(xiàn)階段的主流做法是利用SHA-256算法[11-13]生成明文圖像的摘要信息,并以256位的摘要信息作為安全密鑰保留,以此建立密文圖像與明文圖像中每一個(gè)像素位的緊密聯(lián)系,增強(qiáng)加密算法的擴(kuò)散性.SHA-256算法具有單向性和抗碰撞性.單向性是指由原始消息計(jì)算出信息摘要很容易,而由消息摘要計(jì)算出原始消息在計(jì)算上則幾乎是不可行的;抗碰撞性是指要找到兩個(gè)不同的原始消息生成同一個(gè)信息摘要在計(jì)算上是不可行的.SHA-256的單向性使得攻擊者無法通過摘要信息計(jì)算出明文圖像,確保了明文圖像的機(jī)密性.其抗碰撞性保證了攻擊者在實(shí)施差分攻擊或選擇明文攻擊時(shí),無法通過對比輸出獲取有效的統(tǒng)計(jì)信息.但是,以256位的摘要信息作為安全密鑰的方法不夠靈活,相同的圖像無法生成不同的安全密鑰,用戶無法根據(jù)自身需要設(shè)定安全密鑰.為了保證加密算法抵御差分攻擊、選擇明文攻擊的能力,本文設(shè)計(jì)了一種自適應(yīng)的圖像安全置換方法.利用置換過程中不改變DNA編碼中堿基數(shù)量的特點(diǎn),以擴(kuò)散后編碼圖像的堿基數(shù)量為二維Logistic混沌系統(tǒng)輸入的種子,并由混沌系統(tǒng)的輸出決定圖像置換的順序.該方法建立了明文圖像與置換階段的緊密聯(lián)系,當(dāng)明文圖像發(fā)生細(xì)微變化時(shí),擴(kuò)散后編碼圖像的堿基數(shù)量也因此改變,以堿基數(shù)量作為輸入種子的二維Logistic混沌系統(tǒng)將產(chǎn)生完全不同的混沌序列,從而導(dǎo)致加密系統(tǒng)在置換階段得到完全不同的置換順序,最終影響到密文圖像的輸出.
本文采用二維Logistic混沌映射生成偽隨機(jī)序列并生成掩碼圖像,利用偽隨機(jī)序列分別對明文圖像和掩碼圖像進(jìn)行隨機(jī)編碼和DNA異或運(yùn)算,實(shí)現(xiàn)明文圖像的混淆和擴(kuò)散.為抵御差分攻擊、選擇明文攻擊等,本文統(tǒng)計(jì)了擴(kuò)散后編碼圖像的堿基數(shù)量,對堿基數(shù)量進(jìn)行非線性處理并結(jié)合安全密鑰再次執(zhí)行二維Logistic混沌映射,將生成的偽隨機(jī)序列利用下標(biāo)函數(shù)對編碼圖像進(jìn)行置換,實(shí)現(xiàn)圖像的自適應(yīng)加密.本文的主要貢獻(xiàn)如下:
1)設(shè)計(jì)了一種支持高并發(fā)的圖像加密算法,該算法從置亂和擴(kuò)散兩個(gè)方面為圖像提供安全的加密保障,實(shí)驗(yàn)證明該加密算法能有效抵御現(xiàn)有的各種攻擊方案;
2)提出了一種基于DNA堿基數(shù)量的自適應(yīng)圖像安全置換結(jié)構(gòu),較傳統(tǒng)的SHA-256具備更加靈活的安全密鑰設(shè)定特點(diǎn),同時(shí)能有效抵御差分攻擊、選擇明文攻擊等.
二維Logistic混沌映射[6]包含大量密碼學(xué)特性,如分支圖中周期窗較少,混沌行為參數(shù)范圍較大,運(yùn)算速度快,常常作為密鑰生成器被廣泛運(yùn)用于加密系統(tǒng)的設(shè)計(jì)當(dāng)中.二維Logistic混沌映射的定義如公式(1)所示.
(1)
當(dāng)2.75<μ1≤3.40,2.75<μ2≤3.45,0.15<γ1≤0.21,0.13<γ2≤0.15時(shí),二維Logistic系統(tǒng)表現(xiàn)出極強(qiáng)的混沌特性.該混沌系統(tǒng)初始值的范圍為:0 本文設(shè)置二維logistic混沌系統(tǒng)參數(shù)μ1=3.30、μ2=3.25、v1=0.18、v2=0.14,并以其初始值x0=0.15469954 23653281、y0=0.76975485 24323463作為安全密鑰進(jìn)行仿真實(shí)驗(yàn).二維logistic混沌系統(tǒng)的吸引子相圖如圖1所示. 圖1 混沌吸引子相圖Fig.1 Chaotic attractor phase diagram 二維logistic混沌系統(tǒng)的分岔圖如圖2所示.從圖中可以看出,二維logistic混沌系統(tǒng)具有較少的倍周期分叉,適用于加密算法的設(shè)計(jì). 圖2 混沌系統(tǒng)分岔圖Fig.2 Bifurcation diagrams of the chaotic system 脫氧核糖核酸(Deoxyribo nucleic acid,DNA)是生物研究的重要組成部分,已廣泛應(yīng)用于各個(gè)領(lǐng)域[8-10].DNA代表著生物特征的遺傳信息,是一種由四種核苷酸組成的分子結(jié)構(gòu),即腺嘌呤(A),胸腺嘧啶(T),胞嘧啶(C),鳥嘌呤(G).兩條單鏈DNA序列利用堿基互補(bǔ)配對規(guī)則通過氫鍵相互連接,其中,A與T配對,C與G配對.DNA計(jì)算是指以DNA為信息載體,利用堿基互補(bǔ)配對規(guī)則建立一種完整的信息處理方式,并將編碼的DNA序列作為運(yùn)算對象,通過分子生物學(xué)的運(yùn)算操作解決復(fù)雜的數(shù)學(xué)難題.作為DNA計(jì)算的一個(gè)重要組成部分,DNA編碼[10]具備并行性高、功耗低、信息存儲能力強(qiáng)等特點(diǎn),滿足密碼學(xué)安全需求.根據(jù)堿基互補(bǔ)配對規(guī)則,DNA編碼共有8種組合方案,如表1所示. 表1 DNA編碼規(guī)則表Table 1 DNA coding rule 在圖像加密領(lǐng)域,對于8位灰度圖像,每個(gè)像素可以編碼為4基序列.例如,一個(gè)像素灰度值為135,二進(jìn)制序列表示為10000111,按照表1的DNA編碼規(guī)則,我們可以得到8種不同的編碼方式:GACT,CAGT,GTCA,CTGA,TCAG,ACTG,TGAC和AGTC.當(dāng)加密系統(tǒng)采用某一DNA編碼規(guī)則對像素值進(jìn)行編碼,同時(shí)利用不同的DNA編碼規(guī)則對其進(jìn)行解碼,該像素值能被有效的加密.例如,加密系統(tǒng)對像素灰度值135按DNA編碼規(guī)則1對其進(jìn)行編碼得到GACT,并采用DNA編碼規(guī)則2對其進(jìn)行解碼,得到二進(jìn)制序列01001011,對應(yīng)的密文為75,明文信息的機(jī)密性得到了有效的保障. DNA計(jì)算的快速發(fā)展促進(jìn)了基于DNA序列的生物運(yùn)算和代數(shù)運(yùn)算.典型的DNA運(yùn)算包括DNA加法運(yùn)算、DNA減法運(yùn)算、DNA異或運(yùn)算等.在這些DNA計(jì)算規(guī)則中,DNA異或運(yùn)算及其逆運(yùn)算具備相同的運(yùn)算規(guī)則,其可逆性使得DNA異或運(yùn)算被廣泛應(yīng)用于信息論和密碼學(xué)領(lǐng)域.DNA異或運(yùn)算規(guī)則如表2所示. 表2 DNA異或運(yùn)算Table 2 DNA XOR operation 在與掩碼圖像的編碼結(jié)果進(jìn)行DNA異或運(yùn)算,明文圖像的編碼信息能被有效的隱藏.例如,對于明文圖像的編碼信息GACT,在于掩碼圖像的編碼結(jié)果ACGT進(jìn)行DNA異或運(yùn)算后得到GCTA.在解密過程中,本系統(tǒng)根據(jù)運(yùn)算結(jié)果GCTA與掩碼圖像的編碼結(jié)果ACGT進(jìn)行相同的DNA異或運(yùn)算,得到的結(jié)果GACT即為明文圖像的編碼信息,從而完成了DNA異或運(yùn)算的逆運(yùn)算,實(shí)現(xiàn)圖像的解密操作. 本文的加密系統(tǒng)包括兩個(gè)階段:擴(kuò)散和置換.在擴(kuò)散階段,加密系統(tǒng)利用DNA編碼與DNA異或運(yùn)算實(shí)現(xiàn)圖像的混淆;在置換階段,加密系統(tǒng)利用擴(kuò)散編碼圖像的堿基數(shù)量作為自適應(yīng)二維Logistic混沌映射的初始值種子生成偽隨機(jī)序列,影響像素的置換順序.圖像加密算法的流程圖如圖3所示. 圖3 加密系統(tǒng)流程圖Fig.3 Overall architecture of the cryptosystem 加密過程包括DNA計(jì)算,自適應(yīng)的像素置換以及DNA隨機(jī)解碼.該加密系統(tǒng)首先利用二維Logistic混沌映射生成掩碼圖像及其DNA編碼規(guī)則,依照DNA編碼規(guī)則對明文圖像隨機(jī)編碼,并對編碼后的圖像與掩碼圖像進(jìn)行DNA異或運(yùn)算;然后統(tǒng)計(jì)運(yùn)算結(jié)果中DNA堿基數(shù)量并作為初始值種子再次執(zhí)行二維Logistic混沌映射,利用偽隨機(jī)序列的下標(biāo)實(shí)現(xiàn)自適應(yīng)像素置換;最后采用DNA隨機(jī)解碼得到密文圖像.詳細(xì)的加密步驟如下所示: 1)將安全密鑰x0、y0作為初始參數(shù)代入到公式(1)中,迭代m+(M×N)/2次,這里M和N分別代表圖像的寬和高.丟棄前m項(xiàng)防止初始項(xiàng)的干擾.重新排列xn、yn得到二維Logistic混沌序列Lm: Lm={xm+1,…,xm+(M×N)/2,ym+1,…,ym+(M×N)/2} (2) 2)按公式(3)將浮點(diǎn)型向量Lm轉(zhuǎn)化成大小為M×N掩碼圖像matrixLm: (3) 這里函數(shù)floor(X)表示向下取整,函數(shù)reshape(X,M,N)表示將向量X轉(zhuǎn)化為M×N的矩陣; 3)按公式(4)生成DNA編碼規(guī)則: ruleIndex=mod(matrixLm,8)+1 (4) 4)按DNA編碼規(guī)則ruleIndex分別對明文圖像、掩碼圖像進(jìn)行DNA隨機(jī)編碼,并執(zhí)行DNA異或運(yùn)算,得到矩陣Pl; 5)分別統(tǒng)計(jì)矩陣Pl中腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)、鳥嘌呤(G)的數(shù)量numA、numT、numC、numG,并按公式(5)對堿基數(shù)量進(jìn)行非線性歸一化: nornum=arctan(num×α)×2/π (5) 6)以初始值x′0=(nornumA+nornumT)/2、y′0=(nornumC+nornumG)/2再次執(zhí)行二維Logistic混沌映射,生成自適應(yīng)的混沌序列adaptLm; 7)對自適應(yīng)混沌序列adaptLm排序: [sortLm,lmIndex]=sort(adaptLm) (6) 這里函數(shù)sort(adaptLm)返回向量X升序排序后的向量sortLm及其元素的索引lmIndex; 8)將矩陣Pl轉(zhuǎn)換為向量Pv并按照索引lmIndex實(shí)現(xiàn)自適應(yīng)像素置換: Pp(i)=Pv(lmIndex(i)) (7) 將向量Pp轉(zhuǎn)換為M×N的矩陣Cp并按DNA編碼規(guī)則ruleIndex對其進(jìn)行DNA解碼,得到密文圖像C,實(shí)現(xiàn)圖像加密. 解密過程本質(zhì)上是加密過程的逆過程.解密過程中,用戶掌握了安全密鑰及其解密算法.解密過程首先通過安全密鑰生成二維Logistic混沌序列,并以此產(chǎn)生掩碼圖像及其DNA編碼規(guī)則,按DNA編碼規(guī)則對密文圖像進(jìn)行編碼;由于像素置換變換像素空間的布局而不影響改變像素值的大小,因此統(tǒng)計(jì)密文圖像編碼后的堿基數(shù)量能夠得到自適應(yīng)二維Logistic混沌映射的初始值,由此產(chǎn)生自適應(yīng)二維Logistic混沌序列,從而實(shí)現(xiàn)像素置換的逆變換;最后通過與掩碼圖像的DNA異或運(yùn)算和DNA解碼得到明文圖像,實(shí)現(xiàn)圖像的解密.詳細(xì)的解密步驟如下所示: 1)輸入安全密鑰x0、y0,執(zhí)行加密過程的步驟(1-3),得到掩碼圖像matrixLm和DNA編碼規(guī)則; 2)按DNA編碼規(guī)則ruleIndex對密文圖像C執(zhí)行DNA編碼,得到M×N的矩陣Cp; 3)統(tǒng)計(jì)矩陣Cp中腺嘌呤(A)、胸腺嘧啶(T)、胞嘧啶(C)、鳥嘌呤(G)的數(shù)量,按加密過程的步驟(5-7)產(chǎn)生自適應(yīng)的混沌序列adaptLm,得到元素的排序索引lmIndex; 4)將矩陣Cp轉(zhuǎn)換為向量Pp,執(zhí)行公式(8)實(shí)現(xiàn)自適應(yīng)像素置換的逆變換: Pv(lmIndex(i))=Pp(i) (8) 將向量Pv轉(zhuǎn)換成大小為M×N的矩陣Pl; 5)按DNA編碼規(guī)則ruleIndex對掩碼圖像matrixLm進(jìn)行DNA編碼,其結(jié)果與矩陣Pl進(jìn)行DNA異或運(yùn)算,得到M×N的矩陣Pd; 6)按DNA編碼規(guī)則對M×N的矩陣Pd解碼,得到明文圖像,實(shí)現(xiàn)圖像解密. 為充分證明該算法的安全性和有效性,本文從直方圖分析、相關(guān)性分析、信息熵、差分攻擊、密鑰敏感度分析、密鑰空間分析、加密效率等多個(gè)方面進(jìn)行模擬測試和分析.為方便實(shí)驗(yàn)結(jié)果的比較,我們選取了來自于CVG-UGR數(shù)據(jù)庫的標(biāo)準(zhǔn)圖像(256×256 Lena,256×256 Cameraman,512×512 Baboon,512×512 Peppers)作為測試圖像.本文設(shè)置安全密鑰x0=0.1546995423653281、y0=0.7697548524323463進(jìn)行模擬測試.圖4顯示了不同圖像經(jīng)過本算法加/解密后的效果,實(shí)驗(yàn)結(jié)果表明該加密算法屬于無損加密. 圖4 圖像加/解密實(shí)驗(yàn)Fig.4 Image encryption/decryption test 直方圖分析[14]顯示了圖像像素值的分布情況.針對圖像加密算法的直方圖分析能夠反映算法在擴(kuò)散和置亂性能方面抵御統(tǒng)計(jì)攻擊的能力.圖像自身可視化的特點(diǎn)決定了明文圖像的直方圖具備一定的統(tǒng)計(jì)規(guī)律,而安全的密文圖像應(yīng)該提供盡可能少的統(tǒng)計(jì)信息,呈現(xiàn)出一致的像素分布.圖5顯示了明文圖像及其密文圖像的像素直方圖.從圖中我們可以明顯看出,明文圖像的像素值分布較為集中且呈現(xiàn)一定的規(guī)律,對應(yīng)的密文圖像的像素值分布均勻,攻擊者很難從密文中獲取有價(jià)值的統(tǒng)計(jì)信息. 圖5 明文圖像及其密文圖像直方圖對比Fig.5 Comparison of histogram between plain-image andcipher-image 像素相關(guān)性反映圖像相鄰位置像素值的相關(guān)程度.明文圖像相鄰位置像素值的相關(guān)性強(qiáng),加密算法需要盡可能降低相鄰像素之間像素值的相關(guān)性.對于圖像而言,這種相鄰關(guān)系包括水平、豎直、對角三個(gè)方向.本文采用皮爾遜相關(guān)系數(shù)量化圖像相鄰像素值的相關(guān)程度,其定義如公式(9)所示. (9) 這里x、y分別代表相鄰兩像素的像素值,S為隨機(jī)選取的相鄰像素的個(gè)數(shù),E(x)表示變量x的數(shù)學(xué)期望,D(x)表示方差,Cov(x,y)表示變量x與y之間的協(xié)方差,rxy表示皮爾遜相關(guān)系數(shù).實(shí)驗(yàn)設(shè)定S=5000,即隨機(jī)選取5000組相鄰像素進(jìn)行相關(guān)性測試,針對Lena圖像的相關(guān)性測試結(jié)果如圖6所示. 圖6 Lena明文圖像及其密文圖像相關(guān)性測試對比Fig.6 Comparison of correlation test between plain-image andcipher-image 本文對比分析了不同明文圖像及其密文圖像的相鄰像素灰度值的皮爾遜相關(guān)系數(shù),結(jié)果如表3所示.實(shí)驗(yàn)結(jié)果顯示,明文圖像相鄰像素灰度值的皮爾遜相關(guān)系數(shù)接近1,而經(jīng)過本算法加密后的密文圖像相鄰像素灰度值的皮爾遜相關(guān)性接近于0.結(jié)果表明,該加密算法能夠有效地降低圖像相鄰像素灰度值的相關(guān)性,密文圖像幾乎沒有為攻擊者提供有價(jià)值的相關(guān)性信息,因此攻擊者幾乎不可能利用相鄰像素之間的相關(guān)性構(gòu)建基于概率模型的攻擊方法. 表3 明文圖像和密文圖像相鄰像素值的相關(guān)性系數(shù)Table 3 Correlation coefficients of pair adjacent pixels inplain and cipher images 信息熵[15]是量化信號源隨機(jī)特性的重要指標(biāo)之一.在圖像加密領(lǐng)域,信息熵表示圖像所包含的信息量的大小.圖像的灰度值分布越均勻,其包含的信息量越少,對應(yīng)的信息熵越大.信息熵的定義如公式(10)所示. (10) 這里p(si)表示圖像各灰度值si出現(xiàn)的概率.灰度圖像包含28個(gè)灰度級,因此對于完全隨機(jī)分布圖像,其信息熵等于8.實(shí)驗(yàn)計(jì)算了不同明文圖像及其密文圖像的信息熵,結(jié)果如表4所示.實(shí)驗(yàn)結(jié)果非常接近于理想值8,這表明經(jīng)過該加密算法加密后的圖像包含的信息量少,攻擊者幾乎不可能通過密文圖像的信息量展開攻擊. 表4 信息熵測試Table 4 Information entropy test 差分攻擊[16]是一種通過比較分析有特定區(qū)別的明文經(jīng)加密后的變化傳播情況來攻擊加密算法的高效的攻擊手段.為抵御差分攻擊,加密算法應(yīng)該具備錯誤傳播無界的特性,即明文圖像發(fā)生一位錯誤時(shí),密文圖像將以不可預(yù)測的方式完全改變.實(shí)驗(yàn)中我們隨機(jī)改變圖像的一個(gè)像素位,對比分析其密文圖像的區(qū)別,以檢測加密算法抵御差分攻擊的能力.為量化圖像之間的區(qū)別,通常采用像素改變率(number of pixels change rate,NPCR)和一致平均改變強(qiáng)度(unified average changing intensity,UACI)兩種測量方法.像素改變率和一致平均改變強(qiáng)度的定義如公式(11-13)所示. (11) (12) (13) 這里C和C′是大小為M×N的圖像.對于由完全隨機(jī)的信號源組成的圖像,理想的NPCR=99.6094%,UACI=33.4635%.本實(shí)驗(yàn)隨機(jī)修改明文圖像的一個(gè)像素并重復(fù)實(shí)驗(yàn)100次,對比明文圖像對應(yīng)的密文圖像與對明文圖像做1像素位修改對應(yīng)的密文圖像的區(qū)別,計(jì)算其NPCR和UACI的平均值,結(jié)果如表5所示.實(shí)驗(yàn)結(jié)果顯示,明文圖像微小的改變能夠使得密文圖像在擴(kuò)散和置亂過程中引起重大的改變,加密算法具備錯誤傳播無界的特性,攻擊者無法通過差分攻擊的手段獲取有價(jià)值的信息. 表5 差分攻擊測試Table 5 Differential attack test 密鑰敏感度分析[17]檢測加密系統(tǒng)對安全密鑰的靈敏程度.密鑰敏感度分析通過采用一對包含微小差異的安全密鑰對相同圖像進(jìn)行加密并對比其密文圖像的差異.良好的加密算法應(yīng)該保證即使采用微小差異的安全密鑰加密相同的明文圖像也能得到完全不同的密文圖像.實(shí)驗(yàn)中我們采用NPCR和UACI來量化兩張密文圖像的差異,以此檢測加密算法的密鑰敏感度.本實(shí)驗(yàn)為安全密鑰加入10-16的擾動,檢測安全密鑰的微小擾動對密文圖像的影響,實(shí)驗(yàn)結(jié)果如表6所示.實(shí)驗(yàn)結(jié)果顯示,在本加密算法中,安全密鑰的微小擾動能對密文圖像產(chǎn)生明顯的影響,加密算法具備極強(qiáng)的密鑰敏感度. 表6 密鑰敏感度分析Table 6 Key sensitivity analysis 暴力攻擊是指通過遍歷所有可能的候選項(xiàng)尋找正確的安全密鑰.為了有效抵御暴力攻擊,加密算法必須具備足夠大的密鑰空間[18].密鑰空間的大小由加密密鑰的數(shù)量決定,加密密鑰的數(shù)量越大,加密算法的密鑰空間就越大,其抵御暴力攻擊的能力也就越強(qiáng).本文加密算法的安全密鑰為二維Logistic映射的初始值x0、y0.實(shí)驗(yàn)中二維Logistic映射的初始值提供了大小為1032的密鑰空間,具備抵抗暴力攻擊的能力.而且,該加密系統(tǒng)提供了靈活的密鑰空間大小設(shè)置,能夠滿足不同安全級別的用戶需求. 由于需要產(chǎn)生掩碼圖像和自適應(yīng)混沌序列,本文的加密算法需要兩次調(diào)用二維Logistic混沌系統(tǒng),時(shí)間復(fù)雜度為Θ(2×M×N).基于DNA計(jì)算的加密算法需要消耗大量的時(shí)間在DNA編碼和DNA運(yùn)算過程中.本算法需要對明文圖像和掩碼圖像分別編碼,時(shí)間復(fù)雜度為Θ(2×M×N);同時(shí)需要進(jìn)行DNA異或運(yùn)算,時(shí)間復(fù)雜度為Θ(M×N);另外需要進(jìn)行DNA解碼得到密文圖像,此使的時(shí)間復(fù)雜度為Θ(M×N).在自適應(yīng)置換階段,本算法需要統(tǒng)計(jì)編碼圖像的堿基數(shù)量,并基于自適應(yīng)混沌序列對編碼圖像進(jìn)行像素置換,此時(shí)的時(shí)間復(fù)雜度為Θ(2×M×N).因此,整個(gè)加密算法的時(shí)間復(fù)雜度為Θ(8×M×N).由于DNA計(jì)算具有高并行性,因此在DNA編碼、DNA異或運(yùn)算和DNA解碼過程中,加密算法的速度可以進(jìn)一步提高. 加密算法的實(shí)際運(yùn)行效率受包括編程技巧、運(yùn)行環(huán)境在內(nèi)各種因素影響.本文基于MATLAB平臺模擬了該加密系統(tǒng)的加密效率,實(shí)驗(yàn)環(huán)境為:Windows 10、Intel Core i5 CPU 2.3 GHz、RAM 8.00 GB.實(shí)驗(yàn)結(jié)果顯示該算法的加密效率為1.014765Mbit/s,具有較快的加密速度.而且,該加密算法保留了DNA計(jì)算的高并行.因此,在支持并行性的環(huán)境下,該加密算法的加密效率會進(jìn)一步提高. 本文設(shè)計(jì)了一種基于二維Logistic混沌映射與DNA計(jì)算的自適應(yīng)圖像加密方案.該加密方法融合了二維Logistic混沌系統(tǒng)和DNA計(jì)算的優(yōu)勢,構(gòu)建了基于編碼圖像中堿基數(shù)量的自適應(yīng)像素置換方法,保證了圖像加密算法的混沌性、敏感性和擴(kuò)散性.仿真實(shí)驗(yàn)從直方圖分析、相關(guān)性分析、信息熵、差分攻擊、密鑰敏感度分析、密鑰空間分析、加密效率等多個(gè)方面進(jìn)行了性能測試與分析,實(shí)驗(yàn)結(jié)果顯示經(jīng)本文的加密算法加密后的圖像具備均勻的像素分布,相鄰像素相關(guān)性明顯降低,信息熵測試接近于理想值.加密算法能夠有效抵御統(tǒng)計(jì)分析、差分攻擊、已知明文攻擊、暴力攻擊等常見的攻擊手段,并保證了高效的加密效率.2.2 DNA編碼
2.3 DNA異或運(yùn)算
3 加密系統(tǒng)
3.1 加密過程
3.2 解密過程
4 性能測試與分析
4.1 直方圖分析
4.2 相關(guān)性分析
4.3 信息熵
4.4 差分攻擊
4.5 密鑰敏感度分析
4.6 密鑰空間分析
4.7 加密效率測試
5 總 結(jié)