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