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