劉瀚揚 華南 王一諾 梁俊卿 馬鴻洋?
1) (青島理工大學信息與控制工程學院,青島 266520)
2) (青島理工大學理學院,青島 266520)
隨著互聯網的發(fā)展,人們對于信息安全的需求日益增加,而經典的加密技術存在著密鑰空間小、易破解的缺陷,圖像加密技術在保護圖像信息安全和隱私內容等方面的問題亟待解決.量子隨機行走作為一種新型量子密鑰生成器,其密鑰空間大,與經典隨機行走相比計算速度與安全性有著明顯的提高.本文提出一種基于量子隨機行走并涉及Lorenz 和Rossler 多維混沌的三維圖像加密算法.首先應用高斯金字塔對圖像進行處理然后按照一定比例將處理后的圖像切割成4 份;其次使用量子隨機行走生成的隨機序列與多維混沌中的Lorenz 混沌系統(tǒng)生成的隨機序列對分成的若干塊子圖像進行漢明距離計算然后進行合成,并且對圖像RGB三通道之間進行歐氏距離計算;最后將漢明距離與歐式距離取余得到的序列值作為初始值輸入多維混沌中的Rossler 系統(tǒng),生成隨機序列作為密鑰對圖像的RGB 通道進行異或操作得到加密后的圖像,對應解密方案為加密過程逆過程.此外,本文采用基于離散余弦變換和奇異值分解的盲水印嵌入算法將水印信息嵌入到加密后的圖像中,實現接收方可以通過提取水印,根據水印信息的完整性來判斷傳輸過程中圖像是否遭受到攻擊破壞,如無遭受惡意攻擊,則對圖像進行解密操作.這一操作完善了對圖像信息安全的保護.實驗結果表明加密后圖像的峰值信噪比穩(wěn)定在7—9 之間加密效果較好,灰度差評分接近1,加密圖像的相關性均勻分布,其相關性系數接近0,密鑰空間2128 且加密后的直方圖分布均勻,具有較高的抵御統(tǒng)計分析攻擊的能力.
隨著互聯網的普及,暴露在公共網絡通信中的文字、音頻、圖像、視頻等易受到第三方惡意攻擊和竊聽,因此通過加密數字圖像保護圖像信息安全和隱私內容顯得極為重要.
量子密碼學[1-4]作為經典密碼與量子力學原理相結合的產物在加密通信等方面有著巨大的作用.在過去的幾十年里,經典的隨機行走和馬爾可夫鏈被用作發(fā)展計算機科學和數學算法的框架.量子力學原理與經典的隨機行走相結合,提供了一種新的模式,即量子隨機行走.1687 年,Aharonov 等[5]最早提出了一維量子隨機行走,利用量子態(tài)相干性使得量子隨機行走比經典隨機行走擴散速度更快.隨著研究的發(fā)展,Farhi 和Gutmann[6]于1998 年提出了連續(xù)時間量子隨機行走的概念,在量子隨機行走的研究道路上起著重要的作用;Childs 等[7]于2003 年提出了一種連續(xù)時間的量子隨機行走算法.量子隨機行走算法被證明相比于經典算法具有指數級的速度[8,9]和更高的安全性[10,11].2001 年,Watrous[12]將經典隨機行走量子化,得到了離散時間量子隨機行走的概念.從此,量子隨機行走的概念被細分為連續(xù)時間量子隨機行走和離散時間量子隨機行走.其中,離散時間量子隨機行走具有不確定性,被廣泛應用于量子及經典密碼學中[13-19].Gods 和Zhan[20]在2019 年以組合方法構建的三個離散時間量子行走模型和2021 年Singh 等[21]進行的離散時間量子游走的通用量子計算為本文提供了思想基礎,Tsafack 等[22]于2020 年發(fā)表的基于量子隨機行走的光學圖像加密算法和2021 年王一諾等[23]發(fā)表的基于DNA 編碼與交替量子隨機行走的彩色圖像加密算法給本文提供了重要的研究方向.本文采用量子隨機行走算法來產生隨機序列,與混沌模型相結合,整合出新的混合的隨機密鑰串,提高加密安全性.
混沌系統(tǒng)[24]具有較難預測性、初始值敏感性等特性,在密碼學領域得到了極大的應用[25-28].利用混沌系統(tǒng)產生的隨機序列對二進制的數據流圖像信息進行加密,具有抗攻擊能力強、安全性高的特點.Assad 和Farajallah[29]提出利用混沌偽隨機數生成器在加密或解密圖像過程中產生穩(wěn)健的較長的一串離散值序列,進而控制參數的變化,Wang等[30]提出一個以冪指數函數和模運算的結構集成的混沌系統(tǒng),針對彩色圖像的三通道RGB 分量中的像素位置置亂達到加密效果.Kumar 等[31]提出利用DNA密碼規(guī)則將圖像的RGB 通道中的像素值轉換為DNA 序列.在像素層面上使用Lorenz-Rossler 混沌系統(tǒng)對新生成的DNA 序列行擴散操作,在bit 層面上二維(2D) logistic 映射用于在混淆階段對擴散后的RGB 通道執(zhí)行按位混沌馬尾處理,Huang 等[32]利用Rolsser 超混沌系統(tǒng)生成擾亂和擴散矩陣,提出一種基于Rossler 超混沌和壓縮感知技術的雙圖像壓縮-加密算法.Rakesh 等[33]利用混沌系統(tǒng)的混淆和擴散特點,在圖像加密算法中表現出良好的性能.Huang 和Ye[34]利用置換擴散的經典結構和雙二維混沌系統(tǒng),設計了一種高效的自適應混沌圖像加密算法模型,有效地抵抗選擇明文和已知明文攻擊,具有較高的安全性.Wang 等[35]通過隨機密鑰對混沌系統(tǒng)的初始值和控制參數進行初始化,SHA-512 算法對圖像像素點的坐標進行置換,使加密后的圖像與原始圖像產生混淆關系,設計了一個基于分割的圖像排列策略和一個包含三個模型的有效圖像擴散策略方案,通過仿真實驗,驗證該算法的魯棒性和對蠻力攻擊、統(tǒng)計分析攻擊、明文攻擊、差分攻擊的有效性.Zhou 等[36]通過SHA-512 哈希函數和隨機小數點序列生成與明文相關的密鑰流,以及基于ncc 的位級圖像混淆和擴散操作,增加了密鑰空間和動態(tài)密碼特性,提出的新型圖像加密的組合混沌系統(tǒng)具有良好的混沌特性和安全性.
量子隨機行走作為一種新型的密鑰生成器,密鑰空間大,量子隨機行走擁有優(yōu)于經典的特性,其攜帶信息的量子態(tài)的擴散速度與經典相比有二次方的增長.
量子隨機行走主要由硬幣空間HwC和行走者的位置空間HwP組成,因此量子隨機行走的作用空間為H=HwC?HwP.量子隨機行走的過程分為兩步,第一步是硬幣算子作用在二維希爾伯特空間HwC的硬幣態(tài)上,之后把酉算子作用在量子隨機行走的希爾伯特空間H上,行走者根據硬幣態(tài)的狀態(tài)進行下一步行走.假定量子隨機行走硬幣算符始終選擇相同的算符:
轉移算符R在量子隨機行走中的作用是根據硬幣態(tài)的狀態(tài)決定行走者下一步行走的方向.當硬幣態(tài)為|0〉時,行走者將向某一方向前進一步;當狀態(tài)為|1〉時,行走者將向反方向前進一步,轉移算符R可以表示為
一維空間的量子隨機行走的每一步操作都可以用全局U來表示:
在交替量子隨機行走中HwP是由位置態(tài){|x,y〉,x,y ∈Z}張量而成,在二維空間內兩個方向交替行走.因此在量子隨機行走過程中,反復作用于量子隨機行走系統(tǒng)的酉算子可以表示為
相比低維的混沌模型,Rossler 結構更為復雜,抵御攻擊能力更強,具有一個非線性項,可以由含參數的三維(3D)非線性常微分方程組組成,其具體形式為
其中,ω,η,τ,γ為系統(tǒng)的參數.本文稱ω為自然頻率,是表征系統(tǒng)在沒有外界干擾時轉動快慢的量,如圖2 所示.
圖1 量子隨機行走Fig.1.Quantum random walk.
圖2 Rossler 混沌模型Fig.2.Rossler chaotic model.
Rossler 振子在混沌動力學中也是研究比較多的一個模型.但用單一的混沌模型生成的隨機序列來對圖像加密易被破解,抗攻擊性能差.
Lorenz 混沌模型也可以由三個含參數的非線性常微分方程組組成,其形式為:
其中 三個參數分別為普朗特數σ,瑞利數ρ,方向比μ,如圖3 所示.
圖3 Lorenz 混沌模型Fig.3.Lorenz chaotic model.
基于上述Lorenz 和Rossler 混沌模型及量子隨機行走的理論,得出基于量子隨機行走和多維混沌的三維圖像加密算法的流程分為7 個步驟: 圖像分割,概率矩陣的生成與轉化,Arnold 置亂,利用歐式距離與漢明距離求序列,密鑰的生成,以及傳輸過程中的盲水印的嵌入和提取.
高斯金字塔是為了以多分辨率來解釋圖像而誕生的一種簡單有效的方法.本文采用高斯金字塔進行圖像分割,作為加密步驟前的處理工作,將處理后的圖像按照一定比例切割成若干份,分塊加密與整體加密相比提升了圖像的安全性能.高斯金字塔主要分成兩個步驟: 第一步對圖像做低通濾波,達到平滑效果;第二步對得到的平滑幀圖,做下抽樣,即可獲得一系列的縮小的圖像.將這些圖像組合在一起,構造出高斯金字塔.
高斯金字塔是通過對一張圖采用逐級下采樣來獲得的.最下層是原始圖片,越往上圖的尺寸越小,如圖4 所示.
圖4 高斯金字塔結構圖Fig.4.Gaussian pyramid structure.
其中Az(x,y) 為第z層高斯金字塔圖像;A0為原始圖像;A1,···,Az表示高斯金字塔的第一層到第z層.w(m,n)=h(m)h(n) 是有低通特性的窗口函數,其中h為高斯密度分布函數.
根據上述量子隨機行走理論,設定最適合的參數(Nstep,P,λ1,λ2),得到二維量子隨機行走生成概率分布P.
二維Arnold 變換因其變換簡單、有周期性的特點常被用來進行置亂圖像操作,本文首先對彩色圖像的三通道進行分離,然后針對分離后的三通道灰度圖的各個像素點做x軸方向的錯位切換,再做y軸方向的錯位切換,并按照(14)式進行模運算,達到圖像置亂的效果.Arnold 映射方程為
圖5 Arnold 變換Fig.5.Arnold transform.
歐式距離是衡量多維空間中兩個點之間的絕對距離的常見度量方式.將序列α=(α1,α2,···,αn)看 作n維空間 點α,將β=(β1,β2,···,βn) 看 作n維空間點β,根據n維空間的歐式距離得到α與β的歐式距離并對得到的歐式距離讓其結果在(0—255)之間:
基于(15)式得到R,G,B 三通道的歐式距離DRG,DRB,DGB,
利用Lorenz 混沌模型,設定適當參數和初始值生成隨機序列q=Q1,Q2,Q3,···,Qg.
將3.2 節(jié)概率矩陣的生成與轉化中得到量子隨機行走生成的隨機序列m與Lorenz 混沌系統(tǒng)生成的混沌序列q的長度進行比較,即
基于漢明距離公式和上述判斷公式將步驟二中得到量子隨機行走生成密鑰和Lorenz 混沌模型生成的密鑰進行漢明距離求值得到:
將3.4 節(jié)利用歐式距離與漢明距離求序列中得到的漢明距離H與歐式距離D取余,即
其中,si是來自兩個混沌系統(tǒng)的混沌序列.然后對原始圖像進行Arnold 變換來進行置亂;最后將得到的隨機序列與置亂后的圖像進行異或操作進行加密和解密,如圖6 所示.
圖6 密鑰生成Fig.6.Key generation.
離散余弦變換(discrete cosine transform,DCT)將圖像空間表達式從空域轉換為頻域,對原始圖像進行DCT 變換后,生成互不相關的變換系數矩陣,明文圖像的主要能量壓縮到部分低頻系數中去(即DCT 矩陣的左上角),使圖像具有壓縮比高、誤碼率小、信息集中等優(yōu)點.二維DCT 變換如下:
在傳輸過程中,盲水印算法在保護圖像版權和防偽防篡改方面具有重要的作用.本文選取混沌加密后的彩色圖片作為載體圖片,將64 × 64 的二維碼圖片作為水印信息,按照DCT 變換和奇異值分解(singular balue decomposition,SVD)兩個過程進行嵌入和提取,如圖7 所示.
圖7 水印嵌入與提取Fig.7.Watermark embedding and extraction.
首先對得到混沌加密后的圖像進行讀取,作為載體圖像(G),將RGB 轉換為YUV 格式的圖像數據表示,并實現三通道分離,然后將圖像分成互不重疊的8 × 8 小分塊,如果圖像整體長寬大小不是偶數,則擴充邊緣,設置邊框,添加的邊界框像素值0,也就是補上白邊.對每一個小分塊做二維DCT變換,得到分塊的DCT 系數矩陣Bij(i,j=0,1,2,···,N),其左上方為低頻數據的大數值(稱為直流分量),右下方為高頻數據的小數值(稱為交流分量),按照ZigZag 排序,取出變換后每一塊矩陣的低頻系數Bij(0,0) .然后對每一塊Bij(0,0) 構成的矩陣Array 進行奇異值分解,得到 Array=USVT.其中,U為左正交矩陣,V為右正交矩陣,S為對角矩陣.為實現盲提取,即無需再提取圖像的參數就可提取水印,本文采用求模量化方式將二值水印圖像(W) 嵌入到低頻系數的奇異值矩陣中.通過以下嵌入公式:
其中q代表數字水印嵌入強度,此時得到新的S1矩陣,然后利用SVD 反變換得到 Array′=US1VT,把 Array′中相應的元 素替換為Bij里的低頻 系數,根據公式(24)做逆DCT 變換,就得到了嵌入水印信息W的合成圖像G′.此時的水印較好地實現了不可見性.
接收方收到發(fā)送方的圖像后首先進行水印提取,以驗證圖像在傳輸過程中有無受到攻擊,對圖像G依舊分割為8 × 8 的小塊做DCT 變換,取出每塊中的低頻系數矩陣 Array*,對其做SVD 變換得到對 角矩陣S*=U*S*VT*,根據嵌 入公式(26)—(28)式可以得出,此時嵌入后的圖像矩陣D=U1S*,將S*(1,1) 與嵌入系數q相比,若大于q/2 則提取水印矩陣W*=1,否則W*=0,最后得到可能發(fā)生變化的水印圖像,然后分離出原始水印和載體圖像.
實驗測試來自作者相機拍攝的校園真實圖像.圖像像素大小為2048 × 2048,分割為4 幅像素大小為512 × 512 的圖像,量子隨機行走選取(Nstep,P,λ1,λ2)=(400,512,π /2,π /6),Lorenz 混 沌模型設定參數 (x0,y0,z0,σ,ρ,μ,T) 為(—16,—20,36,10,29,9/4,8000),加密-水印流程如圖8 所示,加密仿真結果如圖9 所示,加密算法如圖10 所示.
圖8 加密-水印算法流程圖Fig.8.Encryption watermark algorithm flow chart.
圖9 加密仿真結果Fig.9.Encryption simulation results.
圖10 加密算法Fig.10.Encryption algorithm.
本節(jié)對加密圖像進行了直方圖、相關性、GVD、峰值信噪比等多方面的性能分析,加密后的圖像峰值信噪比穩(wěn)定在7—9 之間加密效果較好,GVD 評分接近1 說明加密后圖像與加密前圖像基本不同,加密圖像的相關性均勻分布,其相關性系數接近0,且加密后的直方圖分布均勻,實驗結果表明本算法具有較高的抵御統(tǒng)計分析攻擊的能力.
4.2.1 直方圖
圖像中各個灰度值的分布情況通過圖像的直方圖顯示,惡意的第三方可針對密文圖像的直方圖表現出明顯的統(tǒng)計規(guī)律來獲取圖像的信息.直方圖的方差能有效量化加密算法抵御統(tǒng)計分析攻擊能力.方差越小,說明像素分布越均勻,圖像顯示的統(tǒng)計信息就越少,圖像加密方案就越安全.
3D 直方圖以及原始圖和加密圖像的直方圖如圖11—圖18 所示,可以看出原始圖像及其RGB三通道的直方圖分布極其不均勻,而經過加密后的圖像及其RGB 三通道的直方圖像素分布均勻,方差小無較大波動,圖像顯示的統(tǒng)計信息就越少,這表明加密圖像抵抗統(tǒng)計攻擊的效果較好,圖像加密方案就越安全.
圖11 原始圖像1 和加密圖像1 的3D 直方圖Fig.11.3D histogram of original image 1 and encrypted image 1.
圖12 原始圖像1 和加密圖像1 的性能分析直方圖Fig.12.Performance analysis histogram of original image 1 and encrypted image 1.
圖13 原始圖像2 和加密圖像2 的3D 直方圖Fig.13.3D histogram of original image 2 and encrypted image 2.
圖14 原始圖像2 和加密圖像2 的性能分析直方圖Fig.14.Performance analysis histogram of original image 2 and encrypted image 2.
圖15 原始圖像3 和加密圖像3 的3D 直方圖Fig.15.3D histogram of original image 3 and encrypted image 3.
圖16 原始圖像3 和加密圖像3 的性能分析直方圖Fig.16.Performance analysis histogram of original image 3 and encrypted image 3.
圖17 原始圖像4 和加密圖像4 的3D 直方圖Fig.17.3D histogram of original image 4 and encrypted image 4.
圖18 原始圖像4 和加密圖像4 的性能分析直方圖Fig.18.Performance analysis histogram of original image 4 and encrypted image 4.
4.2.2 像素相關性
圖像的相關性分析是指對圖像相鄰像素之間進行分析,從而衡量像素之間的相關密切程度.一個像素往往會泄漏其周邊像素的信息,攻擊者往往根據某個像素點來預測出下一個像素值,實現對整個明文圖像的恢復.數字圖像中的相鄰像素具有很強的相關性,這些強相關性必須被打破,以避免統(tǒng)計攻擊.相關系數的計算公式如下:
由圖19—圖22 可以清晰地看出原始圖像的像素分布集中不均勻,但經過加密后的圖像像素分布均勻.根據表1—表4 得到加密后圖像的Horizontal,Vertical,Diagonald 的值接近0,這充分表明,我們的加密算法對圖像加密以后打破原圖像的強相關性,能有效地抵抗像素相關性分析的能力.
表1 原始圖像1 和加密圖像1 的相關性數值分析Table 1. Numerical analysis of correlation between original image 1 and encrypted image 1.
表2 原始圖像2 和加密圖像2 的相關性數值分析Table 2. Numerical analysis of correlation between original image 2 and encrypted image 2.
表3 原始圖像3 和加密圖像3 的相關性數值分析Table 3. Numerical analysis of correlation between original image 3 and encrypted image 3.
表4 原始圖像4 和加密圖像4 的相關性數值分析Table 4. Numerical analysis of correlation between original image 4 and encrypted image 4.
圖19 原始圖像1 和加密圖像1 的相關性Fig.19.Correlation between original image 1 and encrypted image 1.
圖20 原始圖像2 和加密圖像2 的相關性Fig.20.Correlation between original image 2 and encrypted image 2.
圖21 原始圖像3 和加密圖像3 的相關性Fig.21.Correlation between original image 3 and encrypted image 3.
圖22 原始圖像4 和加密圖像4 的相關性Fig.22.Correlation between original image 4 and encrypted image 4.
4.2.3 灰度差分析
灰度差分析(GVD)是比較原始圖像和加密圖像的隨機性的另一種統(tǒng)計度量,可由下式定義:
其中G(x,y) 表示位置 (x,y) 處的灰度值.整幅圖像的平均鄰域灰度差用下式計算:
式中,A N 和 A N′代表平均鄰域灰度值,但前者表示加密前,后者表示加密后.上述方程的最終結果稱為GVD 評分,如果兩幅圖像完全相同,則GVD評分為0,否則為1,實驗結果如表5 所示.
表5 GVDTable 5. GVD.
4.2.4 密鑰敏感度分析
檢測加密方案安全性的方法之一是密鑰敏感度分析,本文通過實驗對密鑰生成序列中的某個比特值進行改變得到了完全不同的加密效果,并對前后兩張加密圖像的像素數變化率(NPCR)和統(tǒng)一平均變化強度 (UACI) 進行分析,實驗結果如表6 所示,
表6 密鑰敏感性分析Table 6. Key sensitivity analysis.
表明其接近理想值NPCR=99.6094%,UACI=33.4635%,計算公式如下:
式中,Mwidth和N分別為兩幅隨機圖像的寬度和高度,定義E(i,j) 為
相應地,UACI 可以用來測量顏色分量對比度強度的平均值,計算公式如下:
4.2.5 峰值信噪比
峰值信噪比(peak signal to noise ratio,PSNR)主要考察對應像素點之間的誤差.給定大小為M×N的加密圖像X和原圖像Y,PSNR 計算如下:
其中,Mwidth和N分別表示圖像的寬高,n為像素位數;PSNR 值越大,表示失真越小,兩張圖片差距越小,加密效果越差.
由表7 峰值信噪比看出原始圖像與加密圖像1,原始圖像加密圖像2,原始圖像加密圖像3,原始圖像加密圖像4 的R,G,B 三通道的PSNR 值都穩(wěn)定在7—9 之間.可以判斷出原始圖像與各個加密圖像的差距較大,加密的效果較好.
表7 峰值信噪比Table 7. Peak signal to noise ratio.
通過對水印嵌入的圖像模擬各種攻擊來檢測水印的魯棒性,對圖像的攻擊同時影響載體圖片信息和提取的水印的信息.
4.3.1 嵌入水印的峰值信噪比
峰值信噪比主要考察對應像素點之間的誤差.分別計算4 幅加密圖像和嵌入水印圖像的峰值信噪比,結果如表8 所列.
表8 嵌入水印的峰值信噪比Table 8. Peak signal to noise ratio of embedded watermark.
4.3.2 高斯噪聲
高斯噪聲是指概率密度函數服從高斯分布(即正態(tài)分布)的一類噪聲,高斯噪聲可以表示為
其中,C(x,y) 是 被添加高斯噪聲后的圖像,f(x,y)是原圖像,c(x,y) 是高斯加性噪聲,如圖23 所示.
圖23 高斯噪聲Fig.23.Gaussian noise.
本文提出一種新穎的基于量子隨機行走和多維混沌的三維圖像加密算法,利用量子計算的優(yōu)勢,改善了混沌系統(tǒng)的密鑰的空間和隨機性,使得密鑰的敏感度較高,難以通過暴力求解的方式推出密鑰.對該方案進行直方圖、信息熵、相關性等性能分析,實驗結果表明該算法安全可靠,能夠抵抗統(tǒng)計攻擊,在RGB 三通道之間進行像素置亂使得很難從一個通道求解另一個通道的解密圖像.并且圖像嵌入盲水印信息后,在傳輸中對惡意篡改圖像起到了監(jiān)聽作用,一旦對圖像攻擊,在提取水印后,接收方就會知道傳輸過程中遭受攻擊,進一步提高了圖像傳輸過程中的安全性.