一種基于細(xì)胞神經(jīng)網(wǎng)絡(luò)超混沌和dna序列的彩色圖像加密方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息安全技術(shù)領(lǐng)域,具體涉及一種基于超混沌和DNA序列的彩色圖像 無損加密方法。
【背景技術(shù)】
[0002] 隨著信息科學(xué)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,越來越多的數(shù)字媒體內(nèi)容如文本、圖像、音 頻、視頻等在互聯(lián)網(wǎng)上被廣泛傳播,而如何保障數(shù)字媒體信息的安全成為一個(gè)重要而緊迫 的問題。數(shù)字圖像加密是多媒體信息安全的重要組成部分,得到了國內(nèi)外學(xué)者的廣泛關(guān)注 和深入研究。由于數(shù)字圖像具有數(shù)據(jù)量大、相鄰像素相關(guān)性強(qiáng)、冗余度高等一些固有的特 性,使得DES,AES、RSA等傳統(tǒng)加密算法并不適合用于數(shù)字圖像加密。
[0003] 近年來,人們發(fā)現(xiàn)混沌系統(tǒng)所具有的對(duì)初值和參數(shù)的極端敏感性、遍歷性、類隨機(jī) 性、弱相關(guān)性等優(yōu)良特性,非常適用于信息加密。1998年,F(xiàn)ridrich教授在文獻(xiàn)"Symmetric ciphers based on two-dimensional chaotic maps"[Int·J·Bifurcat·Chaos,vol·8, no. 6, pp. 1259-1284,1998]中提出了 一種基于標(biāo)準(zhǔn)Baker映射的數(shù)字圖像對(duì)稱密碼算法。迄 今為止,研究人員已提出了許多基于混沌的數(shù)字圖像加密方案。與傳統(tǒng)的加密算法相比,基 于混沌的圖像加密算法在安全性、速度、復(fù)雜性和計(jì)算能力等方面具有更優(yōu)的性能?;煦鐖D 像加密方案大致可分為兩類:一是基于一維(1D)或二維(2D)混沌映射的圖像加密方法,二 是基于高維(超)混沌系統(tǒng)的圖像加密方法。前者雖然容易實(shí)現(xiàn),但存在密鑰空間小、安全性 差等問題。因此,人們?cè)絹碓蕉嗟氖褂玫诙惙椒▉硖岣呙艽a系統(tǒng)的安全性。
[0004] DNA分子具有超大規(guī)模并行性、海量數(shù)據(jù)存儲(chǔ)能力和超低的能量消耗,使得DNA密 碼研究成為信息安全領(lǐng)域一個(gè)新的增長(zhǎng)點(diǎn)。早期的DNA密碼算法在具體實(shí)現(xiàn)時(shí),需要精密儀 器設(shè)備和昂貴的實(shí)驗(yàn)材料。2009年,Kang在文獻(xiàn)"A pseudo DNA cryptography method" [arXiv: 0903.2693,2009]中提出了 一種偽DNA加密算法,通過在計(jì)算機(jī)上模擬DNA計(jì)算實(shí)現(xiàn) 對(duì)信息的加密運(yùn)算,不需要真實(shí)的生物實(shí)驗(yàn)環(huán)境,但該方法只適用于文本加密。在此基礎(chǔ) 上,國內(nèi)外研究人員提出了許多基于DNA計(jì)算的圖像加密算法。這些算法大多針對(duì)的是灰度 圖像,而彩色圖像在實(shí)際應(yīng)用中更為常見。與灰度圖像相比,彩色圖像包含的信息量更為 豐富,數(shù)據(jù)格式和表示更為復(fù)雜,絕大部分基于DNA計(jì)算的灰度圖像加密算法不能簡(jiǎn)單擴(kuò)展 應(yīng)用于彩色圖像的加密。此外,現(xiàn)有的基于DNA計(jì)算的圖像加密算法存在安全性不高問題, 缺少對(duì)常見圖像處理操作攻擊情形的研究。因此,設(shè)計(jì)安全魯棒的DNA彩色圖像加密算法具 有重要的理論意義和應(yīng)用價(jià)值。
[0005] 為克服現(xiàn)有的基于DNA計(jì)算的圖像加密算法的缺陷,本發(fā)明提出一種利用六階細(xì) 胞神經(jīng)網(wǎng)絡(luò)超混沌和DNA序列運(yùn)算的魯棒彩色圖像加密算法。該算法具有良好的加密效果, 安全性高,對(duì)常見的圖像處理操作攻擊,如噪聲、JPEG壓縮、剪切、對(duì)比度調(diào)整等,具有很強(qiáng) 的魯棒性。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明目的在于克服現(xiàn)有的基于DNA計(jì)算的數(shù)字圖像加密算法缺陷,利用超混沌 系統(tǒng)和DNA序列運(yùn)算,提供一種安全性高、魯棒性強(qiáng)的彩色圖像加密方法。
[0007] 本發(fā)明提出的基于DNA計(jì)算和超混沌系統(tǒng)的魯棒彩色圖像加密方法,利用DNA序列 運(yùn)算、六階細(xì)胞神經(jīng)網(wǎng)絡(luò)超混沌、圖像處理技術(shù)等實(shí)現(xiàn)。附圖1所示為本發(fā)明的彩色圖像加 密算法流程圖,具體步驟如下:
[0008] (1)輸入大小為MXN的彩色明文圖像P,分離圖像P的紅、綠、藍(lán)分量得到三個(gè)大小 為MXN的矩陣R Q、GQ和Bo;
[0009] (2)任意選取六階細(xì)胞神經(jīng)網(wǎng)絡(luò)超混沌系統(tǒng)的初始值,結(jié)合明文圖像P更新和生成 六階細(xì)胞神經(jīng)網(wǎng)絡(luò)超混沌系統(tǒng)以及Logistic-Sine混沌映射系統(tǒng)的參數(shù)和初始值,并對(duì)兩 個(gè)混沌系統(tǒng)分別進(jìn)行迭代運(yùn)算,得到密鑰流K和隨機(jī)數(shù)RN1,RN2,RN3;
[0010] ⑶將十進(jìn)制矩陣RQ,G〇,B()分別轉(zhuǎn)換為二進(jìn)制矩陣。然后,根據(jù)DNA編碼規(guī)則和隨機(jī) 數(shù)RN1,RN2,RN3,將這些二進(jìn)制矩陣分別轉(zhuǎn)換成三個(gè)大小為Μ X 4N的DNA序列矩陣R!,Gi,B!;
[0011] (4)對(duì)DNA序列矩陣Ri,Gi 1執(zhí)行兩次DNA異或運(yùn)算,得到三個(gè)大小為Μ X 4N的DNA序 列矩陣Rb,G3,B3;
[0012 ] (5)根據(jù)DNA解碼規(guī)則和隨機(jī)數(shù)RN1,RN2,RN3,先將DNA序列矩陣R3,G 3,B3分別轉(zhuǎn)換 為二進(jìn)制矩陣,再將這些二進(jìn)制矩陣分別轉(zhuǎn)換為十進(jìn)制矩陣1?4,64,84,它們分別為加密圖像 E的紅、綠、藍(lán)分量;
[0013] (6)利用密鑰流K和按位異或運(yùn)算,改變加密圖像E的各像素值,得到最終密文圖像 C;
[0014] (7)解密過程是加密過程的逆操作,即按逆序執(zhí)行圖像加密運(yùn)算即解密出明文圖 像P。
[0015] 本發(fā)明中,步驟(2)中所使用的六階細(xì)胞神經(jīng)網(wǎng)絡(luò)超混沌系統(tǒng),具體描述如下:
[0017]這里,Xi (i = 1,2,…,6)為六階細(xì)胞神經(jīng)網(wǎng)絡(luò)超混沌系統(tǒng)的狀態(tài)變量。
[0018] 步驟(2)中所使用的Logistic-Sine混純映射系統(tǒng),具體描述如下:
[0019] yn+i=mod(ryn(l-yn) + (4-r)sin(3Tyn)/4,1) (2)
[0020] 式中,yn和r分別為L(zhǎng)ogistic-Sine混沌映射系統(tǒng)的狀態(tài)變量和參數(shù),且re [0,4], yne(〇,i)0
[0021] 步驟(2)中利用明文圖像根據(jù)如下式子產(chǎn)生中間值:
[0025]式中,mod為模運(yùn)算符號(hào),&為按位與運(yùn)算符號(hào),十為按位異或運(yùn)算符號(hào)。
[0026] 步驟(2)中利用Logistic-Sine混沌映射產(chǎn)生隨機(jī)數(shù)RN1,RN2,RN3的具體步驟如 下:
[0027] SL1 :Logistic-Sine混沌映射的系統(tǒng)參數(shù)和初始值按如下式子生成:
[0028] r〇=mod(pi+2P2+3P3,4)
[0029] y〇=mod(pi+P2+P3,1)
[0030] SL2:利用上述系統(tǒng)參數(shù)ro以及初始值yo,迭代Logistic-Sine混沌映射500+L(L 2 5000)次,并拋棄前500個(gè)值,得到長(zhǎng)度為L(zhǎng)的實(shí)值混沌序列Y。
[0031] SL3:隨機(jī)數(shù)RN1,RN2,RN3按如下式子生成:
[0035] 式中,F(xiàn)ix( ·)表示取整函數(shù),tl,t2,t3為正整數(shù)且tl,t2,t3E[8,14]。
[0036] 步驟(2)中利用六階細(xì)胞神經(jīng)網(wǎng)絡(luò)超混沌系統(tǒng)生成密鑰流K的具體步驟如下:
[0037] ST1:任意選取超混沌系統(tǒng)的初始值心(0)(1 = 1,2,…,6),并按如下式子更新:
[0038] X' i(0) =mod(xi(0)+Pi,1),x' 2(0) = -mod(X2(0)+P2,1),x' 3(0) =-mod(X3(0)+P3, 1),
[0039] x' 4(0) =-mod(X4(0)+P3,1),x' 5(0) =mod(X5(0)+Pi,1),x' 6(0) =mod(X6(0)+P2, l)〇
[0040] ST2:利用更新后的初始值Y τ(0)(τ = 1,2,…,6),迭代六階細(xì)胞神經(jīng)網(wǎng)絡(luò)系統(tǒng)1+ ΜΝ(1 2 700)次,并拋棄前1個(gè)值,得到6個(gè)長(zhǎng)度為ΜΝ的實(shí)值混沌序列Χτ(τ = 1,2,…,6)。
[0041 ] ST3:對(duì)序列χτ做如下的優(yōu)化改進(jìn):
[0046] 式中,函數(shù)Int(x)返回離x最近的整數(shù),〇為正整數(shù)且〇e[4,12]。
[0047] ST4:對(duì)序列Ω\進(jìn)行排序,得到三個(gè)長(zhǎng)度為MN的新序列對(duì)序列&中的每個(gè) 元素,找到其在序列Ω ' μ中的位置編號(hào)并記錄下來,從而得到三個(gè)長(zhǎng)度為麗的位置序列ΤΡμ。
[0048] ST5:將序列ΤΡμ轉(zhuǎn)換成大小為ΜΧΝ的矩陣Κμ,密鑰流Κ按如下式子生成:
[0050]本發(fā)明中,步驟(3)所使用的DNA編/解碼規(guī)則如下:
[0052]本發(fā)明中,步驟(4)所使用的DNA異或運(yùn)算規(guī)則如下:
[0054] 步驟(4)根據(jù)如下式子對(duì)DNA序列矩陣辦,61,81執(zhí)行兩次0嫩異或運(yùn)算:
[0057] 這里,i = l,2, =
[0058] 步驟(6)利用密鑰流K,根據(jù)如下式子對(duì)圖像E的像素進(jìn)行擴(kuò)散處理:
[0060] 式中,i = l,2, =
[0061] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
[0062]本發(fā)明提出了一種新的基于DNA計(jì)算的彩色圖像加密方法,具有安全性高、加密效 果好、魯棒性強(qiáng)、信息無損失等優(yōu)點(diǎn)。本發(fā)明提供的加密方法使用明文圖像和高維超混沌產(chǎn) 生密鑰流,使得所設(shè)計(jì)的密碼算法可有效抵抗已知明文攻擊、選擇明文攻擊等。本發(fā)明提供 的彩色圖像加密