史旭寧
(銅川職業技術學院,繼續教育學院, 陜西,銅川 727031)
隨著現代密碼學的快速發展,混沌系統憑借其在初值敏感性、密鑰空間、偽隨機性和非周期性等方面的優勢逐漸得到了廣泛的應用,混沌密碼學就此應運而生[1]。以混沌系統創建的序列為流密碼進行介質加密的流程相對較易實現[2],尤其在包含海量數據內容的數字圖像加密方面其高效性能夠得以顯著體現[3]。以往的加密機制中,由于忽略了圖像紋理特征因素,不同紋理的圖像擁有相同的加密密鑰,這在很大程度上降低了影像的安全性[4]。此外,多混沌系統與超混沌系統的應用加大了混沌算法的復雜程度[5]。為了解決這些問題,本文提出并設計一種圖像混沌加解密機制,引入圖像的紋理特征因素,通過設定的閾值實現平滑塊和復雜塊的自適應分塊,并按照類別進行反饋加密,使圖像的安全性和加密過程的高效性同時獲得了保證。
將圖像分割為若干個正方形影像塊,對其像素值進行排序并獲取最大值與最小值,然后根據最大像素差來確定是否需要進一步分割影像塊,判斷條件[6]為
Pmax-Pmin>(2d-1)×γ
(1)
式中,Pmax、Pmin分別代表最大像素值和最小像素值,d代表像素位深度,γ代表閾值。
如果像素塊滿足式(1)即可將其定義為類型1影像塊,其表達式為
(2)
影像塊的方差由式(3)計算:
(3)
式中,S代表影像塊方差,n代表影像塊包含的像素數量,Xi代表像素單元的像素值,X代表Xi的平均值。
類型2影像塊的判定條件為
(4)
式中,T代表方差閾值。
通過式(5)對2個類型的影像塊進行分類條件判定:
(5)
若type=0,判定影像塊為平滑紋理塊;若type=1,則判定影像塊為復雜紋理塊。
對于某些特殊圖像來講:紋理相對平滑的部分基本分布在其背景區域內,這部分影像的像素值為0左右,因而明文反饋加密無法發揮作用,必須使用密文反饋加密[7];而紋理相對復雜的部分基本分布在圖像的前景區域內,存在明顯的像素值差異,因此可以使用明文反饋進行加密[8]。同時,基于異或操作完成加密可使加密過程具有良好的可逆性和高效性[9]。
平滑影像塊的密文反饋加密方式為
(6)
復雜影像塊的明文反饋加密方式為
(7)
式中,block(i)代表影像塊的初始像素值,E_block(i)代表加密像素值,seq1與seq2代表混沌系統創建的2組序列,由于其取值范圍均為[0,1],所以必須通過式(8)進行相應的調整[10]:
seq(i)=mod(round(seq(i)×106),256)
(8)
平滑影像塊與復雜影像塊的解密方式分別為
(9)
(10)
本文設計的混沌算法流程如圖1所示。
1) 將原始圖像分割為多個8×8(256色影像)的影像塊,通過式(2)~式(5)劃分影像塊紋理類型。
2) 利用混沌系統創建2組與圖像長度相同的序列。
3) 通過式(6)對平滑紋理影像塊進行密文反饋加密,通過式(7)對復雜紋理影像塊進行明文反饋加密。
4) 基于加密的影像塊重構加密圖像。
5) 通過式(9)和式(10)分別進行平滑紋理影像塊和復雜紋理影像塊的解密。

圖1 新機制下的混沌算法流程
采用4張具有不同紋理特征的圖像(壓縮后)作為測試對象,尺寸:1 024×1 024,格式:jpg。為了對比不同尺寸與格式影像的加密速度,將測試用圖像大小調整為256×256,并將其保存為bmp格式。測試用計算機硬件配置為Intel CoreTMi5-6500 CPU、16 GB內存、1 T容量硬盤,Windows 10專業版操作系統中安裝MATLAB 7.0軟件。混沌系統創建的2組序列值分別為seq1=0.938、seq2=0.700 6,γ=0.04,控制參數a=1、b=3,方差閾值T=5。
以本文所設計機制分別對4張圖像進行加密后獲得的加密圖像如圖2所示。由圖2看出,圖像很好地進行了加密。
在密碼學領域通常以密鑰空間的大小和密鑰初始敏感性的強弱判斷密鑰的安全性。本文所設計機制算法的加密密鑰中包含影像塊尺寸size、閾值γ、2組混沌序列的初始值seq、控制參數a和b以及影像塊像素方差T共7個參數。每個參數占4 B空間,則加密密鑰的空間大小為2224。從計算角度上看,使用窮舉法進行攻擊不存在成功的可能性。解密密鑰相對于加密密鑰加入了影像塊類型因素,若影像塊分割尺寸為8×8,那么分割尺寸為512×512的影像塊類型占4 096 bit空間,其解密密鑰的空間大小為24320。
通過本文機制所獲取密鑰的初始敏感性可通過改變混沌序列值進行驗證。將seq1由0.938更改為0.938 000 4、將seq2由0.700 6更改為0.700 600 1,則密鑰由初始值key變為keyi。在上述條件下進行密鑰敏感性測試,結果如圖3所示。
由圖3可見,盡管密鑰參數只是發生了微小的變化,加密圖像也會發生十分明顯的改變,同時解密操作也是無效的。
被加密圖像的信息熵理想值為8,實際信息熵值與8的差值能夠表征算法抗統計攻擊能力的強弱,差值越小,能力越強。基于本文機制加密的不同圖像的信息熵與其他算法(文獻[5]、文獻[6])加密影像的信息熵對比結果如圖4所示。


(a) 加密圖像

圖4 加密圖像信息熵對比
由圖4 中的數據可見,通過本文機制進行加密的圖像信息熵的值多數達到7.999以上,具備很強的抗統計攻擊能力。
此外,另一個算法抗統計攻擊能力驗證指標就是已加密影像相鄰像素的關聯性,其量化表達式為
(11)


表1 相鄰像素關聯性測試結果
由表1可見:使用明文加密的圖像,其相鄰像素十分相似;而基于本文機制加密的圖像,相鄰像素關系值均與理想值0十分接近。
通常以密文相對于明文的敏感性來驗證算法的抗差分攻擊能力。本次研究以UACI(像素值平均變化強度)作為驗證指標,其表達式為
(12)
式中,M、N分別代表影像大小,E1(i,j)、E2(i,j)分別代表僅存在一個不同像素條件下獲得的加密影像。
根據已有的研究成果,UACI的最佳取值為33.463 5%,將測試用圖像進行50次像素改動,每次只改變1個不同部位的像素點,獲取50張圖像并使其與原始影像分別組合,計算每個組合的UACI值。測試結果如圖5所示。

圖5 像素改變測試UACI計算結果
由圖5可見,UACI值以理想值為中心進行上下波動,因此可以認定本機制的抗差分攻擊能力很強。
基于本機制算法的加解密耗時與其他2種算法的耗時情況對比如表2所示。
由表2可見,通過本文算法進行影像加解密的耗時明顯比其他2種算法短,尤其是在影像大小為512×512和1 024×1 024的條件下,本文算法的影像加解密速度幾乎是其他2種算法的2倍,其原因在于本文算法引入了影像紋理特征因素,基于明密文反饋加解密大幅提升了影像加解密的效率。

表2 不同算法耗時對比
以上測試結果充分體現了本文算法所具備的兩個明顯的優勢:一是將分割出來的影像塊劃分為平滑紋理與復雜紋理2個類型,分別通過不同的加密方法進行加密,實現了“一次一密”的高標準安全性要求;二是通過混沌系統所創建的序列進行明密文加密,影像的安全性得到了進一步保障。
本文設計了一種新的特殊圖像混沌加密機制,將影像紋理特征引入算法中,依據單個影像塊的最大像素差與方差對其進行紋理類型劃分,以不同加密方式分別對平滑紋理影像塊和復雜紋理影像塊進行加密,密鑰基于明文圖像生成,滿足了“一次一密”的安全性要求。利用混沌系統創建的2組序列進行反饋加密,有效提升了影像加解密的效率。本文提出的將不同紋理特征影像區域進行分別加密的方式為特殊圖像的加密提供了新的研究方向。同時,由于紋理特征分類的方式略顯粗糙,所以本文的算法仍有待改進,在今后的研究中將致力于實現影像紋理特征的細化分類。