鄒東堯, 李 明, 李 軍, 李志剛
(1.鄭州輕工業(yè)大學計算機與通信工程學院, 鄭州 450000; 2.中國移動通信集團河南有限公司網(wǎng)絡部, 鄭州 450000)
隨著科學技術(shù)與互聯(lián)網(wǎng)的快速發(fā)展,數(shù)字圖像也因保真度比較高,形象生動等特點成了交流間最廣泛地溝通介質(zhì)。然而,互聯(lián)網(wǎng)的開放性越來越強,圖像的安全傳輸存在著一定的安全隱患。從而,使用圖像加密方法,保障圖像信息安全是目前的研究熱點之一[1-2]。
目前的圖像加密方案一般分為兩種,一種是產(chǎn)生新的混沌系統(tǒng)以產(chǎn)生更加復雜的混沌序列;另外一種是產(chǎn)生新的加密算法的結(jié)構(gòu)設(shè)計。第一種加密方案中,許多學者都會對簡單的混沌系統(tǒng)提出改進的方案。混沌是由非線性的確定系統(tǒng)產(chǎn)生的類隨機現(xiàn)象,它具有很多特點,如遍歷性、有界性、對初始條件的極端敏感性等,在許多領(lǐng)域都有廣泛的應用,同時也非常適合應用于圖像加密系統(tǒng)[3-8]。低維的混沌映射結(jié)構(gòu)簡單,但是概率密度分布不均勻[9],且混沌范圍較小。有學者在簡單的混沌系統(tǒng)基礎(chǔ)上進行改造,使其成為比較復雜的混沌系統(tǒng)以產(chǎn)生更加復雜的混沌序列。文獻[10]中對經(jīng)典的Logistic 映射增加模運算并對生成的序列進行二進制比特重排,生成具有更好混沌特性的偽隨機序列并用于加密系統(tǒng)的置亂和擴散階段;文獻[11]中提出了一種位反轉(zhuǎn)的方法,通過對其分數(shù)位的階數(shù)來倒換混沌狀態(tài)值(表示為不動點數(shù)),修正后的混沌映射刻畫了更好的混沌性能,具有更高的復雜度和更大的混沌參數(shù)范圍;文獻[12]中在Logistic映射和Sine映射基礎(chǔ)上提出的二維(2D)邏輯正弦耦合圖(logistic-sine-coupling map, LSCM)具有更好的遍歷性,更復雜的行為和更大的混沌范圍。第二種加密方案在混沌序列的產(chǎn)生過程上沒有太多的研究,但是在加密算法的結(jié)構(gòu)上有著很多不同的設(shè)計方案。文獻[13]結(jié)合耦合映像格子-S盒(coupled mapping lattice-sbox,CML-SBox)和對稱矩陣變換(symmetric transformation matrix,SMT)生成密鑰流,通過SMT生成的初始密鑰流組成兩個一維數(shù)組對原圖像像素進行置亂,然后用SBox生成最終密鑰流與分塊后的圖像像素進行異或,最后將后一塊的密文與前一塊的密文進行異或,進行擴散進而達到圖像加密的目的;文獻[14]提出一種結(jié)合Intertwining Logistic映射和動態(tài)DNA編碼與運算的彩色圖像加密算法實現(xiàn)圖像的加密。同時也有兩種方案一起用來提高加密的安全性;文獻[15]使用改進的混沌映射和置換有序二進制編碼的密文域可逆信息隱藏,從而達到加密的效果;文獻[16]提出了一種新的基于多重混合哈希函數(shù)和循環(huán)移位函數(shù)的混沌圖像加密一次性墊方案,采用循環(huán)移位函數(shù)和分段線性混沌映射(piece wise linear chaotic mappings, PWLCM),賦予每個移位數(shù)混沌的特性,對圖像進行擴散,也具有很好的安全性。
Logistic映射是經(jīng)典的一維映射,被廣泛應用于混沌序列的產(chǎn)生中,其表達式為
xn+1=δxn(1-xn)
(1)
式(1)中:xn為輸入圖像混沌序列值,xn∈(0,1);xn+1為輸出圖像混沌序列值;系統(tǒng)調(diào)節(jié)參數(shù)δ的取值范圍為[0,4],其分岔圖如圖1所示,縱坐標X表示圖像混沌序列值,當δ∈[3.57,4]時,邏輯映射系統(tǒng)表現(xiàn)為混沌狀態(tài),當δ≈4時,邏輯映射分布呈現(xiàn)最大。

圖1 Logistic映射分岔圖Fig.1 Logistic map bifurcation diagram
Sine映射同Logistic映射一樣,也是經(jīng)典的一維映射,其表達式為
xn+1=δsin(πxn)/4
(2)
參數(shù)δ的取值范圍為[0,4]。當δ∈[3.48,4]時,邏輯映射系統(tǒng)表現(xiàn)為混沌狀態(tài),其分岔圖如圖2所示,當δ≈4時,邏輯映射分布呈現(xiàn)最大。

圖2 Sine映射分岔圖Fig.2 Sine map bifurcation diagram
由于經(jīng)典的一維邏輯映射Logistic映射和Sine映射存在控制參數(shù)范圍受限和點分布不均勻等問題,本文結(jié)合經(jīng)典一維邏輯映射Logistic映射和Sine映射提出1-LSCMS混沌系統(tǒng),其表達式為
xn+1=δ8[1+8δsin(pixn)β]mod1
(3)
式(3)中:xn∈(0,1);δ、β為系統(tǒng)調(diào)節(jié)參數(shù),控制系統(tǒng)的混沌性能;mod表示取余操作;β的取值會對混沌狀態(tài)的范圍產(chǎn)生影響,通過實驗測試,當β=5時,系統(tǒng)混沌性能較為理想。
1-LSCMS系統(tǒng)的分岔圖如圖3所示,當δ∈[0.59,15]時,分岔圖呈現(xiàn)混沌狀態(tài),參數(shù)范圍較Logistic映射和Sine映射有明顯提升。且當δ>0.59時,混沌系統(tǒng)不存在周期窗口。

圖3 1-LSCMS系統(tǒng)的分岔圖Fig.3 1-LSCMS system bifurcation diagram
1.3.1 敏感性分析
對初值敏感是混沌系統(tǒng)的一個重要屬性,這個屬性可以通過李雅普諾夫指數(shù)(Lyapunov exponents,LE)進行量化。通過LE圖像可以直觀地看出,某個系統(tǒng)或者映射是否是混沌系統(tǒng)或映射。LE>0時,系統(tǒng)進入混沌狀態(tài),存在混沌行為,且混沌性的強弱跟LE指數(shù)的大小呈正相關(guān);LE<0時,系統(tǒng)的運動狀態(tài)會相對來說較穩(wěn)定,但對初始狀態(tài)不敏感;LE=0時,系統(tǒng)處于穩(wěn)定狀態(tài)。圖4(a)為Logistic映射的LE指數(shù)圖,當δ>3.57時,LE>0;圖4(b)為Logistic映射的LE指數(shù)圖,當δ>3.464時,LE>0;圖4(c)為1-LSCMS映射的LE圖,當δ>0.59時,LE>0。通過對比可知,1-LSCMS的混沌范圍大于Logistic映射和Sine映射。

圖4 LE對比 Fig.4 LE comparison
1.3.2 香農(nóng)熵
香農(nóng)熵(Shannon entropy,SE)通過度量信號中產(chǎn)生新模式的概率大小來衡量時間序列復雜性。香農(nóng)熵的值越低,生成的樣本序列相似性越高;反之,香農(nóng)熵的值越大,樣本序列就越復雜。因此可以利用香農(nóng)熵來度量1-LSCMS系統(tǒng)產(chǎn)生混沌序列的復雜度。圖5為1-LSCMS系統(tǒng)產(chǎn)生混沌序列復雜度的測試結(jié)果。可以看出,當δ≈3.1時,1-LSCMS混沌系統(tǒng)的SE趨于穩(wěn)定,且SE平均值均大于Logistic和Sine混沌映射。綜上,相比較于一維混沌映射Logistic和Sine比起來,1-LSCMS混沌系統(tǒng)產(chǎn)生的混沌序列具有更高的復雜度。

圖5 3個混沌系統(tǒng)香農(nóng)熵對比Fig.5 Comparison of SE of three chaotic systems


(4)

(5)
κ1=(S2+S3)/256
(6)

(7)
κ2=(S1+S3)/256
(8)

(9)
κ3=(S2+S4)/256
(10)

(11)
κ4=(S2+S3+S4)/256
(12)
式中:m=8;n=8;S1、S2、S3、S4為Si的子序列,i=1,2,3,4。
假設(shè)需要加密的明文圖像的大小為M×N,G(i,j)表示圖像像素矩陣中第i行,第j列的像素灰度值。加密算法分為置亂和擴散兩個部分。首先,利用1-LSCMS混沌系統(tǒng)產(chǎn)生的混沌序列來對圖像像素的位置進行置換。其次,再利用1-LSCMS混沌系統(tǒng)產(chǎn)生的混沌序列所形成的索引矩陣來進行循環(huán)移位操作從而改變原本像素矩陣位置上的像素灰度值的大小,在置亂的基礎(chǔ)上進行擴散操作從而達到加密的效果。圖6為加密過程流程圖。

圖6 加密過程流程圖Fig.6 Encryption process flow diagram
2.2.1 置亂過程
利用1-LSCMS混沌系統(tǒng)產(chǎn)生的混沌序列來對圖像像素位置進行置換的流程如下。

Step 2進行一輪置換,按值大小對B進行升序排序,得到序列B′=[b′1,b′2,…,b′M×N]。根據(jù)B′相對于B元素位置變化,A也會得到一個相應的置換后的序列A′=[a′1,a′2,…,a′M×N]。
置換圖如圖7所示,B經(jīng)過排序后形成B′,A根據(jù)與B的一一對應關(guān)系進行置換形成置換后的一維矩陣A′,A′即為一輪像素位置置換后的序列。

圖7 第一輪像素位置置換圖 Fig.7 The first round of pixel position replacement map


圖8 二輪像素位置置換圖Fig.8 The second round of pixel position replacement map
E(M×N)=reshape[A″,(M,N)]
(13)
利用1-LSCMS混沌系統(tǒng)產(chǎn)生的混沌序列來對圖像像素大小進行置換的過程如下。
在像素位置被置換的基礎(chǔ)上進行像素灰度值大小的改變,即在A″基礎(chǔ)上改變像素灰度值的大小。采用的1-LSCMS混沌系統(tǒng)產(chǎn)生的混沌序列產(chǎn)生索引矩陣,利用索引矩陣來對改變圖像的像素灰度值大小。


圖9 像素大小置換過程圖 Fig.9 Pixel size replacement process diagram
G′(i,j)=G[ln(A″),j]
(14)

(15)
E″(M×N)=reshape[E′(M×N),(M,N),1]
(16)
式中:G(i,j)為圖像像素矩陣中第i行,第j列的像素灰度值;G′(i,j)為索引矩陣中第i行,第j列的像素灰度值;xn為輸入圖像混沌序列值;xn+1為輸出圖像混沌序列值;A(i)為圖像的第i個像素值。
2.2.2 擴散過程

Q=A′⊕A″⊕E″⊕F
(17)
解密過程是加密過程的反過程,將密鑰按照相反的方向迭代即可正確解密。
以尺寸為512×512的Baboon,Barbara以及Boats圖像為例測試所提出算法的正確性,其加密以及解密圖像如圖10所示。

圖10 仿真結(jié)果Fig.10 Simulation results
直方圖是反映數(shù)字圖像中像素灰度級出現(xiàn)的頻率的一種最直觀的方法之一,它的分布情況可以直觀地體現(xiàn)出像素灰度值。像素分布越均勻,攻擊者就越難從直方圖中得到有效信息,從而達到加密的效果。好的加密方法可以使加密圖像的像素分布均勻。如圖11所示。從明文圖像直方圖中可以看出,像素分布比較集中,密文圖像直方圖中可以看出,像素分布比較均勻,說明了該算法對圖像的信息有很好的隱藏能力。

圖11 圖像直方圖 Fig.11 Image histogram
直方圖可以直觀地觀測到像素分布是否均勻,χ2可以在數(shù)值上更加準確的展現(xiàn)像素的分布,其表達式為

(18)
式(18)中:i為像素值;fi為i出現(xiàn)的次數(shù);f0為i的期望頻率。顯著水平為α=0.05時,測試結(jié)果小于293.247 8時即代表通過測試。
從表1可以看出,Baboon、Barbara和Boats的密文圖像卡方測試結(jié)果分別是274.705 1、 279.138 7、 272.976 6,結(jié)果都小于293.247 8,即卡方測試都在范圍內(nèi),證明有較好的加密效果。

表1 χ2測試結(jié)果
數(shù)字圖像經(jīng)過擴散灰度值會發(fā)生變化,擴散程度用相關(guān)性表示,即相鄰像素之間的關(guān)系,一個好的加密方法會使密文圖像的相鄰像素之間關(guān)系變小,證明加密效果較好。用相關(guān)系數(shù)來分析相鄰像素之間的關(guān)系,其表達式為

(19)
式(19)中:m和n為兩個不同圖像的像素值;N為像素的總數(shù)目;E(m)為平均值;D(m)為變量m的方差;cov(m,n)為協(xié)方差。
圖12以Baboon為例,展示明文圖像在水平方向、垂直方向以及對角線方向的相關(guān)性關(guān)系圖。圖13以Baboon為例展示密文圖像在水平方向,垂直方向以及對角線方向的相關(guān)性關(guān)系圖。可以看出,Baboon明文圖像的像素在3個方向都是在對角線方向比較集中,相關(guān)性相對來說較高,而其密文圖像的像素在3個方向都是均勻分布,相關(guān)性比較低,證明該算法能很好地對圖像進行加密。
用相關(guān)系數(shù)來更加準確的表達出像素間的關(guān)系,相關(guān)系數(shù)越接近于1證明相關(guān)性越高,相關(guān)系數(shù)越接近于0證明相關(guān)性越小。從表2可以看出,3個圖像的明文圖像的相關(guān)系數(shù)接近于1,而密文圖
像的相關(guān)系數(shù)很接近于0,證明明文圖像的相關(guān)性較高,密文圖像相關(guān)性較低。文獻[13]提出了基于二次密鑰加密快速的圖像加密算法;文獻[15]提出了一種位置置亂和交叉換位相結(jié)合的加密算法,與這兩種加密算法相比,本文算法使密文圖像的相關(guān)系數(shù)更接近于0,能夠更好地降低圖像相鄰像素的相關(guān)性。
信息熵是被用來作為一個系統(tǒng)的信息含量的量化指標的參數(shù)之一,事件發(fā)生概率越高,其攜帶的信息量越低,其值越接近8證明像素值包含的信息量越少,分布越隨機,其表達式為

(20)
式(20)中:H(m)為所需要求得信息熵;g(mi)為灰度值i出現(xiàn)的頻率;M-1為灰度等級。
表3為Baboon,Barbara和Boats三幅圖像以及文獻[13]和文獻[18]的明文圖像與密文圖像的信息熵的值,可以看出,密文圖像的信息熵都特別接近于理想值8,但與文獻[13]和文獻[18]相比,使用本文算法得到的密文圖像的信息熵更接近于理想值,所以證明了本文算法能很好地滿足加密安全性需求。

表3 圖像信息熵
差分攻擊屬于圖像加密攻擊方式中的選擇明文攻擊,攻擊者可以選擇改變圖像中的某個像素后對其進行加密,與原來加密后的圖像進行對比,找到兩者之間的差異從而得到明文密文之間的關(guān)系從而攻擊加密算法。目前像素改變率(number of pixels change rate,NPCR)和統(tǒng)一平均變化強度(unified average intensity,UACI)[19]是評價差分攻擊的兩個常用指標,其表達式分別為

(21)

(22)
式中:g1(i,j)為明文圖像i行j列像素值;g2(i,j)為密文圖像i行j列像素值;D(i,j)表示g1(i,j)和g2(i,j)所對應的像素值是否相同,若g1(i,j)=g2(i,j),則有D(i,j)=0,否則D(i,j)=1。
NPCR的理論值為99.609 4%,UACI的理論值為33.463 5%,若圖像的NPCR和UACI越接近于理論值就證明算法抵御差分攻擊效果比較好。改變某個像素值后的明文圖像與密文圖像的NPCR和UACI如表4所示,其中c1(300,100)表示改變像素位置為(300,100)處的像素值,c1(512,512)表示改變像素位置為(512,512)處的像素值。

表4 NPCR and UACI
結(jié)合經(jīng)典一維邏輯映射Logistic映射和Sine映射提出一種改進的一維邏輯正弦混沌映射系統(tǒng)(1-LSCMS),并在此基礎(chǔ)上提出了一種與明文像素相關(guān)的敏感性加密算法。得出如下結(jié)論。
(1)所提出的混沌系統(tǒng)比起一維的混沌系統(tǒng)具有更大的參數(shù)取值范圍,且能產(chǎn)生更復雜的混沌序列。
(2)通過實驗對密文圖像進行了密鑰空間、直方圖、卡方測試、相鄰像素、信息熵以及差分攻擊分析,證明了該算法的性能良好。實驗結(jié)果表明,該算法具有比較高的安全性,可用于實際應用。
(3)對512×512的灰度圖像進行加密解密,在后續(xù)工作中會考慮將本文算法應用到彩色圖像中,同時將對該方法進行進一步優(yōu)化從而獲得更好的加密效果。