王永,龔建,王明月
(1. 重慶郵電大學 計算機科學與技術學院,重慶 400065;2. 桂林電子科技大學 廣西密碼學與信息安全重點實驗室,廣西,桂林 541004)
隨著互聯(lián)網(wǎng)和通信技術的飛速發(fā)展,多媒體逐步形成了一種進行信息交流的關鍵方式[1]. 數(shù)字圖像作為多媒體的一種形式,普遍應用在軍事、醫(yī)療、商業(yè)等各領域. 數(shù)字圖像信息由于冗余度高、關聯(lián)性強,傳統(tǒng)的文本加密方法并不適合用于數(shù)字圖像,因此尋求新的技術加密圖像一直是研究的熱點. 混沌與密碼學之間存在著普遍的相似性,它具有初始條件敏感性、非線性和偽隨機性等特點,這些特性不僅應用于流密碼[2-3]、S 盒[4]、Hash 函數(shù)[5]中,而且在圖像加密中也展現(xiàn)出良好的應用前景[6-16]. 基于混沌的圖像加密方案逐漸受到研究者們的青睞.
用于加密的混沌系統(tǒng)大致可以分為一維混沌和高維混沌兩大類. 一維混沌如Logistic 映射,Sine 映射結構簡單,易于實現(xiàn). PAK 等[7]利用Sine-Sine 系統(tǒng)構造的混沌序列對像素進行置換和擴散, 雖然性能好,但是算法中存在一個代數(shù)上的弱點,WANG 等[8]提出了一個等價的加密方案,通過將原置換矩陣和擴散矩陣分別旋轉得到新的矩陣,證明了原方案得線性變換可以轉化為相應的置換,從而使置換和擴散操作分離,通過選擇明文攻擊破譯了原機制. 高維或復雜的混沌系統(tǒng)能夠保證所產(chǎn)生序列的復雜性,有效防止攻擊者對序列的預測與重構. KANG 等[9]提出了一種基于DNA 編碼和時空混沌系統(tǒng)的彩色圖像加密方案,首先根據(jù)DNA 隨機編碼規(guī)則,將圖像轉化為DNA 矩陣,然后利用混合線性-非線性耦合映像格子模型生成的矩陣對DNA 矩陣進行置換,最后根據(jù)DNA 隨機解碼規(guī)則對置換后的矩陣進行解碼,得到加密后的圖像. LI 等[10]基于DNA 運算和超混沌Lorenz 系統(tǒng)提出了彩色圖像加密方案,利用Lorenz 系統(tǒng)和DNA 編碼對像素的位置和值進行置亂和擴散,使用了漢明距離和一次一密的方案提高了抗差分能力. WEN 等[11]利用了狀態(tài)值在相空間分布不均勻的特點,對一種基于DNA 編碼和時空混沌的圖像加密算法[12]成功實施了選擇明文攻擊和選擇密文攻擊. 總結的已有的研究,不難發(fā)現(xiàn),一維混沌雖然結構簡單速度快,但其相空間結構過于簡單存在被重構的安全隱患. 高維混沌雖有復雜的內(nèi)部結構,但其狀態(tài)值在相空間的分布往往是不均勻的,為存在被統(tǒng)計攻擊的隱患.
本文以圖像加密中常用的Sine 映射為研究對象.為解決其相空間結構簡單帶來的安全性問題,將Sine 映射進行分段處理,并將它擴展至三維,保證了混沌系統(tǒng)的復雜性. 針對擴展至三維后,混沌系統(tǒng)狀態(tài)值概率密度分布不均勻的問題,利用參數(shù)耦合和乘大整數(shù)取模變換,最終設計了三維參數(shù)耦合分段Sine 映射 (3DPCPSM). 該模型增強了混沌系統(tǒng)的復雜性并實現(xiàn)了狀態(tài)值的均勻分布,保證了其所產(chǎn)生的混沌序列的安全性. 以3DPCPSM 模型為基礎,提出了一種彩色圖像加密算法. 該算法依據(jù)矩陣變換簡化了圖像的置亂操作,無需如傳統(tǒng)的混沌置亂方法對矩形圖像預處理,增強了算法的適用性.
Sine 映射是根據(jù)正弦三角函數(shù)變形得到,因其結構簡單、實現(xiàn)容易,被廣泛應用到混沌圖像加密中. 其數(shù)學表達式為
式中:初始值x0∈(0,1),控制參數(shù)μ∈(0,1]. 然而,Sine映射在設計加密應用時存在一些不足,如Lyapunov 指數(shù)太小、遍歷性不強和概率密度分布不均勻等.因此,為了進一步提高該混沌映射的性能,本文對Sine 映射進行了分段化處理,設計變參數(shù)的分段Sine映射如下:
根據(jù)實驗分析,當分段數(shù)N=64時,模型的混沌性能較好,故推薦設置N為64.
進一步地擴展混沌系統(tǒng)的維度,以變參數(shù)的分段Sine 映射為基本單元,構造三維參數(shù)耦合分段Sine映射模型(3DPCPSM)如下:
Lyapunov 指數(shù)不僅可以確定一個動力系統(tǒng)中是否存在混沌行為,而且可以定量地評估系統(tǒng)的擴散性能. 圖1(a)展示了當控制參數(shù) μ以步長0.01,從0 增至1 時,Sine 映射的Lyapunov 指數(shù). 從圖1 中可以看出,只有當μ>0.86時,該映射進入混沌狀態(tài).
圖1(b)展示了當控制參數(shù) μ以步長0.025,從0 增值1 時,3DPCPSM 的Lyapunov 指數(shù)變化情況. 從圖中可以看出,所有的Lyapunov 指數(shù)均為正值. 這表明μ在區(qū)間(0,1]內(nèi),3DPCPSM 始終處于混沌狀態(tài). 同時,3DPCPSM 的Lyapunov 指數(shù)值明顯大于Sine 映射的Lyapunov 指數(shù),表明了3DPCPSM 擁有比Sine映射更好且更穩(wěn)定的混沌性能.
圖1 Lyapunov 指數(shù)Fig. 1 Lyapunov exponent
在動力學系統(tǒng)中,分岔圖可以清晰地區(qū)分系統(tǒng)的混沌區(qū)域與非混沌區(qū)域,從而確定該動力學系統(tǒng)在何種條件下進入了混沌狀態(tài). Sine 映射的分岔圖如圖2(a)所示,當控制參數(shù)μ∈(0.86,1]時,映射進入混沌狀態(tài). 當μ=1時,其分岔行為最為復雜,混沌性能最好.
圖2 分岔圖Fig. 2 Bifurcation diagram
圖2(b)展示了3DPCPSM 的分岔圖. 無論控制參數(shù) μ取何值,3DPCPSM 的狀態(tài)值都能遍歷整個相空間. 這表明3DPCPSM 擁有比Sine 映射更為復雜的混沌動力學行為. 它能夠在加密應用中提供更好的安全保障.
對于混沌映射來說,遍歷性是指混沌映射的狀態(tài)值在自身相空間中的分布情況. 如圖3(a)所示,Sine 映射的狀態(tài)值沒有覆蓋整個相空間,并且分布不均勻.
圖3 狀態(tài)值分布情況Fig. 3 Distribution of state values
圖3(b)展示了3DPCPSM 的狀態(tài)值分布情況.它在整個(0,1)相空間中分布都是稠密且均勻的,這意味著3DPCPSM 具有很強的遍歷性和很高的隨機性.
概率密度分布反映了狀態(tài)值的均勻程度. 圖4(a)展示了當控制參數(shù)μ=0.99時,Sine 映射的概率密度分布. 顯然,其概率密度分布是不均勻的.
圖4 概率密度分布Fig. 4 Probability density distribution
圖4(b)展示了3DPCPSM 的概率密度分布情況.從均勻上看,雖然比Sine 更好,但仍然不均勻. 為解決此問題,對3DPCPSM 的輸出進行乘大整數(shù)取模變換,如式(5)所示.
圖5 變換后的3DPCPSM 概率密度分布, μ=0.99Fig. 5 The probability density distribution of 3DPCPSM after transformation
表1 NIST 800-22 測試結果(帶*的測試指標為平均值)Tab. 1 NIST 800-22 test results (the test index with * is the average)
TestU01 作為最嚴格的隨機測試標準之一,其中包含了3 個預定義的二進制序列測試單元,分別為SmallCrush, Crush 和BigCrush. 此處,使用長度為227的二進制序列進行測試,結果如表2 所示. 二進制序列通過了所有的子測試. 綜合所有的測試結果可得,3DPCPSM 能產(chǎn)生很高質(zhì)量的偽隨機序列,為圖像加密奠定了良好的基礎.
表2 TestU01 測試結果Tab. 2 Test results of TestU01
采用置亂擴散結構作為圖像加密的框架. 在置亂階段,利用3DPCPSM 產(chǎn)生的3 個偽隨機序列分別構造兩個初等矩陣,然后對R、G、B 3 個信道的像素點矩陣進行置亂. 在擴散階段,3 個偽隨機序列分別提取整數(shù)序列,對置亂后的R、G、B像素點分別進行擴散,最后生成密文圖像. 加密算法的具體步驟如下.
1) 假定彩色圖像大小H×W×3,將R,G,B 3 個信道轉化成3 個像素點矩陣Vi∈NH×W,i=R,G,B.
2) 設3DPCPSM 的3 個初始狀態(tài)值為x0、y0、z0,對3DPCPSM 迭代1 000 次以消除初值的影響. 然后分別構造初等矩陣Pi和Qi,i= R、G、B.
構造i信道的兩個初等矩陣Pi和Qi的步驟.
①迭代3DPCPSM,取出第i維信道的H個浮點數(shù)并存儲到序列p中,記作p={pn},其中n=1,2,...,H,并按照從大到小的順序排序,得到有序序列p′.
②按照式(6)、(7)構造大小為H×H的矩陣Pi.
解密算法的過程與加密算法相反,此處不再詳述. 式(10)對應的逆擴散公式為
選取大小為512×512×3的標準彩色圖像Lena、Pepper 以及全黑(Black)和全白(White)作為明文圖像,對本文提出的圖像加密算法進行測試,結果如圖6 所示. 可以看出,密文圖像很好地隱藏了明文圖像的有效信息且不可識別,而解密后的圖像與原明文圖像完全相同,這說明本文算法具有很好的加解密效果,滿足通常的圖像加解密需求.
圖6 明文圖像和密文圖像Fig. 6 Plaintext images and ciphertext images
從直方圖和相關性兩個方面測試算法的加密效果. 繪制彩色圖像Lena、Pepper、Black 和White 的R信道的直方圖如圖7 所示. 同時為了便于對比,在圖11中還繪制了密文圖像3 個信道的直方圖. 從圖11 中可以看出,加密后的圖像很好地隱藏了明文圖像中地統(tǒng)計信息,使得算法能夠有效地抵御統(tǒng)計攻擊.
圖7 圖像加密前后的直方圖Fig. 7 Histogram of image before and after encryption
對于有意義的圖像,相鄰像素通常在水平、垂直和對角線方向上相關. 一個好的圖像加密方案應該能夠顯著地消除這種相關性. 為了檢驗原文圖像和密文圖像中相鄰像素之間的相關性,隨機從水平方向、垂直方向和對角線方向選取8 000 個像素作為樣本,計算相關系數(shù)如下.
表3 加密前后相鄰像素點之間的相關系數(shù)Tab. 3 Correlation coefficient between adjacent pixel points before and after encryption
直方圖分析和相關性分析的結果表明本文提出的圖像加密算法具有良好的抵抗統(tǒng)計攻擊能力.
信息熵表示圖像中所包含信息的累積和分散,其計算公式如下.
表4 密文圖像的信息熵Tab. 4 Information entropy of ciphertext image
對于加密算法而言,應該由足夠大的密鑰空間(>2128)來抵御窮舉攻擊. 在本文算法中,密鑰包括初始狀態(tài)值x0、y0、z0∈(0,1)、控制參數(shù)μ∈(0,1)和擴散常數(shù)C0∈[0,255]. 假設計算機中浮點數(shù)計算精度為10-14,則算法的密鑰空間大小為(1014)3×28遠大于2176.根據(jù)IEEE 浮點數(shù)標準,64 位雙精度數(shù)的精度大于10-14,所以本文算法能夠抵抗暴力攻擊的要求.
對于密鑰敏感度,進行以下測試.
測試1:將初始狀態(tài)值x0改變?yōu)閤0+10-15;
測試2:將控制參數(shù) μ改變?yōu)棣?10-15;
比較密鑰變換前后的密文之間的差異. 結果如表5 所示. 從表中可以看出,密鑰的微小變化會使密文產(chǎn)生巨大的變化,并且差異都在99.5%以上,說明本文提出的算法具有良好的密鑰敏感性.
表5 密文圖像的差異Tab. 5 Ciphertext image difference%
抗差分攻擊的能力是評價密碼算法的一個重要指標. 攻擊者通常對明文進行輕微調(diào)整,然后比較調(diào)整前后產(chǎn)生的密文之間的差異來進行攻擊. 為了檢驗原文圖像中單個像素變化對密文圖像的影響,可使用像素變化率(NPCR)和統(tǒng)一平均變化強度(UACI)進行測試,公式如下.
rNPCR和TUACI理想值分別為99.6%和33.3%. 表6展示了本文算法加密后圖像的rNPCR和TUACI. 從表6中可以看出,rNPCR和TUACI的計算值非常接近理想值,說明算法具有有效抵御差分攻擊的能力.
表6 密文圖像的NPCR 和UACITab. 6 Ciphertext images by NPCR and UACI%
在本文中,3DPCPSM 模型屬于高維混沌系統(tǒng),具有良好的混沌性能和復雜的動力學行為,能夠有效防止攻擊者通過相空間重構的方式來預測其所產(chǎn)生的混沌序列. 其次,模型利用了參數(shù)耦合和乘大整數(shù)取模思想,保證了狀態(tài)值分布的均勻性,提高了其所產(chǎn)生混沌序列的隨機性,NIST 和TestU01 測試的結果進一步驗證了這一特點,因此可以有效保證置亂階段所構造的變換矩陣和擴散階段提取的整數(shù)序列的隨機性,保證了加密方案的安全. 此外,本文具有足夠大的密鑰空間來抵御暴力攻擊. 實驗測試的結果反映出方案的密文圖像直方圖分布均勻,像素點間相關性弱,信息熵非常接近理想值8,能夠有效抵抗統(tǒng)計攻擊和信息熵攻擊.
在本文算法中,首先需要迭代3DPCPSM 模型并從中抽取出相應的狀態(tài)值構造變換矩陣,進行置亂操作,然后,再迭代混沌映射產(chǎn)生擴散操作所需要的偽隨機序列,所以加密過程與圖像像素點規(guī)模成簡單的正比例關系. 使用Python 語言實現(xiàn)算法,在CPU型號為i7-9700,內(nèi)存為16 GB 的計算機上測試加解密速度,所得結果如圖8 所示. 圖中的結果進一步驗證了這種正比例關系. 解密算法是加密算法的逆步驟,解密時間與加密時間基本一致. 由于加密和解密時間與圖像的尺寸之間是呈線性變化關系,這表明本文算法能夠很好適應圖像大小的變化,滿足在互聯(lián)網(wǎng)中進行圖像加密的效率需求.
圖8 加密時間與圖像大小的關系Fig. 8 Relation between encryption time and image size
為了提高Sine 映射在加密應用中的性能,結合參數(shù)耦合和乘大整數(shù)取模變換,構造了一個三維參數(shù)耦合的分段Sine 映射模型. 對該模型的性能分析表明,它具有更大的Lyapunov 指數(shù)和更均勻的概率密度分布,有效提升了系統(tǒng)的混沌屬性,為保證產(chǎn)生具有良好密碼學性能的序列提供了重要支撐. 然后基于3DPCPSM 提出了一種彩色圖像加密算法,利用矩陣初等變換簡化了圖像置亂階段,增加了算法的普適性. 仿真實驗及性能分析表明該算法具有良好的安全性,能夠有效地滿足圖像在網(wǎng)絡中安全傳輸?shù)男枨?