張旭東
摘要:針對(duì)圖像信息在傳輸過程容易被竊取、破壞和惡意篡改的問題,文章提出一種Arnold變換與改進(jìn)Logistic混沌映射相結(jié)合的圖像加密算法。該算法先將明文的像素坐標(biāo)位置進(jìn)行Arnold變換,再利用改進(jìn)Logistic混沌映射產(chǎn)生的混沌加密序列對(duì)變換后的圖像進(jìn)行擴(kuò)散與置亂獲得加密圖像1,修改加密參數(shù)后通過同樣的步驟再得到加密圖像2,隨后將兩幅圖像進(jìn)行異或處理得到最終加密圖像,通過仿真實(shí)驗(yàn)結(jié)果得出對(duì)角相鄰相關(guān)系數(shù)為0.005 6,進(jìn)行分析比對(duì)可以得出結(jié)合后的加密算法密鑰空間大,安全性高,具有較好的加密效果,改善了普通Arnold變換和Logistic混沌加密算法產(chǎn)生出的安全性問題。
關(guān)鍵詞:Arnold變換;改進(jìn)Logistic映射;圖像加密;混沌
中圖分類號(hào):TP309? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)07-0004-04
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID) :
隨著計(jì)算機(jī)技術(shù)的提升和計(jì)算機(jī)在生活工作中的普及,數(shù)字圖像信息傳遞迎來了飛速發(fā)展的時(shí)期。相較于傳統(tǒng)文本信息,圖像信息具有信息含量高、信息密度大等獨(dú)特優(yōu)勢(shì),因此在各個(gè)領(lǐng)域和行業(yè)中都成為不可或缺的一部分。因此,對(duì)于數(shù)字圖像信息傳輸中的安全保護(hù)措施,我們需要更加便捷、快速且嚴(yán)密的方法。
對(duì)于數(shù)字圖像信息內(nèi)的海量數(shù)據(jù)容量、信息內(nèi)容的高度冗余以及圖像像素相鄰像素之間的不可避免的強(qiáng)相關(guān)性,顯然傳統(tǒng)文本加密算法已經(jīng)不適合對(duì)圖像信息進(jìn)行加密[1]?;煦缬成湟蚱洚a(chǎn)生的偽隨機(jī)序列具有良好的偽隨機(jī)性以及對(duì)初始輸入條件值的高敏感性,其作為圖像像素的擴(kuò)散和置亂手段有著超強(qiáng)的潛力。從1998年Fridrich 第一次提出基于二維混沌映射的圖像加密方法[2]后,學(xué)者們對(duì)于混沌映射的探究便從未停止。由于低維混沌系統(tǒng)的結(jié)構(gòu)簡(jiǎn)單、便于實(shí)現(xiàn),加密效果好,被普遍應(yīng)用于圖像加密中[3]。在提出改進(jìn)低維混沌系統(tǒng)對(duì)圖像進(jìn)行加密的方法后,研究者們開始不滿足于低維混沌的加密手段,轉(zhuǎn)而將目光投向了加密手段更為復(fù)雜、加密效果更好的高維混沌。高維混沌系統(tǒng)相較于低維混沌,在產(chǎn)生混沌序列的偽隨機(jī)性、密鑰空間以及初值敏感性方面表現(xiàn)更加優(yōu)秀。因此,高維混沌加密逐漸變得更加普及[4]。
Arnold變換的置亂算法可以通過改變圖像原來的像素位置達(dá)到不錯(cuò)的置亂效果,其算法具有操作簡(jiǎn)單,較易實(shí)現(xiàn),置亂效果好等優(yōu)點(diǎn),使其能夠被廣泛應(yīng)用。由于Arnold算法只能通過改變像素的位置進(jìn)行置換來達(dá)到加密的效果,所以加密后的圖像相鄰像素相關(guān)性依舊很高,故而在遭到惡意攻擊時(shí)攻擊者可能會(huì)通過直方圖進(jìn)行逆向推測(cè)從而得到原圖像信息。
針對(duì)Arnold變換和傳統(tǒng)logistics混沌加密存在的加密缺陷,本文提出基于Arnold變換的改進(jìn)Logistics混沌加密算法,通過增加控制參數(shù)提高了密鑰空間,改善了兩種算法存在的問題,提升了加密算法的安全性。
1 圖像加密算法
1.1 Arnold變換
Arnold映射的是典型混沌映射,其表達(dá)式定義為:
[x'y'=1abab+1xymodn] (1)
式(1)中:x,y∈{0,1,2,...,N-1}為明文圖像像素的初始坐標(biāo)位置,N為圖的大小,x和y為圖片經(jīng)過變換后的像素位置,mod為模運(yùn)算[5]。對(duì)于一幅初始明文圖像,在經(jīng)過Arnold多次變換置亂之后,原文圖像的像素位置坐標(biāo)發(fā)生改變,圖像的內(nèi)容也會(huì)隨根據(jù)像素的移動(dòng)而發(fā)生改變,從而達(dá)到圖像信息的加密效果。但Arnold變換具有一定的周期性,在原文圖像進(jìn)行一定次數(shù)的像素變換之后極有可能會(huì)變回原文圖像的樣子,所以在預(yù)先知道置亂次數(shù)的情況下極易破解,具有很大的安全隱患。
1.2 Logistic混沌映射
Logistic混沌映射是應(yīng)用極為廣泛的混沌映射,它的映射定義為:
[xi+1=μxi(1-xi)] ? ? (2)
式(2)中:Xi為原圖像像素信息,Xi+1為L(zhǎng)ogistic混沌映射后的像素信息,μ為實(shí)現(xiàn)混沌映射的控制參數(shù),取值在0~4之間[6]。Logistic混沌在置亂加密的過程中對(duì)初始輸入值具有很強(qiáng)的敏感性,初始值一些細(xì)微的變動(dòng)都會(huì)給后續(xù)迭代產(chǎn)生的混沌序列帶來大幅度的改變[7]。所以對(duì)于μ取值不同,產(chǎn)生的混沌系列也不同,進(jìn)而混沌映射結(jié)果就會(huì)有不同特性。當(dāng)3.569 946<μ≤4時(shí),Logistic映射輸出在(0,1)之間,在進(jìn)行足夠多次數(shù)的迭代擴(kuò)散后,這個(gè)區(qū)間段內(nèi)會(huì)充斥海量的散亂混沌點(diǎn),產(chǎn)生的混沌序列會(huì)具有較高的安全性和偽隨機(jī)性,可以用于圖像加密。
2 圖像加密系統(tǒng)
2.1 改進(jìn)Logistics混沌映射
針對(duì)Logistic方程具有密鑰空間小、抗窮舉能力差、混沌序列分布不均等問題[8-9],本文提出一種改進(jìn)的Logistics混沌加密。在原公式的基礎(chǔ)上,將多位控制參數(shù)加入公式參數(shù)中,改進(jìn)后的Logistic方程表達(dá)式為:
[xi=kyixi+1=[μxi(1-μλxi)]mod1]? ? ?(3)
當(dāng)X取0.1,μ取3.995,k∈(0,1)時(shí),λ∈(0,0.2)時(shí),系統(tǒng)呈現(xiàn)混沌。
改進(jìn)后的混沌映射具有更好的混沌特性,擁有更大的參數(shù)范圍和更大的密鑰空間,并且各個(gè)參數(shù)所生成的混沌序列均勻地分布在(0,1)的狀態(tài)空間,具有良好的安全性和偽隨機(jī)性。
2.2 算法加密步驟
本文加密算法分為置亂和擴(kuò)散兩個(gè)部分,第1部分是利用Arnold變換對(duì)M×N大小的明文圖像進(jìn)行像素置亂生成初步的密文圖像,簡(jiǎn)單的置亂操作并不能很好地加密原文圖像,故第2部分是用改進(jìn)的Logistic混沌映射產(chǎn)生的混沌序列對(duì)置亂后的初步密文圖像進(jìn)行擴(kuò)散處理,完成加密。
為了提升圖像加密效果,在執(zhí)行完兩部分加密后,可以改變控制參數(shù),將上述2部分加密方式再執(zhí)行一遍,然后將兩幅加密圖像進(jìn)行異或處理,最終得到加密圖像。
具體加密步驟如下:
步驟1:輸入原文圖像G,Arnold變換參數(shù)a,b,改進(jìn)Logistic混沌映射參數(shù)μ,密鑰k;
步驟2:利用公式(1)對(duì)G進(jìn)行置換得到圖像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進(jìn)行按位異或運(yùn)算,得到加密圖像G”;
步驟6:將密鑰k1改為密鑰k2,重復(fù)步驟3~5,生成加密圖像G1”;
步驟7:G”?G1”,生成最終加密圖像G2”。
解密過程與加密過程相似,已知密鑰,按照加密流程進(jìn)行相反的步驟操作即可得到解密圖像。
3 仿真結(jié)果及安全性分析
本次仿真環(huán)境是Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz,內(nèi)存為4GB的計(jì)算機(jī),64位Windows操作系統(tǒng),MATLAB R2018b軟件,采用標(biāo)準(zhǔn)256×256的lena灰度圖像進(jìn)行實(shí)驗(yàn),μ取3.995,x0取0.1,k1,k2分別取0.89,0.97,λ取0.15帶入改進(jìn)后的混沌加密系統(tǒng),產(chǎn)生偽隨機(jī)序列,再用Arnold變化和混沌混合進(jìn)行加密。為了證明此算法的加密性能,下面通過直方圖、密鑰空間、信息熵、相鄰像素關(guān)系等加密性能指標(biāo)進(jìn)行性能分析。
3.1 仿真結(jié)果圖
3.2 直方圖分析
直方圖能夠直觀地展示圖像信息的像素點(diǎn)分布,當(dāng)加密后的圖像信息直方圖越平滑,就表示圖像的可讀性越低[10]。圖2(a)為明文圖像的像素直方圖,像素點(diǎn)縱坐標(biāo)高低分布明顯,通過直方圖極易推測(cè)出原文圖像的信息狀態(tài),從而得到原文圖像。圖2(b)為密文圖像的像素直方圖,像素分布較為平滑,高低分布均勻,無法從明文統(tǒng)計(jì)特性分析得出圖像信息。
3.3 密鑰空間
密鑰空間通常用來作為衡量加密算法優(yōu)良的單位,也是評(píng)估算法抵抗窮舉攻擊的重要指標(biāo)。在加密過程中,本文需設(shè)定Arnold變換次數(shù),參數(shù)a,b,μ,λ,初值x的值,密鑰空間為2256遠(yuǎn)遠(yuǎn)大于2100,具有較大的密鑰空間和較強(qiáng)的抗窮舉攻擊的能力,為加密系統(tǒng)的安全性提供良好保障[11]。
3.4 信息熵
信息熵是用來評(píng)估信息源隨機(jī)性的一個(gè)定性標(biāo)準(zhǔn),計(jì)算公式為:
[H=i=1LP(xi)log21P(xi)]? (4)
式中:P(xi)為符號(hào)xi的概率,L為符號(hào)的總數(shù)。針對(duì)具有256個(gè)灰度級(jí)的圖像,其理想隨機(jī)分布熵為8。信息熵值越大,分布越一致。本文的加密圖像信息熵計(jì)算值為7.995 7,接近于理想值8,表明圖像高度分布。
3.5 相關(guān)性分析
去除加密圖像像素值相鄰像素的相關(guān)性,通過對(duì)加密圖像像素值進(jìn)行有效擴(kuò)散,從而使密文圖像的相鄰像素相關(guān)性得到有效降低,這是衡量加密算法有效性的標(biāo)準(zhǔn)之一。相鄰像素相關(guān)性的范圍為0~1,從1到0,相關(guān)系數(shù)越低則相鄰像素點(diǎn)的相關(guān)性越小[12]。本文沿著3個(gè)方向分析圖像中相鄰像素相關(guān)性,計(jì)算公式為:
[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個(gè)相鄰(垂直、水平、對(duì)角)像素點(diǎn)判斷其相關(guān)性,實(shí)驗(yàn)從3個(gè)方向的相關(guān)系數(shù)記錄相鄰(垂直、水平、對(duì)角)像素點(diǎn)判斷其相關(guān)性,圖3(a) 是明文圖像相鄰像素在垂直方向相關(guān)性,圖3(b) 是密圖相鄰像素在垂直方向相關(guān)性,可見加密后圖像的相關(guān)性大大降低。
4 結(jié)束語
由于現(xiàn)今網(wǎng)絡(luò)圖像信息傳輸?shù)娜找嬖黾?,面?duì)傳輸過程可能存在的惡意攻擊,本文提出、基于Arnold和改進(jìn)logistics混沌系統(tǒng)的圖像加密算法,針對(duì)Arnold變換和Logistics映射存在的缺陷,通過將兩種置亂和擴(kuò)散的加密算法相結(jié)合,再對(duì)Logistics混沌映射進(jìn)行改進(jìn),通過增加多個(gè)控制參數(shù),大大提升了密鑰空間和初值敏感性,增強(qiáng)了加密算法的安全性。實(shí)驗(yàn)結(jié)果表明,本算法的加密圖像對(duì)角相鄰像素相關(guān)性為0.005 6,優(yōu)于對(duì)比算法,表明該算法具有較高安全性,具有廣泛的應(yīng)用前景。
參考文獻(xiàn):
[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].阜陽師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2015,32(2):92-96.
[6] 劉公致,吳瓊,王光義,等.改進(jìn)型Logistic混沌映射及其在圖像加密與隱藏中的應(yīng)用[J].電子與信息學(xué)報(bào),2022,44(10):3602-3609.
[7] 謝國(guó)波,楊彬.基于比特置亂的量子混沌圖像加密算法[J].計(jì)算機(jī)工程,2017,43(7):182-186,192.
[8] 胡春杰,陳曉,陳霞.基于改進(jìn)廣義Arnold映射的多混沌圖像加密算法[J].包裝工程,2017,38(3):144-149.
[9] 鄭永愛.混沌映射的隨機(jī)性分析[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2007.
[10] 程歡歡,戴曙光,楊瑩.基于三維Arnold的Logistic混沌系統(tǒng)圖像加密[J].電子測(cè)量技術(shù),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] 鄭永愛,王瑩瑩,王詠梅.基于混沌系統(tǒng)的圖像加密算法設(shè)計(jì)與應(yīng)用[J].長(zhǎng)江信息通信,2021,34(7):46-50.
【通聯(lián)編輯:代影】