彩色圖像混沌加密算法之離散Hopfield神經(jīng)網(wǎng)絡(luò)
一般混沌圖像加密,都是對圖像的整體像素置亂處理,其抵抗明文攻擊能力較差。為此,我們提出了一種基于離散Hopfleld神經(jīng)網(wǎng)絡(luò)的彩色圖象混沌加密算法。該算法采用自治三維混沌系統(tǒng)對彩色圖像單像素比特位進(jìn)行加密操作,通過利用三維混沌序列的其中一維置亂圖像R、G、B分量的像素位置,用另外兩維序列設(shè)置置亂每個(gè)像素比特位的權(quán)值和閾值,從而改變彩色圖像各分量像素的位置和像素值,達(dá)到有效加密的效果。
一、新混沌系統(tǒng)
1、新混沌系統(tǒng)的構(gòu)造
高維混沌系統(tǒng)較低維系統(tǒng)結(jié)構(gòu)復(fù)雜,密鑰空間大,敏感性更強(qiáng),加密安全性更高。為此,我們設(shè)計(jì)了一個(gè)新的三維混沌系統(tǒng),該系統(tǒng)具有5個(gè)平衡點(diǎn),其物理模型如下:
其中a、b、c是系統(tǒng)的參數(shù),且當(dāng)參數(shù)a、b、c時(shí),系統(tǒng)最大的Lyapunov指數(shù)為2.98,該系統(tǒng)進(jìn)入典型混沌態(tài)(見圖1)。
2、混沌系統(tǒng)敏感性
混沌系統(tǒng)的敏感性對加密非常重要,混沌系統(tǒng)迭代數(shù)次后,表現(xiàn)出對初值極端敏感,產(chǎn)生的序列波形會因微小的變化發(fā)生巨大的改變。圖2描述了某一變量只相差10-10時(shí),該混沌系統(tǒng)波形發(fā)生的巨大改變。
3、混沌系統(tǒng)分叉特性
系統(tǒng)參數(shù)發(fā)生改變時(shí),會使系統(tǒng)平衡點(diǎn)發(fā)生相應(yīng)變化,以致系統(tǒng)的運(yùn)動軌跡也發(fā)生變動。圖3為改變參數(shù)a時(shí)新混沌系統(tǒng)的分叉圖,由圖3可見,隨著a在[15,50]范圍內(nèi)變化,系統(tǒng)在周期態(tài)、混沌態(tài)和周期態(tài)之間相互轉(zhuǎn)變。
二、新混沌系統(tǒng)的彩色圖像加密算法
1、圖像像素位置置亂
設(shè)待加密的彩色圖像大小為MxNx3,分離其三基色,得到二維R、G、B分量。利用式(1)產(chǎn)生三維混沌序列,迭代LxMxN次,舍去前三次,生成X、y、Z序列,其長度都為MxN。利用Z序列對尺像素位置置亂,y序列對G像素位置置亂,X序列對B像素位置置亂,下面以Z序列置亂R像素位置為例加以說明。
選取Z中[1,M]項(xiàng)作為Z1,[M+1,M+N]項(xiàng)作為Z2。先從R像素的第1行到第M行,按照式:
對應(yīng)值對R循環(huán)右移。轉(zhuǎn)置R,再從第1行到第N行按照式:
對應(yīng)值對R循環(huán)右移。最后轉(zhuǎn)置得到尺像素位置置亂。用y,X序列對G分量和B分量做類似的置亂操作。
2、圖像像素置亂
將二維R、G、B像素值分別展開成一維向量I1k、I2h、I3k,k=1,2,…,MxN,再轉(zhuǎn)換為二進(jìn)制形式得到各分量像素值p1k,i、p2k,i、p3k,i,分別表示三基色的第南個(gè)像素值第:比特位,且滿足:
另外,選取X、Y、Z序列進(jìn)行預(yù)處理,得到序列Xk、Yk、Zk如下:
經(jīng)式(5)處理后,將Xk、Yk、Zk轉(zhuǎn)化為二進(jìn)制形式Wlk,i、W2k,i、W3k,i,其中k、i代表第庇個(gè)序列值的第k比特位,這里i=8,轉(zhuǎn)換關(guān)系如下:
基于離散Hopfield混沌神經(jīng)網(wǎng)絡(luò),利用混沌序列的二進(jìn)制流和圖像像素的二進(jìn)制形式產(chǎn)生像素置亂。權(quán)值q1k,i、q2h,i、q3k,i和閾值u1k,i、u2k,i、u3k,i,表示如下:
圖像的R、G、B像素值置亂后得到密文m1k,i、m2k,i、m3k,i,加密算法如下:
加密時(shí),反饋密文m10,i、m20,i、m30,i 由R、G、B分量像素值的最后一個(gè)二進(jìn)制值p1m*n,i、p2m*n,i、p3m*n,i代入求得。按照式(11)進(jìn)行像素置亂后,再將其像素值轉(zhuǎn)化為十進(jìn)制,組合加密后的R、G、B分量,得到像素置亂圖像。圖像解密是加密的逆過程,像素值解密算法如下:
解密時(shí)用已恢復(fù)出的p1m*n,i、p2m*n,i、p3m*n,i代替m10,i、m20,i、m30,i 求出原像素m11,i、m21,i、m31,i。
3、新混沌系統(tǒng)彩色圖像加密解密步驟
Step1讀入彩色圖像,大小為MxNx3,分離圖像三基色得到尺、G、B像素分量。設(shè)置新混沌系統(tǒng)式(1)的參數(shù)和初值,迭代LxM×N次,舍棄前三次得到三維混沌序列。
Step2按照前面內(nèi)容對R、G、B像素值進(jìn)行位置置亂。
Step3按照前面內(nèi)容對R、G、B像素值進(jìn)行像素置亂。
Step4組合R、G、B加密后的像素值,輸出加密后的圖像。
解密過程是加密的逆過程,按照式(12)解密出像素值,再組合為三維彩色圖像。
三、實(shí)驗(yàn)結(jié)果及其安全性分析
1、加密解密實(shí)驗(yàn)結(jié)果
在Matlab7.O編程環(huán)境下,選用256 x256 x3的彩色圖像加密?;煦缦到y(tǒng)的參數(shù)和初值為a=30,b=15,c=6,x0=2,y0=1,Zo =3,積分步長為h=0. 01,迭代舍棄前5500次。圖4為該加密算法效果圖,并仿真正確解密和初值誤差為10-10的錯(cuò)誤解密情況。
2、密鑰敏感性
由圖4d可看出,在其他條件不變的情況下,初值誤差只有10-10的微小變化時(shí),解密就發(fā)生錯(cuò)誤。
由此可知,該算法的密鑰敏感性很強(qiáng)。另外,對于筆者的新三維混沌系統(tǒng),不同的參數(shù)、初值和迭代次數(shù)使加密密鑰擁有很大的密鑰空間。
3、統(tǒng)計(jì)特性分析
1)相鄰像素的相關(guān)性
利用公式:
分別隨機(jī)選取R、G、B像素中1 000對水平、垂直和對角相鄰像素,進(jìn)行相關(guān)性分析(見表1)。由表1可以看出,原圖像的R、G、B相鄰像素相關(guān)性非常高;而加密圖像中各分量相鄰像素相關(guān)系數(shù)接近于0,基本不相關(guān),說明明文的統(tǒng)計(jì)特征已被擴(kuò)散到隨機(jī)的密文當(dāng)中。
2)直方圖分析
圖5為加密前后各分量的直方圖對比,圖6為誤差為10-10錯(cuò)誤解密各分量直方圖與原直方圖的對比。由圖5,圖6可看出,加密后圖像的三基色分量的直方圖均勻分布,錯(cuò)誤解密后分布仍均勻,所以該加密算法已經(jīng)完全改變了原圖像的統(tǒng)計(jì)特性。
3)抗差分攻擊能力。利用像素變化率和像素平均強(qiáng)度變化率定量描述算法明文的敏感程度,驗(yàn)證加密算法的抗差分攻擊能力?,F(xiàn)改變彩色圖像R分量的一個(gè)像素點(diǎn)p(i,j),得到不同的密文值m1(i,j),m2(i,j)。若m1(i,j)≠m2(i,j),則D(i,j)=1,反之,D(i,j)=O;代入下式:
其結(jié)果如表2所示。
由表2中R、G、B分量的NPCR和UACI值可知,該加密算法能有效地抵抗差分攻擊。
4、抗干擾能力
對該混沌系統(tǒng)加密圖像進(jìn)行抗剪切、抗高斯噪聲、抗椒鹽噪聲的試驗(yàn),其結(jié)果如圖7所示,證明該混沌加密算法有較好的魯棒性,具有較高的抗干擾能力。
5、加密解密算法的效率
對圖像像素進(jìn)行多次位置置亂,這無疑會占用加密時(shí)間,相同置亂效果下,筆者的算法對單像素比特位置亂速度更快。圖片加密時(shí)需要重復(fù)運(yùn)行混沌系統(tǒng)7次,而筆者只需要一次就能達(dá)到很好的加密效果,加解密速度相對更快。分別用筆者的加密算法的算法對同一圖片進(jìn)行加密,加密操作需要11. 67 s,而筆者加密操作僅需0.23 s,由此可見,筆者的加密算法有很高的加密效率。
小知識之Hopfield
Hopfield是一種應(yīng)用類似于大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)進(jìn)行信息處理的數(shù)學(xué)模型。在工程與學(xué)術(shù)界也常直接簡稱為神經(jīng)網(wǎng)絡(luò)或類神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)是一種運(yùn)算模型,由大量的節(jié)點(diǎn)(或稱神經(jīng)元)之間相互聯(lián)接構(gòu)成。每個(gè)節(jié)點(diǎn)代表一種特定的輸出函數(shù),稱為激勵函數(shù)(activation function)。每兩個(gè)節(jié)點(diǎn)間的連接都代表一個(gè)對于通過該連接信號的加權(quán)值,稱之為權(quán)重,這相當(dāng)于人工神經(jīng)網(wǎng)絡(luò)的記憶。網(wǎng)絡(luò)的輸出則依網(wǎng)絡(luò)的連接方式,權(quán)重值和激勵函數(shù)的不同而不同。而網(wǎng)絡(luò)自身通常都是對自然界某種算法或者函數(shù)的逼近,也可能是對一種邏輯策略的表達(dá)。



