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