張旭東
摘要:針對圖像信息在傳輸過程容易被竊取、破壞和惡意篡改的問題,文章提出一種Arnold變換與改進Logistic混沌映射相結合的圖像加密算法。該算法先將明文的像素坐標位置進行Arnold變換,再利用改進Logistic混沌映射產生的混沌加密序列對變換后的圖像進行擴散與置亂獲得加密圖像1,修改加密參數后通過同樣的步驟再得到加密圖像2,隨后將兩幅圖像進行異或處理得到最終加密圖像,通過仿真實驗結果得出對角相鄰相關系數為0.005 6,進行分析比對可以得出結合后的加密算法密鑰空間大,安全性高,具有較好的加密效果,改善了普通Arnold變換和Logistic混沌加密算法產生出的安全性問題。
關鍵詞:Arnold變換;改進Logistic映射;圖像加密;混沌
中圖分類號:TP309? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2024)07-0004-04
開放科學(資源服務)標識碼(OSID) :
隨著計算機技術的提升和計算機在生活工作中的普及,數字圖像信息傳遞迎來了飛速發展的時期。相較于傳統文本信息,圖像信息具有信息含量高、信息密度大等獨特優勢,因此在各個領域和行業中都成為不可或缺的一部分。因此,對于數字圖像信息傳輸中的安全保護措施,我們需要更加便捷、快速且嚴密的方法。
對于數字圖像信息內的海量數據容量、信息內容的高度冗余以及圖像像素相鄰像素之間的不可避免的強相關性,顯然傳統文本加密算法已經不適合對圖像信息進行加密[1]。混沌映射因其產生的偽隨機序列具有良好的偽隨機性以及對初始輸入條件值的高敏感性,其作為圖像像素的擴散和置亂手段有著超強的潛力。從1998年Fridrich 第一次提出基于二維混沌映射的圖像加密方法[2]后,學者們對于混沌映射的探究便從未停止。由于低維混沌系統的結構簡單、便于實現,加密效果好,被普遍應用于圖像加密中[3]。在提出改進低維混沌系統對圖像進行加密的方法后,研究者們開始不滿足于低維混沌的加密手段,轉而將目光投向了加密手段更為復雜、加密效果更好的高維混沌。高維混沌系統相較于低維混沌,在產生混沌序列的偽隨機性、密鑰空間以及初值敏感性方面表現更加優秀。因此,高維混沌加密逐漸變得更加普及[4]。
Arnold變換的置亂算法可以通過改變圖像原來的像素位置達到不錯的置亂效果,其算法具有操作簡單,較易實現,置亂效果好等優點,使其能夠被廣泛應用。由于Arnold算法只能通過改變像素的位置進行置換來達到加密的效果,所以加密后的圖像相鄰像素相關性依舊很高,故而在遭到惡意攻擊時攻擊者可能會通過直方圖進行逆向推測從而得到原圖像信息。
針對Arnold變換和傳統logistics混沌加密存在的加密缺陷,本文提出基于Arnold變換的改進Logistics混沌加密算法,通過增加控制參數提高了密鑰空間,改善了兩種算法存在的問題,提升了加密算法的安全性。
1 圖像加密算法
1.1 Arnold變換
Arnold映射的是典型混沌映射,其表達式定義為:
[x'y'=1abab+1xymodn] (1)
式(1)中:x,y∈{0,1,2,...,N-1}為明文圖像像素的初始坐標位置,N為圖的大小,x和y為圖片經過變換后的像素位置,mod為模運算[5]。對于一幅初始明文圖像,在經過Arnold多次變換置亂之后,原文圖像的像素位置坐標發生改變,圖像的內容也會隨根據像素的移動而發生改變,從而達到圖像信息的加密效果。但Arnold變換具有一定的周期性,在原文圖像進行一定次數的像素變換之后極有可能會變回原文圖像的樣子,所以在預先知道置亂次數的情況下極易破解,具有很大的安全隱患。
1.2 Logistic混沌映射
Logistic混沌映射是應用極為廣泛的混沌映射,它的映射定義為:
[xi+1=μxi(1-xi)] ? ? (2)
式(2)中:Xi為原圖像像素信息,Xi+1為Logistic混沌映射后的像素信息,μ為實現混沌映射的控制參數,取值在0~4之間[6]。Logistic混沌在置亂加密的過程中對初始輸入值具有很強的敏感性,初始值一些細微的變動都會給后續迭代產生的混沌序列帶來大幅度的改變[7]。所以對于μ取值不同,產生的混沌系列也不同,進而混沌映射結果就會有不同特性。當3.569 946<μ≤4時,Logistic映射輸出在(0,1)之間,在進行足夠多次數的迭代擴散后,這個區間段內會充斥海量的散亂混沌點,產生的混沌序列會具有較高的安全性和偽隨機性,可以用于圖像加密。
2 圖像加密系統
2.1 改進Logistics混沌映射
針對Logistic方程具有密鑰空間小、抗窮舉能力差、混沌序列分布不均等問題[8-9],本文提出一種改進的Logistics混沌加密。在原公式的基礎上,將多位控制參數加入公式參數中,改進后的Logistic方程表達式為:
[xi=kyixi+1=[μxi(1-μλxi)]mod1]? ? ?(3)
當X取0.1,μ取3.995,k∈(0,1)時,λ∈(0,0.2)時,系統呈現混沌。
改進后的混沌映射具有更好的混沌特性,擁有更大的參數范圍和更大的密鑰空間,并且各個參數所生成的混沌序列均勻地分布在(0,1)的狀態空間,具有良好的安全性和偽隨機性。
2.2 算法加密步驟
本文加密算法分為置亂和擴散兩個部分,第1部分是利用Arnold變換對M×N大小的明文圖像進行像素置亂生成初步的密文圖像,簡單的置亂操作并不能很好地加密原文圖像,故第2部分是用改進的Logistic混沌映射產生的混沌序列對置亂后的初步密文圖像進行擴散處理,完成加密。
為了提升圖像加密效果,在執行完兩部分加密后,可以改變控制參數,將上述2部分加密方式再執行一遍,然后將兩幅加密圖像進行異或處理,最終得到加密圖像。
具體加密步驟如下:
步驟1:輸入原文圖像G,Arnold變換參數a,b,改進Logistic混沌映射參數μ,密鑰k;
步驟2:利用公式(1)對G進行置換得到圖像G;
步驟3:由密鑰k1用公式(3)生成混沌序列F={Fij|i,j=0,1,2,...,N-1};
步驟4:由p生成灰度矩陣Y={Yij|Yij∈[0,255]},i,j=0,1,2,...,N-1;
步驟5:將G與灰度矩陣Y進行按位異或運算,得到加密圖像G”;
步驟6:將密鑰k1改為密鑰k2,重復步驟3~5,生成加密圖像G1”;
步驟7:G”?G1”,生成最終加密圖像G2”。
解密過程與加密過程相似,已知密鑰,按照加密流程進行相反的步驟操作即可得到解密圖像。
3 仿真結果及安全性分析
本次仿真環境是Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz,內存為4GB的計算機,64位Windows操作系統,MATLAB R2018b軟件,采用標準256×256的lena灰度圖像進行實驗,μ取3.995,x0取0.1,k1,k2分別取0.89,0.97,λ取0.15帶入改進后的混沌加密系統,產生偽隨機序列,再用Arnold變化和混沌混合進行加密。為了證明此算法的加密性能,下面通過直方圖、密鑰空間、信息熵、相鄰像素關系等加密性能指標進行性能分析。
3.1 仿真結果圖
3.2 直方圖分析
直方圖能夠直觀地展示圖像信息的像素點分布,當加密后的圖像信息直方圖越平滑,就表示圖像的可讀性越低[10]。圖2(a)為明文圖像的像素直方圖,像素點縱坐標高低分布明顯,通過直方圖極易推測出原文圖像的信息狀態,從而得到原文圖像。圖2(b)為密文圖像的像素直方圖,像素分布較為平滑,高低分布均勻,無法從明文統計特性分析得出圖像信息。
3.3 密鑰空間
密鑰空間通常用來作為衡量加密算法優良的單位,也是評估算法抵抗窮舉攻擊的重要指標。在加密過程中,本文需設定Arnold變換次數,參數a,b,μ,λ,初值x的值,密鑰空間為2256遠遠大于2100,具有較大的密鑰空間和較強的抗窮舉攻擊的能力,為加密系統的安全性提供良好保障[11]。
3.4 信息熵
信息熵是用來評估信息源隨機性的一個定性標準,計算公式為:
[H=i=1LP(xi)log21P(xi)]? (4)
式中:P(xi)為符號xi的概率,L為符號的總數。針對具有256個灰度級的圖像,其理想隨機分布熵為8。信息熵值越大,分布越一致。本文的加密圖像信息熵計算值為7.995 7,接近于理想值8,表明圖像高度分布。
3.5 相關性分析
去除加密圖像像素值相鄰像素的相關性,通過對加密圖像像素值進行有效擴散,從而使密文圖像的相鄰像素相關性得到有效降低,這是衡量加密算法有效性的標準之一。相鄰像素相關性的范圍為0~1,從1到0,相關系數越低則相鄰像素點的相關性越小[12]。本文沿著3個方向分析圖像中相鄰像素相關性,計算公式為:
[rx,y=C(x,y)D(x)D(y)]? ? ?(5)
[C(x,y)=1NN-1N(xi-E(x))(yi-E(y))]? ? (6)
[D(x)=1NN-1N(xi-E(x))2]? ? (7)
[E(x)=1NN-1Nxi]? ? ?(8)
本文分別從明文圖像和密文圖像抽取1 000個相鄰(垂直、水平、對角)像素點判斷其相關性,實驗從3個方向的相關系數記錄相鄰(垂直、水平、對角)像素點判斷其相關性,圖3(a) 是明文圖像相鄰像素在垂直方向相關性,圖3(b) 是密圖相鄰像素在垂直方向相關性,可見加密后圖像的相關性大大降低。
4 結束語
由于現今網絡圖像信息傳輸的日益增加,面對傳輸過程可能存在的惡意攻擊,本文提出、基于Arnold和改進logistics混沌系統的圖像加密算法,針對Arnold變換和Logistics映射存在的缺陷,通過將兩種置亂和擴散的加密算法相結合,再對Logistics混沌映射進行改進,通過增加多個控制參數,大大提升了密鑰空間和初值敏感性,增強了加密算法的安全性。實驗結果表明,本算法的加密圖像對角相鄰像素相關性為0.005 6,優于對比算法,表明該算法具有較高安全性,具有廣泛的應用前景。
參考文獻:
[1] CHEN C S,WANG T,KOU Y Z,et al.Improvement of trace-driven I-Cache timing attack on the RSA algorithm[J].Journal of Systems and Software,2013,86(1):100-107.
[2] FRIDRICH J.Symmetric ciphers based on two-dimensional chaotic maps[J].International Journal of Bifurcation and Chaos,1998,08(6):1259-1284.
[3] WANG X Y,LIU L T,ZHANG Y Q.A novel chaotic block image encryption algorithm based on dynamic random growth technique[J].Optics and Lasers in Engineering,2015,66:10-18.
[4] SUN F Y,LIU S T,L? Z W.Image encryption using high-dimension chaotic system[J].Chinese Physics,2007,16(12):3616-3623.
[5] 高飛,樊慶宇.基于Arnold變換的圖像加密研究[J].阜陽師范學院學報(自然科學版),2015,32(2):92-96.
[6] 劉公致,吳瓊,王光義,等.改進型Logistic混沌映射及其在圖像加密與隱藏中的應用[J].電子與信息學報,2022,44(10):3602-3609.
[7] 謝國波,楊彬.基于比特置亂的量子混沌圖像加密算法[J].計算機工程,2017,43(7):182-186,192.
[8] 胡春杰,陳曉,陳霞.基于改進廣義Arnold映射的多混沌圖像加密算法[J].包裝工程,2017,38(3):144-149.
[9] 鄭永愛.混沌映射的隨機性分析[D].長沙:國防科學技術大學,2007.
[10] 程歡歡,戴曙光,楊瑩.基于三維Arnold的Logistic混沌系統圖像加密[J].電子測量技術,2019,42(22):135-139.
[11] ZHANG Y.The unified image encryption algorithm based on chaos and cubic S-Box[J].Information Sciences:an International Journal,2018,450(C):361-377.
[12] 鄭永愛,王瑩瑩,王詠梅.基于混沌系統的圖像加密算法設計與應用[J].長江信息通信,2021,34(7):46-50.
【通聯編輯:代影】