文小爽 張芳君
(河南大學計算機與信息工程學院 河南 開封 475004)
隨著互聯網技術的飛速發展和日漸成熟,網絡在線通信變的越來越受歡迎,同時也帶了一系列問題,如個人信息被非法利用,對個人、社會、國家等造成了一系列困擾和不可彌補的影響。由此產生的安全問題也得到更多的關注。因此怎么去安全地保護信息數據和數字產品擁有者的權益,成為了一個異常棘手的問題。
伴隨著數字化時代的到來,現如今許多信息內容都以數字化的形式被存儲和傳輸,數字化信息包括文本、圖像、音頻、視頻等多種類型。其中,數字圖像因其敏感性、形象直觀、易辨性、信息量大等特點,成為網絡傳輸的重要載體之一。因此,對其安全性進行必要的保護成為現今人們關注的重點,國內外研究學者正在提出一系列的加密算法來隱藏圖像攜帶的重要數據信息。混沌由于其初值敏感性和非周期性使其符合研究學者對圖像加密的要求。中國“十二五”、“十三五”國家密碼發展基金均將混沌密碼作為新型密碼理論列入其中。美國國家科學基金會和軍方研究部門近年來也加大了對混沌密碼系統研制的經費投入,歐洲各國政府及科技界也對混沌密碼研究投入了大量經費。這些充分顯示世界各國政府和國際科技界對混沌密碼研究的高度重視。
為了使上述問題得到良好的解決,研究者提出了眾多加密方案。由于數字圖像本身的獨有特點,使得以往的方案如DES、AES、RSA已經達不到密碼學的要求。鑒于混沌理論自身包含系統參數和初值極端敏銳性、偽隨機性等優良特質,使其達到了數字圖像加密得要求,并受到眾多專家的關注。在過去幾十年中,關于混沌系統的加密算法被大量的探究[1-5]。混沌一般用于產生密鑰流,作為圖像加密時的密鑰。可以將混沌系統大致分為兩種類:(1) 一維混沌系統[2-4],如一維Logistic混沌系統、Sine混沌系統等;(2) 多維混沌系統[4-7],像Lorenz和Rossler混沌系統,然而高維混沌系統結構復雜、參數多,使得計算難度增加。通過比較這兩類系統,不難發現,一維混沌系統較容易實現,得到大范圍地應用。然而,在最近幾年,國內外學者提出了一系列新的混沌系統,這些新的混沌系統是根據已有的簡單混沌系統結合而成,已經被證明其混沌分布范圍更廣泛,混沌特性更明顯。
圖像加密大致分為兩種:空域加密與頻域加密。空域加密即空間域加密,主要是改變圖像的位置和像素值,前者稱為置亂,后者稱為擴散。置亂顧名思義就是擾亂圖像矩陣內像素的位置坐標,打破矩陣元素之間的相關性。混淆就是通過混沌系統生成的混沌序列對像素值加以改變,使圖像不再具有明文的特征,隱藏重要的明文信息。在分析現如今眾多圖像加密算法后,不難發現,這兩者加密方法都有所涉及[8-12]。為了打破圖像像素之間的關聯,加密算法通常在空域上直接對像素值進行操作,但據此產生的加密圖像不可壓縮,同時對誤差極為敏感。基于此,國內外學者正在將研究方向轉移到頻域。頻域加密的主要思想是,通過利用離散余弦變換DWT(Discrete Cosine Transform)、傅里葉變換FT(Fourier Transform)、離散小波變換DWT(Discrete Wavelet Transform)等方法將圖像轉變到時頻,產生混沌隨機序列,通過對得到的頻域子帶,實施加密處理[12-15]。這種利用兩類加密方法同時設計加密算法,不僅可以提升算法的效率與安全性,而且降低加密的數據量,獲得無損解密圖像,這對實時性要求較高的醫療、遙感、軍事等領域具有較高的使用價值。
由上述分析,本文將SCAN方法與二維離散小波相結合,設計了一種新穎的無損加密方案。先將圖像劃分為若干個子塊,利用混沌系統產生混沌序列對子塊置亂和擴散;再通過DWT將圖像轉化到頻域,并對各個子帶進行置亂;最后利用IDWT將圖像數據轉化到空域,得到密文圖像。
二維離散小波變換是一種將信號進行分解和壓縮的頻域處理技術,是現代數字信號處理領域不可缺少的。二維離散小波變換因其具有多分辨率、局部時頻特性、頻率壓縮特性,使得其在圖像編碼、圖像處理、圖像壓縮等領域得到廣泛的應用。二維離散小波變換的核心工作原理是[12]:首先對輸入的信號源LL0按行做小波分解,然后按列對獲取到的中間數據再做小波分解。對輸入的信號源LL0,一級離散小波變換后,信號源劃分成四個子帶:低頻子帶(LL1)和高頻子帶(HL1、LH1、HH1)。如:對低頻子帶LL1繼續執行離散小波變換,可得到四個子帶LL2、HL2、LH2、HH2,對低頻子帶連續執行n次類似的操作,就可獲得n級變換的結果,將分解的子帶進行IDWT可以實現對圖像得重構,得到原始圖像[7]。LL是水平方向的低通濾波器,HH是垂直方向的高通濾波器,HL和LH子帶是通過在一個方向上的低通濾波,并在另一個方向上高通濾波得到的。子帶系數在LL中數值是最大,被稱為近似圖像,保留著原始圖像信息,而且能夠分辨出明文的輪廓與細節特征,圖像的加密大多在近似子帶中進行。
離散小波變換含多類小波轉換方法,包含Haar、Daubechies、Meyer小波轉換等。其中,Haar小波轉換是最簡單的一種轉換,對圖像不會造成信息丟失,是一種無損的變換。
SCAN代表的是基于形式語言的二維空間掃描方法,主要用于圖像壓縮、加密、數據隱藏等,以便表示和生成眾多的掃描路徑[16]。SCAN系列的形式語言包括幾個版本,如Simple SCAN、Extended SCAN、Generated SCAN等,每種都可以表示和生成一組特定的掃描路徑。每種語言都具有一組基本的掃描模式,一組變換和一組可以組成簡單掃描模式的規則,為了得到較為復雜的掃描路徑,通常用幾種掃描路徑進行組合,得到復雜的擾亂模式。SCAN方法的基本思想就是:通過將像素打亂來重排圖像像素,重排是由已定義的SCAN語言的掃描路徑實現的。
SCAN語言形式上用語法表示為G=(Γ,Σ,A,Π),式中:Γ={A,S,P,U,T,V}是非結尾符號;Σ={c,d,o,s,r,a,em,y,w,b,z,x,B,Z,X,(,),space,0,1,2,3,4,5,6,7}是結尾符號;A是起始符號,它在式(1)中被定義;Π是乘積規則。圖1表示SCAN算法的基本模式[16]。
A→S|P
S→UT
P→VT(AAAA)
U→c|d|o|s|r|a|e|m|y|w|b|z|x
V→B|Z|X
T→0|1|2|3|4|5|6|7
(1)

圖1 SCAN基本模式
對于掃描,定義為:0是圖2的同等變換,2代表順時針旋轉90度。對于如下掃描模式(c,0,s,a,e,m,y,w,b,x),4和6分別表示圖像順時轉旋轉180度和270度。對r和z,4表示垂直反射,6表示順時針旋轉90度后再垂直反射,對d,4表示水平反射后順時針旋轉90度,6表示垂直反射后順時針旋轉180度。最后,對于圖1中的所有掃描路徑,1、3、5、7分別是0、2、4掃描路徑的反過程。舉個實例:s2是將s掃描路徑順時針旋轉90度得到的掃描路徑,如圖2所示;d表示對角線,7表示6的相反路徑,d6表示垂直反射后順時針旋轉180度得到的掃描路徑,d7是d6掃描路徑的反過程,具體轉換過程如圖3所示。

圖2 s順時針旋轉90度得到s2
基于混沌系統本身所特有得一些優良特質,使得在密碼系統中得到普及,但是隨之也產生了一些問題,一些混沌系統無法對抗明文攻擊,而且單一的和已知混沌系統被頻繁使用,故意破壞者可以掌握一定的規律,破解明文截取密文圖像。為了解決這類問題,專家需要設計一些新的混沌系統。
Logistic和Sine混沌系統是已經被廣泛使用的一維混沌系統,它們混沌行表現的較為復雜,是一種實現起來比較簡單的動力學方程,定義如式下[17-18]:
xi+1=uxi(1-xi)
(2)
(3)
式中:u,a∈(0,4]為系統參數,當xi∈(0,1),μ∈[3.569 945 6,4],式(2)、式(3)停留在混沌狀態。
本文介紹兩種具有簡單結構的新型混沌系統,這兩個混沌系統已經被證明其混沌范圍分布更廣[17-18],即使控制參數超出了一定范圍,仍然具有混沌行為。因此其具有優良的混沌和擴散特性,可以抵抗不同類型的攻擊,特別是挑選其中一個明文的像素進行攻擊。兩個混沌系統分別為一維Logistic-Sine與二維Logistic-Adjusted-Sine混沌系統,由一維Logistic和Sine混沌系統組合而成,簡稱一維Logistic-Sine混沌系統為LSS,二維Logistic-Adjusted-Sine為2D-LASM[17-18]。兩個系統的定義如下:
(4)
(5)
在式(4)、式(5)中,當r∈(0,4],μ∈[0,1],以上兩個系統表現為混沌特性。
為了簡便,設彩色明文圖像I0的大小為M×N。具體的算法步驟描述如下:
步驟1將明文彩色圖像I0進行分離,分別獲取三個大小是M×N的矩陣R、G、B。
步驟2隨機選取2D-LASM的控制參數u,及初始值x0和y0,對式(5)迭代N0次,用得到的第N0+1次的值作為第二次迭代的初始值。對式(5)迭代MN得到長度為MN的2個混沌序列L1,L2,…,Li,這里Li(j)=xj(i),Li(j)=yj(i)(j=1,2,…,MN)。根據式(6)、式(7)改進與優化混沌序列,獲取長度為MN的向量ex1、ex2以及長度為16的序列Lx1、Lx2、Lx3、Lx4。對以上四個向量進行排序,得到四個有序向量Va1、Va2、Va3、Va4。對于向量Lx1、Lx2、Lx3、Lx4中的每個數據,找到其在對應的有序向量中的位置并記錄該位置編號,從而得到四個位置序列,四個位置序列減one得到用于SCAN置亂的四個隨機序列。
(6)
(7)
式中:mm=12,round(·)為四舍五入的取整函數。
步驟3將大小為M×N的圖像分成32個大小為8×8的子塊,每個8×8的子塊又被劃分為16個尺寸為4×4的圖像塊,每個4×4的圖像塊分別用步驟2中產生的隨機序列進行SCAN置亂操作,得到置亂序列LR。
步驟4設置LSS的初始值和密鑰x、r,對變量x、r進行邏輯處理得到混沌系統的初始值,迭代LSS混沌系統M×N+N0次,N0是一個常數,得到混沌序列s。對s進行處理得到分布在[0,255]之間的整數序列,將上述得到的置亂序列轉化為二維矩陣Rtemp,進行擴散操作,利用式(8)、式(9)先對矩陣行的像素值進行改變,得到混淆矩陣RC。此次擴散操作分為兩部分進行,第二輪擴散操作是對整個RC矩陣進行的,擴散過程是從列方向出發進行的,最終擴散完成后得到矩陣RF。將式(10)得到的擴散矩陣RF轉化為一維向量,用前面已經介紹過SCAN算法中定義的兩種掃描路徑,對圖像序列用外螺旋掃描方法s0和對角線掃描方法d7對圖像進行進一步的置亂操作,得到經過兩輪擾亂操作的二維矩陣PR、PG、PB。

(8)

(9)

(10)


(11)

(12)

(13)
步驟6利用二維離散小波逆變換,按照如式(14),將各子帶重新轉換到空間域,得到最終的加密矩陣C1、C2和C3,為加密圖像的三基色圖像,從而得到密文圖像。

(14)
圖像解密算法為圖像加密過程的逆過程,對于解密算法只需將加密算法的過程反過來即可解密出原始明文圖像。


圖4 Lena圖像的加解密圖

圖5 Peppers圖像的加解密效果
NPCR和UACI是衡量加密算法優良的一個極其重要的指標,一個較好的加密算法應該對密鑰以及對密鑰做的微小改變極其敏感,NPCR的理想值為100%,UACI的理論值為33.3%,其計算公式如下[19]:
(15)

(16)
式中:c1,c2是加密過程中的兩個密鑰。


(a) u改變后的解密圖像 改動后的解密圖像圖6 密鑰敏感性分析

算法NPCRR,G,BUACIR,G,B本文算法99.590 133.447 8文獻[19]99.217 333.405 5文獻[20]99.551 133.346 1
圖7與圖8分別展示了明文圖像與密文圖像在各分量上的直方圖。可以看出,密文圖像的分量分布直方圖和明文分量分布直方圖有明顯差異,密文圖像的直方圖分布較為扁平、均衡,攻擊者從密文直方圖中不能分析出明文圖像的任何特征,很難達到破解明文圖像的目的。


圖7 明文R、G、B分量的直方圖

圖8 密文R、G、B分量的直方圖
圖像與其他載體一個明顯的區別是:圖像像素之間擁有較強的相關性,而且每個像素是相互依賴的。如果設計者想提出一個安全性較高的加密算法,必須盡可能削弱和消除這一現象,以此想法設計的加密算法能夠滿足密碼系統的要求。相關性系數的計算公式如下[21]:
(17)
(18)
(19)
(20)
式中:x、y分別表示圖像中兩相鄰像素的灰度值,cov(x,y)為協方差,D(x)和E(x)分別表示方差和均值。
為了計算明文圖像和密文圖像的相關性系數,我們分別在不同的方向上隨機選取3 000個相鄰像素。圖9和圖10分別展示了明文圖像與密文圖像在R、G、B分量上相鄰像素點之間的相關性。圖中可以明顯觀察到,直線上密集分布著明文圖像像素值,對密文圖像的相鄰像素,其呈現雜亂分布,無規律性可尋。從表2中觀察到,明文圖像相鄰像素的相關系數值僅次于1,相關性極高,相反,密文圖像的相關系數值呈現負數分布,聯系較低。表3列舉了使用本加密算法和文獻[3,22]的算法得到的密文圖像相鄰像素相關系之間的比較。由表3得出,使用本加密算法得到的密文圖像的相關系數整體較文獻[3,22]的算法所得到的密文圖像的相關系數小,因此在弱化相鄰像素間的相關性過程中此加密算法具有優良的加密效果。

圖9 原圖相關性

圖10 密文相關性

方向原始圖像密文圖像R平面G平面B平面R平面G平面B平面水平0.937 10.924 70.874 1-0.023 10.003 20.003 6垂直0.962 80.951 20.920 9-0.002 7-0.009 80.005 9對角0.938 20.934 10.888 8-0.015 20.000 1-0.004 7

表3 不同加密算法像素相關性之間的比較
為了解決對信息的量化度量問題,香農提出了信息熵這個概念,信息熵主要用來描述信源的不確定度,其表示的是圖像中灰度值的分散狀態。信息熵越大,表明圖像中像素值之間的差值越小,反之,信息熵越小。信息熵的理想值是8,若計算結果向理想值逼近,說明加密效果能達到理想得效果。信息熵的計算公式如下:
(21)
式中:x表示圖像像素值,P(xi)為xi出現的概率。
文中實驗采用標準的Lena彩色圖像為測試圖,表4不僅列出了本加密算法密文圖像各分量的信息熵,而且還與其他加密算法做了對比。從表中數據觀察到,此加密算法的信息熵最接近理論值8。此分析表明密文圖像的像素值呈現等概率出現的現象。

表4 不同加密算法之間信息熵的對比
本文將SCAN方法和二維離散小波變換相結合,并利用兩種新的混沌系統LSS和2D-LASM系統用于擴散和置亂操作,產生的隨機序列作為SCAN方法的掃描路徑,將掃描路徑隨機化,增加了算法的安全性和抗攻擊性;利用二維離散小波變換將圖像從空域變換到頻域,得到四個子帶,利用混沌序列對子帶進行置亂后,進行逆二維離散小波變換得到最終的密文圖像。實驗結果表明,本文提出加密算法計算速度快,密鑰空間大,像素相關性低,能夠有效抵抗攻擊,安全性比較高,適用于各種數字圖像加密。