熊冰冰,溫文媖,方玉明,張玉書
1(江西財(cái)經(jīng)大學(xué) 信息管理學(xué)院,南昌 330000)
2(南京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,南京 210000)
云存儲(chǔ)是云計(jì)算的數(shù)據(jù)存儲(chǔ)基礎(chǔ)設(shè)施,為科研所、政府、企業(yè)和個(gè)人用戶提供數(shù)據(jù)存儲(chǔ)服務(wù),用戶可以按需獲取數(shù)據(jù),是一種便捷的數(shù)據(jù)存儲(chǔ)服務(wù).在云存儲(chǔ)廣泛應(yīng)用的同時(shí),所帶來的問題也日益凸顯:1)大量攜帶用戶隱私信息的圖像數(shù)據(jù)存儲(chǔ)在云端中,用戶隱私數(shù)據(jù)存在泄露隱患;2)由于傳感器和移動(dòng)設(shè)備等資源有限,面對(duì)需要接收的巨大數(shù)據(jù)量,實(shí)現(xiàn)低成本采樣和傳輸?shù)男枨箫@得十分迫切.隨著云存儲(chǔ)圖像規(guī)模的增長,隱私泄露逐漸頻繁.許多好萊塢明星存儲(chǔ)于云端的私人圖像曾被黑客泄露,除此之外,Facebook曾被多次曝光竊取用戶圖像數(shù)據(jù)[1,2].
圖像加密技術(shù)是防止圖像數(shù)據(jù)泄露的有效手段之一,主要通過密鑰將傳輸?shù)膱D像信息轉(zhuǎn)為密文,人眼通過密文不能直接獲取有效信息,有效降低圖像信息被竊取轉(zhuǎn)而為他人所利用的概率,進(jìn)而保護(hù)其在傳輸過程中的安全.混沌加密作為最常見的圖像加密技術(shù),主要利用混沌系統(tǒng)的一些基本特征,如遍歷性(Ergodicity)、混合性(Mixing)、確定性(Exactness)、對(duì)初始條件的敏感性(Sensitivity)和吻合于密碼學(xué)中的兩個(gè)基本原則:混亂(Confusion)和擴(kuò)散(Diffusion).混沌圖像加密主要是在加密構(gòu)架下,利用混沌系統(tǒng)產(chǎn)生的序列控制塊圖像、行和列像素位置或者比特面的分布以及擴(kuò)散對(duì)應(yīng)的像素值.大量研究表明,利用混沌能很好地解決圖像加密領(lǐng)域的一些問題[3-6].Zhuang等人[7]提出基于新的五維多環(huán)多翼超混沌系統(tǒng)的圖像加密算法,通過混沌序列,對(duì)明文圖像矩陣進(jìn)行置亂和異或運(yùn)算,得到最終密文圖像.針對(duì)圖像加密,該算法有較好的加密效果.
然而與文本信息相比,圖片和視頻數(shù)據(jù)需要占據(jù)較大的存儲(chǔ)空間,加密它們需要更多的計(jì)算量以及時(shí)間,加密效率相對(duì)下降.壓縮感知(Compressed Sensing,簡稱CS)技術(shù),即同時(shí)對(duì)信號(hào)進(jìn)行采樣和壓縮操作[8-10].為保護(hù)圖像數(shù)據(jù)的機(jī)密性,Huang等人[11]提出用于圖像安全的壓縮擴(kuò)散置換策略,該策略使用壓縮感知技術(shù)壓縮圖像,通過迭代二維正弦邏輯調(diào)制圖構(gòu)造測(cè)量矩陣,采用異或和擴(kuò)散操作,增強(qiáng)策略安全性.Wen等人[12]針對(duì)感知加密圖像的視覺安全措施,構(gòu)建感知加密光場(chǎng)圖像數(shù)據(jù)庫,提出一種新的視覺安全性評(píng)估方法.Chai等人[13]結(jié)合壓縮感知和最低有效位,提出高效的圖像壓縮和解密方案.對(duì)于已知明文和選擇明文攻擊,該算法具有魯棒性.值得一提的是,壓縮感知技術(shù)雖然是有損壓縮,但人們可以接受具有一定程度失真的圖像.Chen等人[14]提出新的矩陣乘法—半張量積(Semi-tensor product),能夠?qū)崿F(xiàn)前邊矩陣列數(shù)和后邊矩陣行數(shù)不等時(shí)的矩陣乘法運(yùn)算.基于這樣的性質(zhì),半張量積為實(shí)現(xiàn)不同階的高維矩陣數(shù)字信號(hào)處理提供解決思路.Xie等人[15]證明半張量積能用于壓縮感知,可以提高內(nèi)存使用率和節(jié)省測(cè)量矩陣的存儲(chǔ)空間.Wen等人[16]提出一種基于半張量積的CS策略,結(jié)合Arnold置亂和秘密圖像的視覺安全策略,使該算法在減少測(cè)量矩陣占用空間的同時(shí),恢復(fù)圖像仍保有較高的重建質(zhì)量.受此工作的啟發(fā),本文結(jié)合壓縮感知和半張量積,減小測(cè)量矩陣的存儲(chǔ)量,極大地節(jié)省傳輸端的存儲(chǔ)空間.
元胞自動(dòng)機(jī),即由一系列元胞所組成的空間模型,主要包括元胞、元胞空間和規(guī)則等,是一種簡單的計(jì)算方式,在一定規(guī)則下,元胞的變化難以預(yù)測(cè),因此基于元胞自動(dòng)機(jī)的圖像加密算法可以隱藏明文圖像信息,能夠很好地保護(hù)用戶圖像數(shù)據(jù),在密碼學(xué)領(lǐng)域中被廣泛應(yīng)用[17,18].Ji等人[19]提出基于多重元胞自動(dòng)機(jī)的圖像水印加密算法,利用不同的元胞自動(dòng)機(jī)規(guī)則逐級(jí)加密,有效克服基于直方圖平移類可逆水印算法在安全性方面的不足,具有較高的安全性能.元胞自動(dòng)機(jī)中最典型的是生命游戲,它由無數(shù)個(gè)局部變化過程組合而成,在變化過程中,簡單圖像可以變復(fù)雜,復(fù)雜圖像也可以不斷簡化.
基于以上分析,本文結(jié)合半張量積-壓縮感知和生命游戲,提出一種基于云存儲(chǔ)的圖像數(shù)據(jù)保護(hù)方案.本方案的創(chuàng)新性與優(yōu)勢(shì)在于:1)利用半張量積運(yùn)算生成高維矩陣,輸入端可以通過兩個(gè)低階矩陣獲得高階矩陣,再與圖像數(shù)據(jù)信號(hào)進(jìn)行矩陣相乘,節(jié)省圖像加密過程中所需的存儲(chǔ)空間,提升數(shù)據(jù)傳輸速率;2)高維的混沌系統(tǒng)所使用的參數(shù)更多,密鑰空間大,抵抗暴力攻擊的能力更強(qiáng);3)初始細(xì)胞矩陣會(huì)隨著明文圖像的改變而發(fā)生變更,加強(qiáng)圖像數(shù)據(jù)在傳輸過程中的隱私保護(hù).實(shí)驗(yàn)表明,本方案能夠用于云存儲(chǔ),并且在一定資源的條件下,能夠?qū)崿F(xiàn)圖像數(shù)據(jù)安全和高效的傳輸.
生命游戲(Game of life,簡稱GOL)是一種元胞自動(dòng)機(jī),由二維細(xì)胞矩陣組成.用0和1表示細(xì)胞的兩種狀態(tài),0表示細(xì)胞是活的,1表示細(xì)胞是死的.細(xì)胞分布在網(wǎng)格內(nèi),根據(jù)細(xì)胞的局部空間形態(tài)決定細(xì)胞下一刻的生命狀態(tài).細(xì)胞之間的相互作用規(guī)則如下:
1)當(dāng)細(xì)胞周圍少于兩個(gè)活細(xì)胞,任何活細(xì)胞都會(huì)死亡;
2)當(dāng)細(xì)胞周圍的活細(xì)胞是兩個(gè)或3個(gè)時(shí),任何活細(xì)胞都是活的;
3)當(dāng)細(xì)胞周圍剛好存在3個(gè)活細(xì)胞,任何死細(xì)胞都會(huì)變?yōu)榛罴?xì)胞;
4)當(dāng)細(xì)胞周圍存在3個(gè)以上的活細(xì)胞時(shí),任何活細(xì)胞都可能死亡;
5)細(xì)胞的局部空間形態(tài)指的是由細(xì)胞和與它相鄰的8個(gè)鄰居細(xì)胞組成的空間形態(tài).
生命游戲具有組成結(jié)構(gòu)簡單和組成單元之間復(fù)雜的動(dòng)力學(xué)特性,本文利用生命游戲規(guī)則生成置亂矩陣,并用它作用圖像的稀疏矩陣.基于細(xì)胞狀態(tài)的變化性,可以隱藏明文圖像信息,能夠很好地保護(hù)用戶圖像數(shù)據(jù).
相比于低維混沌系統(tǒng),基于高維混沌系統(tǒng)的加密算法安全性更高,密鑰空間也顯著增大.閔富紅等人[20]設(shè)計(jì)的五維憶阻混沌系統(tǒng).
(1)

壓縮感知作為一種新型的采樣技術(shù),能夠以遠(yuǎn)低于奈奎斯特采樣定理要求的頻率進(jìn)行信號(hào)采樣.在擁有較少采樣數(shù)據(jù)的情況下,壓縮感知有很大概率恢復(fù)原始信號(hào)并且保證信號(hào)的準(zhǔn)確性.
假設(shè)一個(gè)維離散信號(hào)為x=[x1,x2,…,xN]T,x∈Rn,存在正交矩陣Ψ∈Rn×n,使得:
x=Ψs
(2)
其中稀疏系數(shù)s=[s1,s2,…,sN]T,s∈Rn,Ψ表示稀疏矩陣,s是信號(hào)經(jīng)過稀疏化表示后的稀疏向量.
需要構(gòu)建一個(gè)與Ψ不相關(guān)的觀測(cè)矩陣Φ去采樣信號(hào)x,通過矩陣運(yùn)算,得到低維的觀測(cè)向量y=[y1,y2,…,yM]T,它包含原始信號(hào)的所有信息.采樣過程為:
y=Φx=ΦΨs=Θs
(3)
其中Θ=ΦΨ稱為感知矩陣,Φ是M×N的測(cè)量矩陣,Ψ是正交矩陣,s是稀疏系數(shù)矩陣.
信號(hào)可以使用壓縮感知技術(shù)的兩個(gè)必要條件分別是信 號(hào)的稀疏性和不相關(guān)性.但是,通常信號(hào)在變換域上不會(huì)呈現(xiàn)完全的稀疏性,而是部分稀疏,這樣的信號(hào)也可以被認(rèn)為是可壓縮的.因此采用合理的信號(hào)稀疏表示方式對(duì)于信號(hào)的壓縮和重構(gòu)起著重要的作用.本文采用離散小波變換(DWT)對(duì)圖像矩陣進(jìn)行稀疏變換,其表示過程為:
x=WTsW
(4)
其中W是離散小波變換基矩陣并且滿足WTW=I和WWT=I,s是信號(hào)的稀疏化表示.
本文采用隨機(jī)矩陣生成測(cè)量矩陣,其中測(cè)量矩陣每一行都是通過向左移動(dòng)前一行得到,初始行Φ是通過迭代混沌系統(tǒng)產(chǎn)生,測(cè)量矩陣為M×N矩陣.測(cè)量矩陣的第一行被設(shè)定為Φ(j-1,N),目的是為了減少列向量間的相關(guān)性,測(cè)量矩陣的生成過程為:
(5)
其中2≤j≤M,λ≥1.從測(cè)量矩陣的生成過程可以知道,它較容易生成,但是如果需要傳輸和存儲(chǔ)大型的測(cè)量矩陣,會(huì)占很大的存儲(chǔ)空間,本文提出的半張量積運(yùn)算剛好可以避免這個(gè)問題.為根據(jù)恢復(fù),需要解決一個(gè)最優(yōu)化問題:
(6)

半張量積能夠?qū)崿F(xiàn)前一個(gè)矩陣的列數(shù)和后一個(gè)矩陣的行數(shù)不相同的矩陣運(yùn)算,半張量積定義為:
(7)
其中X是一個(gè)行向量,且X∈Rnp,Y是一個(gè)列向量,且Y∈Rp,把X平均分成p塊,每塊大小為1×n.那么推廣至矩陣,假設(shè)矩陣A∈Rm×n,B∈Rp×q,若是n是p的因子或p是n的因子,則A和B的半張量積T為:
(8)
半張量積壓縮感知模型的定義為:
(9)

當(dāng)t=1,半張量積壓縮感知模型退化為傳統(tǒng)的壓縮感知模型,即:
yM×1=ΦM×N∝ΨN×N∝SN×1
(10)
當(dāng)t>1時(shí),測(cè)量矩陣Φ所需要的存儲(chǔ)空間將成倍減少.

給定憶阻混沌系統(tǒng)的特征參數(shù)初始值,特征參數(shù)s,I,I1和I2的計(jì)算過程為:
(11)
(12)
(13)
(14)
其中P(i,j)是大小為m×n的圖像矩陣P位于(i,j)的像素.對(duì)于256灰度圖像,L=8,「x?表示最接近x的整數(shù).
生成五維憶阻系統(tǒng)的參數(shù),x1(0)、x2(0)、x3(0)、x4(0)、x5(0),具體生成過程為:
(15)

該方法簡稱PDGSM,主用于置亂明文圖像的稀疏系數(shù)矩陣,從而降低矩陣向量元素間的相關(guān)性.利用GOL規(guī)則生成置亂矩陣SM,生成過程為:
(16)
其中Sn(i,j)是單元矩陣Sn位于(i,j)處的元素,n是迭代次數(shù).為增加安全性,利用置亂矩陣SM置亂稀疏矩陣P1得到矩陣P2,其過程如圖1所示.

圖1 矩陣置亂過程Fig.1 Scrambling matrix process
Step1.將置亂矩陣SM的每一行按照升序排序,得到索引矩陣SC,然后結(jié)合矩陣行的位置,得到矩陣CC.

Step3.根據(jù)索引向量,對(duì)矩陣SM的每一列進(jìn)行排序.


通過對(duì)明文圖像做DWT處理得到稀疏系數(shù)矩陣,然后通過基于明文相關(guān)的生命博弈置亂方法對(duì)該矩陣進(jìn)行置亂、CS壓縮、量化和密鑰序列擴(kuò)散,最后得到密文圖像,加密算法過程如圖2所示.

圖2 加密算法過程Fig.2 Encryption algorithm process
具體加密步驟如下:
Step1.矩陣稀疏化.將大小為m×n的明文圖像矩陣在DWT域中表示,得到稀疏系數(shù)矩陣P1,具體過程為:
P1=DWT(P)
(17)
Step2.混沌序列的生成.憶阻混沌系統(tǒng)迭代并生成混沌序列,需要迭代(N0+mn)次.X,Y,Z,U,V都是大小為1×mn的序列,且:
(18)
其中s是明文圖像P的信息熵,最后得到5個(gè)混沌序列X,Y,Z,U,V,應(yīng)用于PDGSM、壓縮和擴(kuò)散.
Step3.混沌序列的優(yōu)化.通過重組5個(gè)混沌序列X,Y,Z,U,V,得到序列A和B,得到的序列A和B也是大小為1×mn的序列.A和B的優(yōu)化過程為:
(19)
其中abs是計(jì)算數(shù)的絕對(duì)值,floor(x)是獲取序列中不超過x的最大整數(shù),并且5≤τ1,τ2≤16.A′和B′用于生成GOL的初始單元矩陣.
Step4.GOL初始細(xì)胞基質(zhì)的生成.當(dāng)S(j)=1,這是一個(gè)活細(xì)胞,當(dāng)S(j)=0,這是一個(gè)死細(xì)胞,i=1,2,…,Mn.生成過程為:
(20)
把該序列調(diào)整為大小為m×n的矩陣S0.
Step5.置亂矩陣SM的生成.利用Step 4得到的矩陣S0,根據(jù)GOL規(guī)則進(jìn)化n次,最后得到S1,S2,…,S,進(jìn)而構(gòu)造SM矩陣,具體過程為:
(21)
其中sn(i,j)指的是單位矩陣sn位于(i,j)的元素,n表示迭代次數(shù),然后利用PDGSM對(duì)稀疏系數(shù)矩陣P1進(jìn)行置亂,具體過程為:
P2=PDGSM(P1,SM)
(22)
Step 3~Step 5表示圖像密碼系統(tǒng)的排列過程.通過對(duì)Step 2生成的混沌序列進(jìn)行重組和優(yōu)化,在Step 3中生成另外兩個(gè)隨機(jī)序列A0和B0,它們?cè)赟tep 4中用于生成GOL的初始單元矩陣S0.在Step 5中,通過GOL規(guī)則迭代S0得到置亂矩陣SM.矩陣SM具有隨機(jī)性,即明文圖像的元素可以移動(dòng)到任意的位置,極大地提高排列水平.
Step6.結(jié)合半張量積和壓縮感知技術(shù)測(cè)量矩陣P2.利用半張量積,根據(jù)兩個(gè)已知大小為2×2的矩陣,經(jīng)過多次循環(huán)操作生成一個(gè)高維矩陣,將其作用于由式(5)得到的矩陣,得到大小為M×N的測(cè)量矩陣Φ,且M=CR×m,N=n.將Φ作用于P2,得到大小為M×n的矩陣P2.
Step7.矩陣P2的量化.將矩陣P2的所有元素都量化成0~255之間的整數(shù),量化過程為:
(23)
其中P3i和P4i是矩陣P3和矩陣P4第i個(gè)位置的元素,i=1,2,…,Mn,max和min是矩陣P3中的最大值和最小值.
在Step 6中,采用壓縮感知技術(shù),明文圖像被壓縮和加密,圖像的體積減小.但是壓縮后的圖像,信息熵和隨機(jī)性相應(yīng)地也會(huì)降低.在Step 7中將壓縮矩陣量化成圖像矩陣,提高數(shù)據(jù)的安全性.
Step8.參數(shù)bet0的計(jì)算.利用明文圖像的特征信息計(jì)算參數(shù)bet0,τ2∈[5,16],計(jì)算過程為:
(24)
bet0=mod(floor(bet×10τ3,5)+1
(25)
Step9.序列W的生成.從序列X,Y,Z,U,V中選擇一個(gè)序列,記為W.當(dāng)bet0=0時(shí),則W=X;當(dāng)bet0=1時(shí),則W=Y;當(dāng)bet0=2時(shí),則W=Z;當(dāng)bet0=3時(shí),則W=U;當(dāng)bet0=4時(shí),則W=V.
Step10.擴(kuò)散關(guān)鍵序列KK的獲取.序列KK用來擴(kuò)散明文圖像,有利于數(shù)據(jù)隱私保護(hù),其生成過程為:
KKi=floor((abs(Wi)-floor(Wi)×10τ4)mod256
(26)
其中τ4∈[5,16],Wi和KKi是序列W和KK序列的第i個(gè)位置的元素,i=1,2,…,Mn.
Step11.矩陣P4的擴(kuò)散,迭代過程為:
(27)
其中SM1,1和SMm,n表示矩陣SM位于(1,1)和(m,n)的元素,s是圖像的信息熵,P4i和KKi是矩陣P4和序列KK的第i個(gè)元素,?表示的是異或邏輯運(yùn)算符,Ci-1是密碼圖像C的第(i-1)個(gè)元素,i=1,2,…,Mn.
通過Step 8~Step 11實(shí)現(xiàn)壓縮圖像的擴(kuò)散.在Step 8中得到與明文圖像有關(guān)的參數(shù)bet0;在Step 9中,利用bet0的值,根據(jù)序列X,Y,Z,U,V中得到序列W,在Step 10中,將W序列轉(zhuǎn)換為范圍為0~255的序列KK,在Step 11中,根據(jù)序列KK擴(kuò)散圖像P4.擴(kuò)散過程可以改善壓縮圖像的隨機(jī)性,增大其信息熵,從而能夠抵抗熵攻擊.
圖像解密是圖像加密的逆過程,如圖3所示.在解密之前,必須把解密參數(shù)發(fā)送給接收方,包括x′1(0)、x′2(0)、x′3(0)、x′4(0)、x′5(0)、s、I、I1、I2、min、max.

圖3 解密算法過程Fig.3 Decryption algorithm process
具體解密步驟如下:
Step1.混沌序列的生成.首先使用解密密鑰獲得初始值x1(0)、x2(0)、x3(0)、x4(0)、x5(0),然后對(duì)憶阻混沌系統(tǒng)迭代得到5個(gè)大小為1×mn的混沌序列X,Y,Z,U,V.
Step2.初始單元矩陣和置亂矩陣SM的生成.生成過程和加密算法Step 3~Step 5的過程一致,先生成初始單元矩陣S0,再根據(jù)GOL規(guī)則把S0進(jìn)化n次,得到S1,S2,…,Sn,進(jìn)而得到SM矩陣.
Step3.逆擴(kuò)散關(guān)鍵矩陣的獲取.通過使用解密密鑰I1,I2,利用等式獲得密鑰矩陣KK.
Step4.矩陣P4的生成.密文圖像逆擴(kuò)散,通過式(28)對(duì)大小為M×N的密文圖像逆擴(kuò)散,得到矩陣P4.
(28)
其中SM1,1和SMm,n表示矩陣SM位于(1,1)和(m,n)的元素,s是圖像信息熵,P4i和KKi為矩陣P4和序列KK的第i個(gè)位置的元素,?表示異或邏輯運(yùn)算符,CI-1是密碼圖像C的第(i-1)個(gè)位置的元素i=1,2,…,Mn,P4i是密鑰.
Step5.矩陣P4的逆量化.利用密鑰min和max對(duì)矩陣P4進(jìn)行逆量化,具體過程為:
(29)
其中P3i和P4i是矩陣P3和矩陣P4的第i個(gè)位置的元素i=1,2,…,Mn,max和min是矩陣Pa中的最大值和最小值.
Step6.矩陣P2的重構(gòu).先獲得測(cè)量矩陣Φ,然后根據(jù)OMP方法和矩陣P3重構(gòu)出矩陣P2.
Step7.矩陣P1的生成,具體過程為:
P1=IPDGSM(P2,SM)
(30)
Step8.通過對(duì)矩陣P1的逆DWT操作,得到最后還原的明文圖像,至此解密過程結(jié)束.
本文選擇大小為512×512的醫(yī)學(xué)圖像和圖像Lena作為測(cè)試圖像,如圖4(a)、(b)所示,其中算法單元矩陣的置亂度固定為18.本文分別將壓縮比設(shè)置為0.25,0.5,0.7,它們所對(duì)應(yīng)的密文圖像和解密圖像如圖5和圖6所示.圖5中(a)-(c)表示醫(yī)學(xué)圖像不同壓縮比所對(duì)應(yīng)的密文圖像,(d)-(f)是對(duì)密文圖像進(jìn)行解密處理后的重構(gòu)圖像.圖6中(a)-(c)為 Lena圖像不同壓縮比所對(duì)應(yīng)的密文圖像,(d)-(f)是對(duì)密文圖像進(jìn)行解密處理后的重構(gòu)圖像.

圖4 明文圖像Fig.4 Plain image

圖5 關(guān)于圖4(a)的密文圖像和解密圖像(不同壓縮率)Fig.5 Ciphertext image and decryption image of fig.4(a)(different compression rates)

圖6 關(guān)于圖4(b)的密文圖像和解密圖像(不同壓縮率)Fig.6 Ciphertext image and decryption image of fig.4(b)(different compression rate)
觀察上述明文圖像、密文圖像和解密圖像,可以明顯發(fā)現(xiàn)壓縮比和密文圖像的體積成正相關(guān),和圖像的重構(gòu)效果成正相關(guān).壓縮比越大,則密文圖像的體積越大,其重構(gòu)效果越好;壓縮比越小,則密文圖像的體積越小,其重構(gòu)效果相對(duì)較差.但是總體而言,該加密算法對(duì)于人像、醫(yī)學(xué)圖像的加密和解密都有不錯(cuò)的效果.除此之外,對(duì)明文圖像加密獲得的密文圖像是不可被人眼識(shí)別的,并且在視覺效果上,重構(gòu)后的圖像依舊有著較好的辨識(shí)度.
為進(jìn)一步驗(yàn)證加密算法的壓縮和重建效果,本文使用峰值信噪比(PSNR)來定量地描述不同圖像的區(qū)別,峰值信噪比公式為:
(31)
其中x(i,j)和y(i,j)分別表示明文圖像和重建圖像位于(i,j)處的像素值,N1×N2表示圖像的大小.
當(dāng)壓縮比CR在0.25、0.3、0.4、0.5和0.7之間變化時(shí),解密圖像的PSNR值如表1所示,圖像的峰值信噪比和壓縮率總體呈正相關(guān),隨著壓縮率變大,PSNR的值也會(huì)變大.表1中前3幅圖像的大小為512×512,之后圖像的大小均為256×256.總體來看,尺寸更小的圖片PSNR值相對(duì)較低,當(dāng)壓縮率較低時(shí),重構(gòu)效果會(huì)差一些.相比于人像、動(dòng)物、房子等圖像,當(dāng)壓縮率相同時(shí),醫(yī)學(xué)圖像的PSNR值更高,重構(gòu)效果也更好.

表1 解密圖像的PSNR值(不同壓縮率)Table 1 PSNR value of decrypted image (Different compression ratio)
密鑰敏感性是衡量密碼系統(tǒng)是否有效的一個(gè)重要指標(biāo).針對(duì)兩個(gè)參數(shù)x1、x2作了10-15的微小變化,只改變其中一個(gè)參數(shù),其余參數(shù)均保持不變,其中壓縮比為0.3,圖像Lena和醫(yī)學(xué)圖像恢復(fù)效果分別如圖7、圖8所示.

圖7 密鑰敏感度分析Fig.7 Key sensitivity analysis

圖8 密鑰敏感度分析Fig.8 Key sensitivity analysis
觀察圖7、圖8發(fā)現(xiàn),即便參數(shù)僅僅發(fā)生很小的變化,明文圖像也完全不能恢復(fù),人眼觀察是亂碼,不能得到任何有效的信息.為更加客觀的驗(yàn)證,本文采用均方誤差(MSE)來量化參數(shù)的靈敏度,均方誤差的定義為:
(32)
表2展示圖像參數(shù)改變前后的均方誤差,發(fā)現(xiàn)根據(jù)正確密鑰恢復(fù)的圖像MSE相對(duì)較小,即重建效果較好.觀察被10-15干擾的密鑰恢復(fù)的圖像,均方誤差很大,從中不能獲取有效信息.因此,本文提出的加密方案對(duì)密鑰高度敏感.

表2 正確和錯(cuò)誤密鑰恢復(fù)圖像的MSETable 2 Correct and wrong key to restore MSE of image
熵的概念源于熱力學(xué),圖像熵廣泛應(yīng)用于圖像加密處理領(lǐng)域,其直接反映圖像所包含的有效信息量,其公式為:
(33)

表3給出明文圖像和密文圖像的信息熵(CR=0.3).最后一行給出明文圖像和密文圖像的信息熵的平均值.根據(jù)圖表結(jié)果,即便部分明文圖像的信息熵只有6點(diǎn)多,大部分不超過7.5,密文圖像的信息熵的平均值還是大于7.99,與8極其接近.因此,該加密方案能夠很好地抵抗熵攻擊.

表3 圖像熵分析Table 3 Image entropy analysis
圖像直方圖可以很好的展示密文圖像的恢復(fù)效果,若是最后恢復(fù)圖像和明文圖像的直方圖盡可能接近,則密文圖像的恢復(fù)效果較好.在圖9中,明文圖像如圖9(a)、(b)所示,根據(jù)密文圖像的恢復(fù)圖像如圖9(c)、(d)所示,其中圖像(a)的大小為512×512,圖像(b)的大小為256×256.在圖10中,圖9明文圖像對(duì)應(yīng)的直方圖如圖10(a)、(b)所示,根據(jù)密文圖像的恢復(fù)圖像的直方圖如圖10(c)、(d)所示.觀察圖9和圖10,發(fā)現(xiàn)尺寸較大的明文圖像和重構(gòu)圖像的直方圖很接近,圖像的重構(gòu)效果較好,尺寸較小的明文圖像和重構(gòu)圖像的直方圖存在一定差距,圖像的重構(gòu)效果相對(duì)差一些.

圖9 明文圖像和解密圖像Fig.9 Plain image and decryption image

圖10 圖9明文圖像和解密圖像的直方圖Fig.10 Histogram of plain image and decryption image in fig.9
本文通過計(jì)算圖像相鄰像素間的相關(guān)性來評(píng)判該加密方案的置亂效果.從明文圖像中隨機(jī)選取2000個(gè)相鄰像素點(diǎn),分別計(jì)算在水平、垂直和正對(duì)角方向上的相關(guān)系數(shù).圖11中(a)~(c)和(d)~(f)分別表示像素在水平、垂直和正對(duì)角方向上的明文圖像Lena與其密文圖像的相關(guān)性.可以發(fā)現(xiàn)明文圖像相鄰像素之間的相關(guān)性很強(qiáng),與之相反,密文圖像的相鄰像素相關(guān)性明顯降低,說明該加密方案具有很好的置亂效果.

圖11 相關(guān)性分析:(a)~(c)明文水平、豎直和正對(duì)角相關(guān)性;(d)~(f)對(duì)應(yīng)密文相關(guān)性Fig.11 Correlation analysis:(a)~(c)plaintext horizontal,vertical and positive diagonal correlation;(d)~(f)corresponding ciphertext correlation
為更好地量化該方案的加密效果,本文引入相關(guān)系數(shù),計(jì)算公式為:
(34)


表4 相關(guān)性分析Table 4 Correlation analysis
一般來說,密鑰空間越大,攻擊者通過搜索密鑰來攻擊圖像加密算法的難度就越大.因此,一個(gè)有效的密碼系統(tǒng)應(yīng)當(dāng)具備足夠大的密鑰空間,能夠抵抗暴力攻擊.該算法密鑰包括參數(shù)x′1(0)、x′2(0)、x′3(0)、x′4(0)、x′5(0)和參數(shù)bet0等參數(shù),擁有足夠大的密鑰空間,能夠抵御蠻力攻擊.
假設(shè)明文圖像的大小為m×n,Step 1主要消耗時(shí)間的步驟是將明文圖像稀疏化,時(shí)間復(fù)雜度為Θ(m×n);Step 2的關(guān)鍵步驟是生成5個(gè)混沌序列的參數(shù),時(shí)間復(fù)雜度為Θ(5×m×n);Step 3關(guān)鍵需要時(shí)間的是優(yōu)化兩個(gè)混沌序列,時(shí)間復(fù)雜度為Θ(2×m×n);Step 4的關(guān)鍵是比較得到的兩個(gè)混沌序列,時(shí)間復(fù)雜度為Θ(m×n);Step 5的關(guān)鍵步驟是根據(jù)GOL規(guī)則得到大小m×n的置亂矩陣,時(shí)間復(fù)雜度為Θ(m×n);Step 6主要耗時(shí)間的是生成大小m×n的測(cè)量矩陣Φ,時(shí)間復(fù)雜度為Θ(m×n);Step 7用于量化CS后的測(cè)量值,時(shí)間復(fù)雜度為Θ(CR×m×n);Step 8~Step 9的時(shí)間復(fù)雜度為Θ(1);Step 10主要是生成密鑰矩陣KK,時(shí)間復(fù)雜度為Θ(CR×m×n);Step 11主要是擴(kuò)散大小為CR×m×n的序列,時(shí)間復(fù)雜度為Θ(CR×m×n);所以,本文提出的加密方案的時(shí)間復(fù)雜度為Θ(5×m×n).
本文針對(duì)云存儲(chǔ)中隱私和能耗問題,提出一種結(jié)合半張量積—壓縮感知和生命游戲技術(shù)的圖像數(shù)據(jù)保護(hù)算法.該算法結(jié)合壓縮感知和半張量積,節(jié)省圖像數(shù)據(jù)在云存儲(chǔ)傳輸過程中的空間,利用基于明文相關(guān)的生命博弈置亂方法,置亂稀疏圖像,增強(qiáng)算法的安全性.此外,本文還采用混沌系統(tǒng)產(chǎn)生的混沌序列,結(jié)合生命游戲規(guī)則生成置亂矩陣,增強(qiáng)元素隨機(jī)性,加強(qiáng)隱私保護(hù).實(shí)驗(yàn)結(jié)果表明,本文所提出的圖像數(shù)據(jù)保護(hù)算法具有密鑰敏感性強(qiáng)、密鑰空間大和圖像重構(gòu)效果較好等優(yōu)點(diǎn).
在提出的圖像加密算法中,利用混沌系統(tǒng)所產(chǎn)生的序列來進(jìn)行置亂和擴(kuò)散操作,解密過程所耗費(fèi)的時(shí)間增多,對(duì)圖像實(shí)時(shí)傳輸不利.因此,在未來的研究工作中,如何提升算法的解密效率是值得研究的課題.