劉迪 樊勻



關鍵詞:優化;混沌;隨機置亂;RGB分量;標記;相關性
中圖分類號:TP309 文獻標識碼:A
文章編號:1009-3044(2023)20-0020-03
0 引言
隨著大數據、5G網絡、人工智能的高速發展,圖像的網絡傳輸是人們傳達信息的重要手段之一。由于網絡的公開性,圖像傳輸過程中如果不進行加密處理,很容易暴露關鍵信息,有可能引發諸如個人隱私或者重要機密泄露等極其嚴重的后果,因此信息安全與信息保密工作刻不容緩,圖像加密技術是多年來的重要課題之一。在眾多加密方法中,由于混沌具有初始值的敏感性、隨機性、不確定性、不可預測性等優秀的特性,十分適合圖像加密,由此國內外學者掀起了基于混沌加密技術研究熱潮。近幾年來,王慶杰等人[1]提出了Logistic Map-Chebyshev Map的組合加密算法;曾珂等人[2]提出了基于 3D-LSCM 的混沌加密算法;紀元法等人[3]提出了基于Logistic-Sine的彩色圖像加密算法;王瀟[4]提出了一種基于混沌的空域彩色圖像復合加密算法;Mohammad Ahmar Khan等人[5]提出了混沌遍歷性和正弦映射相結合的圖像加密技術。一個較理想的圖像加密算法應當具備復雜度低、安全性高并具有一定的抗攻擊能力等優點,因此本文在基于Logistic映射加密算法的基礎上,分別在RGB三個分量上利用隨機置亂實現了彩色圖像的加密和解密過程,同時針對加密傳輸過程可能受到的圖像缺損攻擊,提出了一種簡單高效的優化方案,令其還原度更高。通過Matlab仿真平臺的實驗證明:該算法復雜度低,密鑰安全性好且還原度高,并具有較好的抗缺損攻擊能力。
1 算法原理
1.1 混沌序列加密的算法
混沌序列的加密算法過程可以這樣描述:首先由混沌系統產生一個混沌序列,與明文逐位異或后得到密文,而這個產生的混沌序列轉化成二進制后就是加密的密鑰。其加解密原理圖如圖1所示:
1.2 置亂技術
如果將數字圖像看成是一個m×n的矩陣,通過一系列矩陣的各類運算,將打亂矩陣的排列,那么對應數字圖像的像素也會被打亂,從外觀上看便會失去原本的識別度,即實現了圖像加密的目的。比如最經典的Arnold置亂算法(貓臉變換)便是基于此原理[6]。置亂加密的原理如圖2所示[7]。由于彩色圖像的置亂變換原理與灰度圖像并沒有本質上的區別,因此同樣適用。
2 加密算法與解密算法
2.3 優化后的抗缺損解密算法
考慮到加密圖像在網絡傳輸過程中有可能遭受裁切或者涂抹攻擊,造成缺損。如果是小面積缺損對還原后的圖像質量影響不大,但如果是大面積缺損,則將嚴重影響還原質量,甚至造成重要信息的識別不清。因此,為提高圖像的抗缺損攻擊能力,本文在解密算法基礎上進行了優化設計:當圖像進行隨機置亂后,相鄰像素的相關性會變得很小,因此出現多個連續相同數值的相鄰像素概率極低,如果發生這種情況,基本可判定為圖像遭受了較為嚴重的攻擊,出現了較大面積的缺損;本文設定當系統檢測到出現有3個相鄰像素值相等的情況,即可判定為此處圖像缺損,便對此處做出標記,當檢測出多個類似情況,均做出標記;待到圖像解密完成后,這些標記便會回到原始圖像的各個位置,根據原始圖像相鄰像素相關性很高的原理,可以取每個被標記位置周邊的像素值平均值,并以該平均值替換掉被標記的像素即可,該方法從理論上可大大提高圖像的還原程度。
3 檢驗與分析
3.1 圖像像素的相關性
在正常的數字圖像中,相鄰像素的數值往往比較接近(排除色彩分界線等少數極端情況),因此數字圖像的置亂效果好與壞,通常可以通過分析其相鄰像素之間的相關性來反映。如果相鄰像素之間的相關性越小,說明置亂效果越好;而反之,則說明置亂的效果越差。圖像相鄰像素之間相關性的計算通常用到下面兩個公式:
本文采用的實驗平臺為Matlab仿真平臺,實驗分別在原始圖像和加密圖像R分量的水平方向隨機選取1000組相鄰像素點,其像素點相關系數如表1所示。
從表1數據不難看出,原始圖像的相鄰像素點相關系數很高,而經過本文算法加密后的圖像相鄰像素的相關性變得很小,幾近為0。
3.2 加密與解密
本實驗中的原始圖像為1 920×1 200的彩色圖像“ 荷花.jpg”,令x0= 0.22, y0 = 0.13,z0= 0.2,μ = 3.8。首先對原始圖像進行加密,原始圖像和加密圖像效果如圖3所示:
接下來,再進行解密,先試一下如果密鑰記錯能不能解密:假設此處將初始密鑰改成x0= 0.22, y0= 0.13,z0= 0.2,μ = 3.81,結果運行后根本無法解密,只有在輸入與加密時一模一樣的密鑰才能解密圖像,錯誤解密圖像和正確解密后的圖像效果如圖4所示:
從上述實驗結果可以看出,本文算法加密后的圖像“面目全非”,根本無法辨認原始圖像的樣貌,隱蔽性較好,能夠較好地保護該圖像的信息;而由于混沌序列敏感的初始性,哪怕解密時初始密鑰發生了一點點誤差都無法正確地解密圖像,所以密鑰安全性較高;解密后的圖像與原始圖像從外觀上看幾乎沒有什么差異,并且原始圖像的直方圖和解密后圖像的直方圖也幾乎一模一樣,如圖5所示,由此可見該算法加密和解密可行。
3.3 抗缺損攻擊測試
接下來,進行抗缺損攻擊測試,將加密后的圖像切去約三分之一的面積,考慮到畫面主色調為綠色(Green) ,此處選擇在G分量上篩檢連續相同的像素值做標記進行優化,對比未作優化的解密算法和作了優化的解密算法的結果,可以看到明顯的區別,受到缺損攻擊的圖像、未優化前的解密圖像和優化后的解密圖像分別如圖6所示。
從圖6可以看出,該加密圖像遭受了較為嚴重的缺損攻擊,極有可能丟失大量重要圖像信息;因此如果用優化前的解密算法,解密后的圖像質量比較差,有大量噪點,丟失了許多細節,如果此處傳輸的是重要的圖片,就會造成一定的信息損失;而利用優化后的解密算法,解密后的圖像基本重現了原始圖像的各類細節,很好地保留了各類重要信息,證明優化后的算法大大提高了解密圖像的還原度。
4 結論
本文設計了一種優化后的混沌置亂圖像加密算法,通過對彩色圖片RGB三個分量的置亂加密,并升級了原有的解密方法,通過Matlab仿真平臺的實驗驗證獲得以下結論:
1) 該算法的加密和解密算法原理類似,不復雜,比較容易實現。
2) 該算法完成后的圖像相鄰像素的相關性很低,說明加密效果好,隱秘性較好。
3) 由于混沌初始值敏感性特點,密鑰必須一模一樣才能解密,安全性較高。
4) 針對傳輸過程中加密圖像受到較大面積的缺損攻擊,提出了解密算法的優化方案,該方案原理簡單,通過實驗證明算法優化后的解密圖像比沒有優化算法直接解密的圖像還原度確實高很多。