參數(shù)ε = 〇. 5、η = 〇. 9、p = 12、q = 9、L =8,正確的密鑰 Key = 881ecc9992cfaad47a4981276b92a27bd7a9b6ce457dc30ce76f3898 9075bb27。(c)、(d)分別是當(dāng)CML混沌系統(tǒng)的參數(shù)不變時,令Keyl = 981ecc9992cfaad47a 4981276b92a27bd7a9b6ce457dc30ce76f38989075bb27 和 Key2 = 881ecc9992cfaad47a4981 276b92a27bd7a9b6ce457dc30ce76f38989075bb28時的解密圖像。由此可見,此加密算法對 密鑰的敏感性極高,加密安全性也更好。
[0211] 3.密文圖像的灰度直方圖平滑且均勻,抗統(tǒng)計分析攻擊能力強。
[0212] 參見附圖6,其中,(a)表示明文圖像R分量的直方圖;(b)表示密文圖像R分量的 直方圖;(c)表示明文圖像G分量的直方圖;(d)表示密文圖像G分量的直方圖;(e)表示明 文圖像B分量的直方圖;(f)表示密文圖像B分量的直方圖。從圖中可以看出,加密前圖像 的像素值分布極不均勻,而加密后的像素值平滑且均勻的分布在[0,255]中,能夠有效抵 御統(tǒng)計分析的攻擊。
[0213] 4.明文圖像相鄰像素高度相關(guān),加密后圖像相鄰像素相關(guān)系數(shù)接近于0,基本不 相關(guān)。
[0214] 參見圖7,其中,(a)為明文圖像水平方向上相鄰像素的相關(guān)性分析圖,(b)為密文 圖像水平方向上相鄰像素的相關(guān)性分析圖;(c)為明文圖像垂直方向上相鄰像素的相關(guān)性 分析圖,(d)為密文圖像垂直方向上相鄰像素的相關(guān)性分析圖;(e)為明文圖像對角方向上 相鄰像素的相關(guān)性分析圖,(f)為密文圖像對角方向上相鄰像素的相關(guān)性分析圖。
[0215] 明文、密文相鄰像素的相關(guān)系數(shù)對比見下表:
[0216]
[0217] 可以看出明文圖像相鄰像素是高度相關(guān)的,相關(guān)系數(shù)接近1。而加密圖像的相鄰相 關(guān)系數(shù)接近于〇,相鄰像素間相關(guān)性明顯減小,此時明文的統(tǒng)計特性已被擴(kuò)散到隨機(jī)的密文 中,可以有效抵御統(tǒng)計攻擊。
[0218] 5. NPCR大于99%,UACI大于33%,抗差分攻擊能力強。
[0219] 本實施例中,將原始明文圖像的第一個像素值改為131后得到一個新的明文圖 像,然后將這兩個圖像重新生成密文圖像CjPC 2。計算密文圖像的NPCR和UACI值如下表 所示,可以看到NPCR的值大于99%,UACI的值大于33%。這表明,即使對明文圖像做微小 的變化,通過本算法進(jìn)行加密后,密文圖像也會有明顯的差異。因此,本算法可以有效抵抗 差分攻擊。
[0220] 密文圖像的NPCR和UACI值:
[0221]
[0222] 6.密文圖像的信息熵非常接近理想值8,加密算法安全性好。
[0223] 對標(biāo)準(zhǔn)512X 2480fruits圖像用本發(fā)明算法進(jìn)行加密,得到密文圖像的信息熵為 7. 9993,非常接近理想值8,這表明本發(fā)明提供的加密算法具有很好的安全性。
[0224] 由實施例1~4可知,本發(fā)明提供的加密算法可對M = N或M辛N的彩色圖像進(jìn) 行高安全的加密,在信息加密領(lǐng)域具有廣闊的應(yīng)用前景。
[0225] 上面結(jié)合附圖對本發(fā)明優(yōu)選的【具體實施方式】和實施例作了詳細(xì)說明,但是本發(fā)明 并不限于上述實施方式和實施例,在本領(lǐng)域技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫 離本發(fā)明構(gòu)思的前提下作出各種變化。
【主權(quán)項】
1. 一種基于DNA動態(tài)編碼的彩色圖像加密方法,其特征在于:包括以下步驟: 步驟1.輸入大小為MXN的8位彩色圖像P1,分離彩色圖像RGB三基色分量,得 到分量矩陣Pi_RMN、Pi_GMN、Pi_BMN,每個分量矩陣的大小均為MXN,將分量矩陣Pi_RMN、P^Gmn、 Pi_BMN按行排序得到大小為MX3N的明文灰度圖像P2; 步驟2.利用SHA256函數(shù)對明文彩色圖像?1進(jìn)行計算,得到一組256位哈希值,作為 圖像密鑰Key,將該256位圖像密鑰Key換算為32個十進(jìn)制,平均分為四組,分別用來計算 置亂過程和擴(kuò)散過程中所用CML混沌系統(tǒng)的初始狀態(tài)值和參數(shù); 步驟3.將步驟2中得到的用來計算置亂過程中的CML混沌系統(tǒng)初始狀態(tài)值和參數(shù)帶 入CML混沌系統(tǒng)中進(jìn)行迭代,累計得到大小為MX3N的狀態(tài)值矩陣W1,將狀態(tài)值矩陣Wl按 行排序,得到大小為MX3N的置亂矩陣K; 步驟4.將步驟2中用來計算擴(kuò)散過程中的CML混沌系統(tǒng)初始狀態(tài)值和參數(shù)帶入CML混沌系統(tǒng)中進(jìn)行迭代,累計得到大小為MX3N的狀態(tài)值矩陣W2,將狀態(tài)值矩陣W2中每行以 8個狀態(tài)值為一組,分別對每個狀態(tài)值建立索引值; 步驟5.步驟4中狀態(tài)值矩陣W2轉(zhuǎn)化為整數(shù)矩陣Y,將矩陣Y按步驟4中的索引值轉(zhuǎn)換 為對應(yīng)的DNA矩陣; 步驟6.利用置亂矩陣K的第i行對明文灰度圖像P2的第i行進(jìn)行置亂,I<i<M; 步驟7.將明文灰度圖像匕中已完成置亂的第i行像素按照步驟4中得到的索引值轉(zhuǎn) 換為對應(yīng)的DNA序列,并對轉(zhuǎn)換得到的DNA序列進(jìn)行擴(kuò)散操作; 步驟8.令i=i+1,重復(fù)步驟6和步驟7,直到明文灰度圖像P2中的每一行像素都完 成DNA加密; 步驟9.將加密過后的DNA矩陣解碼為大小為MX24N的二進(jìn)制矩陣Ql,對矩陣Ql進(jìn)行 十進(jìn)制轉(zhuǎn)換操作,得到大小為MX3N的十進(jìn)制密文矩陣Q2,將密文矩陣Q2平均分為3個大 小為MXN的矩陣P3_RMN、P3_GMN、P3_BMN,將三個矩陣合并重組,得到大小為MXN的彩色密文 圖像P3,即得到加密圖像。2. 根據(jù)權(quán)利要求1所述的基于DNA動態(tài)編碼的彩色圖像加密方法,其特征在于:所述 步驟2具體包含如下內(nèi)容: 步驟2. 1.采用LTS映射作為CML混沌系統(tǒng)子模型的局部映射,LTS映射定義為:沌序列,具體表達(dá)式如下:i,j,k為映像格子的位置索引,龍為CML模型中第i個格子在時空n的狀態(tài)值,且 1彡j彡L,1彡k彡L,i= 1,2,. . .,L,L為CML混沌系統(tǒng)中的耦合映像格子數(shù),P,q,ee[〇, 1],nG[〇, 1]為CML模型的參數(shù)值; 步驟2. 2.利用SHA256函數(shù)對明文彩色圖像?1進(jìn)行計算,得到一組256位的哈希值, 作為圖像密鑰,然后將256位的哈希值換算為32個十進(jìn)制數(shù),并將其定義為kk2, ...,k32, 將Ic1,k2,…,k32平均分為四組,分別用kk2,…,ks,k9,Ic1。,…,k16,k17,kls,…,k24, 1?, 1?, ? ? ?,k32表不; 步驟2. 3.利用Ic1,k2,. . .,ks和k9,k1(),. . .,k16通過計算公式計算用于置 亂過程中的CML混純系統(tǒng)的8個初始狀態(tài)值 < 和8個參數(shù)值r1,計算公式為LTS映射的控制參數(shù),且O< 4 ; 步驟2. 4.利用k17,kls,. . .,k24和k25,k26,. ? .,k32通過公式計算用于擴(kuò)散過程中的CML3. 根據(jù)權(quán)利要求2所述的基于DNA動態(tài)編碼的彩色圖像加密方法,其特征在于:所述 步驟3具體包含如下內(nèi)容: 步驟3. 1.將步驟2. 3中得到的用于置亂過程中的CML混沌系統(tǒng)的8個狀態(tài)值4和8MX3N的狀態(tài)值矩陣Wl,floor(x)表示不超過X的最大整數(shù),L為CML混沌系統(tǒng)中的耦合映 像格子數(shù); 步驟3. 2.將狀態(tài)值矩陣Wl按照公式[ignore,K] =sort(W1, 2)按行排序,得到大小 為MX3N的置亂矩陣K,其中,sort(W1,2)表示將矩陣Wl中每一行的元素按照從小到大的 順序進(jìn)行排列,ignore表示經(jīng)過排列之后的矩陣,K表示的是經(jīng)過排序后的元素在原數(shù)組 中對應(yīng)的位置索引矩陣。4. 根據(jù)權(quán)利要求3所述的基于DNA動態(tài)編碼的彩色圖像加密方法,其特征在于:所述 步驟4具體包含如下步驟:MX3N的狀態(tài)值矩陣W2,floor(X)表示不超過X的最大整數(shù),L表示CML混沌系統(tǒng)中的映像 格子數(shù); 步驟4. 2.對狀態(tài)值矩陣W2每行以8個狀態(tài)值為一組,通過公式每一個元素都有一個唯一的索引值與其相對應(yīng),通過Ind(i,j)表示矩陣W2中第i行第j列對應(yīng)的索引值,且M,l<j< 3N,其中,sort(X,'descend')表示將X中的元素 按照降序進(jìn)行排列,X為由8個狀態(tài)值構(gòu)成的數(shù)組,ignore表示經(jīng)過排列之后的矩陣,Indl 表示的是經(jīng)過排序后的元素在原數(shù)組中對應(yīng)的位置索引矩陣,sort(Indl)表示將Indl中 的元素按照從小到大的順序進(jìn)行排序,Ind表示對Indl排序后,其元素在原Indl中的位置 索引矩陣。5. 根據(jù)權(quán)利要求4所述的基于DNA動態(tài)編碼的彩色圖像加密方法,其特征在于:所述 步驟5包含如下內(nèi)容: 步驟5. 1.將狀態(tài)值矩陣W2按照公式 Y(i,j) =mod((W2 (i,j)-floor(W2 (i,j))) *10~8, 256)轉(zhuǎn)化為整數(shù)矩陣Y,其中, mod(a,b)表示a對b的取模運算;floor(X)表示不超過X的最大整數(shù);Y(i,j)表示得 到的整數(shù)矩陣Y的第i行第j列的元素值,其中1彡i彡M,1彡j彡3N; 步驟5. 2.定義DNA運算規(guī)則,在加密方法中直接使用DNA編碼值進(jìn)行數(shù)學(xué)或邏輯運 算; 步驟5. 3.將整數(shù)矩陣Y中的每個元素按照步驟4中對應(yīng)的索引值轉(zhuǎn)換為相應(yīng)的DNA矩陣,對于任意的Y(i,j)按照第Ind(i,j)種編碼方案轉(zhuǎn)換為相應(yīng)的DNA序列,將DNA序列 的第r個元素記為DNAr(Y(i,j)),其中,r= 1,2,3,4,1彡i彡M,1彡j彡3N。6. 根據(jù)權(quán)利要求5所述的基于DNA動態(tài)編碼的彩色圖像加密方法,其特征在于:所述 步驟7具體包含如下內(nèi)容: 步驟7. 1.對明文灰度圖像P2中已完成置亂的第i行元素 P2(i,l),P2(i,2),P2(i,3),...,P2(i,3N)分別按照步驟4中得至IJ的第i行的索引 值Ind(i, 1),Ind(i, 2),Ind(i, 3),…,Ind(i, 3N)進(jìn)行DNA編碼,對任意的P2(i,j)按 照第Ind(i,j)種編碼方案轉(zhuǎn)換為相應(yīng)的DNA序列,并且將DNA序列的第r個元素記為 DNAr(P2(i,j)),其中,r= 1,2,3,4,1 彡i彡M,1 彡j彡 3N; 步驟7. 2.將得到的第i行中像素點的DNA序列通過公式 /?,a(/,./) = (DM4,.(々:/,./)) +DAH.(八/,./))) ? 進(jìn)行擴(kuò)散操作,其中, RrP2(i,j)表示加密過后的DNA編碼值,R(r1}P2(i,j)表示前一個加密的DNA編碼, 若:r= 1,則表示前一個像素點中最后一個DNA編碼的加密值,且R(jP2(i,1) = 0。
【專利摘要】本發(fā)明涉及一種基于DNA動態(tài)編碼的彩色圖像加密方法,包括:通過彩色明文圖像獲得密鑰;由密鑰分別計算置亂和擴(kuò)散過程中所用混沌系統(tǒng)的初始值和參數(shù);將初始值和參數(shù)帶入混沌系統(tǒng)迭代,得W1和W2,由W1得置亂矩陣K,W2得整數(shù)矩陣Y和索引矩陣Ind,根據(jù)Ind對Y進(jìn)行DNA編碼;利用矩陣K對明文圖像逐行進(jìn)行置亂,接著進(jìn)行編碼與擴(kuò)散,直到所有的行完成DNA加密,最后對DNA矩陣進(jìn)行解碼、重組得最終的彩色密文圖像。本發(fā)明通過采用SHA256函數(shù)來產(chǎn)生密鑰,擴(kuò)大了密鑰空間,并且密鑰的產(chǎn)生依賴于明文,能夠有效抵抗明文攻擊;將混沌特性與DNA動態(tài)編碼相結(jié)合,進(jìn)一步提高了安全性;同時按照圖像的行進(jìn)行置亂與擴(kuò)散操作,便于并行計算,提高了效率。
【IPC分類】G06F21/60
【公開號】CN105046161
【申請?zhí)枴緾N201510454560
【發(fā)明人】柴秀麗, 甘志華, 李征, 楊康, 高育林, 程云龍, 段修慶
【申請人】河南大學(xué)
【公開日】2015年11月11日
【申請日】2015年7月29日