李 立,向 菲
(河南科技大學,河南 洛陽 471023)
隨著互聯(lián)網(wǎng)的迅速發(fā)展,以及物聯(lián)網(wǎng)、“互聯(lián)網(wǎng)+”等概念的不斷提出,越來越多的人使用多媒體設備。然而在網(wǎng)絡傳播過程中,這勢必會導致各種各樣的敏感信息被不法者復制、竊取、篡改的現(xiàn)象,因此圖像信息安全技術問題逐漸成為學者們的研究重點之一[1]。在對圖像加密的研究過程中,混沌系統(tǒng)相關算法眾多,這都是源于其因具有偽隨機性、初值敏感性等獨特的密碼學特點[2]。Robert Matthews首次把混沌系統(tǒng)應用到文本加密中[3],他研究了Logistic混沌映射,提出了一種基于其變形的密鑰流生成方法?;诨煦缦到y(tǒng)處理圖像,主要集中在兩個方面??沼驁D像加密方面,文獻[4]設計了一種高效的復合型映射,能夠有效抵御選擇明文和密文的攻擊,但是算法最終計算得到的信息熵與理想值差距較大,即加密后的圖像隨機性不強。文獻[5]提出基于Logistic混沌置亂的圖像加密算法,該算法簡單高效,但是加密圖像相鄰像素的相關性較大,不能夠有效降低明文像素之間的相關性。文獻[6]將Logistic映射進行改進,解決了圖像相鄰像素相關性的問題,但是仍存在加密后的密文圖像隨機性不強的問題。文獻[7]研究了Logistic映射在數(shù)字圖像加密算法中的應用,說明了混沌映射有著很好的發(fā)展前景;同時發(fā)現(xiàn)算法運算效率高適用于系統(tǒng)加密,將其應用在機房網(wǎng)絡系統(tǒng)能夠有效的實現(xiàn)對網(wǎng)絡的整體管理,節(jié)約了帶寬資源。但是由于算法結構簡單,抗差分攻擊能力不強。而變換域圖像加密方面,主要是通過將圖像轉換到變換域之后再進行加密處理?;谛〔ㄗ儞Q算法簡單、運算速率高等特點,用小波變換處理圖像的算法層出不窮。文獻[8]通過分析小波變換引出了分數(shù)階小波變換的加密算法,其結果顯示加密效果顯著。但是仍存在相鄰像素之間的相關性變化不大的問題,不能很好地降低圖像相關性。文獻[9]介紹了一種通過不安全的數(shù)據(jù)網(wǎng)絡或數(shù)據(jù)庫存儲進行傳輸?shù)倪^程,將虹膜圖像中的感興趣區(qū)域在變換域中加密。與基于一維混沌的系統(tǒng)相比,該加密方案增加了密鑰空間和高度安全性。文獻[10]將小波變換的特點與混沌映射的優(yōu)點結合,提出一種新的圖像壓縮與加密方法。將圖像從空間域轉換為波段轉換的頻率域,同時混合噪聲添加到波段轉換的高頻部分,不僅減少了密鑰消耗和壓縮時間消耗,而且提高了解碼和重建圖像的質(zhì)量。綜上所述,可以得出研究基于小波變換的混沌圖像加密不僅可以提高加密算法的效率還能提高加密算法的安全性,有著良好的應用前景。
本文提出了一種將小波變換與改進的二維Logistic混沌映射相結合的圖像加密算法。利用小波變換算法簡單、運算速率高等特點,首先將明文圖像通過小波族db中的“db1”小波函數(shù)進行二維單尺度小波變換,接著對變換產(chǎn)生的低頻子帶系數(shù)矩陣和高頻系數(shù)矩陣進行置亂處理。然后對置亂后的矩陣進行小波逆變換,并使用改進的二維Logistic映射產(chǎn)生混沌系列對逆變換后的加密圖像進行擴散處理,實現(xiàn)二次加密產(chǎn)生最終的密文圖像。最后對圖像加密效果進行安全性分析測試,其仿真結果表明,該算法使用兩種置亂方式可以更好地加密置亂明文,同時使用改進的二維Logistic映射和小波變換結合的加密方式使密文敏感度高,能夠有效抵御各類攻擊。
經(jīng)典的Logistic映射是由Li-Yorke給出[11],它的公式為
xn+1=λxn(1-xn)
(1)
其中控制參數(shù)λ∈[0,4];迭代狀態(tài)值xn∈[0,1];x0是迭代初值。
Logistic映射存在周期性的混沌現(xiàn)象是由科學家Feigenbaum首次提出的,同時他還指出分岔點的參數(shù)值會逐漸形成一個無窮序列,并且存在一個極限值約為3.57,當λ處于這個極限值和4之間時,就會出現(xiàn)混沌現(xiàn)象。隨著混沌映射不斷被應用于圖像加密領域[12],不少學者研究發(fā)現(xiàn)一維Logistic映射存在控制參數(shù)范圍受到限制、點分布不均勻等問題[13]。因此,越來越多的學者開始專注于研究和改進現(xiàn)有的混沌系統(tǒng)和混沌映射。文獻[14]中提出一種基于級聯(lián)調(diào)制耦合(CMC)模型的新型二維邏輯ICMIC級聯(lián)映射(2D-LICM)。根據(jù)文章最終的性能評估表明,這種改進的二維Logistic映射具有復雜度大、范圍寬等超混沌行為優(yōu)點。因此本文中采用了這種混沌映射對圖像進行擴散處理。它的具體計算公式如下
(2)
小波變換是一種針對時間或者空間頻率的局部化分析方法[15]。設ψ(t)∈L2(R),其傅里葉變換為ψ(ω),當滿足Cψ<∞時稱此時的ψ(t)為一個基本小波,其中
(3)
同其它的變換域方法一樣,小波變換也分連續(xù)和離散兩種。連續(xù)時的表達式為:
(4)
數(shù)字信號處理是在計算機上運行的,因此需要進行離散化處理。而與傅里葉變換不同,小波變換并不是指時間上的連續(xù)和離散,離散小波變換就在連續(xù)小波變換的基礎上對伸縮參數(shù)a和平移參數(shù)b進行離散化[16]。因此可以得到離散化的表達式
(5)
其中離散小波
(6)
a0>0且∈C,j、k∈Z。
本文首先讀取目標圖像,采用小波族db中的“db1”小波函數(shù)對灰度圖像進行二維單尺度小波變換;其次,對變換后得到的高低頻率系數(shù)矩陣進行處理;然后,對加密的矩陣進行小波逆變換實現(xiàn)第一次加密;最后使用改進的二維Logistic映射產(chǎn)生混沌系列進行二次加密產(chǎn)生最終的密文圖像。具體的算法實現(xiàn)步驟如下:
1)使用MATLAB軟件讀取大小為m×n的灰度圖像,通過dwt2函數(shù)進行二維單尺度小波變換。按照從左到右,從上到下的順序圖像被均分為4個部分,每個部分都是由原灰度圖像與一個小波圖像內(nèi)積后,在x和y方向都進行2倍的間隔抽樣生成。4個部分的像素值構成對應的高低頻系數(shù)矩陣。
2)對低頻系數(shù)矩陣LL、高頻系數(shù)矩陣HL、LH和HH進行行列置亂處理,其中對低頻系數(shù)矩陣和LL高頻系數(shù)矩陣HL、LH通過randsample函數(shù)創(chuàng)建行列向量作為指針來達到行列置亂的效果;而對高頻系數(shù)矩陣HH則通過HL和LH異或的遍歷矩陣對其進行分塊置亂。在分塊置亂部分,創(chuàng)建三個和HH矩陣大小一樣的矩陣Alh、Ahl和Ahh以及三個每塊含16個像素值分組細胞矩陣Alhf、Ahlf和Ahhf。同時為避免分塊環(huán)節(jié)出現(xiàn)像素除16除不夠的現(xiàn)象,對Alh、Ahl和Ahh進行像素補0產(chǎn)生新的矩陣Alht、Ahlt和Ahht。
3)對置亂后的產(chǎn)生的新的頻率系數(shù)矩陣通過idwt2函數(shù)進行二維單尺度小波逆變換,生成第一次加密后的圖像。
4) 使用改進的二維Logistic映射公式進行迭代產(chǎn)生混沌系列y1和y2,接著使用y1和y2對第一次加密后的圖像進行二次加密,形成最終的密文圖像。
加密過程反向操作即可實現(xiàn)解密,得到相應的解密圖像。
本文加密系統(tǒng)的仿真測試在64位window11系統(tǒng),頻率為2.90GHz,安裝內(nèi)存為8GB的環(huán)境下利用MATLAB 2016b仿真軟件256×256的灰度圖像進行加密。
映射初始值為: k=0.8,a=0.6,x=0.5,y=0.5。仿真結果如圖1所示。
圖1 圖像加密效果對比
像素相關性與圖像破解密切相關,相關性越高,破解越容易。相關性的計算公式為
(7)
(8)
(9)
(10)
本文對明文圖像和加密圖像采用以上的計算公式,得到行、列和對角三個方向上的相關系數(shù),見表1。圖2是加密前后對比圖。
表1 相鄰像素相關系數(shù)對比
圖2 明文與密文相關性對比
表1是本文算法與參考文獻的相鄰像素相關系數(shù)的比較。通過數(shù)據(jù)可知,原始圖像相關系數(shù)數(shù)值與1接近,故原始圖像相關性強。而將表1中的數(shù)據(jù)結合圖2直觀可以看出,本文算法加密后的密文圖像與文獻[5]和文獻[17]相比,行、列和對角方向上的相關性與0的差值更小,說明本文算法能夠有效降低明文像素之間的相關性。
直方圖將圖像中灰度級分布進行統(tǒng)計。直方圖分布越均勻則說明圖像抗攻擊性越強。圖3是加密前后的直方圖分布。
圖3 加密前后的直方圖分布
香農(nóng)首先提出信息熵的概念,用來反映圖像的不確定性[18]。圖像信息熵的值越接近理論值則說明該圖像信息越不穩(wěn)定。信息熵的計算公式為
(11)
其中n是灰度等級數(shù),p(i)是灰度值出現(xiàn)的概率。對于n=256的灰度圖像理論上的信息熵是8。表2是將本文信息熵與文獻[6]和文獻[19]進行對比的結果,可以看出本文算法的信息熵更接近理想值,因此可以更好地抵御信息熵攻擊。
表2 信息熵對比
差分攻擊可以檢測算法對明文的敏感性,檢測抵御差分攻擊的重要指標是像素變化率NPCR和歸一化像素平均改變強度UACI[20]。兩者的計算公式為
(12)
(13)
其中Ie1(i,j)和Ie2(i,j)是兩幅加密圖像大小為N×N的Ie1和Ie2中坐標為(i,j)的像素值。如果Ie1(i,j)≠Ie2(i,j),D(i,j)=1,否則D(i,j)=0。
改變明文圖像任意一個像素點后,重新加密產(chǎn)生密文圖像。對新加密得到的圖像與原明文圖像加密后的圖像進行測試,并利用上述的公式計算得到NPCR數(shù)值為0.9958,UACI的數(shù)值為0.3368。與文獻[5]的對比結果見表3,結果表明本算法更加接近理想值,具有較強的密鑰敏感性,能夠有效抵御差分攻擊。
表3 NPCR與UACI對比結果
密鑰空間越大,攻擊時間和代價就越高。本文算法的密鑰包括x,y,a,k,且它們都步長都為10-14,所以可以計算得到密鑰空間大小為1014×1014×1014×1014=1056>2100。因此該算法密鑰空間大,攻擊時間和代價足夠高,可以有效抵抗窮舉密鑰攻擊。
對事物敏感是指反應迅速敏銳,而一個算法的密鑰敏感性則是指對密鑰進行很小的變動都會引起結果的很大變化。本文算法的密鑰精度是雙精度,正確解密的圖像以及對四個密鑰x,y,a,k分別改變10-14后的解密圖像如圖4所示。
圖4 正確密鑰和密鑰改變后解密圖
本文基于小波變換結合混沌映射,通過對小波變換產(chǎn)生的高低頻率系數(shù)矩陣進行置亂處理實現(xiàn)第一次加密,接著小波逆變換后通過改進的二維Logistic映射對加密圖像進行二次加密形成最終的密文圖像,并對算法的安全性進行分析。最后按照圖像加密效果測試的依據(jù)對密文進行仿真檢測,相關結果表明,該算法使用兩種置亂方式可以更好地加密置亂明文,同時使用改進的二維Logistic映射和小波變換結合的加密方式使密文敏感度高,能夠有效抵御各類攻擊。