張小康,曾國輝
(廣東工業(yè)大學 自動化學院,廣東 廣州 510006)
混沌系統(tǒng)是一種非線性系統(tǒng),具有對初始值和參數(shù)極其敏感、遍歷性以及偽隨機性等屬性。這些特性與密碼學緊密相連,且滿足密碼學的基本要求,常用于圖像加密領域[1]。但是,圖像加密算法設計不僅要考慮算法的安全性和抗攻擊性,還要考慮算法的計算量和算法實現(xiàn)的復雜度,要考慮算法的資源代價和計算時間代價。
壓縮感知理論實現(xiàn)了信號從低維測量輸出來重構(gòu)高維稀疏輸入信號,其信號在采集過程中實現(xiàn)了壓縮,可以應用于自然圖像這樣的稀疏信號的存儲與傳輸[2]。壓縮采樣過程可看成是加密過程,而測量矩陣就是密鑰。該方法已經(jīng)被證實具其密鑰空間足夠大,具有計算安全性,可以有效地抵抗暴力統(tǒng)計攻擊[3]。由于壓縮感知理論在圖像處理過程中是一種線性壓縮,不能很好地抵抗已知明文攻擊和選擇明文攻擊,具有安全漏洞[4]。因此,為保證圖像在傳輸過程中的安全性,將壓縮感知理論和混沌理論相結(jié)合應用于圖像加密過程中,可以有效地解決圖像在存儲和傳輸過程中的安全性能及壓縮性能。
壓縮感知理論實現(xiàn)信號從低維測量輸出來重構(gòu)高維稀疏輸入信號,其信號在采集過程中實現(xiàn)了壓縮。過程如下:
假設長度為N的一維實離散信號X∈RN,可以采用N×N維正交基矩陣φ=[φ1,φ2,…,φN]的線性組合表示為:
x=Ψα
(1)
其中,Ψ為正交基矩陣,目的是將輸入信號進行稀疏化處理,α為加權系數(shù),能夠?qū)π盘杧進行壓縮感知的前提條件是x具有系數(shù)性。
CS的測量過程表示為:y=Φx=ΦΨα=θa,該過程為降維過程,其中Φ為測量矩陣,θ為傳感矩陣,壓縮感知理論要求傳感矩陣滿足RIT定理。
從y中重構(gòu)x,理論上是解l0范數(shù)最小化問題:
min|α|i0s.t.y=Φφα
(2)
其中常用的求解方法有BP算法、TV算法、MP算法、OMP算法和SLo算法等[5,7]。
當N較大時該優(yōu)化問題成為Nhard問題,為解決這個難點,可通過解l1范數(shù)問題近似替代原問題的求解:
(3)
Chen系統(tǒng)是一個典型的連續(xù)型超混沌系統(tǒng),它與Lorenz系統(tǒng)類似,但不拓撲等價而且更復雜。在應用過程中,需要進行離散化處理,主要處理方法是利用四階龍格庫塔法。Chen系統(tǒng)的表達式為:
(4)
當參數(shù)a=36、b=3、c=28、d=16和-0.7≤k≤0.7時,式(4)處于超混沌狀態(tài)。通過設定{a,b,c,d,k}這5個參數(shù),將{x,y,z,w}的初始值作為加密系統(tǒng)的密鑰。
置亂就是只改變像素點的位置,如行置亂和列置亂,而不改變像素點的值。
1.3.1 置亂算法1。明文圖像經(jīng)過稀疏化操作后,進行簡單的Arnold置亂。張玉書等[6]已經(jīng)證明,將明文圖像在稀疏基下的系數(shù)矩陣先進行置亂,再進行壓縮感知測量,可有效放松測量矩陣的有限等距性能RIP,從而提升恢復圖像的質(zhì)量。其表達式是:
(5)
Arnold矩陣格式:
(6)
Arnold矩陣的逆矩陣格式:
(7)
式(5)~式(7)中,(x0,y0)、(x1,y1)分別表示置亂前、后的像素點位置;a和b是混沌系統(tǒng)產(chǎn)生的偽隨機整數(shù)序列;M和N表示圖像的行數(shù)和列數(shù)。
1.3.2 置亂算法2。明文圖像經(jīng)過壓縮感知處理后的矩陣A,然后進行置亂算法2進行置亂加密,其過程如下:
①對于矩陣A中的任一個坐標點(i,j),i=1,2,…,N,計算矩陣A的第i行和(除去A(i,j)),并計算矩陣B的第j列的和(除去A(i,j)),分別記為Ri和Hi。然后,計算一個新的坐標點(m,n),按下述的條件:
如果jmod2=1,那么m=(HjmodM)+1,n=(RimodN)+1。
如果jmod2=0,那么m=M-(HjmodM),n=N-(RimodN)+1。
如果m=i或n=j,則B(i,j)位置不變;否則對換A(i,j)和A(m,n)。
②按從左到右、從上到下的掃描方式遍歷矩陣A,依次循環(huán)執(zhí)行步驟①,實現(xiàn)置亂操作。
擴散處理是在不改變像素點位置的條件下,將任一明文信息隱藏在盡可能多的密文像素點中。本方案中采用基于加取模和循環(huán)左移運算的前后雙向擴散運算。
前向(按i從1到MN)擴散及其逆運算為:
Ci=(Ci-1+Si+Pi)mod<< (8) Pi=(2×256+Ci-Ci-1-Si)>>>LSBk1(Pi-1) (9) 后向(按i從MN到1)擴散及其逆運算為: Ci=(Ci+1+Si+Pi)mod<< (10) Pi=(2×256+Ci-Ci+1-Si)>>>LSBk1(Pi+1) (11) 式(8)~式(11)中,M和N表示圖像的行數(shù)和列數(shù);Si分別代表混沌系統(tǒng)生成的偽隨機整數(shù)序列、密文圖像的像素值;Ci、Ci-1、Ci+1分別表示密文圖像的當前像素值、前向擴散和后向擴散的像素值;Pi、Pi-1、Pi+1分別代表明文圖像的當前像素值、前向擴散和后向擴散的像素值;k1代表移動的位數(shù),其取值范圍是0≤k1≤7。 壓縮感知理論中稀疏基和觀測基不相關,則很大程度上保證了RIP特性。目前常用的測量矩陣還有隨機貝努利矩陣、部分正交矩陣、托普利茲和循環(huán)矩陣和稀疏隨機矩陣等。 本方案中測量矩陣產(chǎn)生的過程如下: 由式(4)中產(chǎn)生M+k2的混沌序列,舍去前k2項得到y(tǒng); 其取值范圍是0≤k2≤255; 對y的元素按從大到小的順序進行排序,得到索引序列s。根據(jù)s重排自然序列n=[1,2,…,M],得到序列n1。 對I2進行均勻量化得到I3,I3值的范圍限制在0~255之間的整數(shù)。其中可以通過控制不同的k2實現(xiàn)不同測量矩陣的觀測。k2是一個變參數(shù)。 本方案將壓縮感知理論和圖像混沌加密算法緊密融合,在保證圖像傳輸和存儲安全性以及圖像恢復質(zhì)量的前提下,提高了圖像加密和解密的速度,在大數(shù)據(jù)的背景下,有效地減少了數(shù)據(jù)量的傳輸和保存?;诖?,本設計方案包含明文圖像稀疏化、系數(shù)置亂、壓縮感知觀測、像素點置亂和雙向擴散等五部分。其中置亂、壓縮感知觀測、擴散過程中由超混沌Chen系統(tǒng)產(chǎn)生的密鑰流控制,混沌系統(tǒng)的初始值以及變參數(shù)作為密鑰,通過秘密信道發(fā)送給接收方,其流程如圖1所示。 圖1 基于壓縮感知的圖像混沌加密流程 設輸入的明文圖像記為P,大小為M×N,密鑰是超混沌Chen系統(tǒng)的初始值{x0,y0,Z0,w0}和(k1,k2)。具體步驟如下:①將明文圖像P,經(jīng)過正交基矩陣稀疏化操作后,得到大小為M×N的稀疏化矩陣C1。②利用Chen混沌系統(tǒng)產(chǎn)生的長度為M×N×2的偽隨機序列X,分為兩個為長度為(M/2)×(N/2)的a和b,并帶入到置亂算法1中,按照1.3.1對C1的每一個元素進行置亂操作,得到矩陣C2。③利用Chen混沌系統(tǒng)產(chǎn)生為長度為M+k2的偽隨機序列Y,傳入變參數(shù)k2,按照1.5節(jié)所述方法構(gòu)造大小為M×N測量矩陣Φ。④用測量矩陣Φ對矩陣C2進行壓縮感知測量,得到大小為M×N個矩陣C3。⑤利用Chen混沌系統(tǒng)產(chǎn)生的長度為M×N的偽隨機序列Z,按照1.3.2節(jié)所述方法應用到置亂算法2中,得到矩陣C4。⑥傳入變參數(shù)k1,利用Chen混沌系統(tǒng)產(chǎn)生的長度為M×N×2的偽隨機序列W,分為兩個均為M×N的偽隨機序列W1和W2,W1應用在前向擴散中得到矩陣C5,矩陣C5旋轉(zhuǎn)180°后得到矩陣C6,W2應用在前向擴散中得到矩陣C7,矩陣C7旋轉(zhuǎn)180°后得到矩陣C,即為密文圖像。 解密是加密的逆過程,其過程簡述如下:①將接收到的密文圖像C,利用接收到的密鑰,分別進行180°旋轉(zhuǎn)、后向擴散的逆運算、180°旋轉(zhuǎn)、前向擴散的逆運算得到明文圖像P1。②利用接收到的密鑰k2,將明文圖像P1的列向量進行重構(gòu),得到明文圖像P2。③對明文圖像P2進行置亂還原和基于某一正交基下的稀疏化操作逆運算后得到明文圖像P3。 采用標準測試圖像進行仿真實驗,驗證方案的安全性能和壓縮性能。實驗采用的硬件平臺包含Windows7操作系統(tǒng),Intel 酷睿i5-4200U+2.6GHz處理器、1T硬盤、8GB內(nèi)存,MATLAB2016a。設置密鑰{x0,y0,Z0,w0,k1,k2}分別為{0.3388,0.8967,32.1234,0.7425,3,212},稀疏基采用離散小波變換(DWT),由于對圖像信息進行稀疏化的過程中通過小波變換來實現(xiàn),小波變換的級數(shù)和閾值的設置對圖像的恢復質(zhì)量有較大的影響,因此,經(jīng)過多次試驗,離散小波變換(DWT)的級數(shù)和閾值分別設置為7和3.2,對于圖像重構(gòu)的質(zhì)量較好,重構(gòu)的算法采用的是正交匹配追蹤(OMP)算法,取壓縮比為2∶3,測試圖像采用圖像大小為256×256的Lena、Peppers、Brain。如圖2所示是本方案的仿真結(jié)果,實驗證明,本方案能同時完成圖像的壓縮和加密,且保證了圖像的重構(gòu)質(zhì)量,效果良好。 (a)Lena明文圖像 (b)加密的Lena圖像 (c)解密的Lena圖像 一個良好的圖像加密算法必須要有足夠大的密鑰空間來抵抗暴力統(tǒng)計攻擊,當密鑰空間大于2100才能保證其密鑰空間的安全性,本方案中的密鑰是K={x0,y0,Z0,w0,k1,k2},其中,x0∈(-45.5988,41.2199),y0∈(-58.2307,60.2309),Z0∈(10.1560,129.6872),w0∈(-4.6467,23.7265),k1∈[0,7],k3∈[0,255],x0,y0,Z0,w0的步長均為10-3,k1,k2的步長均為1,因此密鑰空間大小約為2200?2100。 直方圖分析是衡量一個圖像像素值的統(tǒng)計特性,密文圖像的統(tǒng)計特性盡可能均勻分布,以抵抗統(tǒng)計分析。如圖3所示,三幅圖像的明文圖像的直方圖起伏變化明顯,加密后的圖像直方圖與原圖像有很大不同,其像素值均勻分布,可以有效地抵抗統(tǒng)計攻擊。 (a)Lena明文直方圖 (b)Lena密文直方圖 一般地,明文圖像在水平、垂直、正對角和反對角方向上的相鄰像素間均具有較強的相關性,而密文圖像中的相鄰像素點間應沒有相關性。加密后的圖像其相關性變低,如表1所示是Lena、Peppers、Brain圖像及其密文圖像,隨機選取3 000對相鄰像素在水平、垂直、正對角和反對角方向上的測試結(jié)果。 表1 Lena、Peppers、Brain明文和密文圖像的相關系數(shù) 表1表明本算法能有效地降低相鄰像素間的相關性。 差分分析的目的是檢驗加密算法是否可以有效地抵御差分攻擊。其判定指標是圖像像素值變化率(NPCR)和歸一化像素值平均改變強度(UACI)。其表達式是: (12) (13) 通過測試,得到本方案中加密算法的NPCR和UACI分別為99.5627%、33.4625%,而NPCR和UACI的理想期望值是99.6094%、33.4635%,對比不同文獻,可以明顯看出明文對密文存在雪崩效應,密文對明文的細小變化存在高度的敏感性。 運行效率是指圖像在加密過程和解密過程中所消耗的時間,本方案所設計的圖像混沌加密算法和基于壓縮感知的圖像混沌加密算法,彼此做對比實驗,其中以Lena圖像為例,如表2所示,從表2可以總結(jié)出本方案在圖像加密和解密過程中效果良好,在保證圖像重構(gòu)質(zhì)量的前提下,加快了加密和解密過程中的速度。 表2 Lena圖像加密時間對比 單位:秒 筆者提出了一種兼顧壓縮性能與安全性能的加密方案,實現(xiàn)了圖像的同步加密與壓縮,其主要特點是將壓縮感知理論和圖像混沌理論相結(jié)合,在大數(shù)據(jù)時代下,有利于圖像信息的傳輸和存儲。通過對本方案仿真實驗結(jié)果的直方圖分析、相關性分析、差分分析、峰值信噪比分析等性能分析,結(jié)果表明,圖像在加密過程中,在保證圖像信息質(zhì)量的前提下,提高了加密和解密的速度,驗證了本方案的可靠性、安全性以及魯棒性。1.5 構(gòu)造測量矩陣
2 加密和解密步驟
2.1 總的設計方案
2.2 加密步驟
2.3 解密步驟
3 實驗仿真及其安全性能分析
3.1 基于壓縮感知的圖像混沌加密仿真實驗
3.2 密鑰空間分析
3.3 直方圖分析
3.4 相關性分析
3.5 差分分析
3.6 運行效率
4 結(jié)論