DNA圖像文件加密算法

為了解決數(shù)字圖像加密算法復(fù)雜度高、安全性較差的問題,提出一種基于混沌系統(tǒng)的DNA融合圖像加密算法。首先利用Baker變換對圖像進(jìn)行置亂以讀取DNA序列;再由Logistic混沌映射產(chǎn)生混沌序列,從而對DNA序列進(jìn)行混沌加密。該算法對初值具有很好的敏感性,抗統(tǒng)計(jì)、抗差分攻擊能力強(qiáng)。

一、理論知識

1、混沌理論和Logistic映射

混沌系統(tǒng)有許多特性,如對初始條件的敏感性被認(rèn)為是 一個(gè)加密算法的密鑰發(fā)生器中的一個(gè)基本部分:Logistic映射的數(shù)學(xué)表達(dá)形式如下:

DNA圖像文件加密算法

其中O≤μ≤4為分叉參數(shù)?;煦鐒?dòng)力學(xué)的研究表明,在3. 569 945 6---≤μ≤4時(shí),Logistic映射為混沌狀態(tài)。

由此,提出了二維Logistic混沌映射,其表達(dá)式:

DNA圖像文件加密算法

其中:μ=4,β=0.1,α1=α2=[0. 65,0.9],系統(tǒng)進(jìn)入混沌狀態(tài)。

2、DNA序列加密

(1)圖像的DNA編碼和解碼

一個(gè)鏈DNA,由四個(gè)不同的基本核苷酸組成:腺嘌呤( A)、胸腺嘧啶(T)、胞嘧啶(C)和鳥嘌呤(G),這4種核苷酸能夠結(jié)合在一起形成一條長序列,且A與T配對,C與G配對。通過規(guī)定A、C、G、T分別編碼為00,01,10,11,這樣的編碼方案有24種,但只有8種編碼方案滿足Watson-Crick規(guī)則,如表1。假設(shè)規(guī)定A-OO、T-O1、C-10、G-11,如二進(jìn)制序列101 10100,DNA序列可以寫成GTCA。

DNA圖像文件加密算法

(2)DNA序列的加減代數(shù)運(yùn)算

隨著DNA計(jì)算的飛速發(fā)展,一些研究人員提出基于DNA序列的某些生物學(xué)操作和代數(shù)運(yùn)算,如加法運(yùn)算。DNA序列加法和減法運(yùn)算是源于在傳統(tǒng)二進(jìn)制中加法和減法。

對應(yīng)于8種DNA編碼方案,也存在8種DNA加法運(yùn)算和8種DNA減法運(yùn)算。如表2—3所示,從中可看出任何一個(gè)基因在每行或列中是唯一的,即加法運(yùn)算和減法運(yùn)算的結(jié)果有且只有一個(gè)。

DNA圖像文件加密算法

3、Baker變換

Baker變換是一種將連續(xù)的平面區(qū)域反復(fù)進(jìn)行拉伸和折疊的變換技術(shù),公式如下:

DNA圖像文件加密算法

由于Baker變換的拉伸與折疊性以及圖像的點(diǎn)陣特征,對數(shù)字圖像進(jìn)行置亂時(shí),首先對圖像Gn×m的各個(gè)像素按照混沌隨機(jī)序列進(jìn)行兩兩配對,依次記為a(1),a(2):,…,a(n),其中a(1)=1,a(i)與a(i -1)進(jìn)行配對(其中i為奇數(shù))且a(1)<a(3)<...<a(n/2);其次對已經(jīng)配對后的兩行進(jìn)行拉伸和折疊操作,其公式為:

DNA圖像文件加密算法

其中λ=l,2...,n/2。Baker變換如圖1所示。

DNA圖像文件加密算法

與Arnold置亂算法相比,Baker變換最大優(yōu)點(diǎn)在于:Baker變換的置亂周期比較長;只需進(jìn)行很少的變換次數(shù)就可以達(dá)到很好置亂效果;算法操作簡便,運(yùn)算速度快,而且圖像的保密效果好。

二、加密方案設(shè)計(jì)

1)設(shè)原圖像為G,大小為N=axb,則圖像G表示為:G=F(i,j)。其中;o≤i≤a;0≤j≤b;(i,j)表示像素點(diǎn)位置,F(xiàn)(i,j)表示該點(diǎn)處圖像數(shù)據(jù),則F(i,j)可構(gòu)成圖像矩陣。

2)根據(jù)內(nèi)部設(shè)定的參數(shù)由式(3)構(gòu)造二維Baker映射,然后畝式(4)將圖像矩陣進(jìn)行置亂。

3)置亂后的矩陣轉(zhuǎn)變?yōu)橄鄳?yīng)的二進(jìn)制序列,二進(jìn)制序列編碼為A、T、c、G分子表示序列,利用表1的方案2進(jìn)行編碼。

4)給定參數(shù)μ值和初值x0、Y0,通過二維Logistic映射得到混沌序列s1、S2。

5)利用索引函數(shù)對混沌序列s1、S2進(jìn)行操作,排序的索引函數(shù)公式如下:

DNA圖像文件加密算法

其中;fs1是把S1升序排列后的新序列l(wèi)s1是s1的索引值。

6)選擇s1、S2的索引值組合通過表2進(jìn)行加法運(yùn)算。

7)在圖像加密的最后一步,DNA序列轉(zhuǎn)變?yōu)槎M(jìn)制序列,再變?yōu)槎M(jìn)制矩陣,然后就得到了加密圖像。

解密圖像是加密圖像的逆過程,需知道圖像的置亂周期和DNA序列加密運(yùn)用的減法運(yùn)算和加法運(yùn)算表才可解密圖像。

三、仿真結(jié)果及安全性分析

1、仿真結(jié)果

在產(chǎn)生混沌序列時(shí)用501次以后迭代形成的混沌序列,可以增加混沌序列的復(fù)雜性和提高加密安全性。如圖2給出了仿真結(jié)果圖及直方圖。

DNA圖像文件加密算法

2、統(tǒng)計(jì)特征分析

1)直方圖

由圖2(a)、(b)的直方圖,圖像加密前后的灰度分析,像素分布很均勻,與原圖差別很大。

2)相鄰像素相關(guān)性

相關(guān)系數(shù)的計(jì)算公式如下:

DNA圖像文件加密算法

其中x和y分別代表圖像中相鄰2個(gè)像素值,且gxy為相鄰2個(gè)像素的相關(guān)系數(shù)。隨機(jī)選取明文和密文中的相鄰1000對像素,計(jì)算相關(guān)系數(shù),如表4及圖3所示。

DNA圖像文件加密算法

3、敏感性分析

對一幅大小為256×256的圖像進(jìn)行測試。設(shè)置密鑰參數(shù)x0=0.3, Yo=0.3,μ=4,α1=α2=0.798171。如圖4所示,在解密過程中,只有0.000000 01的差別,也不能恢復(fù)出原圖像。

DNA圖像文件加密算法

4、明文敏感性分析

差分攻擊:原圖像的一個(gè)微小改變能引起加密圖像的巨大變化,攻擊者能獲得原始圖像與加密圖像之間的聯(lián)系。通過NPCR(Number of Pixel Change Rate)與UACI(UnifiedAverageChanging Intensity)來衡量。公式如下:

DNA圖像文件加密算法

其中:m、n分別表示圖像的行和列,C1與C2分別為僅改變原圖像的告?zhèn)€像素值而得到的不同加密圖,C1(i,j)與C2(i,j)表示在(i,j)坐標(biāo)上的像素值。

由計(jì)算可知NPCR和UACI值如表5所示??梢粤私獾街灰瓐D像發(fā)生微小的改變,會使加密圖像接近100%的NPCR發(fā)生變化,加密后的圖像平均變化在30%(UACI)以上。同時(shí)也說明明文圖像的信息很好地?cái)U(kuò)散到了密文圖像中,具有很好的明文敏感性,對差分攻擊有很好的魯棒性。

DNA圖像文件加密算法

小知識之DNA序列

部分DNA序列或基因序列使用一串字母表示的真實(shí)的或者假設(shè)的攜帶基因信息的DNA分子的一級結(jié)構(gòu)。