唐旭,舒立鵬,范繼,朱柏飛,吳曄,馬佳佳
(西北機(jī)電工程研究所,陜西 咸陽 712099)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,數(shù)字多媒體技術(shù)逐漸成熟,圖像作為多媒體通信的主要方式之一,能夠鮮明形象地傳遞需要表達(dá)的信息,在政治、經(jīng)濟(jì)、軍事等領(lǐng)域的數(shù)字化通信中發(fā)揮著重要作用[1-2],尤其在軍事對(duì)抗通信中,經(jīng)常涉及到軍事圖像的傳輸。在軍事通信領(lǐng)域中,由于軍事圖像傳輸?shù)陌踩C苄砸蠛芨?,因此針?duì)軍事圖像信息在傳輸過程中安全保護(hù)技術(shù)的研究是非常重要的,特別是軍事圖像的加密與信息隱藏。傳統(tǒng)的軍事圖像加密技術(shù)主要是通過將圖像數(shù)據(jù)轉(zhuǎn)換為一維數(shù)據(jù),經(jīng)過常規(guī)加密方法(DES, IDEA, RSA等)進(jìn)行加密。此外,軍事圖像數(shù)據(jù)具有信息量大、冗余度高的特性。因此,采用傳統(tǒng)的圖像加密方法,不但效率較低,而且安全性差[3]。
混沌圖像加密技術(shù)是一種利用混沌系統(tǒng)產(chǎn)生的混沌隨機(jī)序列對(duì)圖像進(jìn)行加密的新技術(shù)。由于這種新型的加密方式實(shí)現(xiàn)簡(jiǎn)單、抗攻擊能力強(qiáng),具有很高的應(yīng)用價(jià)值。雖然混沌圖像加密技術(shù)已經(jīng)取得快速的發(fā)展,但現(xiàn)有的加密算法仍存在許多不足和需改進(jìn)的地方,主要體現(xiàn)在加密系統(tǒng)的密鑰與明文信息沒有聯(lián)系、算法中使用的混沌系統(tǒng)比較簡(jiǎn)單、算法忽略了像素內(nèi)的比特分布差異性等[4-6]。筆者基于Rossler超混沌系統(tǒng),提出了基于位平面變換的混沌圖像加密算法對(duì)軍事圖像進(jìn)行加密。仿真結(jié)果表明,采用所提方法對(duì)軍事圖像加密,加密效果和安全性均優(yōu)于傳統(tǒng)方法,驗(yàn)證了所提方法的有效性。
Rossler超混沌系統(tǒng)是Rossler在1979年提出的一個(gè)超混沌系統(tǒng),其對(duì)控制參數(shù)和初值具有敏感性,而且運(yùn)動(dòng)軌跡有界。這些特點(diǎn)剛好和密碼學(xué)加密要求吻合,因此被廣泛用于圖像加密領(lǐng)域。Rossler超混沌系統(tǒng)的數(shù)學(xué)描述如下:
(1)
式中,a,b,c,d為控制參數(shù)。仿真實(shí)驗(yàn)表明該系統(tǒng)混沌特性比較豐富,當(dāng)控制參數(shù)不同時(shí),系統(tǒng)相空間軌跡不同。當(dāng)a=0.25,b=3,c=0.05,d=0.5時(shí),該系統(tǒng)處于超混沌狀態(tài)。式(1)在不同平面的相圖如圖1所示,由圖1知,系統(tǒng)變?yōu)槌煦鐣r(shí),其對(duì)應(yīng)的軌線是很復(fù)雜的,完全不具有周期性行為[7]。
Rossler超混沌系統(tǒng)混沌特性比較豐富,完全不具有周期特性。筆者利用其產(chǎn)生的混沌隨機(jī)序列對(duì)明文圖像進(jìn)行像素點(diǎn)置亂、位平面變換、像素值擴(kuò)散等操作,實(shí)現(xiàn)加密明文圖像的目的。
筆者在式(1)所描述的超混沌系統(tǒng)基礎(chǔ)上,提出了一種基于位平面變換的超混沌圖像加密算法(Image Encryption Algorithms Based on Bit-plane Transformation and Hyperchaotic System,IEBH)。算法的加密過程如圖2所示。
IEBH算法加密分為置亂過程和擴(kuò)散過程,加密步驟如下:
步驟1利用四階五級(jí)Runge-kutta方法迭代Rossler超混沌系統(tǒng)產(chǎn)生4個(gè)長(zhǎng)度為N/2的序列{xi},{yi},{zi},{wi},這里N表示明文圖像像素點(diǎn)個(gè)數(shù),其中初始條件如下:
(2)
t1=Snmod 256,
(3)
式中:Sn為明文圖像像素值之和;mod表示取余運(yùn)算。為了增加混沌序列的隨機(jī)性,對(duì)生成的混沌序列前t1個(gè)點(diǎn)進(jìn)行剔除。
步驟2通過下面方式得到序列{k1i},{k2i}:
(4)
式中:[·]表示向下取整;i=1,2,…,N/2。
步驟3將序列{k1i}進(jìn)行升序排列得到索引序列{Iki}。
步驟4把二維明文圖像矩陣Am×n轉(zhuǎn)換為序列{Si}(行掃描或列掃描),按照式(5)得到序列B={b1,b2,…,bN}。
bi=SIki,i=1,2,…,N.
(5)
然后將序列B中像素值bi轉(zhuǎn)換為二進(jìn)制數(shù){bi1,bi2,bi3,bi4,bi5,bi6,bi7,bi8},從而得到矩陣B′:
(6)
式中,bij表示第i個(gè)像素對(duì)應(yīng)的第j個(gè)二進(jìn)制位(bij為0或1)。分別交換矩陣B′的第1列與第5列、第3列與第7列,得到矩陣C:
(7)
步驟5按照式(8)得到序列D={d1,d2,…,dN}。
(8)
式中,⊕表示對(duì)前后的2個(gè)整數(shù)進(jìn)行按位異或運(yùn)算。將序列D中像素值di轉(zhuǎn)換為二進(jìn)制數(shù){di1,di2,di3,di4,di5,di6,di7,di8},從而得到矩陣D′:
分別交換矩陣D′的第2列與第6列、第4列與第8列,得到矩陣E:
(9)
步驟6按照式(10)得到序列{k3i},{k4i}:
(10)
式中,i=1,2,…,N/2。
(11)
式中,初值G(0)為密鑰,設(shè)G(0)=tr(A)mod 256,tr(A)表示矩陣A的跡。
步驟8將擴(kuò)散得到的序列G轉(zhuǎn)換為二維圖像矩陣,從而得到密文圖像M。
步驟1~5為置亂過程,步驟6~8為擴(kuò)散過程。本算法也能夠用于彩色圖像的加密,僅需將彩色圖像像素值分解為RGB 3個(gè)通道分別進(jìn)行處理即可。
解密算法為加密算法的逆過程,其過程如圖3所示。
解密算法具體步驟如下:
步驟1根據(jù)式(1)~(3)得到4個(gè)混沌隨機(jī)序列{xi},{yi},{zi},{wi},然后將序列分別代入式(4)、(10),得到序列{k1i},{k2i},{k3i},{k4i}。
步驟2將密文圖像M轉(zhuǎn)換為一維灰度序列G={G(1),G(2),…,G(N)},對(duì)序列G按照如下方式進(jìn)行逆異或操作:
(12)
(13)
步驟5將序列{k1i}進(jìn)行升序排列得到索引序列{Iki},利用
(14)
(15)
得到置亂前的序列S。將序列S轉(zhuǎn)換為m×n的二維矩陣即得明文圖像矩陣Am×n。
利用IEBH算法對(duì)自行高炮圖像進(jìn)行加密,其是大小為600×450的灰度圖像,實(shí)驗(yàn)結(jié)果如圖4所示。
3.2.1 密鑰空間
一個(gè)好的加密算法,它的密鑰空間應(yīng)該盡可能大。若算法密鑰空間太小,則不能有效防止某些暴力攻擊。算法密鑰空間大小由密鑰數(shù)量和精度決定。一般情況下,混沌系統(tǒng)的初始迭代值、相關(guān)系統(tǒng)控制參數(shù)、迭代次數(shù)均可以作為密鑰。文獻(xiàn)[9]指出系統(tǒng)密鑰空間至少要達(dá)到2100,才可以有效抵抗窮舉攻擊。
IEBH算法主要的密鑰有:超混沌系統(tǒng)的初始條件[x(0),y(0),z(0),w(0)]、混沌序列剔除點(diǎn)位置t1、明文相關(guān)的迭代次數(shù)N/2、額外密鑰G(0)等。
在算法實(shí)驗(yàn)驗(yàn)證過程中,參數(shù)精度均為10-16,所以本算法密鑰空間至少為10128,可以有效抵抗暴力攻擊。
3.2.2 密鑰敏感性分析
密鑰敏感性主要指密鑰的正確性對(duì)加密結(jié)果或者解密結(jié)果的影響程度。其包括加密階段的密鑰敏感性和解密階段的密鑰敏感性,加密階段的密鑰敏感性是指用兩個(gè)相差極小的密鑰加密相同的明文時(shí),應(yīng)該產(chǎn)生完全不同的密文。解密階段的密鑰敏感性是指使用具有微小差異的密鑰進(jìn)行解密時(shí),無法得到正確的明文。對(duì)于加密系統(tǒng)而言,密鑰敏感性是非常重要的,若加密系統(tǒng)對(duì)密鑰不敏感,則攻擊者可以通過相近的密鑰去恢復(fù)部分明文信息。
由于設(shè)計(jì)的算法部分密鑰和明文相關(guān),因此只對(duì)與明文無關(guān)的密鑰進(jìn)行微弱改變,同時(shí)保持其他密鑰取值不變。將得到的密文與基準(zhǔn)密文進(jìn)行比較,結(jié)果如表1所示,其中NPCR和UACI為衡量圖像差異性的兩個(gè)指標(biāo)[8]。用密鑰key1、key2、key3、key4,分別對(duì)key0加密的自行高炮圖像進(jìn)行解密,解密圖像如圖5所示。
表1 IEBH算法的加密密鑰敏感性
由表1、圖5可知,在加密和解密階段,IEBH算法對(duì)密鑰x(0),y(0),z(0),w(0)都具有敏感性,當(dāng)密鑰發(fā)生微小變化,解密后的圖像均為類似噪聲的圖像,視覺不可分辨。用密鑰key1、key2、key3、key4正確解密明文圖像自行高炮的錯(cuò)誤率分別達(dá)到99.62%、99.61%、99.61%、99.59%。因此IEBH算法良好的解密密鑰敏感性得到驗(yàn)證。
3.2.3 直方圖均衡性分析
直方圖直觀地顯示了圖像在其顯示范圍內(nèi)的灰度分布情況。由于明文圖像像素值逐漸變化,信息分布比較密集,對(duì)應(yīng)的直方圖一般比較陡峭,而密文圖像對(duì)應(yīng)的直方圖則有較大不同,其各階灰度應(yīng)該分布均衡,服從均勻分布,以充分隱藏明文的冗余性,讓攻擊者無法從中得到任何有關(guān)明文與密文對(duì)應(yīng)關(guān)系的信息[10]。一個(gè)加密算法的好壞可以根據(jù)直方圖直觀地做出初步判斷。
仿真中以自行高炮圖像作為示例,用IEBH算法對(duì)其進(jìn)行加密,明文和密文的對(duì)應(yīng)直方圖如圖6所示,其中橫軸表示圖像像素值,縱軸表示圖像各像素值個(gè)數(shù)。由圖6可知,明文圖像的直方圖比較陡峭,而密文的直方圖分布比較均勻,趨近于均勻分布。因此IEBH算法能夠有效破壞明文的統(tǒng)計(jì)特性。
3.2.4 相鄰像素相關(guān)性
圖像相鄰像素的低差值性使得圖像像素之間的相關(guān)性很高。明文圖像的像素之間關(guān)聯(lián)度較大,圖像加密算法必須盡可能地減小相鄰像素間的相關(guān)度,否則攻擊者很容易利用此特性破解得到明文信息。相鄰像素點(diǎn)相關(guān)系數(shù)的大小衡量了最終的關(guān)聯(lián)程度[11]:
(18)
cov(x,y)=E[(x-E(x))(y-E(y))],
(19)
式中,x和y為圖像相鄰像素點(diǎn)的灰度值,
(20)
式中,N為所挑選的像素對(duì)的個(gè)數(shù),且rxy∈[-1,1]。
對(duì)明文自行高炮圖像和對(duì)應(yīng)密文進(jìn)行相鄰像素的相關(guān)性分析,其對(duì)應(yīng)的散點(diǎn)圖如圖7所示,散點(diǎn)圖隨機(jī)取各方向1 000個(gè)相鄰像素點(diǎn)得到,其中橫軸和縱軸分別表示不同方向的像素值。相鄰像素的相關(guān)系數(shù)如表2所示。
表2 圖像各方向相關(guān)系數(shù)
由圖7和表2可以看出,在水平、垂直以及對(duì)角線方向,明文圖像相鄰像素點(diǎn)的相關(guān)性都比較高,相關(guān)系數(shù)快接近于1,但密文圖像相鄰像素的相關(guān)系數(shù)明顯降低,相鄰像素點(diǎn)已基本不相關(guān),這說明明文的統(tǒng)計(jì)特征被打亂,擴(kuò)散到隨機(jī)的密文圖像中。
3.2.5 信息熵分析
Shannon提出信息熵的概念,用來衡量信息源的隨機(jī)性和不可預(yù)測(cè)性。信息熵值的大小與數(shù)據(jù)中每個(gè)符號(hào)出現(xiàn)概率、不確定性有關(guān),隨機(jī)性越好,則信息熵值越大[12]。因此,經(jīng)常用信息熵衡量一個(gè)加密方案的隨機(jī)性。這里,用H(X)來表示一個(gè)長(zhǎng)度為L(zhǎng)的信息源X=(x0,x1,…,xL-1)的信息熵:
(21)
式中,p(xi)表示符號(hào)xi出現(xiàn)的概率。
在仿真過程中,用IEBH算法加密自行高炮圖像,對(duì)應(yīng)的明文和密文信息熵如表3所示。易知,密文對(duì)應(yīng)的信息熵很接近8,所以密文圖像是一個(gè)信息隨機(jī)分布的圖像,即IEBH算法能夠有效破壞圖像信息分布。
表3 明文和密文信息熵
3.2.6 差分攻擊分析
加密系統(tǒng)的差分攻擊能力實(shí)質(zhì)是描述系統(tǒng)對(duì)明文的敏感程度,換言之,即使兩幅僅有微弱差異的明文圖像(僅有1 bit不同),其對(duì)應(yīng)密文也應(yīng)該是完全隨機(jī)的,并且彼此統(tǒng)計(jì)無關(guān)的。差分攻擊分析主要使用NPCR和UACI這兩個(gè)指標(biāo)進(jìn)行衡量,文獻(xiàn)[8]通過概率分析統(tǒng)計(jì)證明,對(duì)于大小為512×512的兩幅隨機(jī)灰度圖像,其NPCR和UACI的理想值分別為99.609 4%和33.463 5%;在顯著性水平α=0.05時(shí),NPCR和UACI的閾值分別為
在這種情況下,兩組密文是統(tǒng)計(jì)無關(guān)的,即加密系統(tǒng)對(duì)明文的敏感程度很高。
一個(gè)能夠抵制差分攻擊的算法,如果明文信息發(fā)生細(xì)微變化時(shí),那么對(duì)應(yīng)的密文信息都會(huì)發(fā)生巨大變化。表4給出自行高炮明文圖像某個(gè)像素點(diǎn)發(fā)生改變,IEBH算法加密密文對(duì)應(yīng)的NPCR和UACI測(cè)試結(jié)果。
表4 NPCR和UACI測(cè)試值
由表4知,IEBH算法在A(212,146)由56變?yōu)?7,A(334,266)由30變?yōu)?1,A(416,322)由79變?yōu)?0時(shí),其對(duì)應(yīng)NPCR和UACI滿足:
因此,IEBH算法均能夠有效抵制差分攻擊。
綜上,IEBH算法具有很好的圖像加密性能,符合密碼學(xué)加密要求,能夠有效對(duì)軍事圖像進(jìn)行加密。
軍事圖像是目前非常流行的多媒體形式之一,其信息加密傳輸有更高的安全保密要求。筆者提出的IEBH算法利用超混沌系統(tǒng)產(chǎn)生的混沌隨機(jī)序列先置亂明文,對(duì)置亂圖像像素對(duì)應(yīng)的位平面進(jìn)行變換,再利用混沌隨機(jī)序列進(jìn)行異或操作,對(duì)處理過的圖像進(jìn)行第2次位平面變換和相應(yīng)的擴(kuò)散。理論分析和仿真結(jié)果表明,IEBH算法可以較好地隱藏明文的統(tǒng)計(jì)特性,能夠抵抗統(tǒng)計(jì)和差分等分析方法攻擊,對(duì)密鑰具有很強(qiáng)的敏感性。因此該算法具有安全高效的加密效果,能夠有效應(yīng)用于軍事圖像加密領(lǐng)域中。