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