熊冰冰,溫文媖,方玉明,張玉書
1(江西財經(jīng)大學(xué) 信息管理學(xué)院,南昌 330000)
2(南京航空航天大學(xué) 計算機學(xué)院,南京 210000)
云存儲是云計算的數(shù)據(jù)存儲基礎(chǔ)設(shè)施,為科研所、政府、企業(yè)和個人用戶提供數(shù)據(jù)存儲服務(wù),用戶可以按需獲取數(shù)據(jù),是一種便捷的數(shù)據(jù)存儲服務(wù).在云存儲廣泛應(yīng)用的同時,所帶來的問題也日益凸顯:1)大量攜帶用戶隱私信息的圖像數(shù)據(jù)存儲在云端中,用戶隱私數(shù)據(jù)存在泄露隱患;2)由于傳感器和移動設(shè)備等資源有限,面對需要接收的巨大數(shù)據(jù)量,實現(xiàn)低成本采樣和傳輸?shù)男枨箫@得十分迫切.隨著云存儲圖像規(guī)模的增長,隱私泄露逐漸頻繁.許多好萊塢明星存儲于云端的私人圖像曾被黑客泄露,除此之外,Facebook曾被多次曝光竊取用戶圖像數(shù)據(jù)[1,2].
圖像加密技術(shù)是防止圖像數(shù)據(jù)泄露的有效手段之一,主要通過密鑰將傳輸?shù)膱D像信息轉(zhuǎn)為密文,人眼通過密文不能直接獲取有效信息,有效降低圖像信息被竊取轉(zhuǎn)而為他人所利用的概率,進而保護其在傳輸過程中的安全.混沌加密作為最常見的圖像加密技術(shù),主要利用混沌系統(tǒng)的一些基本特征,如遍歷性(Ergodicity)、混合性(Mixing)、確定性(Exactness)、對初始條件的敏感性(Sensitivity)和吻合于密碼學(xué)中的兩個基本原則:混亂(Confusion)和擴散(Diffusion).混沌圖像加密主要是在加密構(gòu)架下,利用混沌系統(tǒng)產(chǎn)生的序列控制塊圖像、行和列像素位置或者比特面的分布以及擴散對應(yīng)的像素值.大量研究表明,利用混沌能很好地解決圖像加密領(lǐng)域的一些問題[3-6].Zhuang等人[7]提出基于新的五維多環(huán)多翼超混沌系統(tǒng)的圖像加密算法,通過混沌序列,對明文圖像矩陣進行置亂和異或運算,得到最終密文圖像.針對圖像加密,該算法有較好的加密效果.
然而與文本信息相比,圖片和視頻數(shù)據(jù)需要占據(jù)較大的存儲空間,加密它們需要更多的計算量以及時間,加密效率相對下降.壓縮感知(Compressed Sensing,簡稱CS)技術(shù),即同時對信號進行采樣和壓縮操作[8-10].為保護圖像數(shù)據(jù)的機密性,Huang等人[11]提出用于圖像安全的壓縮擴散置換策略,該策略使用壓縮感知技術(shù)壓縮圖像,通過迭代二維正弦邏輯調(diào)制圖構(gòu)造測量矩陣,采用異或和擴散操作,增強策略安全性.Wen等人[12]針對感知加密圖像的視覺安全措施,構(gòu)建感知加密光場圖像數(shù)據(jù)庫,提出一種新的視覺安全性評估方法.Chai等人[13]結(jié)合壓縮感知和最低有效位,提出高效的圖像壓縮和解密方案.對于已知明文和選擇明文攻擊,該算法具有魯棒性.值得一提的是,壓縮感知技術(shù)雖然是有損壓縮,但人們可以接受具有一定程度失真的圖像.Chen等人[14]提出新的矩陣乘法—半張量積(Semi-tensor product),能夠?qū)崿F(xiàn)前邊矩陣列數(shù)和后邊矩陣行數(shù)不等時的矩陣乘法運算.基于這樣的性質(zhì),半張量積為實現(xiàn)不同階的高維矩陣數(shù)字信號處理提供解決思路.Xie等人[15]證明半張量積能用于壓縮感知,可以提高內(nèi)存使用率和節(jié)省測量矩陣的存儲空間.Wen等人[16]提出一種基于半張量積的CS策略,結(jié)合Arnold置亂和秘密圖像的視覺安全策略,使該算法在減少測量矩陣占用空間的同時,恢復(fù)圖像仍保有較高的重建質(zhì)量.受此工作的啟發(fā),本文結(jié)合壓縮感知和半張量積,減小測量矩陣的存儲量,極大地節(jié)省傳輸端的存儲空間.
元胞自動機,即由一系列元胞所組成的空間模型,主要包括元胞、元胞空間和規(guī)則等,是一種簡單的計算方式,在一定規(guī)則下,元胞的變化難以預(yù)測,因此基于元胞自動機的圖像加密算法可以隱藏明文圖像信息,能夠很好地保護用戶圖像數(shù)據(jù),在密碼學(xué)領(lǐng)域中被廣泛應(yīng)用[17,18].Ji等人[19]提出基于多重元胞自動機的圖像水印加密算法,利用不同的元胞自動機規(guī)則逐級加密,有效克服基于直方圖平移類可逆水印算法在安全性方面的不足,具有較高的安全性能.元胞自動機中最典型的是生命游戲,它由無數(shù)個局部變化過程組合而成,在變化過程中,簡單圖像可以變復(fù)雜,復(fù)雜圖像也可以不斷簡化.
基于以上分析,本文結(jié)合半張量積-壓縮感知和生命游戲,提出一種基于云存儲的圖像數(shù)據(jù)保護方案.本方案的創(chuàng)新性與優(yōu)勢在于:1)利用半張量積運算生成高維矩陣,輸入端可以通過兩個低階矩陣獲得高階矩陣,再與圖像數(shù)據(jù)信號進行矩陣相乘,節(jié)省圖像加密過程中所需的存儲空間,提升數(shù)據(jù)傳輸速率;2)高維的混沌系統(tǒng)所使用的參數(shù)更多,密鑰空間大,抵抗暴力攻擊的能力更強;3)初始細胞矩陣會隨著明文圖像的改變而發(fā)生變更,加強圖像數(shù)據(jù)在傳輸過程中的隱私保護.實驗表明,本方案能夠用于云存儲,并且在一定資源的條件下,能夠?qū)崿F(xiàn)圖像數(shù)據(jù)安全和高效的傳輸.
生命游戲(Game of life,簡稱GOL)是一種元胞自動機,由二維細胞矩陣組成.用0和1表示細胞的兩種狀態(tài),0表示細胞是活的,1表示細胞是死的.細胞分布在網(wǎng)格內(nèi),根據(jù)細胞的局部空間形態(tài)決定細胞下一刻的生命狀態(tài).細胞之間的相互作用規(guī)則如下:
1)當(dāng)細胞周圍少于兩個活細胞,任何活細胞都會死亡;
2)當(dāng)細胞周圍的活細胞是兩個或3個時,任何活細胞都是活的;
3)當(dāng)細胞周圍剛好存在3個活細胞,任何死細胞都會變?yōu)榛罴毎?
4)當(dāng)細胞周圍存在3個以上的活細胞時,任何活細胞都可能死亡;
5)細胞的局部空間形態(tài)指的是由細胞和與它相鄰的8個鄰居細胞組成的空間形態(tài).
生命游戲具有組成結(jié)構(gòu)簡單和組成單元之間復(fù)雜的動力學(xué)特性,本文利用生命游戲規(guī)則生成置亂矩陣,并用它作用圖像的稀疏矩陣.基于細胞狀態(tài)的變化性,可以隱藏明文圖像信息,能夠很好地保護用戶圖像數(shù)據(jù).
相比于低維混沌系統(tǒng),基于高維混沌系統(tǒng)的加密算法安全性更高,密鑰空間也顯著增大.閔富紅等人[20]設(shè)計的五維憶阻混沌系統(tǒng).
(1)
壓縮感知作為一種新型的采樣技術(shù),能夠以遠低于奈奎斯特采樣定理要求的頻率進行信號采樣.在擁有較少采樣數(shù)據(jù)的情況下,壓縮感知有很大概率恢復(fù)原始信號并且保證信號的準確性.
假設(shè)一個維離散信號為x=[x1,x2,…,xN]T,x∈Rn,存在正交矩陣Ψ∈Rn×n,使得:
x=Ψs
(2)
其中稀疏系數(shù)s=[s1,s2,…,sN]T,s∈Rn,Ψ表示稀疏矩陣,s是信號經(jīng)過稀疏化表示后的稀疏向量.
需要構(gòu)建一個與Ψ不相關(guān)的觀測矩陣Φ去采樣信號x,通過矩陣運算,得到低維的觀測向量y=[y1,y2,…,yM]T,它包含原始信號的所有信息.采樣過程為:
y=Φx=ΦΨs=Θs
(3)
其中Θ=ΦΨ稱為感知矩陣,Φ是M×N的測量矩陣,Ψ是正交矩陣,s是稀疏系數(shù)矩陣.
信號可以使用壓縮感知技術(shù)的兩個必要條件分別是信 號的稀疏性和不相關(guān)性.但是,通常信號在變換域上不會呈現(xiàn)完全的稀疏性,而是部分稀疏,這樣的信號也可以被認為是可壓縮的.因此采用合理的信號稀疏表示方式對于信號的壓縮和重構(gòu)起著重要的作用.本文采用離散小波變換(DWT)對圖像矩陣進行稀疏變換,其表示過程為:
x=WTsW
(4)
其中W是離散小波變換基矩陣并且滿足WTW=I和WWT=I,s是信號的稀疏化表示.
本文采用隨機矩陣生成測量矩陣,其中測量矩陣每一行都是通過向左移動前一行得到,初始行Φ是通過迭代混沌系統(tǒng)產(chǎn)生,測量矩陣為M×N矩陣.測量矩陣的第一行被設(shè)定為Φ(j-1,N),目的是為了減少列向量間的相關(guān)性,測量矩陣的生成過程為:
(5)
其中2≤j≤M,λ≥1.從測量矩陣的生成過程可以知道,它較容易生成,但是如果需要傳輸和存儲大型的測量矩陣,會占很大的存儲空間,本文提出的半張量積運算剛好可以避免這個問題.為根據(jù)恢復(fù),需要解決一個最優(yōu)化問題:
(6)
半張量積能夠?qū)崿F(xiàn)前一個矩陣的列數(shù)和后一個矩陣的行數(shù)不相同的矩陣運算,半張量積定義為:
(7)
其中X是一個行向量,且X∈Rnp,Y是一個列向量,且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時,測量矩陣Φ所需要的存儲空間將成倍減少.
給定憶阻混沌系統(tǒng)的特征參數(shù)初始值,特征參數(shù)s,I,I1和I2的計算過程為:
(11)
(12)
(13)
(14)
其中P(i,j)是大小為m×n的圖像矩陣P位于(i,j)的像素.對于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ù)索引向量,對矩陣SM的每一列進行排序.
通過對明文圖像做DWT處理得到稀疏系數(shù)矩陣,然后通過基于明文相關(guān)的生命博弈置亂方法對該矩陣進行置亂、CS壓縮、量化和密鑰序列擴散,最后得到密文圖像,加密算法過程如圖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個混沌序列X,Y,Z,U,V,應(yīng)用于PDGSM、壓縮和擴散.
Step3.混沌序列的優(yōu)化.通過重組5個混沌序列X,Y,Z,U,V,得到序列A和B,得到的序列A和B也是大小為1×mn的序列.A和B的優(yōu)化過程為:
(19)
其中abs是計算數(shù)的絕對值,floor(x)是獲取序列中不超過x的最大整數(shù),并且5≤τ1,τ2≤16.A′和B′用于生成GOL的初始單元矩陣.
Step4.GOL初始細胞基質(zhì)的生成.當(dāng)S(j)=1,這是一個活細胞,當(dāng)S(j)=0,這是一個死細胞,i=1,2,…,Mn.生成過程為:
(20)
把該序列調(diào)整為大小為m×n的矩陣S0.
Step5.置亂矩陣SM的生成.利用Step 4得到的矩陣S0,根據(jù)GOL規(guī)則進化n次,最后得到S1,S2,…,S,進而構(gòu)造SM矩陣,具體過程為:
(21)
其中sn(i,j)指的是單位矩陣sn位于(i,j)的元素,n表示迭代次數(shù),然后利用PDGSM對稀疏系數(shù)矩陣P1進行置亂,具體過程為:
P2=PDGSM(P1,SM)
(22)
Step 3~Step 5表示圖像密碼系統(tǒng)的排列過程.通過對Step 2生成的混沌序列進行重組和優(yōu)化,在Step 3中生成另外兩個隨機序列A0和B0,它們在Step 4中用于生成GOL的初始單元矩陣S0.在Step 5中,通過GOL規(guī)則迭代S0得到置亂矩陣SM.矩陣SM具有隨機性,即明文圖像的元素可以移動到任意的位置,極大地提高排列水平.
Step6.結(jié)合半張量積和壓縮感知技術(shù)測量矩陣P2.利用半張量積,根據(jù)兩個已知大小為2×2的矩陣,經(jīng)過多次循環(huán)操作生成一個高維矩陣,將其作用于由式(5)得到的矩陣,得到大小為M×N的測量矩陣Φ,且M=CR×m,N=n.將Φ作用于P2,得到大小為M×n的矩陣P2.
Step7.矩陣P2的量化.將矩陣P2的所有元素都量化成0~255之間的整數(shù),量化過程為:
(23)
其中P3i和P4i是矩陣P3和矩陣P4第i個位置的元素,i=1,2,…,Mn,max和min是矩陣P3中的最大值和最小值.
在Step 6中,采用壓縮感知技術(shù),明文圖像被壓縮和加密,圖像的體積減小.但是壓縮后的圖像,信息熵和隨機性相應(yīng)地也會降低.在Step 7中將壓縮矩陣量化成圖像矩陣,提高數(shù)據(jù)的安全性.
Step8.參數(shù)bet0的計算.利用明文圖像的特征信息計算參數(shù)bet0,τ2∈[5,16],計算過程為:
(24)
bet0=mod(floor(bet×10τ3,5)+1
(25)
Step9.序列W的生成.從序列X,Y,Z,U,V中選擇一個序列,記為W.當(dāng)bet0=0時,則W=X;當(dāng)bet0=1時,則W=Y;當(dāng)bet0=2時,則W=Z;當(dāng)bet0=3時,則W=U;當(dāng)bet0=4時,則W=V.
Step10.擴散關(guān)鍵序列KK的獲取.序列KK用來擴散明文圖像,有利于數(shù)據(jù)隱私保護,其生成過程為:
KKi=floor((abs(Wi)-floor(Wi)×10τ4)mod256
(26)
其中τ4∈[5,16],Wi和KKi是序列W和KK序列的第i個位置的元素,i=1,2,…,Mn.
Step11.矩陣P4的擴散,迭代過程為:
(27)
其中SM1,1和SMm,n表示矩陣SM位于(1,1)和(m,n)的元素,s是圖像的信息熵,P4i和KKi是矩陣P4和序列KK的第i個元素,?表示的是異或邏輯運算符,Ci-1是密碼圖像C的第(i-1)個元素,i=1,2,…,Mn.
通過Step 8~Step 11實現(xiàn)壓縮圖像的擴散.在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擴散圖像P4.擴散過程可以改善壓縮圖像的隨機性,增大其信息熵,從而能夠抵抗熵攻擊.
圖像解密是圖像加密的逆過程,如圖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),然后對憶阻混沌系統(tǒng)迭代得到5個大小為1×mn的混沌序列X,Y,Z,U,V.
Step2.初始單元矩陣和置亂矩陣SM的生成.生成過程和加密算法Step 3~Step 5的過程一致,先生成初始單元矩陣S0,再根據(jù)GOL規(guī)則把S0進化n次,得到S1,S2,…,Sn,進而得到SM矩陣.
Step3.逆擴散關(guān)鍵矩陣的獲取.通過使用解密密鑰I1,I2,利用等式獲得密鑰矩陣KK.
Step4.矩陣P4的生成.密文圖像逆擴散,通過式(28)對大小為M×N的密文圖像逆擴散,得到矩陣P4.
(28)
其中SM1,1和SMm,n表示矩陣SM位于(1,1)和(m,n)的元素,s是圖像信息熵,P4i和KKi為矩陣P4和序列KK的第i個位置的元素,?表示異或邏輯運算符,CI-1是密碼圖像C的第(i-1)個位置的元素i=1,2,…,Mn,P4i是密鑰.
Step5.矩陣P4的逆量化.利用密鑰min和max對矩陣P4進行逆量化,具體過程為:
(29)
其中P3i和P4i是矩陣P3和矩陣P4的第i個位置的元素i=1,2,…,Mn,max和min是矩陣Pa中的最大值和最小值.
Step6.矩陣P2的重構(gòu).先獲得測量矩陣Φ,然后根據(jù)OMP方法和矩陣P3重構(gòu)出矩陣P2.
Step7.矩陣P1的生成,具體過程為:
P1=IPDGSM(P2,SM)
(30)
Step8.通過對矩陣P1的逆DWT操作,得到最后還原的明文圖像,至此解密過程結(jié)束.
本文選擇大小為512×512的醫(yī)學(xué)圖像和圖像Lena作為測試圖像,如圖4(a)、(b)所示,其中算法單元矩陣的置亂度固定為18.本文分別將壓縮比設(shè)置為0.25,0.5,0.7,它們所對應(yīng)的密文圖像和解密圖像如圖5和圖6所示.圖5中(a)-(c)表示醫(yī)學(xué)圖像不同壓縮比所對應(yīng)的密文圖像,(d)-(f)是對密文圖像進行解密處理后的重構(gòu)圖像.圖6中(a)-(c)為 Lena圖像不同壓縮比所對應(yīng)的密文圖像,(d)-(f)是對密文圖像進行解密處理后的重構(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)效果相對較差.但是總體而言,該加密算法對于人像、醫(yī)學(xué)圖像的加密和解密都有不錯的效果.除此之外,對明文圖像加密獲得的密文圖像是不可被人眼識別的,并且在視覺效果上,重構(gòu)后的圖像依舊有著較好的辨識度.
為進一步驗證加密算法的壓縮和重建效果,本文使用峰值信噪比(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之間變化時,解密圖像的PSNR值如表1所示,圖像的峰值信噪比和壓縮率總體呈正相關(guān),隨著壓縮率變大,PSNR的值也會變大.表1中前3幅圖像的大小為512×512,之后圖像的大小均為256×256.總體來看,尺寸更小的圖片PSNR值相對較低,當(dāng)壓縮率較低時,重構(gòu)效果會差一些.相比于人像、動物、房子等圖像,當(dāng)壓縮率相同時,醫(yī)學(xué)圖像的PSNR值更高,重構(gòu)效果也更好.
表1 解密圖像的PSNR值(不同壓縮率)Table 1 PSNR value of decrypted image (Different compression ratio)
密鑰敏感性是衡量密碼系統(tǒng)是否有效的一個重要指標.針對兩個參數(shù)x1、x2作了10-15的微小變化,只改變其中一個參數(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ù),人眼觀察是亂碼,不能得到任何有效的信息.為更加客觀的驗證,本文采用均方誤差(MSE)來量化參數(shù)的靈敏度,均方誤差的定義為:
(32)
表2展示圖像參數(shù)改變前后的均方誤差,發(fā)現(xiàn)根據(jù)正確密鑰恢復(fù)的圖像MSE相對較小,即重建效果較好.觀察被10-15干擾的密鑰恢復(fù)的圖像,均方誤差很大,從中不能獲取有效信息.因此,本文提出的加密方案對密鑰高度敏感.
表2 正確和錯誤密鑰恢復(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點多,大部分不超過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明文圖像對應(yīng)的直方圖如圖10(a)、(b)所示,根據(jù)密文圖像的恢復(fù)圖像的直方圖如圖10(c)、(d)所示.觀察圖9和圖10,發(fā)現(xiàn)尺寸較大的明文圖像和重構(gòu)圖像的直方圖很接近,圖像的重構(gòu)效果較好,尺寸較小的明文圖像和重構(gòu)圖像的直方圖存在一定差距,圖像的重構(gòu)效果相對差一些.
圖9 明文圖像和解密圖像Fig.9 Plain image and decryption image
圖10 圖9明文圖像和解密圖像的直方圖Fig.10 Histogram of plain image and decryption image in fig.9
本文通過計算圖像相鄰像素間的相關(guān)性來評判該加密方案的置亂效果.從明文圖像中隨機選取2000個相鄰像素點,分別計算在水平、垂直和正對角方向上的相關(guān)系數(shù).圖11中(a)~(c)和(d)~(f)分別表示像素在水平、垂直和正對角方向上的明文圖像Lena與其密文圖像的相關(guān)性.可以發(fā)現(xiàn)明文圖像相鄰像素之間的相關(guān)性很強,與之相反,密文圖像的相鄰像素相關(guān)性明顯降低,說明該加密方案具有很好的置亂效果.
圖11 相關(guān)性分析:(a)~(c)明文水平、豎直和正對角相關(guān)性;(d)~(f)對應(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ù),計算公式為:
(34)
表4 相關(guān)性分析Table 4 Correlation analysis
一般來說,密鑰空間越大,攻擊者通過搜索密鑰來攻擊圖像加密算法的難度就越大.因此,一個有效的密碼系統(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主要消耗時間的步驟是將明文圖像稀疏化,時間復(fù)雜度為Θ(m×n);Step 2的關(guān)鍵步驟是生成5個混沌序列的參數(shù),時間復(fù)雜度為Θ(5×m×n);Step 3關(guān)鍵需要時間的是優(yōu)化兩個混沌序列,時間復(fù)雜度為Θ(2×m×n);Step 4的關(guān)鍵是比較得到的兩個混沌序列,時間復(fù)雜度為Θ(m×n);Step 5的關(guān)鍵步驟是根據(jù)GOL規(guī)則得到大小m×n的置亂矩陣,時間復(fù)雜度為Θ(m×n);Step 6主要耗時間的是生成大小m×n的測量矩陣Φ,時間復(fù)雜度為Θ(m×n);Step 7用于量化CS后的測量值,時間復(fù)雜度為Θ(CR×m×n);Step 8~Step 9的時間復(fù)雜度為Θ(1);Step 10主要是生成密鑰矩陣KK,時間復(fù)雜度為Θ(CR×m×n);Step 11主要是擴散大小為CR×m×n的序列,時間復(fù)雜度為Θ(CR×m×n);所以,本文提出的加密方案的時間復(fù)雜度為Θ(5×m×n).
本文針對云存儲中隱私和能耗問題,提出一種結(jié)合半張量積—壓縮感知和生命游戲技術(shù)的圖像數(shù)據(jù)保護算法.該算法結(jié)合壓縮感知和半張量積,節(jié)省圖像數(shù)據(jù)在云存儲傳輸過程中的空間,利用基于明文相關(guān)的生命博弈置亂方法,置亂稀疏圖像,增強算法的安全性.此外,本文還采用混沌系統(tǒng)產(chǎn)生的混沌序列,結(jié)合生命游戲規(guī)則生成置亂矩陣,增強元素隨機性,加強隱私保護.實驗結(jié)果表明,本文所提出的圖像數(shù)據(jù)保護算法具有密鑰敏感性強、密鑰空間大和圖像重構(gòu)效果較好等優(yōu)點.
在提出的圖像加密算法中,利用混沌系統(tǒng)所產(chǎn)生的序列來進行置亂和擴散操作,解密過程所耗費的時間增多,對圖像實時傳輸不利.因此,在未來的研究工作中,如何提升算法的解密效率是值得研究的課題.