基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

神經(jīng)網(wǎng)絡(luò)作為一種自適應(yīng)建模的工具,具有建立任意未知系統(tǒng)的輸入輸出之間關(guān)系的能力,已經(jīng)被廣泛的應(yīng)用于各種工程領(lǐng)域。圖像加密技術(shù)是保證需要進(jìn)行秘密傳輸?shù)膱D像數(shù)據(jù)在通信網(wǎng)絡(luò)中安全傳輸?shù)闹饕侄巍?/p>

目前將神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于圖像加密主要分為基于Hopfield神經(jīng)網(wǎng)絡(luò)的圖像加密、細(xì)胞神經(jīng)網(wǎng)絡(luò)的圖像加密、混沌神經(jīng)網(wǎng)絡(luò)的圖像加密,應(yīng)用離散Hopfield神經(jīng)網(wǎng)絡(luò)生成的序列密碼,對圖像信號進(jìn)行加解密,其主要利用網(wǎng)絡(luò)生成的序列構(gòu)造置換矩陣對圖像矩陣進(jìn)行位置置換?;诩?xì)胞神經(jīng)網(wǎng)絡(luò)的高度非線性動力學(xué)行為,利用四階細(xì)胞神經(jīng)網(wǎng)絡(luò)產(chǎn)生的超混沌序列用于圖像加密。建立了一種具有三重密鑰的混沌神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像加密。但以上IE技術(shù)都基于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型,在同一隱藏層的傳送函數(shù)都是一樣的,常用的函數(shù)為S函數(shù),然而這類神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中存在網(wǎng)絡(luò)易陷入局部最優(yōu),且收斂速度慢等特點(diǎn)。而混沌系統(tǒng)能夠很好的應(yīng)用于信息安全領(lǐng)域,是由于其對于初始條件和系統(tǒng)參數(shù)具有強(qiáng)的敏感性,將混沌序列作為密鑰流進(jìn)行圖像加密,但是由于單獨(dú)的混沌系統(tǒng)的另外一些特性如同步性、參數(shù)少等,使得安全性不能得到保障。

正交基函數(shù)神經(jīng)網(wǎng)絡(luò)由于其簡單易實(shí)現(xiàn),已被應(yīng)用于圖像處理、非線性過程控制、空氣質(zhì)量預(yù)測等工程領(lǐng)域。因此為了克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型和混沌系統(tǒng)作為密鑰的缺陷,文中首次提出基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法,其思路是根據(jù)彩色圖像結(jié)構(gòu)信息,結(jié)合混沌系統(tǒng),構(gòu)造出基于Chebyshev正交多項(xiàng)式基函數(shù)的神經(jīng)網(wǎng)絡(luò)模型,以三個(gè)簡單的混沌模型產(chǎn)生的混沌序列為輸入(這相對于復(fù)雜的高維混沌系統(tǒng)而言計(jì)算復(fù)雜度較低),使用多項(xiàng)式神經(jīng)網(wǎng)絡(luò)來建立新的混沌序列,進(jìn)而以此構(gòu)建一種以異或運(yùn)算為基礎(chǔ)的像素值替代圖像加解密算法。

一、混沌正交基函數(shù)神經(jīng)網(wǎng)絡(luò)模型

1、混沌模型

所構(gòu)建的網(wǎng)絡(luò)模型是需要以混沌序列作為輸入的,這里首先介紹3種簡單而應(yīng)用廣泛的混沌模型。

1) Logistic模型

Logistic方程:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中O< μ≤4,產(chǎn)生的序列xn∈(O,1)。且知當(dāng)3.5699456<p≤4時(shí),序列表現(xiàn)出混沌特性。

2)正弦平方映射模型

迭代方程為:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

若其初值滿足0<x0<1,當(dāng)γ>1時(shí),其Lyapunov指數(shù)大于零,且Lyapunov指數(shù)λ=ln(γ),系統(tǒng)工作在混沌狀態(tài)。

3)組合混沌映射

將Logistic混沌映射和無限折疊混沌映射進(jìn)行組合可得到一種新的混沌映射模型,其迭代公式如下:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

若取參數(shù)b=l,a>10,3. 5699456--<σs4。這樣就可以產(chǎn)生(0,1)之間均勻分布的偽隨機(jī)數(shù)。

2、正交基函數(shù)神經(jīng)網(wǎng)絡(luò)

正交基函數(shù)具有很多種,如Chebyshev正交基函數(shù)。Her-mit正交基函數(shù)等,但為了使神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果易與圖像數(shù)據(jù)的象素值進(jìn)行運(yùn)算,這里使用Chebyshev正交基函數(shù)作為網(wǎng)絡(luò)的傳輸函數(shù),因?yàn)槠渲涤蛟跒閇-1,1]。

(1)Cbebyshev正交基函數(shù)

定義1:Tn(x)=cos(nsrccosx),-1≤x≤1。稱為Chebyshev多項(xiàng)式,它是在區(qū)間[-l,1]上關(guān)于權(quán)函數(shù)p(x)=1//1-x2的n次正交多項(xiàng)式。由ChebysheV多項(xiàng)式定義可知,應(yīng)用余弦和積功是可得到Chebyshev正交多項(xiàng)式的遞推公式如下:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

由式(4)所定義的Chebyshev多項(xiàng)式函數(shù)稱為Cheby8hev正交基函數(shù)。根據(jù)其定義,易得知Cheby8hev多項(xiàng)式Tn(x)的最高冪xn項(xiàng)的系數(shù)為2n-1,且當(dāng)x∈[-1,I]時(shí),|tn(x)|≤1。

(2)基于Chebyshev正交基函數(shù)的神經(jīng)網(wǎng)絡(luò)建模

為了產(chǎn)生應(yīng)用于彩色圖像加密的密鑰流,構(gòu)建一個(gè)多輸入一多輸出神經(jīng)網(wǎng)絡(luò)模型??紤]到彩色圖像具有R、G、B三個(gè)分量,且為了增強(qiáng)安全性,為此構(gòu)建一個(gè)3-n-1的網(wǎng)絡(luò)模型??梢詰?yīng)用其產(chǎn)生三組輸出,作為加密各分量的密鑰,而每組輸出所對應(yīng)的輸入是由上節(jié)所提到的三種混沌模型產(chǎn)生的混沌序列,其網(wǎng)絡(luò)模型如圖1所示。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中xs=(xs1,xs2,xs3),s=1,2,3,,..S為輸入的混沌序列,S為參與訓(xùn)練的樣本數(shù)。xs1,xs2,xs3分別是由上節(jié)三種混沌模型所產(chǎn)生的混沌序列值。Wi,j為輸入層節(jié)點(diǎn)到隱藏層的權(quán)值,Wj為隱藏層到輸出層的權(quán)值,輸入層和輸出層的神經(jīng)元的激勵(lì)函數(shù)均為恒等映射,所有神經(jīng)元的閾值均為0。隱藏層神經(jīng)元的激勵(lì)函數(shù)為由式(4)所定義的一組正交基函數(shù),記為Fj(.),j=0,1,2,...,N。

根據(jù)以上構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,可得到該模型中各層的具體表示如下:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中N為隱藏層節(jié)點(diǎn)個(gè)數(shù),設(shè)在網(wǎng)絡(luò)訓(xùn)練過程中所采用的樣本對為(xsf(Xs)),其中xs=(xs1,xs2,xs3).s=l,2,3,...S,S為訓(xùn)練所使用的樣本數(shù)。因?yàn)樵谟?xùn)練階段需要知道期望輸出,在此定義期望輸出為:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

由此可定義輸入輸出誤差為:es=fs(xs)-ys,網(wǎng)絡(luò)訓(xùn)練的代價(jià)函數(shù)為:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

根據(jù)梯度下降算法可得到網(wǎng)絡(luò)中權(quán)值的更新迭代公式如下:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

在Chebyshev神經(jīng)網(wǎng)絡(luò)模型中,由于采用了較為復(fù)雜的Chebyshev正交基函數(shù)作為非線性激勵(lì)函數(shù),因此當(dāng)該網(wǎng)絡(luò)逼近復(fù)雜非線性目標(biāo)特性時(shí),相對于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型可以采用較少的隱藏層神經(jīng)元。圖2給出選用1000組輸入混沌序列及得到的網(wǎng)絡(luò)輸出序列,其中(a)(b)(c)分別為前面所提到的三種混沌模型所產(chǎn)生的序列,而(d)為網(wǎng)絡(luò)的輸出序列,從圖中可知網(wǎng)絡(luò)的輸出序列也具有很好地混沌特性。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

二、加密解密算法

圖像加密算法主要分為像素位置置亂和象素值替代,以及兩者的混合方法。本文在這里結(jié)合神經(jīng)網(wǎng)絡(luò)所產(chǎn)生的混沌序列模型,構(gòu)造一種象素值替代加密模型。其主要包括基于多項(xiàng)式神經(jīng)網(wǎng)絡(luò)的混沌序列產(chǎn)生和象素值替代兩個(gè)過程。加密解密框圖如圖3所示。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

加密算法

設(shè)PI( Plaintext Image)為一副大小為MxNx3的明文彩色圖像,對其實(shí)施加密解密的算法過程為:

Step1:使用前面混沌模型產(chǎn)生的混沌序列作為Chebyshev神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本,構(gòu)造輸入一輸出對fs(xs),確定網(wǎng)絡(luò)的權(quán)值Wij和wj。

Step2:再任選混沌初值和參數(shù)產(chǎn)生用于網(wǎng)絡(luò)輸入的混沌序列,如式所示。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中xsr,xsg,xsb分別是用于產(chǎn)生加密各分量的輸入混沌序列,結(jié)合訓(xùn)練過程中所確定的權(quán)值wij和wj,根據(jù)網(wǎng)絡(luò)模型產(chǎn)生新的神經(jīng)網(wǎng)絡(luò)混沌序列YR,YG,YB。

Step3:為了與圖像數(shù)據(jù)進(jìn)行運(yùn)算,將新的混沌序列進(jìn)行修正,如下式所示:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中round(),max(),min(),分別表示數(shù)據(jù)取整運(yùn)算,取最大最小值。

Step4:將圖像數(shù)據(jù)進(jìn)行分解,分別提取其R、G、B分量,分別記為IR,IG,IB分別按如下式進(jìn)行像素替代變換,得到各分景的加密結(jié)果EIR,Elc,EIR( Encryption Image, EI):

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中wi,λi,θi(i=1,2,3)為任意的整數(shù),其中L=255。

由以上算法描述可知加密過程中的密鑰包括混沌模型的初值,網(wǎng)絡(luò)訓(xùn)練過程中得到的權(quán)值,還包括這三組正型參數(shù),這樣便極大的擴(kuò)充了密鑰空間,增強(qiáng)了安全性。密鑰可表示為:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中C,W,I分別為:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中XR,XG,XB分別為產(chǎn)生三組網(wǎng)絡(luò)輸入的混沌系統(tǒng)的初值。

Step5:將EIR,ElG,EIB進(jìn)行重構(gòu)就可得到密文圖像EI。

2、解密算法

Stepl:由秘密信道接收到建立的網(wǎng)絡(luò)模型及式(12)所定義的密鑰,得到加密過程中所用到的神經(jīng)網(wǎng)絡(luò)混沌序列;

Step2:如式(8)所示對上述產(chǎn)生的混沌序列進(jìn)行修正;

Step3:密文圖像EI進(jìn)行解密。分解EI提取R、G、B分量,按式(13)進(jìn)行解密,得到各分量的解密結(jié)果DIR、DlG、DIB。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

Step4:將DIR、DlG、DIB進(jìn)行重構(gòu)就得到解密圖像DI(Decryption Image,DI)。

三、仿真與分析

對于一個(gè)良好的圖像加密算法來說,不僅要在視覺效果上看不到密文圖像與明文圖像的相似之處,而且更重要的是要具有強(qiáng)的安全性,也就是不易被破解,從而防止信息的泄漏。所以這里從加密結(jié)果和算法安全性兩方面對所提算法進(jìn)行仿真分析。

1、加密算法結(jié)果分析

為了驗(yàn)證算法的可行性,選取三種混沌模型的初值和參數(shù),產(chǎn)生出用于網(wǎng)絡(luò)訓(xùn)練的序列值,根據(jù)網(wǎng)絡(luò)模型對訓(xùn)練樣本對進(jìn)行訓(xùn)練得到網(wǎng)絡(luò)的權(quán)值,再根據(jù)式加密算法中所描述的產(chǎn)生相應(yīng)的混沌序列,結(jié)合訓(xùn)練得到的權(quán)值獲得用于加密的密鑰序列YR、Yc、ko在Matlab7.0環(huán)境下,按照前面所述的方法對兩幅彩色圖像Strawberry. jpg和Airplane.jpg進(jìn)行加解密試驗(yàn)。其密鑰為:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

而權(quán)值是由訓(xùn)練樣本中所使用的混沌序列確定的,其參數(shù)值C= (0.01,0.12,0. 13,3. 571,1.565,11,3.571)也可以作為密鑰。圖4給出了兩幅圖像的加解密結(jié)果。從加密結(jié)果(b)、(e)不難看出已經(jīng)達(dá)到了加密的視覺效果,密文圖像已完全是一幅雜亂無章的噪聲圖像,已經(jīng)不能獲悉明文圖像的任何信息。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

為了定量的分析加密的效果,計(jì)算出密文像素變化率(Ciphertext Pixel Change Rate,CPCR)進(jìn)行分析。由于圖像為彩色圖像,所以分別計(jì)算出各分量的CPCR。如下式:

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

其中,

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

可定義

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

經(jīng)計(jì)算加密后的圖像像素變化率CPCR=99.88%,從而可知加密效果非常好,達(dá)到了預(yù)期的目標(biāo)。

2、加密算法的安全性分析

一種優(yōu)良的加密機(jī)制應(yīng)該是要對密鑰具有敏感性和擁有大的密鑰空間,就可以有效的抵制群舉攻擊。

(1)密鑰空間分析

由算法描述,可知,在每生成一個(gè)密鑰序列時(shí),需要使用三個(gè)混沌模型分別產(chǎn)生相應(yīng)的序列作為網(wǎng)絡(luò)的輸入,因此每個(gè)混沌模型需要使用3次,如式(12)可知在加密算發(fā)中共需要31個(gè)密鑰參數(shù),其中整型9個(gè),雙精度22個(gè),每個(gè)雙精度浮點(diǎn)型產(chǎn)生的密鑰空間約1016,因此加密算法具有非常大的密鑰空間,且也可以網(wǎng)絡(luò)進(jìn)行訓(xùn)練迭代的次數(shù)作為密鑰。

(2)鑰敏感性測試

為了驗(yàn)證加密算法對密鑰的敏感性,在解密時(shí)只將生成YR的初值xol做了相處10-7的變化,而其它密鑰均未改變。圖5給出了的加密結(jié)果和解密結(jié)果,發(fā)現(xiàn)解密結(jié)果也是所期望的,其是一幅毫無紋理的噪聲圖像。這說明了算法對密鑰具有很強(qiáng)的敏感性,這也就體現(xiàn)了密碼學(xué)中所要求的混淆和擴(kuò)散的目的。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

(3)統(tǒng)計(jì)分析

抵抗統(tǒng)計(jì)分析攻擊也是衡量一種加密算法有效性的標(biāo)準(zhǔn)。對于圖像數(shù)據(jù)而言,需要通過加密算法減小相鄰像素間的相關(guān)性,進(jìn)而可以減小其受統(tǒng)計(jì)分析攻擊的風(fēng)險(xiǎn)。

1)圖像的灰度值統(tǒng)計(jì)直方圖

圖像像素的灰度統(tǒng)計(jì)直方圖表明了像素的分布性。圖6分別給出了Strawberry. jpg的明文圖像,密文圖像和解密圖像的各分量的灰度值統(tǒng)計(jì)直方圖。由(b)(e)(h)可看出密文圖像的各分量的直方圖顯示出很大的均勻性,灰度值均勻的分布在[0,255]范圍內(nèi),這一結(jié)果掩蓋了明文的分布規(guī)律,增強(qiáng)了抵抗統(tǒng)計(jì)分析攻擊的性能。而PI和DI的直方圖基本保持一致,說明了加密算法具有良好的對稱性。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

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

較低的相鄰像素的相關(guān)性也是檢驗(yàn)加密算法性能的一個(gè)指標(biāo)。為了檢驗(yàn)加密算法仿真中明文圖像PI和密文圖像EI的相鄰像素的相關(guān)性,只在Strawberry. jpg的R分量中選取500對相鄰像素,來比較它們的相關(guān)性,包括水平,垂直或?qū)堑摹?/p>

圖7給出了PI和EI的平行和垂直方向的相鄰像素的相關(guān)系數(shù)圖。從圖(a)(c)中可以看出明文圖像的相鄰像素具有較強(qiáng)的相關(guān)性,而(b)(d)則顯示出EI中相鄰像素的相關(guān)性較低,基本呈均勻分布的形式。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

表1給出了PI和Dl在水平,垂直和對角線方向的相鄰像素的相關(guān)系數(shù)。由計(jì)算結(jié)果知,PI的相鄰像素的相關(guān)性非常高,接近于l,而DI的相鄰像素只有接近于0的相關(guān)系數(shù),說明已經(jīng)完全打破了PI的相鄰像素相關(guān)特性,PI的統(tǒng)計(jì)特征已擴(kuò)散到DI中。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

(4)抵抗惡意攻擊

惡意攻擊是第三者企圖破壞密文圖像的一種方法,有效的抵抗惡意攻擊也是衡量算法性能的標(biāo)準(zhǔn)。圖8給出了Strawberry. jpg受加椒鹽噪聲攻擊和隨意涂寫的圖像及其解密結(jié)果。可看出解密結(jié)果雖然受到一些噪聲顆粒的影響,但PI的輪廓信息還是很清楚的,可以獲知需要了解的信息。

基于正交基函數(shù)神經(jīng)網(wǎng)絡(luò)的圖像加密算法仿真

小知識之正交基

若向量空間的基是正交向量組,則稱其為向量空間的正交基,若正向向量組的每個(gè)向量都是單位向量,則稱其為向量空間的標(biāo)準(zhǔn)正交基。