伍朝陽,周 瑛
(福建技術師范學院,福建 福清 350300)
隨著通信技術和因特網(wǎng)的飛速發(fā)展,人們對信息安全的重要性越來越重視了.圖像是人們熟知的媒介并在網(wǎng)絡上廣泛的傳播.為了保護重要圖像和隱私圖像,人們提出了多種加密方法[1-3].混沌理論作為一種非線性科學,具有對系統(tǒng)參數(shù)和初始條件高度敏感性、偽隨機性、各態(tài)遍歷性和可重復性等特點,非常適合用來加密.目前相關人員已經(jīng)提出了很多基于混沌理論的圖像加密方法[4-6].其中有許多加密算法是基于低維混沌映射[7-9].低維混沌映射簡單方便,但是具有小的密鑰空間和系統(tǒng)參數(shù),用來進行圖像加密并不十分安全.采用高維混沌映射來產(chǎn)生隨機序列會使圖像加密系統(tǒng)更加安全.高維混沌系統(tǒng)有超過1個正的李雅普諾夫指數(shù).與低維混沌系統(tǒng)相比,高維混沌系統(tǒng)能夠產(chǎn)生更加復雜的動態(tài)行為和更高的隨機性[10-15].筆者擬用5D超混沌系統(tǒng)產(chǎn)生偽隨機序列,并對序列進行預處理,產(chǎn)生置亂矩陣,最后對圖像作擴散操作,以進一步增強圖像的安全性.
5-D超混沌系統(tǒng)[16]定義如下:
(1)
其中a1,a2,a3,a4,a5,a6,a7是系統(tǒng)參數(shù).當a1=30,a2=10,a3=15.7,a4=5,a5=2.5,a6=4.45,a7=38.5時,5D超混沌系統(tǒng)處于混沌狀態(tài)并生成5個隨機序列.混沌系統(tǒng)的序列分布如圖1所示.
圖1 混沌序列分布
假設明文圖像P是大小M×N的灰度圖像,其中M和N分別是圖像的行和列.
隨機序列預處理步驟如下:
(ⅰ)根據(jù)密鑰計算系統(tǒng)(1)的迭代初始值,得到
(2)
(ⅱ)迭代系統(tǒng)(1)N0次去除暫態(tài)效應,
其中floor(x)表示返回小于等于x的最大整數(shù).
(ⅲ)繼續(xù)迭代系統(tǒng)(1)MN/4次,產(chǎn)生5個隨機實數(shù)序列,即X=(x1,x2, …,xMN/4),Y=(y1,y2, …,yMN/4),Z=(z1,z2, …,zMN/4),U=(u1,u2, …,uMN/4),V=(v1,v2, …,vMN/4).
(ⅳ)從5個序列中選擇4個序列,并將它們組合成長度為MN的新序列.根據(jù)排列組合理論,共有120 種組合方式.例如K1=(Y,Z,V,X),K2=(X,V,Z,U),K3=(V,X,Z,Y),K4=(U,Y,Z,V).
[g,h]=sort(K4),
其中:sort(x)表示對序列x按大小進行排序;i=1, 2, …,MN;j=1, 2, 3;g為新的序列;h為序列g的索引.
置亂方法具體如下:
(ⅱ)對矩陣S按列進行排序得到索引矩陣C;
(ⅲ)對矩陣C進行列擴展得到矩陣CE.以矩陣C中的相應元素作為行坐標,以該元素所在的列作為列坐標.假設矩陣C中第e行元素為Ce,1,Ce,2,…,CeN,那么矩陣CE中第e行元素為(Ce,1,1),(Ce,2,2),…,(CeN,N).
(ⅳ)以CE中的元素對作為坐標找到矩陣S中對應的元素并按大小進行排序,得到排序后的坐標矩陣T.
(ⅴ)利用矩陣T對明文圖像P進行置亂,得到置亂圖像P′.
為了更好地闡明置亂過程,現(xiàn)舉例說明.假設明文圖像P和隨機矩陣S是4×4的矩陣,如圖2所示.接下來進行以下操作:
圖2 置亂過程
(1)對隨機矩陣S按列進行升序排序,得到索引矩陣C.
(2)以C中的元素作為行,以該元素所在的列作為列進行擴展,得到由序列對組成的擴展矩陣CE.
(3)以CE中每一行的序列對作為坐標,找到矩陣S中對應元素并進行升序排序,得到排序后的矩陣T.
如矩陣CE中第2行元素分別是(2,1),(1,2),(3,3)和(2,4).以這4個元素對作為坐標對應的S中的元素分別為0.38,0.42,0.98和0.31,對它們按升序排序得到0.31,0.38,0.42和0.98,對應的索引號為2,3,4,1.因此矩陣T中的第2行元素為(1,2),(3,3),(2,4)和(2,1).
(4)以矩陣T作為置亂矩陣對明文圖像P進行置亂,得到置亂圖像P′.
擴散過程具體如下:
(ⅲ)通過如下公式得到序列Q:
其中:circshift[u,v,w]表示對二進制序列u進行w比特的循環(huán)移位操作;LSB(w)為向量w的最低有效位,二進制值v決定循環(huán)移位的方向,v=1為右循環(huán),v=0為左循環(huán).
(ⅳ)變換二進制序列Q為十進制形式.
(ⅴ)通過如下公式得到擴散序列B:
(ⅵ)變換序列B到圖像矩陣P″,P″即為所求加密圖像.
解密過程是加密過程的逆運算,這里就不再詳述.
圖3 明文圖像及其加密圖像和解密圖像
本研究的密鑰空間是由5D超混沌系統(tǒng)的5個初始值決定的.如果系統(tǒng)精度是10-15,那么系統(tǒng)的密鑰空間是(1015)5=1075≈2249.本研究設計的算法5DHS與2DDTM[17],SFTS[18],SPQCM[19]的密鑰空間比較結果見表1.
表1 密鑰空間的比較
由表1可知,5DSH比2DDTM,SFTS,SPQCM具有更大的密鑰空間,能夠有效地抵御暴力攻擊.
一個好的加密系統(tǒng)應當對初始密鑰很敏感.當其中的一個密鑰發(fā)生微小改變(10-15)而其余密鑰保持不變時,系統(tǒng)將會生成2個完全不同的加密圖像.同樣,當僅有一個密鑰發(fā)生微小變化(10-15)時,系統(tǒng)也不能夠正確的解密圖像.密鑰敏感性測試結果如圖4所示,這4幅圖分別是只有x1,x2,x3,x4發(fā)生變化而其他值保持不變得到的圖像.不同加密和解密圖像之間的差異見表2.
圖4 密鑰敏感性測試結果
表2 密鑰發(fā)生微小變化時所獲得的加密與解密圖像
由圖4和表2可見:當密鑰發(fā)生微小改變時,將會生成完全不同的加密圖像;將發(fā)生微小變化的密鑰用于解密,也不能獲得正確的解密圖像.這說明系統(tǒng)對密鑰是敏感的.
加密圖像的直方圖應當盡可能分布得比較均勻.3個明文圖像的直方圖及明文圖像的加密圖像的直方圖如圖5所示.
圖5 明文圖像的直方圖及明文圖像的加密圖像的直方圖
由圖5可見,明文圖像的像素值集中在某些區(qū)域,而加密圖像的直方圖分布更加均勻平滑.因此所提出的算法能夠抵御統(tǒng)計攻擊.
采用卡方測試[20-21]來衡量直方圖的均勻度χ2,
其中oi和ei分別為像素灰度級的實際分布和期望分布,
表3 直方圖的卡方測試
由表3可知,5DSH的測試值都小于理論值293.25,因此可以認為5DSH的直方圖分布是均勻的并能夠通過卡方測試.
明文圖像的相鄰像素具有很大的相關性,而加密圖像相鄰像素的相關性應該接近為0.像素x和y之間的相關性系數(shù)rxy定義為
其中
分別從明文圖像Peppers及其加密圖像中隨機選擇7 225對水平、垂直和對角方向的相鄰像素,圖6示出了明文圖像Peppers及其加密圖像在3個方向上的相關性結果.
圖6 明文圖像Peppers及其加密圖像的在3個方向上的相關性結果
由圖6可見,明文圖像之間具有很強的相關性,而加密圖像之間的相關性大大減小.
明文圖像Peppers及其加密圖像在3個方向上的相關性系數(shù)見表4.
表4 明文圖像Peppers及其加密圖像在3個方向上的相關性系數(shù)
由表4可知,明文圖像的像素之間相關性較大,而加密圖像像素之間的相關性較小.
信息熵是衡量隨機性最重要的特征.令m是信息源,信息熵定義為
其中p(mi)為信號mi的頻率,L為mi的總和.加密圖像的信息熵見表5.
表5 信息熵的比較
由表5可知:加密圖像的信息熵接近于理想值8,因此5DSH能夠抵御熵攻擊;5DSH比2DDTM和SFTS方法具有更大的信息熵.
表6 局部熵
由表6可知,所有的局部熵都能夠通過置信度為0.001和0.01的測試,只有1個不能通過置信度為0.05的測試.由此可見,用5DSH得到的加密圖像具有很高的隨機性并能夠抵御熵分析攻擊.
像素改變率(Number of Pixel Changing Rate,NPCR)和一致平均改變強度(Unified Average Changed Intensity,UACI)是衡量明文敏感性非常重要的2個指標.像素改變率和一致平均改變強度的計算公式分別為
其中:
C1和C2分別為明文圖像改變一個像素前后所得到的加密圖像.像素改變率和一致平均改變強度的計算見表7.
表7 加密圖像Peppers的像素改變率和一致平均改變強度
由表7可知,5DHS的像素改變率和一致平均改變強度結果比DKSM和SFTS的更好,說明它能夠更有效抵御差分攻擊.
一個好的加密系統(tǒng)應該能夠抵御剪切和噪聲攻擊.以Peppers加密圖像(圖3(c)加密)為例,圖7示出了將其剪切1/8,1/4,1/2后的圖像及相應的解密圖像.
圖7 Peppers加密圖像的剪切攻擊圖像及相應的解密圖像
由圖7可見,加密圖像丟失1/8,1/4和1/2數(shù)據(jù)時,解密出的圖像雖然含有噪聲,但是圖像是可以辨認的.
將常用的椒鹽噪聲和高斯白噪聲加到Peppers加密圖像(圖3(c)加密),相應的解密圖像如圖8所示.
圖8 Peppers加密圖像噪聲攻擊后的解密圖像
由圖8可見,當高斯白噪聲的方差由0.001變到0.01時,解密圖像上會出現(xiàn)更多噪聲點,但是解密的圖像還是可辨認的.受椒鹽噪聲攻擊的圖像具有類似的性質(zhì).
本研究提出了一種基于5D超混沌的圖像加密算法.首先,根據(jù)給定的初始密鑰,產(chǎn)生5D超混沌系統(tǒng)的初始迭代值.然后混沌序列被預處理產(chǎn)生新的序列.基于列排序和行排序的二維置亂方法被提出,采用循環(huán)移位去增強系統(tǒng)的安全性,最后對圖像進行擴散處理,得到加密圖像.通過采用高維混沌系統(tǒng),能夠產(chǎn)生隨機性更好的序列.實驗結果和理論分析表明,作者提出的算法具有大的密鑰空間,能夠抵御差分攻擊、統(tǒng)計攻擊、暴力攻擊、剪切和噪聲攻擊等.未來會對系統(tǒng)的效率以及運行時間進行進一步的分析.