周雪芳 孫 樂 陳偉浩 鄭 寧
①(杭州電子科技大學網絡空間安全學院 杭州 310018)
②(杭州電子科技大學通信工程學院 杭州 310018)
洛倫茲[1]在1963年首次提出混沌概念,混沌便正式進入人們的視野。由于混沌的特殊性質,如遍歷性,對初始條件和參數的敏感性,以及復雜的動力學和確定性行為等[2],混沌在圖像加密方面有很大的優勢[3],引起很多研究者的關注?;煦缡亲畛鯃D像加密原理和技術的基石,其容易在電路中復現,但缺點正是由于電路具有的高衰減、低復雜度、低速度和高成本等問題[4],故而成為基于電混沌圖像加密與安全傳輸發展的攔路虎。此后,經過漫長發展,直到研究者確立激光器的激光和混沌的聯系[5],光混沌才就此問世。光混沌的出現,有效地解決電混沌的不足,且激光混沌有著更好的保密性能[6]。
半導體激光器可以通過光注入、全光反饋、光電反饋等增加外部反饋的方法產生復雜的光混沌信號[7]被廣泛應用于圖像加密 。Xie等人[8]首次提出光混沌圖像加密傳輸系統,接著混沌掩蔽(Chaos MaSking, CMS)技術[9]能夠有效地提高傳輸圖像的安全性。為了克服低維混沌周期不大的弱點,Fu等人[10]提出雙混沌系統,該系統能夠有效地抵抗竊聽者的攻擊,且具有超低能耗的特點。Li等人[11]提出一種級聯耦合半導體環形器系統,與傳統光混沌相比,此系統產生的混沌具有帶寬大、安全性高、實現成本相對較低、速度快且易于實現等優點。Wu等人[12]提出一種級聯系統,該方案具有實現高復雜度混沌動態和TDS(Time Delay Signatures)隱蔽性的潛力,可實現雙向安全通信方案。Ghanbari-Ghaleh joughi等人[13]提出計算鬼影成像(Computational Ghost Imaging, CGI)的多層信息安全,該方案有著較好的安全性和魯棒性,攻擊者需要超過96%的編碼順序來恢復隱藏圖像。Jiang等人[4]首次實現壓縮感知(Compression Sensing, CS)、雙隨機相位編碼(Double Random Phase Encoding,DRPE)和光學混沌的結合利用,對圖像進行多重加密,為圖像安全提供多層保護,且文中引入的EDM(Equal Modulus Decomposition)加深了密鑰與明文圖像的關聯。2021年Dong等人[14]在第1階段使用SL光注入產生混沌序列,并通過隨機子塊置亂和循環DNA擴散實現對圖像加密。
基于上述各類光混沌用于圖像加密的算法研究,本文結合Xie等人和Dong等人方案的優點并分析兩者系統加密算法的不足,其中在Xie等人的方案中,由于加密算法的局限性,明文敏感性較弱,NPCR以及UACI沒有達到理想值;Dong等人方案的密文圖像的安全性能有著不錯的效果,但由于系統結構較復雜,實現較為困難,在成本上會造成較多損耗。針對上述情況,該文設計一種基于光混沌和圖像商余預處理機制的加密算法,利用激光器產生復雜的混沌信號后,對明文圖像進行取商和取余處理后得到兩幅圖像,使用密鑰對取商圖像加密得到加密圖像1,使用混沌序列對取余圖像加密得到加密圖像2,通過加密圖像2對加密圖像1進行隱寫和擴散,最終得到的密文圖像,經仿真實驗分析,密文圖像有著很高的安全性,能夠有效地抵御竊聽者攻擊。
本文設計的加密系統模型如圖1所示,ML發出的光被反射鏡M反射到激光腔內,擾亂激光器中載流子和光子的相互作用,增加了系統的復雜性,再分別注入到3個參數相同的從激光器SL1, SL2和SL3中,產生3個同步的光混沌信號。其中,SL1作為信息的發射端,用其產生的混沌序列隨機生成密鑰并通過密鑰實現對取商圖像加密,得到的加密圖像1與混沌序列加密取余圖像產生的加密圖像2進行圖像的隱寫,最后,加密圖像3經擴散后,通過混沌掩蔽技術,與SL1的混沌序列相結合,發送到接收端SL3處。SL2和SL3作為解密信息的接收端。其中,SL2主要有兩個作用,一是接收發送端傳輸的加密圖像2的光學信息,并通過SL2的混沌序列還原出取余圖像;二是得到從發射端與混沌載波相結合的密鑰。SL3接收到密文圖像后,通過SL2得到的密鑰以及貓映射逆變換還原出取商圖像,并與SL2還原的取余圖像結合,實現對圖像的解密,最終還原出解密圖像。

圖1 加密系統模型
本文提出圖像商余的預處理,如式(1)、式(2)所示,明文圖像P中0~64的像素值,對2取商,96~144的像素值,對3取商,在196~256的像素值,對4取商,其余像素值保持不變,同樣的方法對圖像進行取余處理,得到兩幅圖像,一幅是對圖像取商后的取商圖像(圖2(b)),一幅是對圖像取余后的取余圖像(圖2(c))。

圖2 圖像的預處理
其中,P為明文圖像,P1,P2分別為取商和取余的圖像。(i,j) 是圖像像素的坐標,0<i<256, 0<j<256。P(i,j)代表像素點的像素值。
該方案主要由圖像預處理、貓映射置亂、圖像隱寫和擴散等4個部分組成。圖1、圖2和圖3為該加密系統的流程以及各部分結果。借助圖像Lena分析加密的具體實施過程:

圖3 加密過程中產生的圖像
步驟1 對明文圖像P進行商余預處理,得到取商和取余的兩幅圖像。
步驟2 在發送端SL1的混沌序列中隨機提取密鑰K,為增加系統復雜性,哈希函數在加密起著重要作用,使用安全散列算法256(SHA-256)與密鑰相結合,如式(3)、式(4)
其中,K1,K2為混沌序列中隨機抽取的密鑰;H1,H2為明文圖像隨機抽取的兩個哈希值。
得到新的密鑰a,b,利用其作為貓映射加密參數對取商圖像進行置亂,得到加密圖像1,如圖3(a)所示。貓映射加密表達式為
其中,xn,yn代表原像素點位置,xn+1,yn+1為變換后像素點位置。貓映射加密需圖像的長M與寬N相等,且a,b,N都為正整數。
步驟3 截取SL1混沌序列前256×256,與取余圖像相結合,得到加密圖像2,如圖3(b)所示。
步驟4 利用加密圖像2對加密圖像1進行圖像隱寫,得到加密圖像3,如圖3(c)所示。
其中,P3,P4為加密圖像1和加密圖像2;P3像素值在0~192。
步驟5 基于GF(17)域乘法運算的擴散算法有著很好的擴散效果。在GF(17)域乘法中,輸入圖像像素點的灰度值(0~255)被分為高4位和低4位。高4位和低4位的取值均為0~15,在處理時,將它們轉化為1~16,結果減去1位還原高4位和低4位。圖3(d)就是最終經擴散的密文圖像,其擴散具體步驟為
其中,S為混沌序列,P是明文圖像,C為256×256零矩陣,C(0) 為零。下標H表示數據的高4位,下標L表示數據的低4位。式(7)代表正向擴散,式(8)是對圖像逆向擴散。
由1980年發表的關于半導體激光器L-K方程的文獻[15,16],對于混沌激光的動力學模型,通過微分方程來建立其數學模型來表示半導體激光器通過腔外強度反饋產生光混沌
其中,M表示ML(主激光器),i為1~3,分別代表3個從屬激光器,EM,Ei表示ML, SL的慢變場復振幅,NM,i表示主和從激光器的載流子數。激光器的內部參數如下:Kf和tf分別表示鏡面的反饋強度和反饋時延。Kinj和τi分 別表示注入強度和時延,?表示線寬增強因子,kf1和τsm分別是鏡面SLs的反饋強度和總反饋時間延遲?!珽i‖為 光子數,G(Ni,‖Ei‖2)是增益函數,g表示激光器的差分增益,e為每個電子的電荷量;γ和γe分別表示光子的衰減率和載流子的衰減率。w為光的角頻率。ε為真空介電常數,n為半導體介質的折射率,激光器的仿真參數設置如表1所示。在該系統中,混沌信號需先轉換成電信號與加密系統相結合。

表1 激光器的參數
混沌同步在混沌通信中扮演一個非常重要的角色,因此對激光器SL1, SL2和SL3設定相同的參數,來保證混沌的同步性。為觀察某兩個激光器之間的混沌同步性能,式(13)定義了強度的歸一化互相關函數(XCF)[17]
其中,x1(t)與y1(t)對應發射端混沌與接收端混沌,〈...〉表示平均值。C的值范圍在0到1之間。C的值越大,混沌同步質量就越好。當C=1時,實現最完美的同步效果。
如圖4所示,圖4(a)和圖4(b)為SL1與SL2,SL1和SL3之間的互相關函數,從圖中可以看出在t為0時,互相關函數幾乎為1,說明該系統實現高質量的混沌同步。

圖4 SL1和SL2, SL3的互相關系數
本文選取大小為256×256的灰度圖像進行實驗,Matlab2017作為實驗仿真環境。圖5表示明文圖像、密文圖像以及解密后的圖像。從圖5可清晰地看出明文圖像和密文圖像有很大區別,密文圖像沒有任何視覺信息泄露,說明本文所提出的加密算法有著良好的加密效果,下面從直方圖統計、相關性、敏感性以及信息熵等來進一步驗證系統的加密算法。
直方圖代表一個圖像的統計信息。一個平坦均勻的直方圖能夠有效地抵抗統計攻擊。圖6顯示了4幅圖像加密前后的直方圖,與明文圖像的跌宕起伏不同,密文圖像的直方圖變得平坦均勻,說明經加密后密文圖像的像素已經被完全打亂,證明此加密系統能夠有效地抵抗竊聽者對直方圖的統計攻擊。χ2是用來測量圖像直方圖均勻性的物理量,其表達式為

圖6 明文與密文圖像直方圖
其中,k=256,oi為灰度值i出現的頻率,ei為灰度值i的期望頻率。
以255為界限,χ2<255時,可以認為圖像的直方圖是均勻分布。由表2可知,明文圖像的χ2統計量遠大于χ20.01(255),其直方圖由圖6可以看出有明顯的波動;而密文圖像的統計量χ2<χ20.01。對此系統計算不同的圖像的χ2,表2結果顯示,密文圖像都通過卡方檢測,很好地破壞圖像的統計特性。

表2 直方圖檢測
除了圖像的直方圖,圖像的相關性也是一個很重要的參考量。通常來說,明文圖像無論是在水平、垂直或是對角線方向都有著很強的相關性。為檢驗加密前后相鄰像素的相關性,本文隨機選取對N相鄰像素進行檢測,其相關性的計算表達式為
其中,E(u) 代表變量u的協方差,D(u) 代表u的方差,u和v表示兩個相鄰像素的灰度值,N為從圖像中選取的20 000對像素點。
圖7以圖像Lena, Baboo和Boat在水平、垂直、正對角線以及反對角線的像素相關性分布為例,可以看出明文圖像的相鄰像素分布匯聚在一條直線上,具有較強的相關性,而密文圖像的相鄰像素分布在0~255整個區間,已經不具備任何統計信息,具有較強的抵抗統計分析能力。表3展示明文圖像相鄰像素與密文圖像相鄰像素的相關系數,密文圖像相關系數均小于0.1,說明密文圖像中相鄰像素之間的強相關性大大降低。

表3 相關性檢測
一個安全的圖像加密算法必須對外部密鑰微小變化非常敏感。在加密和解密過程中,密鑰出現極其微小的改變從而導致獲得非理想的解密圖像,這種現象稱為強密鑰敏感性。本文分別測試密鑰在加密和解密中的敏感性。如圖8所示,圖8(a)為明文圖像,圖8(b)和(c)分別為原始密鑰和更改1位的外部密鑰的密文圖像。兩幅密碼圖像有著明顯的差異。圖8(d)表示圖8(b)和(c)之間的差值,圖8(e)和(f)分別為圖8(b)使用兩個不同的外部密鑰的解密結果。圖8(e)和(f)之間的差異很明顯。即使密鑰有極小的變化,也不能解密出正確的圖像,說明本方案具有較強的密鑰敏感性,能夠抵抗密鑰攻擊。
明文敏感性是指使用同一密鑰借助圖像加密系統對差別微小的兩個明文圖像進行加密。通過像素變化率(NPCR)、歸一化平均強度(UACI)來比較這相應的密文圖像。A1,A2兩幅圖像的NPCR和UACI的計算表達式為
表4展示不同圖像加密算法的NPCR與UACI的結果對比,可以看出,與其他算法相比,本文有一定的優勢。比起兩幅隨機圖像NPCR和UACI的99.609 4%和33.463 5%,本文密文圖像NPCR和UACI為99.626 4%和33.526 6%。證明加密算法有著很好的加密性能,圖像加密系統能夠有效地抵御差分攻擊。

表4 不同圖像的NPCR和UACI
信息熵反映圖像信息的不確定性,一般來說,熵越大,不確定性越大,可視信息越少,也就是說圖像像素的分布越均勻,能夠更好地抵抗竊聽者攻擊。其表達式為
其中,L為圖像的灰度值等級數,p(i)表示灰度值i出現的概率。當密文圖像的熵接近于8時,圖像加密算法能夠較好抵抗熵的攻擊。表5展示與其他加密算法相比,本文密文圖像的信息熵接近理想值。

表5 信息熵
一個好的密碼系統對數據丟失和一定的噪聲效應都具有魯棒性,對加密后的密文圖像進行多次的裁剪攻擊,之后使用正確的密鑰進行解密,觀察解密圖像是否還原明文圖像的屬性信息,以證明加密圖像對抗數據丟失的能力。圖9可知,在密文損失1/8、1/4以及1/2的數據時,解密圖像的信息并未嚴重丟失,仍保留明文圖像的有效信息。

圖9 裁剪攻擊分析
針對傳統混沌在圖像加密上的不足,本文提出一種基于半導體激光器產生光混沌的圖像加密算法與傳輸系統。該傳輸系統采用廣為人知的貓映射圖像加密算法以及GF(17)域乘擴散,與其他的算法不同,在對圖像進行置亂-擴散之前,先對圖像進行預處理,把圖像的像素值縮小,變得更加密集。仿真結果表明,該圖像加密算法有著較高的安全性,在加密性能上十分接近理想值,能夠滿足絕大多數的圖像加密要求。但由于貓映射的限制,加密圖像的長和寬必須相等,且在密鑰的選擇上具有隨機性。在今后的工作中,不但要解決加密算法對圖像的限制,而且在密鑰的選擇上需要更加的穩定。同時,盡可能繼續加大對圖像加密的探索,使其能夠達到極高的安全性以及實用性。