韋斌,隋宇,鄧小玉,王向兵,陳亞彬
(廣東電網(wǎng)有限責(zé)任公司 電網(wǎng)規(guī)劃研究中心, 廣東 廣州 510000)
隨著人工智能、大數(shù)據(jù)及數(shù)字孿生等新興信息技術(shù)的迅猛發(fā)展,人們對(duì)敏感信息的隱私保護(hù)需求越來(lái)越高。數(shù)字圖像作為多媒體信息的一種重要形式,廣泛應(yīng)用于通信、娛樂(lè)、醫(yī)學(xué)、安保等眾多領(lǐng)域。然而,在數(shù)字圖像的存儲(chǔ)和傳輸過(guò)程中,很容易被黑客和惡意攻擊者侵入,導(dǎo)致信息泄漏和波及個(gè)人隱私等問(wèn)題。因此,如何保護(hù)數(shù)字圖像的安全性和保密性,成了一個(gè)熱門(mén)的研究領(lǐng)域[1-3]。
目前,常見(jiàn)的數(shù)字圖像加密方法主要包括基于傳統(tǒng)密碼學(xué)和基于混沌密碼學(xué)兩類。傳統(tǒng)密碼學(xué)采用基于數(shù)學(xué)運(yùn)算的加密算法,如AES、RSA等[4-5],具有較高的安全性和可靠性。但是,這類加密算法的運(yùn)算復(fù)雜度較高,加密與解密時(shí)間較長(zhǎng),難以用于數(shù)據(jù)冗余度較高的數(shù)字圖像。相比之下,混沌密碼學(xué)具有更為靈活的加密算法結(jié)構(gòu),使得能夠采取較低的計(jì)算復(fù)雜度滿足高安全性的需求,因此得到了眾多專家和學(xué)者的青睞。尤其是近幾年,混沌圖像加密技術(shù)愈發(fā)引人關(guān)注[6]。2019年,Li等人在混沌系統(tǒng)的基礎(chǔ)上,提出了一種分?jǐn)?shù)階4D超混沌記憶系統(tǒng),并成功應(yīng)用于彩色圖像加密[7];2021年,河南大學(xué)的研究團(tuán)隊(duì)提出了一種基于三維DNA的圖像濾波和模糊擴(kuò)散策略的圖像密碼,此方案結(jié)合哈希函數(shù),增加了黑客利用明文攻擊方法解密的難度,有效提高了加密的安全性[8];2022年,印度學(xué)者提出了一種改進(jìn)的Henon混沌映射和動(dòng)態(tài)編碼機(jī)制的圖像保護(hù)密碼系統(tǒng),結(jié)合創(chuàng)新的隨機(jī)DNA編碼機(jī)制和DNA算術(shù)運(yùn)算方法實(shí)現(xiàn)擴(kuò)散運(yùn)算,此運(yùn)算不僅具有較高安全性,還可以抵抗蠻力攻擊、差分攻擊和統(tǒng)計(jì)攻擊[9]。
然而,現(xiàn)今的混沌圖像加密技術(shù)正面臨一些性能瓶頸問(wèn)題。一方面,隨著云計(jì)算和大數(shù)據(jù)技術(shù)的推廣,超高清的數(shù)字圖像應(yīng)用得到了普遍應(yīng)用,所需加密的高數(shù)據(jù)量對(duì)計(jì)算復(fù)雜度提出了新的挑戰(zhàn)。另一方面,在加密算法的安全性方面,一些混沌密碼算法不具有足夠的安全性,容易被攻擊者破解。以上問(wèn)題都使得這些混沌密碼系統(tǒng)的加密效果和安全性難以滿足實(shí)際需求。
為此,提出了一種基于二維離散超混沌和頻域壓縮的圖像加密方案。首先,采用二維離散超混沌系統(tǒng)作為密鑰驅(qū)動(dòng)器,利用其復(fù)雜動(dòng)力學(xué)特性對(duì)圖像進(jìn)行加密。而后在加密過(guò)程中,將圖像分塊得到圖像矩陣,并將其轉(zhuǎn)換成頻域矩陣。接著通過(guò)哈達(dá)瑪變換對(duì)加密后的頻域矩陣進(jìn)行變換,進(jìn)一步增強(qiáng)了加密的安全性。最后,采用壓縮編碼技術(shù)[10]對(duì)加密后的矩陣進(jìn)行壓縮,以減小傳輸數(shù)據(jù)量。實(shí)驗(yàn)結(jié)果表明,提出的圖像加密方案具有很高的加密強(qiáng)度和安全性,在保證加密效率和圖像質(zhì)量的前提下,減小了傳輸數(shù)據(jù)的大小,提高了傳輸效率。同時(shí),該方案具有較強(qiáng)的魯棒性,能夠抵御各種攻擊,具有良好的應(yīng)用前景。
DCT[11]是頻域壓縮的重要手段之一,具有熵保留、能量保留、去相關(guān)性和能量集中性等特點(diǎn),常用于信號(hào)、數(shù)字圖像處理中。以2D-DCT變換為例,設(shè)有一組二維數(shù)組{X(m,n)|m=0,1,…,M-1;n=0,1,…,N-1},則2D-DCT表達(dá)式為:
(1)
其中k=0,1,2,…,M-1,l=0,1,2,…,N-1,
二維離散余弦逆變換(2D-IDCT)定義為:
(2)
經(jīng)歷DCT后,圖像在空間域的像素值會(huì)轉(zhuǎn)化為頻域中的DCT系數(shù),不同于FFT的是,該變換節(jié)省算術(shù)功率且變換結(jié)果均為實(shí)數(shù)。在本算法中,圖像將以 8×8 分塊處理再逐塊進(jìn)行DCT操作。通過(guò)這個(gè)函數(shù)的映射,頻域的圖像能量集中在左上角第一個(gè)系數(shù)中,通常將這個(gè)系數(shù)稱為DC系數(shù),其余元素稱為AC系數(shù)[12-13]。此外,在該變換中,低頻信號(hào)集中在DCT系數(shù)矩陣的左上角,而高頻信號(hào)則集中在右下角。鑒于人眼對(duì)高頻信息的不敏感,DCT為后續(xù)量化中舍棄部分高頻信號(hào)的有損壓縮步驟鋪平道路。
混沌系統(tǒng)由于其高度初值敏感性,且具有不發(fā)散、不收斂和不周期等特點(diǎn),所生成的序列具有強(qiáng)隨機(jī)性,因此在圖像加密算法得到廣泛應(yīng)用。本文采用的是由花忠云等人設(shè)計(jì)的 2D-LSM[14]和2D-LSCM[15]混沌系統(tǒng),具體公式操作如下:
(3)
在2D-LSM中控制參數(shù)a,b∈[1,100]。
(4)
在2D-LSCM中控制參數(shù)θ∈[0,1]。
從其定義中可以看出,混沌系統(tǒng)是通過(guò)變換Logistic映射和Sine映射,并將維度從1D擴(kuò)展到2D而獲得的。通過(guò)這種方式,可以充分混合Logistic映射和Sine映射的復(fù)雜性,從而獲得復(fù)雜的混沌行為。
總體設(shè)計(jì)方案如圖1所示,主要包括DCT頻域壓縮和離散超混沌加密等模塊。具體的加密步驟如下。

圖1 加密方案流程圖
步驟1:提取明文相關(guān)密鑰并生成序列
輸入明文圖像并利用哈希表獲取明文圖像MD5哈希值,將其編碼為符合混沌初始值區(qū)間的密鑰。同時(shí)通過(guò)密鑰生成混沌系統(tǒng),得到兩個(gè)混沌序列R1、R2,然后再經(jīng)過(guò)如下數(shù)學(xué)公式處理轉(zhuǎn)換為偽隨機(jī)序列。
(5)
其中floor(·)為向下取整函數(shù),mod(·)為求余函數(shù)。
步驟2:時(shí)域平移分塊與DCT
為符合DCT對(duì)稱區(qū)間,將圖像的像素值平移128,使其區(qū)間分布在[-127,128]。隨后,把圖像從左到右、從上到下地劃分成多個(gè)尺寸為8×8的不重疊像素塊。最后,把子塊逐塊進(jìn)行DCT,此操作將圖像轉(zhuǎn)換到頻域上處理。
步驟3:量化
分別對(duì)DCT后的每個(gè)子塊進(jìn)行量化,公式如下:
(6)
其中round(·)為四舍五入取整函數(shù),I是尺寸為8×8的子塊,Q為標(biāo)準(zhǔn)量化矩陣,I′為量化后的矩陣。該步驟在保持DCT系數(shù)矩陣低頻分量的同時(shí),抑制了高頻信號(hào),獲得良好的壓縮效果。
步驟4:提取系數(shù)并壓縮為二進(jìn)制序列
對(duì)量化后的每個(gè)子塊進(jìn)行Zigzag掃描成一維數(shù)組,取第一位作為DC系數(shù),剩余值作為AC系數(shù)。將圖像各個(gè)子塊的DC系數(shù)取出,構(gòu)成一個(gè)一階的行矩陣,進(jìn)行DPCM和Huffman編碼,可以得到一條基于DC系數(shù)的二進(jìn)制比特流。同樣,將AC系數(shù)取出構(gòu)成一個(gè)一階的行矩陣后,進(jìn)行RLE 編碼,最終得到一條基于AC系數(shù)的二進(jìn)制比特流。
步驟5:將二進(jìn)制序列重構(gòu)為壓縮矩陣
將圖像壓縮編碼后得到的兩條二進(jìn)制比特流拼接起來(lái),重構(gòu)成明文8倍列長(zhǎng)的二進(jìn)制矩陣,隨后每8列二進(jìn)制數(shù)轉(zhuǎn)換為1列十進(jìn)制數(shù),此時(shí)所得壓縮矩陣大小與明文等長(zhǎng)異寬。
步驟6:比特行列置換擴(kuò)散[16]
對(duì)得到的壓縮矩陣進(jìn)行比特行列置換。首先對(duì)得到的偽隨機(jī)序列進(jìn)行排序,得到兩條排序序列rowK、colK。接著,將圖像按照比特級(jí)展開(kāi),調(diào)整圖像尺寸為H×8W,最后使用排序序列對(duì)分層圖像進(jìn)行操作。具體操作如下:
(7)
其中sort(·)函數(shù)表示將輸入序列中的每一位由低到高排序。w1、w2表示將序列重新排序后的結(jié)果。i、j表示排序索引,i=1,2,3,…,H,j=1,2,3,…,W。得到擴(kuò)散結(jié)果即為所求密文。
解密是加密的逆過(guò)程,與加密過(guò)程對(duì)應(yīng),首先對(duì)密碼圖像進(jìn)行反向擴(kuò)散置換,獲得加密前的頻域信息。再提取頻域信息的系數(shù)進(jìn)行反向壓縮編碼和恢復(fù)量化,然后用DCT改變時(shí)域內(nèi)的圖像信息。最終恢復(fù)后的圖像即為原文。
在實(shí)驗(yàn)平臺(tái)方面,采用一臺(tái)安裝了 MATLAB R2023a實(shí)驗(yàn)軟件的PC主機(jī),PC的處理器為AMD RyzenTM95950X的CPU,主頻為3.88 GHz,內(nèi)存大小為16 GB,硬盤(pán)大小為1 TB,操作系統(tǒng)為Windows10。
3.2.1 直方圖分析
由于直方圖反映出圖像每個(gè)像素點(diǎn)灰度值出現(xiàn)頻率,所以極易被攻擊者利用作為解密圖像的切入點(diǎn),因此直方圖是評(píng)估圖像加密方案安全性能的重要指標(biāo)。優(yōu)秀的圖像加密算法可以將圖像處理為類噪聲分布形式來(lái)掩蓋圖像的主要信息。如圖1所示,選用的圖片在處理后的密文圖像直方圖中呈現(xiàn)類噪聲分布,消除了攻擊者從中獲取有效信息的可能,具體示例如圖2所示:

圖2 加密前后圖像直方圖
3.2.2 相鄰像素相關(guān)性分析
普通圖像包含具有高鄰域相關(guān)性的像素,而在通過(guò)良好加密算法加密的圖像中,任何像素與其相鄰像素之間都沒(méi)有相關(guān)性。因此,安全加密方案應(yīng)該將普通圖像轉(zhuǎn)換為相鄰像素之間具有低相關(guān)性的加密圖像。
為了計(jì)算和比較普通圖像和密碼圖像中相鄰像素的相關(guān)性,我們采用了以下步驟。首先,從明文圖像和密文圖像中隨機(jī)選取3000對(duì)相鄰像素點(diǎn),然后分別計(jì)算水平、垂直、對(duì)角線和反對(duì)角線方向的相鄰像素相關(guān)性系數(shù),相關(guān)系數(shù)計(jì)算公式如下:
rxy=
(8)
其中,xi和yi構(gòu)成第i對(duì)水平/垂直/對(duì)角相鄰像素。M是水平/垂直/對(duì)角相鄰像素的總數(shù)。加密圖像的相鄰像素相關(guān)性數(shù)據(jù)如圖3所示。圖3分別顯示了“Lena”的普通圖像和加密圖像中兩個(gè)水平、垂直和對(duì)角相鄰像素的相關(guān)性。從實(shí)驗(yàn)數(shù)據(jù)可以看出,普通圖像的相關(guān)系數(shù)接近1,而加密圖像的相關(guān)性系數(shù)近似等于0。這表明所提出的加密方案生成具有去相關(guān)的相鄰像素的圖像。因此,本文所提出的方案對(duì)統(tǒng)計(jì)攻擊是安全的。

圖3 明文和密文圖像相鄰像素相關(guān)性
(a)明文圖像水平方向相關(guān)性;(b)明文圖像垂直方向相關(guān)性;(c)明文圖像對(duì)角線方向相關(guān)性;(d)密文圖像水平方向相關(guān)性;(e)密文圖像垂直方向相關(guān)性;(f)密文圖像對(duì)角線方向相關(guān)性
3.2.3 密鑰空間分析
密鑰空間是決定密碼系統(tǒng)強(qiáng)度的重要指標(biāo)之一,密鑰空間的大小取決于安全密鑰的長(zhǎng)度。因此,需要大的密鑰空間來(lái)有效抵御窮舉攻擊。在本文構(gòu)建的密鑰空間中,選擇了兩個(gè)精度為1016的密鑰參數(shù),并引入了明文關(guān)聯(lián)和密文關(guān)聯(lián)的MD5哈希值,以進(jìn)一步增強(qiáng)密鑰空間,形成128位的哈希值。因此,可以推斷出密鑰空間的大小約為1016×2×2128≈2234,遠(yuǎn)大于2100的理論要求。如表1所示,不難看出該算法比其他文獻(xiàn)具有更大的密鑰空間。總之,該算法的關(guān)鍵空間足夠大,可以抵御各種暴力攻擊。

表1 密鑰空間大小對(duì)比
3.2.4 差分統(tǒng)計(jì)分析
原始圖像和加密圖像之間的區(qū)別可以通過(guò)兩個(gè)標(biāo)準(zhǔn)來(lái)衡量,即NPCR(像素?cái)?shù)變化率)和UACI(統(tǒng)一平均變化強(qiáng)度)。攻擊者通常會(huì)對(duì)原始圖像進(jìn)行微小的更改,然后使用所提出的算法對(duì)更改前后的原始圖像進(jìn)行加密,以找出原始圖像與加密圖像之間的關(guān)系,即差分攻擊。NPCR和UACI的標(biāo)準(zhǔn)通常用于檢查抵抗性能差分攻擊。計(jì)算NPCR和UACI的公式如下:
(9)
其中,H×W為圖像的尺寸大小;v1、v2分別為明文圖像改變一個(gè)像素前后的密文圖像。D可以由下式定義:
(10)
表2顯示了根據(jù)公式計(jì)算出的算法結(jié)果。通過(guò)表2,可以發(fā)現(xiàn)NPCR和UACI接近其理想值99.61%和33.46%。這些結(jié)果表明,加密方案對(duì)原始圖像的變化很敏感,即使它們之間只有一個(gè)差異位,所提出的密碼系統(tǒng)也可以給出兩個(gè)不同的加密圖像。

表2 NPCR和UACI值
3.2.5 壓縮質(zhì)量分析
在圖像處理領(lǐng)域,峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)被用作評(píng)估加密質(zhì)量的標(biāo)準(zhǔn)指標(biāo)。均方誤差(MSE)是PSNR的一部分,定義如下:
(11)
其中MSE表示明文圖像X和密文圖像Y的均方誤差;圖像的高度和寬度分別用H和W表示,Q表示圖像的像素級(jí)。SSIM是一種衡量?jī)煞鶊D像相似度的指標(biāo),定義為:
SSIM(X,Y)=
(12)
其中μX、μY分別表示圖像X和Y的均值,σX、σY分別表示圖像X和Y的標(biāo)準(zhǔn)差,L表示像素值的動(dòng)態(tài)范圍。利用上述公式計(jì)算PSNR和SSIM的值,如表3所示。一個(gè)加密后圖像的PSNR的值應(yīng)該在30 dB左右,SSIM的范圍應(yīng)該是-1~1,圖片越接近,SSIM的絕對(duì)值越接近1,而加密后SSIM的值應(yīng)該在0左右。

表3 PSNR、MSE和SSIM值
同時(shí),本節(jié)還將運(yùn)行效率與其他算法進(jìn)行比較,進(jìn)一步分析了所提出算法的性能。運(yùn)行效率比較結(jié)果如表4所示。

表4 置換擴(kuò)散所用時(shí)間對(duì)比
3.2.6 量化矩陣對(duì)壓縮率和恢復(fù)質(zhì)量的影響
在該加密算法中,可以通過(guò)定制量化矩陣來(lái)改變壓縮率。自定義量化矩陣與標(biāo)準(zhǔn)量化矩陣之間的關(guān)系如下:
Q’=αQ
(13)
其中Q’為自定義量化矩陣,Q是標(biāo)準(zhǔn)量化矩陣,矩陣的具體計(jì)算見(jiàn)算法設(shè)計(jì)的步驟3,α為量化比例因子,圖4展示了在量化矩陣α={2-4,2-3,2-2,2-1,1,2}的情況下的密文和解密圖像。通常,α越大,壓縮率越高,恢復(fù)圖像的質(zhì)量就越低。如圖5所示,通過(guò)調(diào)整α的大小并測(cè)量PSNR評(píng)估圖像恢復(fù)質(zhì)量,可見(jiàn)當(dāng)量化矩陣自左向右從2Q變化到2-4Q的過(guò)程中,PSNR的值也之不斷增大,最高接近41 dB。由圖4可以發(fā)現(xiàn)當(dāng)α=2-4時(shí),恢復(fù)圖像的PSNR處于40dB附近。可見(jiàn)該算法在擁有優(yōu)秀的還原質(zhì)量的同時(shí),圖像也保持了出色的壓縮比。

圖4 在不同α條件下的PSNR測(cè)試

圖5 在不同α條件下的還原質(zhì)量分析
3.2.7 明文敏感性分析
明文敏感性是指當(dāng)改變明文的像素時(shí),相應(yīng)密文的變化程度。如果算法對(duì)明文不敏感,攻擊者很可能通過(guò)分析明文和密文對(duì)之間的差異來(lái)打破算法。因此,算法的明文敏感性是其抵抗明文攻擊的關(guān)鍵。在本節(jié)中,我們通過(guò)在(H/3,W/3)、(H/3,2*W/3)、(2*H/3,W/3)和(2*H/3,2*W/3)處向普通圖像的像素值加1來(lái)分析所提出算法對(duì)普通圖像的敏感性,以計(jì)算NPCR和UACI。結(jié)果如表5所示。從中可以看出,當(dāng)所選位置的像素值的變化為1時(shí),對(duì)應(yīng)的密文與原始密文之間的平均NPCR和UACI分別達(dá)到99.6046%和33.4528%,這非常接近對(duì)應(yīng)理想值99.6094%和33.4635%。這表明密碼圖像發(fā)生了顯著變化。這使攻擊者不可能通過(guò)比較密文之間的差異來(lái)破壞算法,因此該算法足以抵抗明文攻擊。

表5 明文敏感性測(cè)試結(jié)果
3.2.8 混沌序列NIST測(cè)試
NIST 800-22測(cè)試套件是一個(gè)由16個(gè)測(cè)試組成的統(tǒng)計(jì)包,用于測(cè)試由基于軟件的密碼或偽隨機(jī)數(shù)生成器的硬件產(chǎn)生隨機(jī)(任意長(zhǎng)度)二進(jìn)制序列。在該測(cè)試中,加密所需的所有序列都通過(guò)測(cè)試,部分測(cè)試結(jié)果如表6所示。
提出的基于二維離散超混沌和頻域壓縮的數(shù)字圖像加密方案在壓縮效率、壓縮性能和敏感性等方面都展現(xiàn)出了卓越的性能。這些結(jié)果進(jìn)一步驗(yàn)證了該方案在加密安全性和效率方面的優(yōu)勢(shì)。此方案具備高強(qiáng)度和安全性的特點(diǎn),同時(shí)能夠降低傳輸數(shù)據(jù)量,提高傳輸效率。此外,混沌序列展示出良好的隨機(jī)性和統(tǒng)計(jì)特性,為方案的安全性提供了有力的支持。實(shí)驗(yàn)結(jié)果表明,基于二維離散超混沌和頻域壓縮的數(shù)字圖像加密方案具有廣泛的應(yīng)用前景和實(shí)際價(jià)值。它能夠在數(shù)字圖像加密領(lǐng)域有效地平衡安全性和效率,為實(shí)際應(yīng)用提供可行的解決方案。

表6 NIST-800-22 測(cè)試結(jié)果