, ,,,
(南京師范大學南瑞電氣與自動化學院,江蘇 南京 210046)
隨著通訊技術的飛速發(fā)展,信息傳輸過程中的保密性逐漸受到重視。近年來,應用混沌系統(tǒng)進行圖像加密逐漸成為一個熱門的研究方向。文獻[1]提出了基于統(tǒng)一混沌和Logistic系統(tǒng)的圖像加密算法;文獻[2]使用MD5算法獲得混沌序列的初值,利用了3種混沌系統(tǒng)進行加密;文獻[3]提出了基于六維超混沌映射的加密算法,實現(xiàn)了對像素的置亂和擴散;文獻[4]對3個顏色部分同時加密,減少了R、G、B3個通道間的相關性;文獻[5]提出了一種新的四維磁控憶阻模型,并將其應用到灰色圖像加密。然而,與灰色圖像相比,彩色圖像能夠表達更多的信息,將憶阻系統(tǒng)應用于彩色圖像加密的研究也不多。
Python是一種解釋性的、具備動態(tài)語義的高層語言。它入門容易,語法簡單,并且在工程和科研領域得到廣泛應用。與常用的MATLAB軟件相比,Python在圖像處理方面存在諸多優(yōu)勢[6]:Python軟件體積小,安裝速度快,且完全免費;Python語言更加簡潔易學,可讀性較強;Python擁有眾多種類的擴展庫,這些擴展庫更加輕便,且運算速度快,可以滿足圖像加密解密處理的需要;另外,Python語言環(huán)境在網(wǎng)絡通訊方面功能強大,能夠方便地將加密后的圖片進行網(wǎng)絡傳輸,從而實現(xiàn)保密通信。
本文利用Python環(huán)境進行編程,實現(xiàn)了一種基于文獻[5]提出的憶阻模型的彩色圖像加密。首先提出了一種較易實現(xiàn)的加密算法。其次,由于憶阻系統(tǒng)對初始值的極度敏感性,分析了該系統(tǒng)的多穩(wěn)態(tài)特性。然后,以此為基礎比較不同穩(wěn)定狀態(tài)下生成的密鑰的加密效果,像素直方圖和相鄰像素相關性等分析表明憶阻系統(tǒng)混沌態(tài)的加密性能要優(yōu)于其周期態(tài)。
基于混沌系統(tǒng)的圖像加密主要指利用混沌系統(tǒng)生成的隨機序列對圖像的像素點進行某種變換,使得變換后的圖像失去原圖的視覺特征,從而實現(xiàn)加密。加密算法是研究混沌加密的關鍵步驟之一。優(yōu)秀的加密算法不僅要具有顯著的加密效果,而且要具有一定的抗攻擊能力。文獻[7]分析了一種一維Logistic混沌圖像加密算法,并將其應用于黑白圖像加密。本文選用新型磁控憶阻混沌系統(tǒng),將文獻[7]算法進行改進,并將其應用于彩色圖像加密。該加密算法主要由以下4個步驟構成:
1)三基色拆分。對要加密的圖像的每一個像素的R、G、B分量進行拆分,獲得三基色矩陣IR、IG和IB。
2)密鑰生成。選擇合適的初值x0、y0和z0產(chǎn)生混沌序列xn、yn和zn。將產(chǎn)生的3個混沌序列的各元素值使用公式(1)轉換到0-255之間,組成3個新的序列Gx、Gy和Gz,用于混沌加密。
(1)
其中round(t)函數(shù)返回將t四舍五入到整數(shù)后的結果。
3)像素置換。運用灰度矩陣Gx、Gy和Gz將三基色矩陣IR、IG和IB按位異或運算,完成圖像各點的像素值的置換過程,得到密文矩陣Cx、Cy和Cz。
(2)
其中bitxor(p,q)函數(shù)返回p和q按位異或運算后的結果。應注意的是,該函數(shù)在Python中并未直接給出,需要自己編寫。
4)三基色合并。重新合并3個密文矩陣Cx、Cy和Cz,得到彩色密文圖像。
解密是加密的逆過程。首先拆分密文圖像的R、G、B分量,得到3個密文矩陣Cx、Cy和Cz。使用與加密過程完全相同的系統(tǒng)和初值x0、y0和z0產(chǎn)生混沌序列xn、yn和zn并使用公式(1)轉換到0-255之間,得到序列Gx、Gy和Gz。將Gx、Gy和Gz與Cx、Cy和Cz按位異或得到原來的三基色矩陣IR、IG和IB。最后將解密獲得的三基色矩陣合并,得到原來的明文圖像。
混沌是指非線性動力學系統(tǒng)展現(xiàn)出的類似隨機的運動。其具有的確定性、有界不收斂性、非周期性、類隨機性、初值敏感性等特點[8],可以用于信息安全加密;它能夠通過對初值的設置正確完成信號的還原,因而可以用于對數(shù)據(jù)的正確解密。和一般的混沌系統(tǒng)相比,憶阻系統(tǒng)擁有更復雜的動力學行為、更強的類似噪聲,其對初值的敏感性也更高[9-10],因而抗破譯能力也更好,對它的研究具備重要的應用價值。
本文選用文獻[5]提出的四維磁控憶阻模型(式(3))來產(chǎn)生密鑰序列進行加密操作。
(3)
其中,W(w)=a+3bw2為憶阻的憶導,a=-0.4,b=0.8,α=4,β=0.7和ξ=0.1。其中,a和b為憶阻模型參數(shù),他們的取值決定了憶阻模型的有源與無源特性。α、β和ξ由電路模型推導而出。
選擇初始條件(x,y,z,w)=(0.01,0,0,0),該系統(tǒng)能夠產(chǎn)生雙渦卷混沌吸引子,如圖1所示??梢钥闯觯撓到y(tǒng)的混沌吸引子軌跡在特定的吸引域中是遍歷的。
圖1 不同平面上的相圖Fig.1 Phase diagrams on different planes
多穩(wěn)態(tài)是指相同參數(shù)下系統(tǒng)擁有的不同穩(wěn)定運行狀態(tài),其軌跡不僅是漸近穩(wěn)定、單一的周期或混沌運動,而是大量不同軌跡共存的特殊形式,系統(tǒng)初始值將決定系統(tǒng)最終處于何種狀態(tài)。由于憶阻系統(tǒng)對初值極為敏感,本文選擇初始條件的第四項w作為變量,并利用李氏指數(shù)和分岔圖分析當初值w變化時,系統(tǒng)的不同運行狀態(tài)。
當初始條件w∈-1.6,1.6時,系統(tǒng)的李氏指數(shù)譜和xt的分岔圖如圖2所示。當w在區(qū)間-1.43,-1.1、-0.57,-0.29、-0.194,0.199和1.09,1.43變化時,系統(tǒng)處于混沌態(tài),此時最大的李氏指數(shù)大于零;當w在區(qū)間-1.09,-0.97、-0.73,-0.58、-0.28,-0.195、0.2,0.393、0.96,1.087和1.44,1.52時,系統(tǒng)處于周期運動狀態(tài);當w在-0.96,-0.74和0.394,0.955變化時,系統(tǒng)為不動點;當w∈-1.6,-1.44∪1.53,1.6時,系統(tǒng)是發(fā)散的。
圖2 初始值w變化的Lyapunov指數(shù)譜和分岔圖Fig.2 Dynamic behaviors with W.R.T. w
從圖3可以看出憶阻系統(tǒng)對初值的變化極為敏感,并且系統(tǒng)將有無數(shù)種穩(wěn)定運行狀態(tài)。為了清晰地觀察系統(tǒng)的多穩(wěn)態(tài),隨機選擇部分數(shù)值進行相平面分析。圖3a展示的是5種混沌狀態(tài)共存的現(xiàn)象,黑色單渦卷對應的是w=-1.4,紅色單渦卷對應的是w=-0.35,綠色單渦卷對應的是w=-0.1,紫紅色單渦卷對應的是w=0.15,藍色單渦卷對應的是w=0;圖3b展示的周期三、周期二、周期一、不動點4種狀態(tài)共存的現(xiàn)象,黑色對應的是w=1.075時的周期三狀態(tài),紅色對應的是w=1.066時的周期二狀態(tài),綠色對應的是w=0.3時的周期一狀態(tài),紫紅色對應的是w=0.8時的不動點。
圖3 初始值w變化的共存相圖Fig.3 Coexistence phase diagrams with different initial values of w
彩色圖像由于鮮艷生動的特點,已經(jīng)成為了人們溝通和交流的重要信息之一。隨著網(wǎng)絡通信技術的快速發(fā)展,彩色圖像在存儲和傳輸過程中的安全需求越來越高。如圖4所示,以256×256像素的彩色Lena圖為例分別測試憶阻系統(tǒng)在周期態(tài)和混沌態(tài)的加密效果,周期態(tài)加密選用初值(x,y,z,w)=(0.01,0,0,0.3),混沌態(tài)選用初值(x,y,z,w)=(0.01,0,0,0)。重點分析密文圖像的像素直方圖和相鄰像素相關性。從圖4中可直觀地看出,使用周期態(tài)序列加密形成的密文圖像色塊分布不均,仍然保留了部分原圖的特征。而使用周期態(tài)序列加密形成的密文色塊分布均勻,具有明顯的類似隨機噪聲的特點,完全無法分辨出原圖的特征,加密效果良好。
圖4 加密前后對比Fig.4 Before and after encryption
像素直方圖能夠反映圖像中對于給定像素值,其像素點的個數(shù)。像素直方圖分析也是評判算法加密效果的方法之一。原圖與加密后圖像的像素直方圖如圖5所示。容易看出,原圖的像素直方圖有明顯的分布不均,使用周期態(tài)序列加密形成的密文圖像在R、G、B3個通道的像素直方圖雖都類似均勻分布,但仍然出現(xiàn)了幾個較大的峰值。使用混沌態(tài)序列加密形成的密文圖像,其像素直方圖分布更加均勻,各通道均無法統(tǒng)計出有效的信息。且與原圖相比,密文圖像的像素直方圖發(fā)生了顯著變化,它遮蓋了原本的分布規(guī)律。因此可以說明本文提出的算法能夠抵御較強的統(tǒng)計分析。
相鄰像素相關性分析是指運用統(tǒng)計學的計算方法對加密算法的擴散性進行分析。相關系數(shù)ρx,y可以利用公式(4)定量計算,其計算方法[11]為
圖5 加密前后像素直方圖對比Fig.5 Comparison of pixel histogram before and after encryption
(4)
相關系數(shù)ρx,y通常在-1到1之間,其值越接近0,數(shù)據(jù)間的相關性就越小。
分別選取明文和兩種穩(wěn)態(tài)下的密文圖像R、G、B3個通道中的點進行相鄰像素相關性計算后取平均值,結果如表1所示。從表1看出,原圖的相關系數(shù)近似為1,像素之間有較大的相關性,使用憶阻周期態(tài)加密形成的密文圖像相鄰像素相關性雖然有所改善,卻不如混沌態(tài)序列效果好。憶阻混沌態(tài)加密后密文圖像相鄰像素相關性幾乎為0,相鄰像素間已基本不存在任何聯(lián)系??梢哉f明混沌態(tài)序列能使原圖像的統(tǒng)計特征更隨機地、均勻地擴散到密文圖像中,具有更好的加密效果。
以剪切攻擊為例,分析上述加密算法的抗攻擊能力。將使用混沌態(tài)序列加密后的密文圖像右下角切去一塊寬高為均為64像素的正方形,如圖6a所示。觀察圖像解密效果,可以發(fā)現(xiàn),解密后的圖像,在右下方仍保留了一塊無法被識別的區(qū)域。分析加密算法,不難得知,明文圖像與密文圖像在像素點的空間位置上是一一對應的,這一特性在使用周期態(tài)序列加密時也并未改變,這使得密文圖像遭遇剪切攻擊后對解密效果影響較大。經(jīng)過分析,本算法無法抵抗最常見的剪切攻擊,為提高該能力,可以考慮添加混沌置亂的算法,將加密后圖像的每一個像素點進行置亂,以分散剪切攻擊對圖片局部造成的影響。
圖6 解密前后對比Fig.6 Before and after decryption
圖7 兩種狀態(tài)解密后對比Fig.7 Before and after decryption
初值敏感性是混沌系統(tǒng)的重要特性之一,該特性為混沌系統(tǒng)提供了巨大的密鑰空間。解密時分別對周期態(tài)和混沌態(tài)的初值中w項增加10-6,即周期態(tài)解密選用初值(x,y,z,w)=(0.01,0,0,0.3+10-6),混沌態(tài)解密選用初值(x,y,z,w)=(0.01,0,0,10-6),解密效果如圖7所示。可以發(fā)現(xiàn),周期態(tài)解密后除極少數(shù)像素點外,基本還原出了原圖的特征,密鑰敏感性較差,而混沌態(tài)解密后的圖像仍具有隨機噪聲的特點,無法辨認出原圖特征,密鑰敏感性較好。
本文利用Python編程環(huán)境,實現(xiàn)了一種基于四維磁控憶阻模型的圖像加密。首先提出了一種在Python下較易實現(xiàn)的加密算法。其次,由于憶阻系統(tǒng)對初始值的極度敏感性,分析了該系統(tǒng)的多穩(wěn)態(tài)特性。然后,以此為基礎比較不同穩(wěn)定狀態(tài)下生成的密鑰的加密效果,重點分析了相鄰像素相關性、像素直方圖、抗攻擊能力和密鑰敏感性??梢钥闯霾煌姆€(wěn)定狀態(tài)會產(chǎn)生不同的加密效果,混沌序列加密效果更好,此特性的分析為選擇適合的密鑰提供了方法和支持。此外,憶阻混沌系統(tǒng)加密性能良好,可見其在保密通信中的應用前景廣闊。