混合圖像加密算法之循環(huán)橢圓曲線耦合一致分布混沌映射加密

由于當(dāng)前的Logistic混沌映射無(wú)法滿足一致分布,且在混沌區(qū)域存在空白窗口,使得混沌區(qū)域較小,在利用該映射加密圖像時(shí),導(dǎo)致了較小的密鑰空間,降低了加密系統(tǒng)的安全性?;诖耍覀兺ㄟ^(guò)定義循環(huán)橢圓曲線,設(shè)計(jì)一致分布Logistic混沌映射和偽隨機(jī)混合密鑰流生成器,構(gòu)造加密函數(shù)以及引入線性反饋移位寄存器,最終提出了循環(huán)橢圓曲線與一致分布Logistic混沌映射相融合的圖像加密算法。

一、基于循環(huán)橢圓曲線的偽隨機(jī)位序列生成器

普通橢圓曲線模型如下:

式(1)中,x、y為變量;a、b常量,且a,b∈GF(2m),a,b∈GF(2m)為2m階有限域;且:

在方程(1)中,不同的a、b代表著不同的橢圓曲線。

所有滿足模型式(1)的橢圓曲線點(diǎn)P(xp,yP)在無(wú)窮遠(yuǎn)點(diǎn)0處都稱為橢圓曲線的階,用M表示。對(duì)于最小整數(shù)N,若NP等于無(wú)窮遠(yuǎn)點(diǎn)0(NP=O),則稱為點(diǎn)p的階,從而使得N<M,那么P,2P,…,(N-1)P是橢圓曲線上不同的點(diǎn)。對(duì)于某個(gè)特定的a、b而言,該曲線可以選擇最高階(N= M)的基準(zhǔn)點(diǎn)p;另外P,2P,…,MP是模型式(1)上M個(gè)點(diǎn),其中MP為無(wú)窮遠(yuǎn)點(diǎn),這樣使得M為無(wú)平方因子,則模型(1)為循環(huán)橢圓曲線。

為了使序列具有良好的統(tǒng)計(jì)性能和易實(shí)現(xiàn),本文采用了線性反饋移位寄存器來(lái)生成的序列{vi}。其模型如下:

式(3)特征多項(xiàng)式為:

式(4)中,f(x)為反饋移位寄存器函數(shù),x為變量;T(x)為特征多項(xiàng)式;cj(j=1,2…p)為反饋系數(shù),(co =c0=1)。根據(jù)特征多項(xiàng)式T(x)則可以確定整數(shù)序列{Ki}:

式(5)中,ut為次數(shù)小于n,系數(shù)為0或者1的特征多項(xiàng)式。

令{k}={ai},則得到整數(shù)序列{ki}。

將整數(shù)序列{ki}中的每個(gè)元素都映射為kip(P為素?cái)?shù)),且P≥M。kip代表循環(huán)橢圓曲線上的點(diǎn),則基于循環(huán)橢圓曲線點(diǎn)(xi,yi)的偽隨機(jī)位生成器如圖1所示。

{vi}={kip}為循環(huán)橢圓曲線點(diǎn)的隨機(jī)位序列。本文通過(guò)采用GF(p)上的初始連接多項(xiàng)式的線性反饋,產(chǎn)生了最大周期的周期性隨機(jī)序列。對(duì)于任意的一個(gè)n>1,通過(guò)使用GF(p)上的忍次初始連接多項(xiàng)式,可以獲得一個(gè)合適的反饋連接。循環(huán)橢圓曲線一旦被選擇,那么隨機(jī)序列{kiP)覆蓋了橢圓曲線中所有的點(diǎn),因此非常適用于加密和解密。

二、一致分布Logistic混沌映射的設(shè)計(jì)

傳統(tǒng)的Logistic混沌映射模型如下:

式(6)中,k=1,2,…,n;x∈[O,1]為變量;λ為控制參數(shù)。當(dāng)0≤λ≤4時(shí),該系統(tǒng)為混沌狀態(tài)。

其不變密度函數(shù)如下:

式(7)中,ρ(x)為一致分布函數(shù),x∈[O,1]為變量。

圖2為傳統(tǒng)Logistic混沌映射特性仿真測(cè)試圖。

從圖2(a)可知,在其混沌區(qū)域存在空白窗口,有些區(qū)域的Lyapunov指數(shù)為O或者負(fù)數(shù);從圖2(b)也可看到,該映射在x∈[0,1]內(nèi)的軌跡點(diǎn)的分布無(wú)法達(dá)到一致性。

可見(jiàn),傳統(tǒng)的Logistic混沌映射存在著較大的不足,應(yīng)用與圖像加密時(shí),會(huì)降低加密系統(tǒng)的安全性。

為了解決傳統(tǒng)的Logistic混沌映射存在的不足,本文設(shè)計(jì)了一致分布Logistic混沌映射,其模型如下:

式(8)中,k=1,2,…,n;λ為控制參數(shù)。當(dāng)-4≤λ≤4時(shí),該系統(tǒng)為混沌狀態(tài)。

圖3為本文設(shè)計(jì)的一致分布Logistic混沌映射在x∈[O,1]區(qū)間以及λ∈[2,4]、λ∈[-4,-2]的特性仿真測(cè)試圖。圖3(a)顯示了在該映射的混沌區(qū)域不存在空白窗口,這也意味著本文設(shè)計(jì)的混沌映射具有良好的一致分布行為;圖3(b)表明了該映射具有很好的一致分布特性。

三、基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法設(shè)計(jì)

基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法流程框架圖如圖4所示。

加密算法設(shè)計(jì)可分為如下6個(gè)步驟。

①將大小為MxN的明文圖像,轉(zhuǎn)換成一個(gè)8位數(shù)據(jù)流,其中的每個(gè)數(shù)據(jù)都是根據(jù)所得到的位分配來(lái)形成,每個(gè)數(shù)據(jù)都是32位。數(shù)據(jù)流用{ei}表示。

②將256位外部密鑰K分割32個(gè)8位塊,作為會(huì)話密鑰:

 

式(9)中,Ki,(i∈1,2,…,32)代表字母數(shù)字字符(O—9以及A—F),且兩個(gè)數(shù)字字符構(gòu)成一個(gè)會(huì)話密鑰。

③構(gòu)造模型式(7)的初始條件x0和初始密碼Co:

式中,map1代表將O—255之間所有的整數(shù)映射為混沌映射的域[O,1];Ki為第i個(gè)會(huì)話密鑰的十進(jìn)制等效值;(α)代表floor函數(shù)。

④利用步驟③得到的初始條件x0迭代計(jì)算一致分布Logistic混沌映射,迭代次數(shù)為numt,根據(jù)反饋模式輸出序列{x1,x2,X3,…,xnumt},即xt由x(t -1)、b(t-l)以及K(t)共同決定。

式(13)中,xt為當(dāng)前輸出值,x(t -1)代表前一個(gè)狀態(tài)值,ks(t -1)代表前一個(gè)混合密鑰流,由本文設(shè)計(jì)的偽隨機(jī)混合密鑰流生成器形成,如圖5所示。

K(t)為會(huì)話密鑰;numt為達(dá)代次數(shù),其計(jì)算公式如下:

式(14)中,Kt+1代表第(t+1)個(gè)會(huì)話密鑰;Ct-1代表第(t -1)個(gè)密碼。

圖5中的map2代表將混沌映射的域映射到區(qū)間O~2550混沌方程ft如式(15):

式(15)中,x(t)為當(dāng)前輸入值,λ為模型式(7)的控制參數(shù);F(x,y)為復(fù)合函數(shù)。

⑤將偽隨機(jī)位生成器(文中第1部分)所生成的位序列{k1P,k2P,k3p,…,knumtP]混合步驟④中的初始密鑰流{x1,x2,X3,…,xnumt},得到混合密鑰流ks(i),如圖5所示。

⑥根據(jù)混沌方程和循環(huán)橢圓曲線,構(gòu)造一個(gè)加密函數(shù),對(duì)圖像文件進(jìn)行加密,加密函數(shù)如下:

式(16)中,map2代表將混沌映射的域映射到區(qū)間O~255;Ct代表第1個(gè)密碼;XOR代表按位異或運(yùn)算;ft為混沌方程;ks(i)代表偽隨機(jī)混合密鑰流;et代表初始數(shù)據(jù)流。

四、基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法仿真結(jié)果與分析

在MAvrLAB 7.10仿真平臺(tái)上對(duì)本文提出的基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法的安全性能進(jìn)行分析。仿真環(huán)境為:因特爾2.O GHz雙核CPU,4 GB的內(nèi)存,運(yùn)行系統(tǒng)Windows XP。

1、基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法加密質(zhì)量對(duì)比分析

為了體現(xiàn)本文加密算法的優(yōu)異性能,本文設(shè)立了對(duì)照組a對(duì)照組輸入一個(gè)尺寸為512×512的明文圖像,仿真結(jié)果如圖6(b)、圖6(d)所示。從圖中可知,經(jīng)本文基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法加密算法處理后,網(wǎng)像的信息得到了充分混淆與擴(kuò)散,沒(méi)有任何信息泄漏,加密質(zhì)量更好,如圖6(b)所示,能夠有效地抗擊密文攻擊;而其他兩種算法的密文都存在微量信息泄露,加密質(zhì)量不理想。

2、灰度直方圖

圖7為本文基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法處理后的灰度直方圖仿真結(jié)果。從圖7(a)可知,初始圖像像素點(diǎn)的分布隨著灰度級(jí)別的變化呈現(xiàn)出不均勻態(tài)勢(shì),表明其安全性較低,易受到攻擊。而經(jīng)本文基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法加密后的密文,其灰度直方圖發(fā)生了根本性的變化,如圖7(b)所示,其像索分布均勻,表明基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法能夠顯著提高密文的偽隨機(jī)性與冗余性。這表明基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法具有理想加密效果,加密機(jī)制高度安全。

3、密鑰空間

優(yōu)異的加密算法應(yīng)具備足夠大密鑰空間應(yīng)以抵抗各種攻擊。根據(jù)本文算法描述可知,基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法使用了256位長(zhǎng)的外部密鑰,加上一致分布Logistic混沌映射控制參數(shù)、循環(huán)橢圓曲線的系數(shù)a和b。假設(shè)計(jì)算精度達(dá)到10 -16,則本文算法的密鑰空間為2256×(1016)3= 2256×1048,該密鑰空間遠(yuǎn)大于21000可見(jiàn),基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法的密鑰空間是巨大的,有很強(qiáng)抗窮舉攻擊能力。

4、密鑰敏感性分析

為使基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法能夠很好地滿足嚴(yán)格雪崩準(zhǔn)則。對(duì)基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法的密鑰K進(jìn)行了測(cè)試。圖8(b)是用密鑰K加密后得到的密文;圖8(c)是利用擾動(dòng)密鑰(K+σ,σ= 10 -10)加密后的密文。

從視覺(jué)上看,兩個(gè)密文似乎沒(méi)有任何差異,但是二者的差異比率(D - R)卻達(dá)到了99. 765%,如圖9所示,大部分圖像差異比率都是高于99.765%:首先在USC-SIPI圖像數(shù)據(jù)庫(kù)中選擇100幅圖像;然后利用初始密鑰K和擾動(dòng)密鑰(K+Cr)對(duì)每幅圖像進(jìn)行加密;根據(jù)提供的差異比率計(jì)算方法來(lái)計(jì)算該值大小。

圖8和圖9都表明,當(dāng)基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法的密切發(fā)生了極其微小的變動(dòng),則得到的密文是截然不同的。這表明基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法具有較強(qiáng)的密鑰敏感性能,能夠滿足嚴(yán)格雪崩準(zhǔn)則。

5、相鄰兩像素點(diǎn)的相關(guān)性分析

理想的加密算法應(yīng)能夠消除相鄰像素間的強(qiáng)烈相關(guān)性以提高加密系統(tǒng)的安全性。在初始與密文圖像中隨意擇取2 000對(duì)相鄰像素點(diǎn),用相關(guān)系數(shù)來(lái)評(píng)估該性能。rxy的計(jì)算模型如下:

式中,rxy為兩點(diǎn)的相關(guān)系數(shù);x與y代表的是圖像相鄰像索點(diǎn)的灰度值;E(x)和E(y)均為數(shù)學(xué)期望。

圖10是加密前后圖像里任意兩個(gè)相鄰像素點(diǎn)在X軸方向上的相關(guān)性測(cè)試結(jié)果。如圖10(a)所示,明文圖像的相鄰像素值聚集為一條對(duì)角線,這表明其相鄰像索間的相關(guān)性很高,達(dá)到0.9631,接近1;而經(jīng)過(guò)基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法加密后,其像素值達(dá)到均勻分布,如圖1O(b)所示,表明其相關(guān)性得到了有效消除,約為0.00021,趨于0。

其他兩個(gè)方向的相鄰像素點(diǎn)的相關(guān)性實(shí)驗(yàn)結(jié)果見(jiàn)表1。從表中可知,基于循環(huán)橢圓曲線耦合一致分布混沌映射能混合圖像加密算法能夠顯著消除圖像相鄰像素點(diǎn)間的相關(guān)性。

小知識(shí)之偽隨機(jī)

在計(jì)算機(jī)、通信系統(tǒng)中我們采用的隨機(jī)數(shù)、隨機(jī)碼均為偽隨機(jī)數(shù)、偽隨機(jī)碼。所謂“隨機(jī)碼”,就是無(wú)論這個(gè)碼有多長(zhǎng)都不會(huì)出現(xiàn)循環(huán)的現(xiàn)象,而“偽隨機(jī)碼”在碼長(zhǎng)達(dá)到一定程度時(shí)會(huì)從其第一位開(kāi)始循環(huán),由于出現(xiàn)的循環(huán)長(zhǎng)度相當(dāng)大,例如CDMA采用42位的偽隨機(jī)碼,重復(fù)的可能性為4.4萬(wàn)億分之一,所以可以當(dāng)成隨機(jī)碼使用。