两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于憶阻超混沌系統(tǒng)、元胞自動機和dna計算的圖像加密算法

文檔序號:10656801閱讀:427來源:國知局
基于憶阻超混沌系統(tǒng)、元胞自動機和dna計算的圖像加密算法
【專利摘要】本發(fā)明涉及一種基于憶阻超混沌系統(tǒng)、元胞自動機和DNA計算的圖像加密算法,首先采用基于Chua電路的四維憶阻超混沌系統(tǒng),同時明文圖像通過作用于SHA256函數(shù)來產(chǎn)生密鑰;將混沌系統(tǒng)產(chǎn)生的偽隨機序列作為DNA動態(tài)編碼的依據(jù)并且根據(jù)擴散后的DNA矩陣來決定元胞動態(tài)演變的規(guī)則,并且在加密的過程中,對圖像做了分塊處理;最后,通過偽DNA計算方法對圖像進行加密,在對圖像進行置亂的同時進行了擴散操作。本發(fā)明一方面增加了密鑰空間,增強了算法抵抗暴力攻擊的能力,另一方面又使得密鑰的產(chǎn)生緊緊地依賴于明文,提高了算法抵抗選擇明文攻擊的能力,具有更強的抗窮舉攻擊能力,便于并行計算,進一步提高運行效率,提高算法的安全性。
【專利說明】
基于憶阻超混巧系統(tǒng)、元胞自動機和DNA計算的圖像加密算法
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及圖像加密領(lǐng)域,特別設(shè)及一種基于憶阻超混濁系統(tǒng)、元胞自動機和DNA 計算的圖像加密算法。
【背景技術(shù)】
[0002] 當今,伴隨著智能終端設(shè)備的快速發(fā)展和普及,我們生活中的絕大多數(shù)信息,例如 在微博上分享的圖片、利用微信視頻對話等,都要通過網(wǎng)絡(luò)的傳輸。圖像由于具有形象生 動、簡單、直觀等優(yōu)點,已經(jīng)發(fā)展成為我們生活中不可或缺的交流方式。但是,人們對網(wǎng)絡(luò)安 全的研究并沒有達到一個絕對可靠的地步,所W圖像在網(wǎng)絡(luò)中的傳輸也存在著巨大的安全 漏桐。信息遭到泄密的新聞報道也屢見不鮮,所W確保信息在網(wǎng)絡(luò)傳輸中的安全性已經(jīng)成 為研究學(xué)者必須面對的問題。通常來說,要傳輸?shù)膱D像通常都有著一些相同的特點,都存在 著數(shù)據(jù)量大、相鄰像素相關(guān)性強、冗余度高等特點。起初,人們對信息安全的研究主要聚焦 于文本信息,它們大多都是W-維數(shù)據(jù)流為設(shè)計目標的,像DES、3-DES和RSA等,并沒有考慮 到數(shù)字圖像的特點,如果采用和文本信息相同的加密方式來對圖像進行加密,其加密效果 并沒有達到預(yù)期的目的。所W尋找一種安全的、可靠的、實用的圖像加密方法已經(jīng)擺在人們 面前。目前,采用混濁系統(tǒng)并結(jié)合其它加密手段對圖像進行加密已經(jīng)成為信息安全研究的 一個熱點,具有巨大的應(yīng)用潛力。
[0003] 過去大多數(shù)圖像加密算法都是基于低維的混濁系統(tǒng),低維混濁系統(tǒng)具有結(jié)構(gòu)簡 單、易于操作且計算速度快的優(yōu)點,但是低維混濁系統(tǒng)由于密鑰空間較小,產(chǎn)生的偽隨機序 列復(fù)雜度不高且容易受到相空間重構(gòu)法攻擊的缺點而導(dǎo)致其加密的圖像安全性不太高,隨 著計算機運行速度的提高和新型算法的提出,很多基于低維混濁系統(tǒng)的加密算法已經(jīng)被成 功破解,運就促使更多學(xué)者通過采用高維的超混濁系統(tǒng)來對圖像進行加密。超混濁系統(tǒng)的 吸引子具有難W識別的拓撲結(jié)構(gòu),動力學(xué)行為也比一般的混濁系統(tǒng)更加復(fù)雜且難W預(yù)測, 并且相應(yīng)加密算法的秘鑰空間大,運使得超混濁系統(tǒng)在通信加密及信息安全領(lǐng)域具備更高 的使用價值。隨著2008年惠普實驗室的科學(xué)家成功研制出第一個物理實現(xiàn)的憶阻器開始, 各種基于憶阻器的超混濁系統(tǒng)也已經(jīng)成為學(xué)術(shù)界研究的一個熱點。憶阻器是一種非線性無 源元件,具有非線性、非易失性、體積小和功耗低的優(yōu)點,運都使得憶阻器成為混濁非線性 電路的理想選擇。基于憶阻器的混濁系統(tǒng)具有W下幾個優(yōu)勢:①憶阻器具有著納米級的尺 寸,當應(yīng)用于混濁系統(tǒng)的非線性部分時可W大大縮小系統(tǒng)的物理尺寸;②憶阻器的阻值是 隨著磁通或電荷的變化而產(chǎn)生的,其伏安特性曲線能夠過零點,可W得到多樣的非線性曲 線,運就提高了混濁系統(tǒng)的復(fù)雜度和信號的隨機性;③大多數(shù)憶阻材料可W與CMOS工藝兼 容,運就使得憶阻系統(tǒng)具有更低的能量消耗,由于運些優(yōu)勢,憶阻混濁系統(tǒng)在通信和信息加 密領(lǐng)域具有廣闊的應(yīng)用前景。
[0004] 近年來,隨著元胞自動機研究的不斷深入,將元胞自動機應(yīng)用于圖像加密越來越 受到研究學(xué)者的青睞。元胞自動機屬于一種離散的動力系統(tǒng),具有在時間、狀態(tài)和空間上都 離散的特性,除此之外,元胞結(jié)構(gòu)簡單、并行性好,每個元胞由簡單的與、或等邏輯運算組 成,運算簡單,非常適合圖像加密的實現(xiàn),尤其是二維元胞自動機在并行加密方面更是有著 天然的優(yōu)勢,所W將混濁系統(tǒng)與元胞自動機結(jié)合用于圖像加密也是圖像加密一個新方向。 然而,當前的圖像加密技術(shù)和相關(guān)的理論還不夠完善,很多算法僅僅依賴元胞自動機或單 純的混濁映射進行圖形加密,安全性還是不夠高,因此有必要尋找一種復(fù)合構(gòu)造的圖像加 醬系統(tǒng)。
[0005] 當前,另外一種采用較多的圖像加密方法就是利用偽DNA計算來對圖像進行加密, DNA加密主要是W生物學(xué)技術(shù)的局限性為安全依據(jù),與計算能力無關(guān),因此即使是量子計算 機也無法攻破DNA密碼學(xué)的保護,從而具有更高的安全性。同時,由于DNA計算具有許多其它 計算方式所不具備的特性,如超高并行性、超低能耗等,又具有超強存儲能力,運使得DNA計 算在密碼學(xué)上具有先天的優(yōu)勢。但是已有的基于DNA的加密算法大多要依賴于生物實驗進 行操作,由于生物實驗設(shè)備昂貴,實驗環(huán)境難W控制,實驗靈敏性高等缺點,導(dǎo)致基于DNA計 算的加密方法還是理論多于實踐,通過采用偽DNA計算對圖像進行加密可W避免生物實驗。 除此之外,DNA編碼規(guī)則有8種,大多數(shù)基于DNA的加密算法都是采用其中的某一種編碼規(guī) 貝IJ,運就造成了算法對窮舉攻擊的抵抗能力不強,嚴重威脅了信息的安全存儲和傳輸。

【發(fā)明內(nèi)容】

[0006] 為克服現(xiàn)有技術(shù)中的不足,本發(fā)明提出一種基于憶阻超混濁系統(tǒng)、元胞自動機和 DNA計算的圖像加密算法,克服了低維混濁系統(tǒng)密鑰空間小、安全性不高W及算法缺乏與明 文聯(lián)系的缺點,同時也消除了DNA固定編碼規(guī)則抗窮舉攻擊能力較弱和DNA加密通過復(fù)雜生 物操作實現(xiàn)難度大的弊端,具有更強的抗窮舉攻擊能力,并且在加密的過程中,對圖像做了 分塊處理,便于并行計算,提高效率;通過偽DNA計算方法對圖像進行加密,擺脫了復(fù)雜的生 物實驗操作,并且該算法是基于比特級的加密,在對圖像進行置亂的同時也進行了擴散操 作,提高了算法的安全性。
[0007] 按照本發(fā)明所提供的設(shè)計方案,一種基于憶阻超混濁系統(tǒng)、元胞自動機和DNA計算 的圖像加密算法,包含如下步驟:
[000引步驟1.利用甜A256函數(shù)對大小為MXN的明文圖像P進行計算,得到一組256位的哈 希值并將它作為圖像密鑰Key,將256位的圖像密鑰K巧換算為32個十進制數(shù)ki,k2,...,k32, 計算基于化ua電路的四維憶阻超混濁系統(tǒng)的初始狀態(tài)值;
[0009] 步驟2.將得到的初始狀態(tài)值帶入憶阻超混濁系統(tǒng)進行迭代,得到4個大小分別為1 X 4MN的狀態(tài)值矩陣X = [XI, 1 ,xi,2,. . .,X1,4MN],Y = [yi, 1 ,yi,2,. . .,yi,4MN] ,Z = [Z1,1, Zl,2,. . .,Z1,4MN],W= [Wl,l ,W1,2,. . .,W1,4MN],對狀態(tài)值矩陣X、Y、Z進行修正得矩陣Xl = [XI ' ,1 ,X1 ' ,2 , . . . ,X1 ' '4MN]、Y1 = [yi ' ,1 ,yi ' ,2 , . . . ,yi ' '4MN]、Z1 = [Z1 ' ,1, Zl ' ,2 , . . . , Zl ' ,4MN],使 得Xl',h、yl',h、Zl',hG[l,8],對狀態(tài)值矩陣W進行修正得矩陣Wl = [Wl',l,Wl',2,...,Wl',4MN], 使得Wi ' ,hG [0,I ],hG [ I,4MN],將Xl、Y1、Z1、W1分別按行重組為大小為MX 4N的矩陣X_1,Y_
[0010] 步驟3 .對重組后的矩陣X_1、Y_1、Z_1 進行分組,記Al = [X_l,Y_1 ],A2= [X_l,Z_ 1],A3 = [Y_1,Z_1],利用明文的第一個像素選取將要用于DNA動態(tài)編碼所需的規(guī)則數(shù)矩陣 Rl和 R2,并使 Rl=Ai(l),R2=Ai(2),i = l,2,3;
[0011] 步驟4.將明文圖像P按位展開,得到八個位平面并重組為大小為MX8N的矩陣U,
[0012]令D(i,j) = [U( i,2* j-1),U(i,2* j)],將矩陣U中每兩個元素為一組,作為D中的一 個元素,iG[l,M],jG[l,4N];
[OOU]步驟5.將矩陣D、R1、R2分別分害喊pXq個分塊矩陣,每個分塊矩陣的大小為mXn, 且滿足mXp = M,n X q = 4N,并將分割后的矩陣分別按行重組為大小為1 Xpq的一維矩陣并 記為0_1、3_1、1?_2,其中用0_1山、1?_1山、1?_2山分別表示0_1、1?_1、1?_2中第1^塊的分塊矩 陣,k=l,2, . . .,pXq;
[0014]步驟6.從矩陣W_1的第一個元素開始按行依次選取2mn個元素,重新組成大小為m X化的矩陣,并將該矩陣作為元胞自動機演變的初始構(gòu)型護;
[001引步驟7.對初始構(gòu)型C。進行演變,其中Ck代表第k次演變后得到的構(gòu)型,在進行第k次 演變時,演變規(guī)則由第k-1次經(jīng)過擴散后獲得的DNA矩陣塊決定,k=l,2, ...,pXq;
[0016]步驟8.將0_1中第k塊分塊矩陣D_1山按照R_1中第k塊分塊矩陣R_1山中的編碼 規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(D_1比]);對演變得到的元胞構(gòu)型Ck按照R_2 中第k塊分塊矩陣R_2[k]中對應(yīng)的編碼規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(Ck), k=l ,2, . . . ,pXq;
[0017]步驟9.對得到的編碼矩陣DNA(D_1比])進行擴散操作;
[0018] 步驟10.令k = k+l,循環(huán)執(zhí)行步驟7-10,直到所有的分塊都完成DNA加密;
[0019] 步驟11.將加密過的所有分塊DNA矩陣重組為MX 4N的矩陣并按照規(guī)則數(shù)矩陣Rl中 對應(yīng)的規(guī)則數(shù)進行DNA解碼操作,得到一個大小為MX8N的二進制矩陣Ql,然后對矩陣Ql進 行十進制轉(zhuǎn)換操作,得到一個大小為MXN的十進制密文矩陣Q2,即為加密后的密文圖像。
[0020] 上述的,所述步驟1中基于化Ua電路的四維憶阻超混濁系統(tǒng)的表達式為:
[0021]
[002。其中,h(x) =mix+0.5(m0-mi) X ( I X+1 I - I X-I I ):
x,y,z,w代表混濁系統(tǒng)的狀態(tài)變量,a、b、c、d、e、m日、ml是混濁系統(tǒng)的控制參數(shù),并且當a = 30, 6 = 36,(1 = 2.5,6 = 3.5,111日=-0.5,1]11 = -0.1且?!闧0.073,0.162]時,系統(tǒng)處于超混濁狀態(tài); 并通過公式:
[0023]
[0024] 計算基于畑Ua電路的四維憶阻超混濁系統(tǒng)的狀態(tài)變量的初始狀態(tài)值xo,yo,zo和 wo,其中,sum化2i,k22,. . . ,k32)表示對k21,k22, . . . ,k32進行求和,max化2i,k22, . . . ,k32)表示 求k2i,k22,. . .,k32的最大值,.汲y代表取X和y的異或。
[0025] 上述的,所述步驟2具體包含如下步驟:
[0026] 步驟2.1、將通過步驟1計算得到的初始狀態(tài)值xo,yo, Z日和W日帶入基于化Ua電路的 四維憶阻超混濁系統(tǒng)迭代NO次,其中
I得到4個大小分別為 1 X4MN的狀態(tài)值矩陣X=[xi,i,xi,2, . . .,X1,4MN],Y=[yi,i,yi,2, . . .,yi,4MN],Z=[Z1,1, Zl,2, . . .,Z1,4MN],W=[W1,1,W1,2, . . .,W1,4MN];步驟2.2、對狀態(tài)值矩陣X、Y、Z、W分別通過修正 公式進行修正得矩陣Xl、Y1、Z1、W1,其中修正公式如下:
[0027] Xl =mod((abs(xi,h)-fIoor(XLh)) X 1〇14,8)+1,
[002引 Yl =mod( (abs( yi,h)-floor (yi,h) )Xl0i4 ),8)+1,
[0029] Zl =mod( (abs(zi,h)-f Ioor(ZLh)) X l〇i4,8)+1,
[0030] Wl =mod( (abs(wi,h)-f Ioor(WLh)) X l〇i4,2),
[00川其中,xl,h,yl,h,zl,h,wl,h分別代表狀態(tài)值矩陣X、Y、Z、W中的第h個值,hG[l,4MN]; abs (X)表示對X取絕對值,floor (X)表示取不大于X的最大整數(shù),mod(a,b)表示a對b的取模 運算;
[0032] 步驟2.3、將Xl、Y1、Z1、W1分別按行重組為大小為MX 4N的矩陣X_1,Y_1,Z_1,W_1。
[0033] 上述的,步驟7具體包含如下步驟:
[0034] 步驟7.1、通過如下公式:
[0035]
[0036] 決定元胞自動機演變規(guī)則,設(shè)定元胞的狀態(tài)空間為{0,1},其中,SG'表示在t+1時 刻處于位置(i,j)處的中屯、元胞的狀態(tài)值,S',,表示在時刻t處于位置(i,j)處的中屯、元胞的 狀態(tài)值,取W、巧,-1、爲1,,、巧,+1分別表示在時刻t處于中屯、元胞的上、左、下、右的鄰居元 胞的狀態(tài)值,1、¥1、¥1\化、¥0、¥1?是值為0或1的變量;如果1^=1,表示規(guī)則是非線性規(guī)則,否 則就是線性規(guī)則,VM、VT、化、VD、VR分別控制中間、上、左、下、右五個元胞是否參與元胞演變 過程,如果VM、VT、化、VD、VR中對應(yīng)的值為0,則表示其對應(yīng)的元胞不參與演變;L、VM、VT、^、 VD、VR的值由步驟7.2中演變規(guī)則ru 1 e化)決定;
[0037] 步驟7.2、通過公式:
[00;3 引
[0039] 確定元胞自動機演變規(guī)則數(shù),其中,:rule化)表示元胞進行第k次演變時的規(guī)則數(shù), DNA化化-1))表示前一個經(jīng)過擴散后獲得的DNA矩陣塊,sum(DNA化化)))表示對第k個擴散 后的DNA矩陣的每個元素的ASCII碼值求和,當k=l時,E(O)=CD, C嗦示元胞的初始構(gòu)型,k =1,2, . . . ,pXq;
[0040] 步驟7.3、將步驟7.2中計算得到的^16化)轉(zhuǎn)變?yōu)槎M制,即求得1^、¥1、¥1\化、¥0、 VR的值,同時根據(jù)步驟7.1)確定元胞演變的函數(shù)。
[0041] 上述的,所述步驟9中擴散操作具體包含:通過公式: DNA(巧.1]) = UN八((、;)貨 DNA(/J> I川)貨 UN八(D IL"x?])' /( = I
[0042] I ,, DNA( q/c]) = DNA((、')貨 DNA( D IW) @ DN八(/7[/( - U ),A';; I
[0043] 對得到的編碼矩陣DNA(D_1比])進行擴散操作。
[0044] 本發(fā)明的有益效果:
[0045] 本發(fā)明克服現(xiàn)有技術(shù)中低維混濁系統(tǒng)密鑰空間小、安全性不高W及算法缺乏與明 文聯(lián)系的缺點,同時也消除了DNA固定編碼規(guī)則抗窮舉攻擊能力較弱和DNA加密通過復(fù)雜生 物操作實現(xiàn)難度大的弊端;采用基于化Ua電路的四維憶阻超混濁系統(tǒng),同時明文圖像通過 作用于SHA256函數(shù)來產(chǎn)生密鑰,增加密鑰空間,增強算法抵抗暴力攻擊的能力,另一方面又 使得密鑰的產(chǎn)生緊緊地依賴于明文,提高算法抵抗選擇明文攻擊的能力;將混濁系統(tǒng)產(chǎn)生 的偽隨機序列作為DNA動態(tài)編碼的依據(jù)并且根據(jù)擴散后的DNA矩陣來決定元胞動態(tài)演變的 規(guī)則,相較于當前其它很多結(jié)合DNA計算與元胞自動機的加密算法中采用的固定DNA編碼規(guī) 則和元胞單一演變規(guī)則,該算法具有更強的抗窮舉攻擊能力,并且在加密的過程中,對圖像 做了分塊處理,便于并行計算,提高了效率;通過偽DNA計算方法對圖像進行加密,擺脫復(fù)雜 的生物實驗操作,并且該算法是基于比特級的加密,在對圖像進行置亂的同時也進行了擴 散操作,提高了算法的安全性。
【附圖說明】:
[0046] 圖1為本發(fā)明的流程示意圖;
[0047] 圖2(a)為實施例S所用原始圖像;
[0048] 圖2(b)為實施例S所用的加密后圖像;
[0049 ]圖2 (C)為實施例S所用的密鑰正確時解密圖像;
[0050] 圖2(d)為實施例S所用的使用錯誤密鑰時的解密圖像之一;
[0051] 圖2(e)為實施例S所用的使用錯誤密鑰時的解密圖像之二;
[0052] 圖2(f)為實施例S所用的使用錯誤密鑰時的解密圖像之
[0053] 圖3(a)為實施例S所用的原始圖像的直方圖;
[0054] 圖3(b)為實施例S所用的加密圖像的直方圖;
[0055] 圖4(a)為實施例=所用的原始圖像水平方向上相鄰像素的相關(guān)性分析圖;
[0056] 圖4(b)為實施例=所用的加密圖像水平方向上相鄰像素的相關(guān)性分析圖;
[0057] 圖5(a)為實施例四所用原始圖像;
[0058] 圖5(b)為實施例四所用的加密后圖像;
[0059] 圖5(c)為實施例四所用的密鑰正確時解密圖像;
[0060] 圖5(d)為實施例四所用的使用錯誤密鑰時的解密圖像之一;
[0061] 圖5(e)為實施例四所用的使用錯誤密鑰時的解密圖像之二;
[0062] 圖5(f)為實施例四所用的使用錯誤密鑰時的解密圖像之
[0063] 圖6(a)為實施例四所用的原始圖像的直方圖;
[0064] 圖6(b)為實施例四所用的加密圖像的直方圖;
[0065] 圖7(a)為實施例四所用的原始圖像水平方向上相鄰像素的相關(guān)性分析圖;
[0066] 圖7(b)為實施例四所用的加密圖像水平方向上相鄰像素的相關(guān)性分析圖;
[0067] 圖8(a)為實施例五所用原始圖像;
[0068] 圖8(b)為實施例五所用的加密后圖像;
[0069] 圖8(c)為實施例五所用的密鑰正確時解密圖像;
[0070] 圖8(d)為實施例五所用的使用錯誤密鑰時的解密圖像之一;
[0071] 圖8(e)為實施例五所用的使用錯誤密鑰時的解密圖像之二;
[0072] 圖8(f)為實施例五所用的使用錯誤密鑰時的解密圖像之
[0073] 圖9(a)為實施例五所用的原始圖像的直方圖;
[0074] 圖9(b)為實施例五所用的加密圖像的直方圖;
[0075] 圖10(a)為實施例五所用的原始圖像水平方向上相鄰像素的相關(guān)性分析圖;
[0076] 圖10(b)為實施例五所用的加密圖像水平方向上相鄰像素的相關(guān)性分析圖。
【具體實施方式】:
[0077] 下面結(jié)合附圖和技術(shù)方案對本發(fā)明作進一步詳細的說明,并通過優(yōu)選的實施例詳 細說明本發(fā)明的實施方式,但本發(fā)明的實施方式并不限于此。
[0078] 實施例一,參見圖1所示,一種基于憶阻超混濁系統(tǒng)、元胞自動機和DNA計算的圖像 加密算法,包含如下步驟:
[0079] 步驟1.利用甜A256函數(shù)對大小為MXN的明文圖像P進行計算,得到一組256位的哈 希值并將它作為圖像密鑰Key,將256位的圖像密鑰K巧換算為32個十進制數(shù)ki,k2,...,k32, 計算基于化ua電路的四維憶阻超混濁系統(tǒng)的初始狀態(tài)值;
[0080] 步驟2.將得到的初始狀態(tài)值帶入憶阻超混濁系統(tǒng)進行迭代,得到4個大小分別為1 X 4MN的狀態(tài)值矩陣X = [XI, 1 ,xi,2,. . .,X1,4MN],Y = [yi, 1 ,yi,2,. . .,yi,4MN] ,Z = [Z1,1, Zl,2,. . .,Z1,4MN],W= [Wl,l ,W1,2,. . .,W1,4MN],對狀態(tài)值矩陣X、Y、Z進行修正得矩陣Xl = [XI ' ,1 ,X1 ' ,2 , . . . ,X1 ' '4MN]、Y1 = [yi ' ,1 ,yi ' ,2 , . . . ,yi ' '4MN]、Z1 = [Z1 ' ,1, Zl ' ,2 , . . . , Zl ' ,4MN],使 得Xl',h、yl',h、Zl',hG[l,8],對狀態(tài)值矩陣W進行修正得矩陣Wl = [Wl',l,Wl',2,...,Wl',4MN], 使得Wi ' ,hG [0,I ],hG [ I,4MN],將Xl、Y1、Z1、W1分別按行重組為大小為MX 4N的矩陣X_1,Y_
[OOW] 步驟3 .對重組后的矩陣X_1、Y_1、Z_1進行分組,記Al = [X_l,Y_1 ],A2= [X_l,Z_ 1],A3=[Y_1,Z_1],利用明文的第一個像素選取將要用于DNA動態(tài)編碼所需的規(guī)則數(shù)矩陣 Rl和 R2,并使 Rl=Ai(l),R2=Ai(2),i = l,2,3;
[0082] 步驟4.將明文圖像P按位展開,得到八個位平面并重組為大小為MX8N的矩陣U,
[0083] 令D(i,j) = [U( i,2* j-1),U(i,2* j)],將矩陣U中每兩個元素為一組,作為D中的一 個元素,iG[l,M],jG[l,4N];
[0084] 步驟5.將矩陣D、R1、R2分別分割成pXq個分塊矩陣,每個分塊矩陣的大小為mXn, 且滿足mXp = M,n X q = 4N,并將分割后的矩陣分別按行重組為大小為1 Xpq的一維矩陣并 記為0_1、3_1、1?_2,其中用0_1山、1?_1山、1?_2山分別表示0_1、1?_1、1?_2中第1^塊的分塊矩 陣,k=l,2, . . .,pXq;
[0085] 步驟6.從矩陣W_1的第一個元素開始按行依次選取2mn個元素,重新組成大小為m X化的矩陣,并將該矩陣作為元胞自動機演變的初始構(gòu)型護;
[0086] 步驟7.對初始構(gòu)型護進行演變,其中Ck代表第k次演變后得到的構(gòu)型,在進行第k次 演變時,演變規(guī)則由第k-1次經(jīng)過擴散后獲得的DNA圖像塊決定,k=l,2, ...,pXq;
[0087] 步驟8.將0_1中第k塊分塊矩陣D_1山按照R_1中第k塊分塊矩陣R_1山中的編碼 規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(D_1比]);對演變得到的元胞構(gòu)型Ck按照R_2 中第k塊分塊矩陣R_2[k]中對應(yīng)的編碼規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(Ck), k=l ,2, . . . ,pXq;
[0088] 步驟9.對得到的編碼矩陣DNA(D_1比])進行擴散操作;
[0089] 步驟10.令k = k+l,循環(huán)執(zhí)行步驟7-10,直到所有的分塊都完成DNA加密;
[0090] 步驟11.將加密過的所有分塊DNA矩陣重組為MX 4N的矩陣并按照規(guī)則數(shù)矩陣Rl中 對應(yīng)的規(guī)則數(shù)進行DNA解碼操作,得到一個大小為MX8N的二進制矩陣Ql,然后對矩陣Ql進 行十進制轉(zhuǎn)換操作,得到一個大小為MXN的十進制密文矩陣Q2,即為加密后的密文圖像。
[0091] 實施例二,參見圖1所示,一種基于憶阻超混濁系統(tǒng)、元胞自動機和DNA計算的圖像 加密算法,包含如下步驟:
[0092] 步驟1.利用甜A256函數(shù)對大小為MXN的明文圖像P進行計算,得到一組256位的哈 希值并將它作為圖像密鑰Key,將256位的圖像密鑰K巧換算為32個十進制數(shù)ki,k2,...,k32, 計算基于化ua電路的四維憶阻超混濁系統(tǒng)的初始狀態(tài)值,具體基于化ua電路的四維憶阻超 混濁系統(tǒng)的表達式為:
[0093]
[0094] 其中,h(x) =mix+0.5(m〇-mi) X (X+1 I - I X-I),
, y,z,w代表混濁系統(tǒng)的狀態(tài)變量,a、b、c、d、e、m〇、mi是混濁系統(tǒng)的控制參數(shù),并且當a = 30,b =36,(1 = 2.5,6 = 3.5,111日=-0.5,虹=-0.1且。£[0.073,0.162]時,系統(tǒng)處于超混濁狀態(tài);并 通過公式:
[0095]

[0096] 計算基于畑Ua電路的四維憶阻超混濁系統(tǒng)的狀態(tài)變量的初始狀態(tài)值XO,yo,ZO和 W0,其中,sum化2i,k22,. . . ,k32)表示對k21,k22, . . . ,k32進行求和,max化2i,k22, . . . ,k32)表示 求k21,k22, . . .,k32的最大值,義笛y代表取X和y的異或;
[0097] 步驟2.將得到的初始狀態(tài)值帶入憶阻超混濁系統(tǒng)進行迭代,得到4個大小分別為1 X 4MN的狀態(tài)值矩陣X= [X1,1,xi,2,. . .,X1,4MN] ,Y= [yi,i,yi,2,. . .,yi,4MN] ,Z = [Z1,1, Zl, 2 , . . . , Z1,4MN],W = [Wl, I , Wl, 2 , . . . , W1,4MN],對狀態(tài)值矩陣X、Y、Z進行修正得矩陣Xl =
[XI ' ,1 ,X1 ' ,2 , . . . ,X1 ' '4MN]、Y1 = [yi ' ,1 ,yi ' ,2 , . . . ,yi ' '4MN]、Z1 = [Z1 ' ,1, Zl ' ,2 , . . . , Zl ' ,4MN],使 得Xl',h、yl',h、Zl',hG[l,8],對狀態(tài)值矩陣W進行修正得矩陣Wl = [Wl',l,Wl',2,...,Wl',4MN], 使得Wi ' ,hG [0,I ],hG [ I,4MN],將Xl、Y1、Z1、W1分別按行重組為大小為MX 4N的矩陣X_1,Y_ I,Z_1,W_1,具體包含如下步驟:
[009引步驟2.1、將通過步驟1計算得到的初始狀態(tài)值xo,yo, Z日和W日帶入基于化Ua電路的 四維憶阻超混濁系統(tǒng)迭代NO次,其中
,得到4個大小分別為 1 X4MN的狀態(tài)值矩陣X=[xi,i,xi,2, . . .,X1,4MN],Y=[yi,i,yi,2, . . .,yi,4MN],Z=[Z1,1, Z I, 2 , . . . , Zl, 4Mn] jW=[wi,1,W1,2, . . . , W1,4Mn];
[0099] 步驟2.2、對狀態(tài)值矩陣X、Y、Z、W分別通過修正公式進行修正得矩陣Xl、Y1、Z1、W1, 其中修正公式如下:
[0100] Xl =mod((abs(xi,h)-fIoor(XLh)) X 1〇14,8)+1,
[0101 ] Yl =mod( (abs( yi,h)-floor (yi,h) )Xl〇i4 ),8)+1,
[0102] Zl =mod( (abs(zi,h)-f Ioor(ZLh)) X l〇i4,8)+1,
[0103] Wl =mod( (abs(wi,h)-f Ioor(WLh)) X l〇i4,2),
[0104] 其中,xl,h,yl,h,zl,h,wl,h分別代表狀態(tài)值矩陣X、Y、Z、W中的第h個值,hG[l,4MN]; abs (X)表示對X取絕對值,floor (X)表示取不大于X的最大整數(shù),mod(a,b)表示a對b的取模 運算;
[0105] 步驟2.3、將X1、Y1、Z1、W1分別按行重組為大小為MX4N的矩陣X_1,Y_1,Z_1,W_1;
[0106] 步驟3 .對重組后的矩陣X_1、Y_1、Z_1 進行分組,記Al = [X_l,Y_1 ],A2= [X_l,Z_ 1],A3 = [Y_1,Z_1],利用明文的第一個像素選取將要用于DNA動態(tài)編碼所需的規(guī)則數(shù)矩陣 Rl和 R2,并使 Rl=Ai(l),R2=Ai(2),i = l,2,3;
[0107] 選取Rl和R2的規(guī)則如下:
[010引 index=mod(P( 1), 3)+1;
[0109] 如果Index = I,那么i = l ,Ai=Al,此時R1=X_1,R2 = Y_1;
[0110] 如果 index = 2,那么 i = 2,Ai=A2,此時 R1=X_1,R2 = Z_1;
[0111] 如果 index = 3,那么 i = 3,Ai=A3,此時Rl=Y_l,R2 = Z_l。
[0112] 其中,index是我們設(shè)定的一個變量,X_1、Y_1、Z_1表示修正重組后的狀態(tài)值矩陣, P (1)表示明文圖像的第一個像素值,mod (a,b)表示a對b取模,i G [ 1,3 ];
[0113] 步驟4.將明文圖像P按位展開,得到八個位平面并重組為大小為MX8N的矩陣U,令 D(i,j) = [U(i,2*j-1),U(i,2*j)],將矩陣U中每兩個元素為一組,作為D中的一個元素 ,i G [l,M],jG[l,4N];
[0114] 步驟5.將矩陣D、R1、R2分別分割成P X q個分塊矩陣,每個分塊矩陣的大小為m X n, 且滿足mXp = M,nXq = 4N,并將分割后的矩陣分別按行重組為大小為IXpq的一維矩陣并 記為0_1、3_1、1?_2,其中用0_1山、1?_1山、1?_2山分別表示0_1、1?_1、1?_2中第1^塊的分塊矩 陣,k=l ,2, . . . ,pXq;
[0115] 步驟6.從矩陣W_1的第一個元素開始按行依次選取2mn個元素,重新組成大小為m X2n的矩陣,并將該矩陣作為元胞自動機演變的初始構(gòu)型(^
[0116] 步驟7.對初始構(gòu)型護進行演變,其中Ck代表第k次演變后得到的構(gòu)型,在進行第k次 演變時,演變規(guī)則由第k-1次經(jīng)過擴散后獲得的DNA矩陣塊決定,k=l,2, . . .,pXq,具體包 含如下步驟:
[0117] 步驟7.1、通過如下公式:
[011 引
[0119] 決定元胞自動機演變規(guī)則,設(shè)定元胞的狀態(tài)空間為{0,1},其中,表示在t+1時 刻處于位置(i,j)處的中屯、元胞的狀態(tài)值,駕J表示在時刻t處于位置Q J)處的中屯、元胞的 狀態(tài)值,取,,,.、、記,y、冷+1分別表示在時亥Ijt處于中屯、元胞的上、左、下、右的鄰居元 胞的狀態(tài)值,1、¥1、¥1\化、¥0、¥1?是值為0或1的變量;如果1^=1,表示規(guī)則是非線性規(guī)則,否 則就是線性規(guī)則,¥1、¥1\¥1^眉、¥1?分別控制中間、上、左、下、右五個元胞是否參與元胞演變 過程,如果VM、VT、化、VD、VR中對應(yīng)的值為0,則表示其對應(yīng)的元胞不參與演變,L、VM、VT、^、 VD、VR的值由步驟7.2中演變規(guī)則rule化)決定;
[0120] 步驟7.2、通過公式:
[0121]
[0122] 確定元胞自動機演變規(guī)則數(shù),其中,:rule化)表示元胞進行第k次演變時的規(guī)則數(shù), DNA化化-1))表示前一個經(jīng)過擴散后獲得的DNA分塊矩陣,sum(DNA化化)))表示對第k個擴 散后的DNA矩陣的每個元素的Ascn碼值求和,當k = 1時,E(O)=護,護表示元胞的初始構(gòu)型, k=l ,2, . . . ,pXq;
[0123] 步驟7.3、將步驟7.2中計算得到的^16化)轉(zhuǎn)變?yōu)槎M制,即求得1^、¥1、¥1\化、¥0、 VR的值,同時根據(jù)步驟7.1)確定元胞演變的函數(shù);
[0124] 步驟8.將0_1中第k塊分塊矩陣D_1比]按照R_1中第k塊分塊矩陣R_1比]中的編碼 規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(D_1比]);對演變得到的元胞構(gòu)型Ck按照R_2 中第k塊分塊矩陣R_2[k]中對應(yīng)的編碼規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(Ck), k=l ,2, . . . ,pXq;
[0125] 步驟9.對得到的編碼矩陣DNA(D_1比])進行擴散操作,通過公式:
[0126]
[0127] 進行擴散操作;
[0128] 步驟10.令k = k+l,循環(huán)執(zhí)行步驟7-10,直到所有的分塊都完成DNA加密;
[0129] 步驟11.將加密過的所有分塊DNA矩陣重組為M X 4N的矩陣并按照規(guī)則數(shù)矩陣Rl中 對應(yīng)的規(guī)則數(shù)進行DNA解碼操作,得到一個大小為MX8N的二進制矩陣Ql,然后對矩陣Ql進 行十進制轉(zhuǎn)換操作,得到一個大小為MXN的十進制密文矩陣Q2,即為加密后的密文圖像。
[0130] 實施例S,參見圖2(a)~4(b)所示,在本實施例中,采用的編程軟件為Matlab R2014a,選取大小為256 X 256的Lena灰度圖像為實驗對象,具體加密過程如下:
[01川步驟1.輸入原始大小為256 X 256的Lena灰度圖像,用P= imread( ' Iena. bmp ')讀 取圖像信息,利用細A256函數(shù)對明文圖像P進行計算,得到一組256位的哈希值并將它作為 圖像密鑰Key,然后將256位的K巧換算為32個十進制數(shù)ki,k2,...,k32,用來計算四維憶阻超 混濁系統(tǒng)的初始狀態(tài)值的具體步驟如下:
[0132] 1.1)采用基于化Ua電路的四維憶阻超混濁系統(tǒng)來產(chǎn)生加密算法所需的偽隨機序 列,其表達式如下所示:
[0133]
[0134] h(x) =mix+0.5(m〇-mi) X ( I X+1 I -1 X-I I ),
[0135] 當a = 30,b = 36,c = 0.1,d = 2.5,e = 3.5,m〇 = -〇. 5,mi = -〇. I時,系統(tǒng)處于超混濁 狀態(tài)。
[0136] 1.2)利用甜A256函數(shù)對明文圖像進行計算,可W得到一組256位的哈希值(十六進 制表不為[2 62 88 fel3eeee0c6baaf8dalc8c25f5ac36 9a0994656d59e4605e3d0476723e 9]),并把它作為圖像的 密鑰,然后將256位的哈希值轉(zhuǎn)換為32個十進制數(shù)(38 40 143 225 62 238 224 198 186 175141 161 200 194 95 90 195 105 160 153 70 86 213 158 70 5 227 208 71 103 35 233),并將其定義為kl,k2,...,k32,接著利用如下公式計算憶阻超混濁系統(tǒng)的初始狀態(tài)值:
[0137]
[013引 通巧計算得剖K阻趟混視《統(tǒng)的初貓狀態(tài)但XO = 1.3359,yo = 0.2813 ,ZO = 0.9297,w0 = 0.1984。
[0139] 步驟2.將得到的初始狀態(tài)值帶入憶阻超混濁系統(tǒng)進行迭代,可W得到4個大小分 別為1 X262144的狀態(tài)值矩陣X = [xi,i,xi,2,. . . ,xi,262i44],Y=[yi,i,yi,2,. . . ,yi,262i44] ,Z = [Z1,1,Z1,2, . . .,Z1,262144],W=[W1,1,W1,2, . . .,W1,262144],接著對得到的狀態(tài)矩陣X、Y、Z進行修 lEf#^l|^Xl = [xi',l,Xl',2, . . . ,Xl',262144]NYl = [yi',l,yi',2, . . . ,yi',262144] nZI = [zi',1, Zl',2, . . . ,Zl' ,262144],使得 Xl ',h、yi',h、Zl',hG[l,8],對狀態(tài)值矩陣W 進行修正得矩陣Wl = [W1',1,W1',2,. ..,W1',262144],使得 Wi',hG[0, ILhG [1,262144],進而再將 XUYl、Z1、W1按行 重組為大小為256 X 1024的矩陣X_1,Y_1,Z_1,W_1,其具體步驟如下:
[0140] 2.1)為了避免有害影響,我們先將通過步驟l計算得到的(xo,yo,zo,wo)帶入混濁 系統(tǒng)迭代NO次,其中
進而再對混濁系統(tǒng)進行迭代 可W得到S個大小分別為256 X 1024的狀態(tài)值矩陣X、Y、Z、W。
[0141] 2.2)通過修正公式分別對得到的狀態(tài)值矩陣乂、¥、2、¥進行修正,得到乂1、¥1、21、 Wl,修正公式如下:
[0142] Xl =mod((abs(xi,h)-fIoor(XLh)) X 1〇14,8)+1
[0143] Yl =mod( (abs(yi,h)-floor(yi,h)) X 1〇14) ,8)+1
[0144] Zl =mod((abs(zi,h)-fIoor(ZLh)) X 1014,8)+1
[0145] Wl=mod((abs(wi,h)-floo:r(wi,h)) X 1014,2),
[0146] 其中xl,h,yl,h,zl,h,wl,h分別代表狀態(tài)值矩陣X、Y、Z、W中的第h個值,hG[l,256X 1024] ;abs(X)表示對X取絕對值,floor(X)表示取不大于X的最大整數(shù),mod(a,b)表示a對b 的取模運算。
[0147] 2.3)對修正后的矩陣Xl、Y1、Z1、W1按行重組成大小為256 X 1024的矩陣X_1、Y_1、 Z_1、W_1。
[0148] 其整個過程如下所示:
[0149]
[0150] 步驟3.對修正重組后的矩陣X_1、Y_1、Z_1進行分組,記Al = [X_l,Y_1 ],A2= [X_l, Z_1 ],A3 = [Y_1,Z_1 ],接著利用明文的束象素來選取將要用于DNA動態(tài)編碼所需的規(guī) 則數(shù)矩陣Rl 和R2,并使Rl = Ai (1),R2=Ai (2),i = 1,2,3;
[0151] 選取規(guī)則數(shù)矩陣Rl和R2的規(guī)則具體如下:
[0152] index=mod(P( 1 ),3)+1;
[0153] 如果index = l,那么i = l ,Ai=Al,此時R1=X_1,R2 = Y_1;
[0154] 如果 index = 2,那么 i = 2,Ai=A2,此時 R1=X_1,R2 = Z_1;
[0155] 如果 index = 3,那么 i = 3,Ai=A3,此時 R1=Y_1,R2 = Z_1。
[0156] 其中,index是我們設(shè)定的一個變量,X_1、Y_1、Z_1表示修正重組后的狀態(tài)值矩陣, P (1)表示明文圖像的第一個像素值,mod (a,b)表示a對b取模,i G [ 1,3 ]。
[0157] 本實施例中,P(I)的值為162,通過選取規(guī)則得到index的值為1,所WR1=X_1,R2 = Y_l〇
[0158] 步驟4.將明文圖像P的八個位平面,重組為大小為256X2048的矩陣U,
[0159] 令D( i,j) = [U( i,2* j-1),U( i,2* j)],即將U中每兩個元素為一組作為D中的一個 元素,i G [ 1,256],j G [ 1,1024],具體過程如下:明文圖像
[0160]
[0161] 其中,P表示明文圖像,PO~P7表示明文圖像P的8個位平面,U表示將8個位平面按 行重組后得到的矩陣,D表示將U中每兩個元素看為一組后獲得的矩陣,始表示明文圖像P 的第(i,j)個元素轉(zhuǎn)換為二進制后的第t位數(shù)值,tG[0,7]。
[0162] 步驟5.將矩陣D、R1、R2分別分割成4 X 16個分塊矩陣,每個分塊矩陣的大小為64 X 64,并將分割后的矩陣分別按行重組為大小為1X64的一維矩陣并記為0_1、心1、1?_2,其中 用0_1山、3_1比]、1?_2山分別表示0_1、3_1、1?_2中第k塊的分塊矩陣,運里k=l,2,..., 64,具體過程如下:
[0163] 對矩陣D進行分塊:
[0164]
[
[
[0167] 同理,參考獲得D_1比]的方法,也可W獲得R_1比]、R_2[k]對應(yīng)的分塊矩陣,其中P G[l,4],qG[l,16]。
[016引步驟6.從矩陣W_1的第一個元素開始按行依次選取2mn = 2 X 64 X 64 = 8192個元 素,重新組成大小為64X128的矩陣,并將該矩陣作為元胞自動機演變的初始構(gòu)型C<^其中, 元胞自動機(Cellular Automa化,簡稱CA)是一種在時間和空間上都離散的動力系統(tǒng),具有 結(jié)構(gòu)簡單、并行性好等優(yōu)點。每個元胞由簡單的與、或等邏輯運算組成,運算簡單。元胞自動 機可W用式CA= (C,S,V,F(xiàn))的四元組來表示,其中:C代表元胞空間,S代表元胞狀態(tài)空間,V 代表元胞的鄰域組合,F(xiàn)化親局部掉換巧敬。對于鄰域半徑r = l的一維元胞自動機來說,它 的狀態(tài)轉(zhuǎn)移函數(shù)可由式
來表示,是1、S;、爲I是S個輸入變量,分別 表示元胞在t時刻在位置i-1,i和i+1處的元胞狀態(tài),式"代表元胞在t+1時刻在位置i處的元 胞狀態(tài),它們的值只能是0或1兩種狀態(tài)。
[0169] 二維元胞自動機是將元胞空間劃分為方形網(wǎng)絡(luò),對于半徑為1的Von化umann鄰居 類型的二維元胞自動機來說,它的狀態(tài)轉(zhuǎn)移函數(shù)可由式巧 來表示,式中萌、取.、而_,、勒,,,冷4分別表示t時刻元胞在位置。,如、。-1,^、。^-- 1)、( i+1,j)、( i,j+1)處的狀態(tài),式^表示t+1時刻元胞在位置(i,j)處的狀態(tài)。
[0170] 元胞自動機的演化特性是通過規(guī)則來決定的,運里規(guī)則又被稱為局部狀態(tài)轉(zhuǎn)移函 數(shù)。對于鄰域半徑r=l的一維元胞自動機來說,其狀態(tài)值5,%、<、成1的值只能是0或1,因 此它一共有28 = 256種規(guī)則。如果將fi的每種可能列成真值表的形式,就可W確定fi屬于幾 號規(guī)則,其中80號演變規(guī)則的真值表如下表所示:表1鄰域半徑為1的一維元胞自動機80號 規(guī)則真值表
[0171]
[0172] 元胞演變的規(guī)則號可W用8位二進制數(shù)來表示,如上表80號規(guī)則真值表所示,化為 二進制為(〇1〇1〇〇〇〇)2=(80)1〇,規(guī)則號表示為簡化的十進制形式如
所 示。同理,一維元胞自動機的其它規(guī)則也可按照同樣的方法來確定。
[0173] 獲得元胞初始構(gòu)型護的整個過程如下所示:
[0174] 從¥_1的第一個元素開始按行選取8192個元素(虛線所示),接著將其重組為64 X 128的矩陣,即為護:
[0175]
[0176] 步驟7.對初始構(gòu)型護進行演變,其中Ck代表第k次演變后得到的構(gòu)型,特別的是在 進行第k次演變時,演變規(guī)則由第k-1次經(jīng)過擴散后獲得的DNA矩陣塊來決定,k=l,2, ..., 64,其中,改進的二維元胞自動機像一維元胞自動機一樣,二維元胞自動機鄰域的大小也可 W用半徑r來表示,但定義較為復(fù)雜且演化規(guī)則的數(shù)量和復(fù)雜度會隨著鄰域內(nèi)元胞數(shù)目的 增加而成指數(shù)增長,運在一定程度上增強了算法的安全性,但是同時也極大的增加了算法 的計算量,對獻杰掉務(wù)巧敬講行修放得到公式:
[0177]
,
[0178] 通過該公式來決定元胞演變的規(guī)則,其中,式表示在t+1時刻處于位置(i,j)處的 中屯、元胞的狀態(tài)值,幾y表示在時刻t處于位置(i,j)處的中屯、元胞的狀態(tài)值, 取1.;、成,_1、義W、或,+1表示在時刻t處于中屯、元胞的上、左、下、右的鄰居元胞的狀態(tài)值, ^¥1、¥1\¥^¥0、¥1?是取值為0和1的變量。如果1=1,表示規(guī)則是非線性規(guī)則,否則就是線性 規(guī)貝IJ。VM、VT、化、VD、VR分別表示中間、上、左、下、右五個元胞,運五個變量的值決定哪些元 胞參與中間元胞狀態(tài)值的更新。我們就用運6個變量的值來決定每種可能的規(guī)則。例如化、 VM、VT、化、VD、VR) = ( 001110) 2 =( 14) IQ,該規(guī)則就稱為規(guī)則14,將上述對狀態(tài)轉(zhuǎn)移函數(shù)進行 修改得到的公式簡化為公式:巧=卑由于有六個變量,所W-共有26 = 64種規(guī)則,在保證安全性的前提下,極大的降低了計算量,提高了加密效率。其中,L、VM、VT、 VL、VD、VR變量的值可W通過前一個DNA分塊矩陣求得,相當于通過加密塊來決定元胞更新 的規(guī)則,規(guī)則數(shù)通過如下公式獲得:
[0179]
[0180] 其中,rule化)表示元胞進行第k次演變時的規(guī)則數(shù),DNA巧化-1))表示前一個經(jīng)過 擴散后獲得的DNA矩陣塊,sum(DNA化(k)))表示對第k個擴散后的DNA矩陣的每個元素的 ASCII碼值求和,當k=l時,E(0)=C〇,k=l,2, . . .,pXq。
[0181] 接下來將rule化)轉(zhuǎn)變?yōu)槎M制,根據(jù)上述對狀態(tài)轉(zhuǎn)移函數(shù)進行修改得到公式的 內(nèi)容即可求得L、VM、¥1\¥^¥0、¥如勺值,此時元胞演變的函數(shù)也就確定了下來。
[0182] 一個具體的例子如下:
[0183] 假定
,當 k = l 時,;rule(l)=mod(sum(C°),64) = ll,將(11)10 轉(zhuǎn)變?yōu)槎M制(〇〇1〇11)2,可得1 = 0、¥]? = 0、¥1 = 1、化=0、¥0=1、¥1?=1,根據(jù)1^、¥]\1、¥1'、化、 VD、VR的值可得此時元胞演變的公式變?yōu)椋呵?茸Lj貨成@《,,1,根據(jù)此規(guī)則對元胞進 行第一次演變得
'假定經(jīng)過第一次擴散后得到的DNA矩陣可表示為
[0184]
那么
[01 化]rule(2) =mod(sum(DNA化(1))),64)
[01 化]=mod((84+65+84+67+84+67+67+67+65+71巧1+67),64)
[0187] =27,
[018 引 將(27)10 轉(zhuǎn)變?yōu)槎M制(011011)2,可得1 = 0、¥]?=1、¥1 = 1、化=0、¥0=1、¥尺=1, 根據(jù)L、VM、VT、VL、VD、VR的值可得此時元胞演變的公式為:
[0189] ,接著對元胞進行第二次演變可得:
[0190] 1可W求得任意次演變的元胞構(gòu)型。
[0191] 步驟8中將D_1中第k塊分塊矩陣D_1比]按照R_1比]中的編碼規(guī)則進行DNA編碼,并 將編碼后的矩陣記為DNA(D_l[k]);對演變得到的元胞構(gòu)型Ck按照分塊矩陣R_2[k]中對應(yīng) 的編碼規(guī)則進行DNA編碼,并將編碼后的元素記為DNA(Ck)的具體步驟如下:
[0192] 對0_1比](此時k假定為5)進行DNA編碼的一個具體的例子如下:
[0193] 假定
,那么根據(jù)D_l[5]中 的元素在3_1 [5]中對應(yīng)的編碼規(guī)則可得^
同理,任意的0_1
[k]、R_l[k]也可W求得。
[0194] 步驟9.對得到的編碼矩陣DNA(D_1比])進行擴散操作,其具體步驟如下:
[01M]通過如下對得到的DNA矩陣進行擴散操作,
[0196]
[0197] DNA化比])表示第k塊經(jīng)過加密后的圖像的DNA編碼矩陣,DNA化比-1])表示其前一 個加密后的DNA編碼矩陣,DNA(Ck)表示元胞經(jīng)過第k次演變并且經(jīng)過DNA編碼后的編碼矩 陣,DNA(D_l[k])表示對D_1中第k塊矩陣經(jīng)過編碼的DNA矩陣,k=l,2,. . .,64。
[019引步驟10.令k = k+l,循環(huán)執(zhí)行步驟7-10,直到所有的分塊都完成DNA加密。
[0199] 步驟11.將加密過的所有分塊DNA矩陣重組為256 X 1024的矩陣并按照編碼規(guī)則矩 陣Rl對應(yīng)的規(guī)則數(shù)進行DNA解碼操作,可W得到一個大小為256 X 2048的二進制矩陣Ql,然 后對矩陣Ql進行十進制轉(zhuǎn)換操作,可W得到一個大小為256 X 256的十進制密文矩陣Q2,即 為加密后的密文圖像。
[0200] 一個具體的例子如下:
[0201] 假定加密過后的DM矩陣有兩個,分別為
巧應(yīng)Rl中的解碼規(guī)則分 經(jīng)過解碼后的矩陣
,接著轉(zhuǎn)化為 十進制分別為
[0202] -個好的加密算法應(yīng)該能夠抵抗各種攻擊,密鑰空間足夠大,密鑰的敏感性足夠 高。下面對本發(fā)明的圖像加密算法進行安全性分析。
[0203] 1.密鑰空間足夠大,足W抵抗窮舉攻擊
[0204] 混濁系統(tǒng)對初始條件和控制參數(shù)極其的敏感,任何微小的初始偏差都會被指數(shù)式 放大,因此混濁加密算法的安全性與密鑰空間有很大關(guān)系。一般來說,密鑰空間越大,其抵 抗窮舉攻擊的能力也就越強。本文密鑰具體包括:1)由甜A256函數(shù)產(chǎn)生的256位哈希值。2) 舍棄的憶阻混濁序列的個數(shù)NO。3)用于選取DNA編碼規(guī)則矩陣Rl和R2的像素值P( 1)(注:P (1)代表明文圖像的第一個像素值)。若設(shè)置精度為i(ri4,則密鑰空間至少為2i28,可見密鑰 空間足夠大,能夠有效的抵御窮舉攻擊。
[0205] 2.密鑰敏感性高
[0206] 混濁加密的安全性,在于它對秘鑰的敏感性,也就是說,當攻擊者用一個跟秘鑰很 相近的數(shù)據(jù)進行圖像破解時,也不能恢復(fù)出原始的圖像。附圖2(d)、2(e)、2(f)為秘鑰敏感 性頭驗,其中憶阻混濁系統(tǒng)枉制參數(shù)日= 30、b = 36、c = 0. l、d = 2.5、e = 3.5、m日二-0.5、mi二- 0.1,選取加密所需矩陣R1、R2的像素值P(I) = 162W及正確的256位哈希值密鑰(十進制表 示)Key = 38 40 143 225 62 238 224 198 186 175 141 161 200 194 9590 195 105 160 153 70 86 213 158 70 5 227 208 71 103 35 233。附圖2(d)是當其余初始值不變,令系 統(tǒng)參數(shù)6 = 3.50000000001時的解密圖像。圖2(e)和2(f)是當其余初始值不變,分別將密鑰 Key第一位(將38改為39)和最后一位(將233改為234)改變后的解密圖像。從解密的效果圖 片來看,此加密算法對密鑰的敏感性極高,加密安全性也更好。
[0207] 3.密文圖像的灰度直方圖平滑且均勻,抗統(tǒng)計分析攻擊能力強。
[0208] 直方圖描述了數(shù)字圖像中所有灰度級的像素出現(xiàn)的頻率。一個好的圖像加密算法 在對圖像進行加密后,得到的密文圖像的灰度直方圖應(yīng)該是平滑且均勻的,運樣可W防止 竊密者通過直方圖的漏桐來破解圖像。附圖3(a)表示明文圖像的直方圖;圖3(b)表示加密 圖像的直方圖。從圖中可W看出,加密前圖像的像素值分布極不均勻,而加密后的像素值平 滑且均勻的分布在[0,25引中,能夠有效抵御統(tǒng)計分析的攻擊。
[0209] 4.原始圖像相鄰像素高度相關(guān),加密后圖像相鄰像素相關(guān)系數(shù)接近于0,基本不相 關(guān)。
[0210] 為了分析明文圖像和密文圖像相鄰像素的相關(guān)性,引入相鄰像素的相關(guān)系數(shù)。相 關(guān)系數(shù)越大,說明相鄰像素的相關(guān)性越大;反之,相鄰像素的相關(guān)性越小。從圖像中分別隨 機選取10000對水平、垂直和對角方向相鄰像素對,用如下公式定量計算相鄰像素的相關(guān)系 數(shù):
[0211]
[0212]
[0213] 式中,x、y分別表示圖像中相鄰兩個像素的像素值,D(X)表示像素值的均方差,E (X)是像素值的平均值,cov(x,y)是相關(guān)函數(shù),Rx,y是相鄰兩個像素的相關(guān)系數(shù)。
[0214] 其中,點(x,y)處測試結(jié)果如附圖4(a)和4(b)所示,圖4(a)為原始圖像水平方向上 相鄰像素的相關(guān)性分析圖,圖4(b)為加密圖像水平方向上相鄰像素的相關(guān)性分析圖。
[0215] 明文、密文相關(guān)性對比見下表:
[0217] ~可W看出明文圖像相鄰像素是高度相關(guān)的,相關(guān)系數(shù)接近1。而加密圖像的相鄰相 關(guān)系數(shù)接近于0,相鄰像素間相關(guān)性明顯減小,此時明文的統(tǒng)計特性已被擴散到隨機的密文 中,可W有效抵御統(tǒng)計攻擊。
[0218] 5.NPCR大于99% ,UACI大于33%,抗差分攻擊能力強。
[0219] 算法對明文的敏感性越強,抵抗差分攻擊的能力也就越強,可W用像素數(shù)改變率 NPCR(Numbe;r of Pixels畑ange Rate)和歸一化像素值平均改變強度UACI (加 if ied Average Changing Intensity)度量加密算法對明文的敏感性。計算公式如下:
[0220]
[0221]式中,M和N表示圖像的行數(shù)和列數(shù),Cl表示原來的密文圖像,C2表示改變明文后得 到的密文圖像,Ci(i,j)表示明文圖像在坐標(i,j)處的像素值,C2(i,j)表示密文圖像在坐 標Q J)處的像素值。D表示和密文圖像大小一樣的矩陣,DQ J)的值由CiQ J)和C2(i,j)決 定。若Ci(i, j)=C2(i, j),那么D(i, j)=0;若CiQ, j)聲C2(i, j),那么D(i, j) = l。本發(fā)明中, 將原始明文圖像的第一個像素值改為223后得到一個新的明文圖像,然后將運兩個圖像用 同樣的密鑰加密形成相應(yīng)的密文圖像Cl和C2。計算密文圖像的NPCR和UACI值如下表所示,可 W看到NPCR的值大于99% ,UACI的值大于33%。運表明,即使對原始圖像做微小的變化,通 過本算法進行加密后,密文圖像也會有明顯的差異。因此,本算法可W有效抵抗差分攻擊, 密文圖像的NPCR和UACI值: 「AOOOl
'[0223] 6.密文圖像的信息賭非常接近理^值8,加密算法安全性好。 '
[0224] 信息賭是反映信息隨機性的重要度量指標,信息源m的信息賭計算公式為:
[0225]
[0226] 其中,P(HU)表示符號HU出現(xiàn)的概率,2"是信息源m的總狀態(tài)數(shù)。信息加密之后,信息 賭的期望值為8。如果加密圖像信息賭非常接近8,則表明該密文圖像接近隨機分布。
[0227] 對標準2 5 6 X 2 5 6的Lena圖像用本發(fā)明算法進行加密,密文圖像的信息賭為 7.9971,非常接近理想值8,運表明本發(fā)明提供的加密算法具有很好的安全性。
[0228] 實施例四:參見圖5(a)~7(b)所示,在本實施例中,采用的編程軟件為Matlab R2014a,選取大小為512 X 512的Baboon圖像為實驗對象,圖像加密的過程如下:
[0229] 步驟1.利用細A256函數(shù)對大小為512 X 512的Baboon灰度圖像P進行計算,得到一 組256位的哈希值(十六進制表不為[8 e49fb5ccd0a5aac680505e 4c01992cee49e5fc8417245686cdbdee47c254a6 5]),并將它作為圖像密鑰Key,然后將256位的Key換算為32個十進制數(shù)ki,k2,. . .,k32(142 73 251 92 205 10 90 172 104 5 5 228 192 25 146 206 228 158 95 200 65 114 69 104 108 219 222 228124 37 74 101),用來計算四維憶阻超混濁系統(tǒng)的初始狀態(tài)值。
[0230] 步驟2.將得到的初始狀態(tài)值(XO = 0.5664,yo = 1.0664,ZO = 1.0430,WO = 0.2008) 帶入憶阻超混濁系統(tǒng)進行迭代,可W得到4個大小分別為1 X 1048576的狀態(tài)值矩陣X =
[Xl,l ,X1,2 , . . . , Xl,1048 已 76],Y=[yi,l,yi,2, . . . ,yi,1048已 76],Z=[Z1,1,Z1,2, . . . , Zl,104 化 76] ,W = . . .,W1,1048日76],接著對得到的狀態(tài)矩陣X、Y、Z進行修正得矩陣X1 = [X1',1,X1 ',2 , . . . ,Xl,,104 化 76]、Yl = [yi,,l,yi,,2, . . . ,yi,,1048已 76]、Z1 = [Z1,,1,Z1,,2, . . . ,Z1,,104 化 76],使 得xl',h、yl',h、zl',hG[l,8],對狀態(tài)值矩陣W進行修正得矩陣Wl = [wl',l,wl',2,..., W1',1D48日76],使得wi',hG [0,l],hG [1,1048576],進而再將乂1、¥1、21、¥1按行重組為大小為 512 X 2048的矩陣 X_1,Y_1,Z_1,W_1。
[0231 ] 步驟3.對修正重組后的矩陣X_1、Y_1、Z_1進行分組,記Al = [X_l,Y_1 ],A2= [X_l, Z_1 ],A3 = [Y_1, Z_1 ],接著利用明文的束象素來選取將要用于DNA動態(tài)編碼所需的規(guī) 則數(shù)矩陣Rl 和R2,并使Rl = Ai (1),R2=Ai (2),i = 1,2,3。
[023^ 步驟4.將明文圖像P的八個位平面,重組為大小為512 X4096的矩陣U,令D(i,j)= [U(i,U(i,2*j)],即將U中每兩個元素為一組作為D中的一個元素 ,i G [1,512],jG [1,2048]。
[0233]步驟5.將矩陣D、R1、R2分別分割成8 X 32個分塊矩陣,每個分塊矩陣的大小為64 X 64,并將分割后的矩陣記為0_1、心1、心2,其中用0_1比]、3_1山、1?_2比]分別表示0_1、心1、 R_2中第k塊的分塊矩陣,運里k=l,2,. . .,256。
[0234] 步驟6.從狀態(tài)值矩陣W_1的第一個元素開始按行依次選取8192個元素,重新組成 大小為64X128的矩陣,并將它作為元胞自動機演變的初始構(gòu)型護。
[0235] 步驟7.對初始構(gòu)型護進行演變,其中Ck代表第k次演變后得到的構(gòu)型,特別的是在 進行第k次演變時,演變規(guī)則由第k-1次經(jīng)過擴散后獲得的DNA矩陣來決定,k=l,2, ..., 256。
[0236] 步驟8.將0_1中第k塊分塊矩陣D_1 [k]按照R_1 [k]中的編碼規(guī)則進行DNA編碼,并 將編碼后的矩陣記為DNA(D_l[k]);對演變得到的元胞構(gòu)型Ck按照分塊矩陣R_2[k]中對應(yīng) 的編碼規(guī)則進行DNA編碼,并將編碼后的元素記為DNA(Ck)。
[0237] 步驟9.對得到的編碼矩陣DNA(D_1比])進行擴散操作。
[023引步驟10.令k = k+l,循環(huán)執(zhí)行步驟7-10,直到所有的分塊都完成DNA加密。
[0239] 步驟11.將加密過的所有分塊DNA矩陣重組為512X2048的矩陣并按照編碼規(guī)則矩 陣Rl對應(yīng)的規(guī)則數(shù)進行DNA解碼操作,可W得到一個大小為512X4096的二進制矩陣Ql,然 后對矩陣Ql進行十進制轉(zhuǎn)換操作,可W得到一個大小為512X512的十進制密文矩陣Q2,即 為加密后的密文圖像。
[0240] 具體步驟可參考實施例二中所述。下面對本發(fā)明的圖像加密算法進行安全性分 析。
[0241 ] 1.密鑰空間足夠大,足W抵抗窮舉攻擊
[0242] 2.密鑰敏感性高
[0243] 附圖5 (d)、5 (e)、5 (f)為初始值敏感性實驗,其中憶阻混濁系統(tǒng)參數(shù)a = 30、b = 36、 〇 = 0.1、(1 = 2.5、6 = 3.5、111日=-0.5、1111 = -0.1,選取加密所需矩陣1?1、1?2的像素值?(1) = 147 W及正確的256位哈希值密鑰(十進制表示化巧= 142 73 251 92 205 10 90 172 104 5 5 228 192 25 146 206 228 158 95 200 65 114 69 104 108 219 222228 124 37 74 101〇 附圖5(d)是當其余初始值不變,令初始值mo = -0.500000000001時的解密圖像。圖5 (e)和5 (f)是當其余初始值不變,分別將密鑰Key的第一位(將142改為143)和最后一位(將101改為 102)改變后的解密圖像。從解密的效果圖片來看,加密算法對密鑰極度敏感,算法安全性也 更好。
[0244] 3.密文圖像的灰度直方圖平滑且均勻,抗統(tǒng)計分析攻擊能力強。
[0245] 附圖6(a)表示明文圖像的直方圖;圖6(b)表示加密圖像的直方圖。從圖中可W看 出,加密前圖像的像素值分布極不均勻,而加密后的像素值平滑且均勻的分布在[0,255] 中,能夠有效抵御統(tǒng)計分析的攻擊。
[0246] 4.原始圖像相鄰像素高度相關(guān),加密后圖像相鄰像素相關(guān)系數(shù)接近于0,基本不相 關(guān)。
[0247] 點(x,y)處測試結(jié)果如附圖7(a)和7(b)所示。圖7(a)為原始圖像水平方向上相鄰 像素的相關(guān)性分析圖,圖7(b)為加密圖像水平方向上相鄰像素的相關(guān)性分析圖。明文、密文 相關(guān)性對比見下表:

[0249]可W看出明文圖像相鄰像素是高度相關(guān)的,相關(guān)系數(shù)接近1。而加密圖像的相鄰像 素相關(guān)系數(shù)接近于0,相鄰像素間相關(guān)性明顯減小,此時明文的統(tǒng)計特性已被擴散到隨機的 密文中,可W有效抵御統(tǒng)計攻擊。
[02加]5.NPCR大于99% ,UACI大于33%,抗差分攻擊能力強。
[0251]本發(fā)明中,將原始明文圖像的第一個像素值改為148后得到一個新的明文圖像,然 后將運兩個圖像用同樣的密鑰加密形成相應(yīng)的密文圖像Cl和C2。計算密文圖像的NPCR和 UACI值如下表所示,可W看到NPCR的值大于99%,UACI的值大于33%。運表明,即使對原始 圖像做微小的變化,通過本算法進行加密后,密文圖像也會有明顯的差異。因此,本算法可 W有效抵抗差分攻擊。密文圖像的NPCR和UACI值:
[0253] 6.密文圖像的信息賭非常接近理想值8,加密算法安全性好。
[0254]對標準512 X 512的Baboon圖像用本發(fā)明算法進行加密,密文圖像信息賭為 7.9992,非常接近理想值8,運表明本發(fā)明提供的加密算法具有很好的安全性。
[0255] 實施例五:參見圖8(a)~10(b)所示,在本實施例中,采用的編程軟件為MatIab R2014a,選取大小為256 X 320的City圖像為實驗對象,對City圖像加密的過程如下:
[0256] 步驟1.利用甜A256函數(shù)對大小為256 X 320的City灰度圖像P進行計算,得到一組 256位的哈希值(十六進制表示為k b90e3cl4fbblcececlbae2c 69e8723c221caf905ec0d2d65303 1ac99c810fd f]),并將它作為圖像密鑰Key,然后將256位的Key換算為32個十進制數(shù)ki,k2, . . .,k32 (203144 227 193 79 187 28 236 236 27 174 44 105 232 114 60 34 28 175 144 94 192 210 214 83 3 26 201 156 129 15 223),用來計算憶阻超混濁系統(tǒng)的初始狀態(tài)值。
[0257] 步驟 2.將得到的初始狀態(tài)值(XO = O. 4883,yo = 1.2656,ZO = O. 6055,wo = 0.2166) 帶入憶阻超混濁系統(tǒng)進行迭代,可W得到4個大小分別為1X327680的狀態(tài)值矩陣X=[xi,i, Xl,2 , . . . , Xl,327680] ,Y=[yi,l,yi,2, . . . , yi,327680],Z=[Z1,1,Z1,2, . . . , Zl,327680] ,W= [W1,1 , 訊1,2,...,*1,32768日],接著對得到的矩陣乂、¥、2進行修正得矩陣乂1 = ^1',1,義1',2,..., Xl ' ,327680]、Yl = [yi',l,yi',2, . . . ,yi' ,327680]、Z1 = [Z1',1,Z1',2, . . . ,Z1' ,327680],使得 Xl ' ,h、 yi',h、Zl',hG[l,8],對狀態(tài)值矩陣 W 進行修正得矩陣 Wl = [W1 ' ,1 ,W1 ' ,2 , . . . ,W1 ' ,327680],使得 Wi ' ,hG [0,I ],h G [ I,327680],進而再將Xl、Y1、Z1、W1按行重組為大小為256 X 1280的矩陣 X_1、Y_1、Z_1、W_1。
[0巧引步驟3.對修正重組后的矩陣X_1、Y_1、Z_1進行分組,記Al = [X_l,Y_1 ],A2= [X_l, Z_1],A3=[Y_1,Z_1],接著利用明文的第一個像素來選取將要用于DNA動態(tài)編碼所需的規(guī) 則數(shù)矩陣Rl 和R2,并使Rl = Ai (1),R2=Ai (2),i = 1,2,3。
[0259] 步驟4.將明文圖像P的八個位平面,重組為大小為256X2560的矩陣U,令D(i,j) =
[U( i,2* j-1),U( i,2* j)],即將U中每兩個元素為一組作為D中的一個元素 ,i G [ I,256],j G [1,1280]。
[0260]步驟5.將矩陣D、R1、R2分別分割成4 X 20個分塊矩陣,每個分塊矩陣的大小為64 X 64,并將分割后的矩陣記為0_1、心1、心2,其中用0_1比]、3_1山、1?_2比]分別表示0_1、心1、 R_2中第k塊的分塊矩陣,運里k=l,2,. . .,80。
[0%1 ] 步驟6.從狀態(tài)值矩陣Wl中依次選取8192個元素,重新組成大小為64 X 128的矩陣, 并將該矩陣作為元胞自動機演變的初始構(gòu)型。*^
[0262] 步驟7.對初始構(gòu)型護進行演變,其中Ck代表第k次演變后得到的構(gòu)型,特別的是在 進行第k次演變時,演變規(guī)則由第k-1次經(jīng)過擴散后獲得的DNA矩陣塊來決定,k=l,2, ..., 80 O
[0263] 步驟8.將0_1中第k塊分塊矩陣D_1 [k]按照R_1 [k]中的編碼規(guī)則進行DNA編碼,并 將編碼后的矩陣記為DNA(D_l[k]);對演變得到的元胞構(gòu)型Ck按照分塊矩陣R_2[k]中對應(yīng) 的編碼規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(Ck)。
[0264] 步驟9.對得到的編碼矩陣DNA(D_1比])進行擴散操作。
[0265] 步驟10.令k = k+l,循環(huán)執(zhí)行步驟7-10,直到所有的分塊都完成DNA加密。
[0266] 步驟11.將加密過的所有分塊DNA矩陣重組為256X1280的矩陣并按照編碼規(guī)則矩 陣Rl對應(yīng)的規(guī)則數(shù)進行DNA解碼操作,可W得到一個大小為256X2560的二進制矩陣Ql,然 后對矩陣Ql進行十進制轉(zhuǎn)換操作,可W得到一個大小為256 X 320的十進制密文矩陣Q2,即 為加密后的密文圖像。
[0267] 具體步驟可參考實施例二中所述。下面對本發(fā)明的圖像加密算法進行安全性分 析:
[0268] 1.密鑰空間足夠大,足W抵抗窮舉攻擊;
[0269] 2.密鑰敏感性高,附圖8(d)、8(e)、8(f)為初始值敏感性實驗,其中憶阻混濁系統(tǒng) 控制參數(shù)a = 30、b = 36、c = 0.1、d = 2.5、e = 3.5、m〇 = -〇.5、mi = -〇.l,選取加密所需矩陣 Rl、 R 2的像素值P ( 1 ) = 1 0 2 W及正確的2 5 6位哈希值密鑰K e y (十進制表示)= 2031442271937918728236236271744410523211460:3428175144941922102148332620115612 915223。附圖8(d)是當其余初始值不變,令初始值6 = 3.500000000001時的解密圖像。圖8 (e)和8(f)是當其余初始值不變,分別將密鑰Key的第一位(將203改為204)和最后一位(將 223改為224)改變后的解密圖像。從解密的效果圖片來看,此加密算法對密鑰高度敏感,算 法安全性也更好;
[0270] 3.密文圖像的灰度直方圖平滑且均勻,抗統(tǒng)計分析攻擊能力強,附圖9(a)表示明 文圖像的直方圖;圖9(b)表示加密圖像的直方圖。從圖中可W看出,加密前圖像的像素值分 布極不均勻,而加密后的像素值平滑且均勻的分布在[0,25引中,能夠有效抵御統(tǒng)計分析的 攻擊;
[0271] 4.原始圖像相鄰像素高度相關(guān),加密后圖像相鄰像素相關(guān)系數(shù)接近于0,基本不相 關(guān),點(x,y)處測試結(jié)果如附圖10(a)和10(b)所示。圖10(a)為原始圖像水平方向上相鄰像 素的相關(guān)性分析圖,圖10(b)為加密圖像水平方向上相鄰像素的相關(guān)性分析圖。明文、密文 相關(guān)性對比見下表: 「0巧?1
[0273] 可W看出明文圖像相鄰像素是高度相關(guān)的,而加密圖像的相鄰像素的相關(guān)系數(shù)接 近于0,相鄰像素間相關(guān)性明顯減小,此時明文的統(tǒng)計特性已被擴散到隨機的密文中,可W 有效抵御統(tǒng)計攻擊;
[0274] 5.NPCR大于99%,UACI大于33%,抗差分攻擊能力強,本發(fā)明中,將原始明文圖像 的第一個像素值改為148后得到一個新的明文圖像,然后將運兩個圖像用同樣的密鑰加密 形成相應(yīng)的密文圖像Cl和C2。計算密文圖像的NPCR和UACI值如下表所示,可W看到NPCR的值 大于99% ,UACI的值大于33%。運表明,即使對原始圖像做微小的變化,通過本算法進行加 密后,密文圖像也會有明顯的差異。因此,本算法可W有效抵抗差分攻擊。密文圖像的NPCR 和UACI值: 「0勺7^;1
L0276」6.密文閣像的信懇觸非帯接近理想值8,加密算法安全性好,對標準256 X 320的 City灰度圖像用本發(fā)明算法進行加密,密文圖像信息賭為7.9976,非常接近理想值8,運表 明本發(fā)明提供的加密算法具有很好的安全性。
[0277] 由上述實施例可知,本發(fā)明提供的加密算法可對M = N或M聲N的灰度圖像進行高安 全的加密,在信息加密領(lǐng)域具有廣闊的應(yīng)用前景。
[0278] 本發(fā)明并不局限于上述【具體實施方式】,本領(lǐng)域技術(shù)人員還可據(jù)此做出多種變化, 但任何與本發(fā)明等同或者類似的變化都應(yīng)涵蓋在本發(fā)明權(quán)利要求的范圍內(nèi)。
【主權(quán)項】
1. 一種基于憶阻超混沌系統(tǒng)、元胞自動機和DNA計算的圖像加密算法,其特征在于:包 含如下步驟: 步驟1.利用SHA256函數(shù)對大小為M X N的明文圖像P進行計算,得到一組256位的哈希值 并將它作為圖像密鑰Key,將256位的圖像密鑰Key換算為32個十進制數(shù)lu,k2,...,k32,計算 基于Chua電路的四維憶阻超混沌系統(tǒng)的初始狀態(tài)值; 步驟2.將得到的初始狀態(tài)值帶入憶阻超混沌系統(tǒng)進行迭代,得到4個大小分別為IX 4MN的狀態(tài)值矩陣X=[X1,1,X1,2, · · ·,Xl,4MN],Y=[yi,l,yi,2, · · ·,yi,4MN],Z=[Zl,l,Zl,2, · · ·, Z1,4MN],W = [W1,1,W1,2, · · ·,W1,4MN],對狀態(tài)值矩陣X、Y、Z進行修正得矩陣Xl = [X' 1,1,X '1,2,· · ·,X' 1,4MN]、Y1 = [y' 1,1 ,y' 1,2,· · ·,y' 1,4MN]、Z1 = [Z' 1,1,Z' 1,2,· · ·,Z' 1,4MN],使得X' l,h、 ,對狀態(tài)值矩陣W進行修正得矩陣Wl = [W' 1,1 ,W' 1,2,· · ·,W' 1,4MN],使得 界/1,1^[〇,1],11£[1,4]^],將乂1、¥1、21、11分別按行重組為大小為1\4_勺矩陣乂_1,¥_1,2_ 步驟3 ·對重組后的矩陣X_1、Y_1、Z j進行分組,記Al = [X_l,Y_1 ],A2= [X_l,Z_1 ],A3 = [Y_1,Z_1],利用明文的第一個像素選取將要用于DNA動態(tài)編碼所需的規(guī)則數(shù)矩陣Rl和 R2,并使Rl =Ai(I),R2=Ai(2),i = l,2,3; 步驟4.將明文圖像P按位展開,得到八個位平面并重組為大小為MX8N的矩陣U,令D(i, j) = [U( i,2* j-1),U( i,2* j)],將矩陣U中每兩個元素為一組,作為D中的一個元素,i e [ 1, M],je[l,4N]; 步驟5.將矩陣D、Rl、R2分別分割成p X q個分塊矩陣,每個分塊矩陣的大小為m X η,且滿 足mXp = M,nXq = 4N,并將分割后的矩陣分別按行重組為大小為I Xpq的一維矩陣并記為 〇_1、1?_1、1?_2,其中用0_1[1^]、1?_1[1^]、1?_2[1^]分別表示0_1、1?_1、1?_2中第1^塊的分塊矩陣沽 =1,2, . . . ,pXq; 步驟6.從矩陣Wj的第一個元素開始按行依次選取2mn個元素,重新組成大小為m X 2n 的矩陣,并將該矩陣作為元胞自動機演變的初始構(gòu)型Ct3; 步驟7.對初始構(gòu)型Ct3進行演變,其中Ck代表第k次演變后得到的構(gòu)型,在進行第k次演變 時,演變規(guī)則由第k-Ι次經(jīng)過擴散后獲得的DNA圖像塊決定,k=l,2, ...,pXq; 步驟8.將0_1中第k塊分塊矩陣D_1 [k]按照R_1中第k塊分塊矩陣R_1 [k]中的編碼規(guī)則 進行DNA編碼,并將編碼后的矩陣記為DNA(D_l[k]);對演變得到的元胞構(gòu)型Ck按照R_2中第 k塊分塊矩陣R_2[k]中對應(yīng)的編碼規(guī)則進行DNA編碼,并將編碼后的矩陣記為DNA(C k),k = 1,2, . . . ,pXq; 步驟9.對得到的編碼矩陣DNA(D_1 [k])進行擴散操作; 步驟10.令k = k+l,循環(huán)執(zhí)行步驟7-10,直到所有的分塊都完成DNA加密; 步驟11.將加密過的所有分塊DNA矩陣重組為M X 4N的矩陣并按照規(guī)則數(shù)矩陣Rl中對應(yīng) 的規(guī)則數(shù)進行DNA解碼操作,得到一個大小為MX8N的二進制矩陣Ql,然后對矩陣Ql進行十 進制轉(zhuǎn)換操作,得到一個大小為MXN的十進制密文矩陣Q2,即為加密后的密文圖像。2. 根據(jù)權(quán)利要求1所述的基于憶阻超混沌系統(tǒng)、元胞自動機和DNA計算的圖像加密算 法,其特征在于:所述步驟1中基于Chua電路的四維憶阻超混沌系統(tǒng)的表達式為:1,h(x)=mix + 0.5(m〇_mi) X ( |x+l |-|x_l I ), W,y,Z,W代表混純系統(tǒng)的狀態(tài)變量,8、13、(3、(1、6、1]1()、1]11是混 純系統(tǒng)的控制參數(shù),并且當& = 30 4 = 36,(1 = 2.5,6 = 3.5,1]1() = -0.5,1]11 = -0.1且(3£[0.073, 0.162]時,系統(tǒng)處于超混沌狀態(tài);并通過公式:計算基于Chua電路的四維憶阻超混 純系統(tǒng)的狀態(tài)變量的初始狀態(tài)值XQ,y〇,Z()和WQ,其中,sum(k21,k22, · · ·,k32)表不對k21, k22, · · ·,k32進行求和,max(k21,k22, · · ·,k32)表示求k21,k22, · · ·,k32的最大值,1?3^代表取 X和y的異或。3. 根據(jù)權(quán)利要求2所述的基于憶阻超混沌系統(tǒng)、元胞自動機和DNA計算的圖像加密算 法,其特征在于: 所述步驟2具體包含如下步驟: 步驟2.1、將通過步驟1計算得到的初始狀態(tài)值XQ,yo,ZQ和wo帶入基于Chua電路的四維憶 阻超混沌系統(tǒng)迭代NO次,其中Λ·? = 500+ //〇〇/'(^^^-^_),得到大小分別為I X4MN的 32 狀態(tài)值矩陣X= [X1,1,X1,2, · · ·,X1,4_],Y= [yi,l,yi,2, · · ·,yi,4MN],Ζ= [Ζ1,1,Ζ1,2, · · ·,Z1,4MN], W=[wi,l,wi,2, · · ·,W1,4_]; 步驟2.2、對狀態(tài)值矩陣乂、¥、2、1分別通過修正公式進行修正得矩陣乂1、¥1、21、11,其中 修正公式如下: Xl =mod( (abs(xi,h)-f loor(xi,h)) X IO14j 8)+1 ? Yl=mod( (abs(yi,h)_floor(yi,h)) X IO14),8)+l, Zl =mod( (abs(zi,h)-floor(zi,h)) X IO14j 8)+1 ? ffl=mod((abs(wi,h)-floor(wi,h)) X IO14j 2) ? 其中,11,1^1,1^1,1^1,11分別代表狀態(tài)值矩陣)(、¥^、¥中的第11個值,1^[11\4幻 ;&1^ (X)表示對X取絕對值,floor (X)表示取不大于X的最大整數(shù),mod(a,b)表示&對13的取模運 算; 步驟2.3、將)(1、¥1、21、11分別按行重組為大小為1\4?^的矩陣乂_1,¥_1,2_1,¥_1。4. 根據(jù)權(quán)利要求3所述的基于憶阻超混沌系統(tǒng)、元胞自動機和DNA計算的圖像加密算 法,其特征在于: 步驟7具體包含如下步驟: 步驟7.1、通過如下公式:決定元胞自動機演變規(guī)則,其中,欠表示在t+Ι時刻處于位置(i,j)處的中心元胞的狀 態(tài)值Λ/表示在時刻t處于位置(i,j)處的中心元胞的狀態(tài)值,式^、fp、tu、硬^分 別表示在時亥丨j t處于中心元胞的上、左、下、右的鄰居元胞的狀態(tài)值,L、VM、VT、VL、VD、VR是值 為〇或1的變量;如果L= 1,表示規(guī)則是非線性規(guī)則,否則就是線性規(guī)則,VM、VT、VL、VD、VR* 別控制中間、上、左、下、右五個元胞是否參與元胞演變過程,如果¥1、¥1\¥1^0、¥1?中對應(yīng)的 值為〇,則表示其對應(yīng)的元胞不參與演變;1、¥1、¥1\¥1^、¥0、¥1?的值由步驟7.2中的演變規(guī)則 rule(k)決定; 步驟7.2、通過公式:確定元胞自動機演變規(guī)則數(shù),其中,rule(k)表示元胞進行第k次演變時的規(guī)則數(shù),DNA (E(k-1))表示前一個經(jīng)過擴散后獲得的DNA分塊矩陣,sum(DNA(E(k)))表示對第k個擴散后 的DNA矩陣的每個元素的ASCII碼值求和,當k=l時,E(O) =Ct3 ,Ct3表示元胞的初始構(gòu)型,k = 1,2,. . . ,pXq; 步驟7.3、將步驟7.2中計算得到的ruIe (k)轉(zhuǎn)變?yōu)槎M制,即求得L、VM、VT、VL、VD、VR的 值,同時根據(jù)步驟7.1)確定元胞演變的函數(shù)。5.根據(jù)權(quán)利要求4所述的基于憶阻超混沌系統(tǒng)、元胞自動機和DNA計算的圖像加密算 法,其特征在于: 所述步驟9中擴散操作具體包含:通過公式: |隱(聊:DN^)糊i⑴_)購' I ΟΝΛ(£·μ]) = DNAtri )Θ DNA(D Ip])十 Ι.)ΝΛ(£|_Α--1]),/c 關(guān) I _ [k])進行擴散操作。
【文檔編號】G06T1/00GK106023052SQ201610303944
【公開日】2016年10月12日
【申請日】2016年5月9日
【發(fā)明人】柴秀麗, 劉鵬飛, 賈培艷, 甘志華, 楊康, 張苗輝
【申請人】河南大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阜康市| 大竹县| 伊金霍洛旗| 三明市| 峨边| 通道| 乌兰县| 阳春市| 翁源县| 剑川县| 额济纳旗| 隆化县| 白朗县| 琼海市| 扬州市| 江陵县| 静海县| 永川市| 琼中| 子洲县| 柳州市| 南乐县| 南皮县| 宣武区| 蒲城县| 额尔古纳市| 长泰县| 涞源县| 黄冈市| 黑山县| 吉隆县| 梅河口市| 巴塘县| 江北区| 澄城县| 隆尧县| 行唐县| 抚州市| 北碚区| 正镶白旗| 大兴区|