牛士銘,薛 茹,丁 聰
(西藏民族大學信息工程學院,陜西 咸陽 712000)
隨著網絡技術的普及和應用,圖像成為了人們交流信息的重要方式。然而,由于網絡是開放并且互相連接的,不法分子很容易監聽、攔截、篡改或重新發布網絡中傳輸的信息,圖像信息在網絡傳輸過程中的安全性令人擔憂。因此,圖像數據先進行加密處理后再傳送是十分必要的[1,2]。
圖像的擴散是指將圖像的像素值通過某種方式進行改變,使圖像喪失原有的特性。其中,混沌加密是擴散思想在圖像加密中的主流應用[3-12]。常用的圖像加密混沌映射方法有Logistic混沌映射方法[3-6]、Henon混沌映射方法[7,8]和Lorenz混沌映射方法[9]等。但是,已有研究表明,一維混沌映射的軌道可以很容易預測;而二維混沌映射[7,8]的混沌空間小,復雜度也較低;高維混沌[9]不僅復雜度極高,而且其計算的能量消耗也非常大。因此,以最少的狀態變量和最高的系統復雜度來構建出結構緊湊和功能強大的非線性混沌系統,無疑具備十分重大的現實價值和科學意義。
為了提高現有混沌映射模型的混沌空間及混沌能力,構建出結構緊湊和功能強大的混沌映射模型,本文在歸納總結經典的Henon混沌映射原理和Sine混沌映射理論的相關研究基礎上,對現有混沌系統函數表達式模型和經典混沌系統參數模型等進行了綜合優化改進,設計了一個改進的3D_Henon混沌映射模型。通過對混沌空間分叉圖、混沌空間軌道和Lyapunov指數等進行分析討論和模擬計算后可知,相比經典的Henon模型和Sine模型,3D_Henon混沌映射模型具有更大的混沌映射空間、更好的混沌空間遍歷性和更高的系統復雜度。
對于密碼系統來說,如果使用重復的密鑰,則密鑰容易遭受暴力破解,從而造成系統安全問題。針對此問題,本文結合Chebyshev映射和明文,設計了一種密鑰生成方法。
目前大多數加密算法都將像素視為圖像中最小的元素(原子),即在像素級實現排列和擴散[10-17]。事實上,位級的排列不僅改變了像素的位置,還改變了它的值,對位平面進行操作會有更大的可操作空間和安全性[18-22]。王瑤等[21]利用一維 Logistic 自嵌入混沌系統,結合置亂和擴散操作,提出一種混沌圖像加密算法。此算法先使用Zigzag算法對圖像位平面進行置亂,之后像素級圖像置亂一次,最后在擴散階段,采用逐行策略進行擴散。
本文結合改進型3D_Henon混沌映射模型、新的密鑰生成方法以及位平面加密的思想,設計了一種彩色圖像加密方法。首先,要加密的彩色圖像按照RGB顏色通道進行分離,形成3個二維矩陣。然后,將每個二維矩陣分別利用位平面分解技術分為8個位平面,使用3D_Henon混沌映射從Fibonacci置亂方法、Arnold置亂方法和Zigzag置亂方法中隨機選擇3次,分別對R、G、B平面所分解的位平面進行置亂,置亂結束后利用位平面合并技術對置亂后的位平面進行合并。然后,利用本文設計的密鑰生成器產生3個15位的小數,作為后面混沌映射的初始值,并將此初始值作為圖像加密方法的密鑰。最后,置亂后的3個通道矩陣通過改進型3D_Henon模型進行擴散,完成加密操作。模擬實驗結果表明,該方法具有優秀的圖像加密效果,對常見的攻擊具有較強的抵抗力,且易于實現。
經典Henon混沌映射是一個由2個變量X和Y同時確定的二維迭代方程,其系統方程如式(1)所示:
(1)
其中,X和Y是系統的控制變量,a和b表示系統控制參數。研究結果表明:當函數a=1.4,b=0.3時,函數即進入了混沌狀態,生成函數的混沌序列有很強的隨機性。令X和Y的初始值為(0.1,0.2),其分叉圖像如圖1a和圖1b所示,其相位圖如圖2a所示。

Figure 1 Bifurcation diagrams of Henon chaos mapping and Sine chaos mapping

Figure 2 Comparison of chaotic locus of Henon chaos mapping and 3D_Henon chaos mapping
Sine混沌映射為單峰映射,其定義如式(2)所示:
Xi+1=asin(πXi),a∈[0,1],Xi∈(0,1)
(2)
其中,Xi是第i次迭代的序列值,i取非負整數,Xi∈(0,1);a是系統參數,當a∈(0.87,0.93)和a∈(0.95,1)時出現混沌現象,令初始值X0=0.1,其分叉圖如圖1c所示。
本文的三維混沌映射表達式是在經典Henon混沌映射表達式和Sine混沌映射表達式的基礎上再通過對函數表達式和系統參數表達式進行一定的改進得出的。改進型3D_Henon混沌映射函數的表達式如式(3)所示:
(3)
其中,a和b是混沌系統的控制參數,X和Y是系統的控制變量。令b=0.87且a∈(0,15],圖3給出的是改進型3D_Henon混沌映射的分叉圖。對比圖1和圖3可以看出,改進型3D_Henon混沌映射相對于經典Henon混沌映射來說其混沌空間更大,且混沌的輸出遍歷性也更好。令b=0.87,a=12.56,得到3D_Henon混沌映射的混沌軌跡,如圖2b所示。

Figure 3 Bifurcation diagrams of 3D_Henon chaos mapping model

Figure 4 Comparison of Lyapunov exponent of Sine chaos mapping model,classical Henon chaos mapping model and improved 3D_Henon chaos mapping model
Lyapunov指數可被視作衡量復雜的混合系統的動力學行為的一個重要指標[23]。三維混沌系統有3個Lyapunov指數,只要1個Lyapunov指數大于零,便能證明該體系處于混沌階段,而當有2個或者更多的Lyapunov指數大于零時,該混沌系統即為超混沌系統。如圖4a~圖4c分別為Sine混沌映射、經典Henon混沌映射和改進型3D_Henon混沌映射的Lyapunov指數動態圖,其中,橫坐標為參數a的取值范圍,縱坐標為LE(Lyapunov指數)。當a=1時,Sine混沌映射的最大Lyapunov 指數為0.71。當b=0.3,a=1.4時,經典Henon混沌映射的最大Lyapunov 指數為0.44。當b=0.87,a=15時,改進型3D_Henon混沌映射的最大Lyapunov指數為0.98。因此,3D_Henon混沌映射相比傳統Henon混沌映射有更大的混沌空間且混沌現象也更突出。且從圖4中也可以看出,3D_Henon混沌映射的3個Lyapunov指數均大于0,說明3D_Henon混沌映射為超混沌映射。
近似熵(appEn)是一種重要的非線性動力學參數[24],它可以幫助研究人員更好地理解時間序列的復雜性,從而更好地預測其變化趨勢,同時也可以幫助研究人員更好地探索時間序列中未知的變化,從而更好地掌握時間序列變化規律。時間序列越復雜,其近似熵也會越大。令a∈[0.8,1],經典Sine混沌映射模型的近似熵動態圖如圖5a所示。令b=0.3,a∈[0.8,1.5],經典Henon混沌映射模型的近似熵動態圖如圖5b所示。令b=0.87,a∈[0,15],3D_Henon混沌映射模型的近似熵動態圖如圖5c所示。由圖5可以看出,與Sine混沌映射模型和經典Henon混沌映射模型相比,3D_Henon混沌映射模型擁有更大的近似熵,說明3D_Henon混沌映射擁有更加復雜的時間序列。

Figure 5 Comparison of approximate entropy graphs of Sine chaos mapping model,Henon chaos mapping model and improved 3D_Henon chaos mapping model

Figure 6 Bifurcation diagram of Chebyshev map
Chebyshev映射公式如式(4)所示:
Xn+1=cos(karccosXn),Xn∈[-1,1]
(4)
其中,k為Chebyshev 的映射階數。當k≥ 2時,系統處于混沌狀態。Chebyshev映射分叉圖如圖6所示。
本文利用經典Henon混沌映射隨機生成100個整數。提取明文圖像的100個整數所代表的位置信息上的像素值,設提取出來的前50個像素值的平均值為x0,后50個像素值的平均值+2為k。分別取x0和k作為Chebyshev映射模型的初始值和映射階數,使用Chebyshev 模型隨機生成5 000個15位的小數。從5 000個數字中隨機選擇3個值作為3D_Henon混沌映射的3個初始值,此初始值也是整個加密方法的密鑰。此密鑰生成方法可以每執行一次密碼系統就自動生成一個新密鑰。密鑰生成方法如圖7所示。

Figure 7 Key generation method
本文的加密方法分為5個部分。第1部分是圖像分解,包括彩色圖像分通道以及通道平面進行位平面分解。第2部分是生成密鑰,使用Logistic映射生成置亂算法的密鑰;在原始圖像中隨機選出2個元素作為Chebyshev的初始值,使用密鑰生成方法生成3個隨機的15位小數,作為擴散函數的初始值,這也是加密方法的密鑰。第3部分是圖像置亂,通過改進型3D_Henon混沌映射模型從Fibonacci變換、Arnold 變換和Zigzag變換中分別選擇一種置亂算法對 R、G、B 通道所分解的位平面進行置亂。第4部分是圖像擴散,置亂后的3個通道平面通過改進型3D_Henon混沌映射模型進行擴散。第5部分是圖像合并,包括位平面合并和將3個通道平面合并為密文圖像。具體的加密過程如圖8所示。

Figure 8 Process of image encryption
對于給定的彩色圖像image,加密的詳細過程如下所示:
(1) 對彩色圖像分通道。
將彩色圖像image按照RGB通道分離出R平面、G平面和B平面。
(2) 對位平面進行分解。
分別對R平面、G平面和B平面進行位平面分解,分解后分別得到8幅位平面圖像。
(3) 選擇所使用的置亂方法進行置亂操作。
使用3D_Henon混沌映射從Fibonacci置亂方法、Arnold置亂方法和Zigzag置亂方法中隨機選擇3次,分別對R、G、B平面所分解的位平面進行置亂。選擇方法如下:使用3D_Henon混沌映射隨機生成一個數,取整后對3取模,若結果為0,則使用Fibonacci方法進行置亂;若結果為1,則使用Arnold方法進行置亂;若結果為2,則使用Zigzag方法進行置亂。
(4) 位平面合并。
對置亂后的位平面按照分解順序進行合并,從而形成置亂的R平面、G平面和B平面。
(5) 生成密鑰。
本文采用Chebyshev混沌映射模型設計了一個基于明文圖像的密鑰生成方法。該密鑰生成方法可以實現一次一密。使用該密鑰生成方法隨機生成3個15位的小數,作為擴散算法的初始值。
(6) 擴散操作。
置亂的R平面、G平面和B平面通過改進型3D_Henon混沌映射模型進行擴散。
(7) 合并通道。
將擴散后的R平面、G平面和B平面合并成密文圖像,完成加密過程。
解密操作是加密操作的逆過程。
在12th Gen Intel?CoreTMi7-12700H 2.30 GHz處理器,RMA 16.00 GB,Windows 11 64 bit系統,Python 3.6環境下,使用圖像Lena(512*512*3)和Peppers(512*512*3)完成模擬實驗。在模擬過程中,改進型3D_Henon混沌映射的2個系統參數a=12.56,b=0.87。加解密后的圖像效果如圖9所示。為了方便后續進行加密性能分析,本文令Lena的密文圖像為EN_img1。

Figure 9 Encryption and decryption images of Lena and Peppers
5.1.1 密鑰空間分析
安全密鑰的長度是決定加密算法系統強度中最為關鍵的特征之一,它直接影響了密鑰空間的大小。神奇的是,只要長度恰當,密鑰空間就能比銀河系中的星星數量還多。因此,長度完美的密鑰能讓安全防范變得更加強大。為了保護算法安全,應將其密鑰空間最大化,以避免遭受暴力破解等各種窮舉攻擊的威脅。普遍認為,只要密鑰空間達到2100,加密算法就是安全無虞的,不過,密鑰空間越大,算法的安全性也就相應增強。
本文算法的密鑰至少有3個,即改進型3D_Henon混沌映射的3個初始值。這些數據都是double類型,最大精度為10-15,所以密鑰空間可以初略為1015*3=1045?2100。因此,本文算法的密鑰空間已經遠遠大于加密算法所要求的數值,能夠滿足密鑰空間內的安全性要求。
5.1.2 密鑰敏感度分析
密鑰敏感是衡量加密算法系統強度的重要依據之一,也就是說,密鑰的輕微變化應該產生完全不同的加密結果,這就是所謂的密鑰敏感度。本文保持改進型3D_Henon混沌映射和改進型Sine混沌映射的參數系數不變,通過增加或減少一個極小的干擾值δ,將改進型3D_Henon混沌映射和改進型Sine混沌映射的初始值分別改為(x0+δ)。圖10顯示了δ=10-15時的密鑰靈敏度性能模擬結果。圖10a顯示了使用正確密鑰的解密圖像,圖10b顯示了對應于(x0+δ)密鑰的解密圖像。從圖10可以看出,當加密密鑰發生極其微小的變化時,就無法得到一個正確的解密圖像,這表明該加密方法符合密鑰敏感性的要求。

Figure 10 Comparison of decryption effect between correct key and wrong key
5.1.3 差分攻擊
差分攻擊是指攻擊者對原始明文數字圖像數據進行微小的修改,將修改后的數字圖像和原始的明文數字圖像分別重新加密,然后仔細比較這2幅圖像加密后顯示的密文圖像,尋找出原始明文數字圖像數據與加密后的密文數字圖像數據之間的關系和規律,進而破解密文圖像。如果加密后的圖像和原圖像有明顯區別,那么攻擊者便很難進行差分攻擊。在圖像加密領域中,有2個極其重要的指標用于量化2幅圖像的相似性,即像素改變率(NPCR)和統一平均變化強度(UACI)。前者的計算如式(5)所示,后者的計算如式(7)所示:
(5)
(6)
(7)
其中,M和N分別為圖像的寬度和高度。
NPCR用于衡量2幅圖像在相同位置像素不同的比例,其反映了這種不同像素所占圖像總像素的比例。UACI是衡量平面圖像平均變化強度的指標,其反映了明文圖像與密文圖像之間的平均變化程度。這種變化程度的整體評估,既可以用來衡量圖像保密性的強度,也可以為密碼算法設計提供重要參考。為了增強差分攻擊的抵御能力,當明文圖像中的一個像素發生變化時,應該讓密文圖像發生大幅度的變化,才能有效抵御差分攻擊。NPCR和UACI的理想值分別為99.609 4%和33.463 5%,算法的NPCR和UACI值都越逼近于理想值,表示該算法對抗差分攻擊的能力越強。本文對2幅原始圖像中的某一個像素加1進行測試。設原始圖像增加一個像素加密后的密文圖像為EN_img2。表1為EN_img1和EN_img2間所求出的NPCR和UACI值和文獻[11,12]的方法對2幅原始圖像某一個像素加1后測出的NPCR和UACI值??梢钥闯?本文方法得到的NPCR和UACI值更逼近于理論值,因此可以表明本文方法可以很好地抵抗差分攻擊,且比文獻[11,12]的方法表現更好。

Table 1 Statistics of the difference between NPCR and UACI encryption methods and the ideal values
攻擊者試圖通過分析破譯密文和破譯明文中的某些統計數據來推斷規律信息,達到破解明文密碼的目的,這種攻擊方式被人們稱為統計推斷分析攻擊。因此,為了避免不法分子進行統計推斷分析攻擊,對于加密算法進行統計分析是非常必要的。這樣可以保障加密算法的安全性,確保敏感信息的保密性。統計分析通常會包含對直方圖的分析、對相鄰像素之間相關性的分析、信息熵分析和隨機性測試。這些分析手段可以幫助研究人員更深入地理解所研究對象的特征,并且能夠提供有價值的數據信息。通過對圖像進行統計分析,可以更好地對所研究的圖像特征進行描述,從而提高研究人員對圖像的理解和認識。下面分別使用這幾種分析方法對本文方法進行分析。
5.2.1 直方圖分析
直方圖通常被定義為顯示圖像像素值分布的圖形。明文圖像的直方圖常會呈現明顯的統計規律,這種規律多是一目了然的。用計算機技術對截獲來的密文圖像數據進行統計研究與運算分析,攻擊者歸納總結和整理計算出這些數據間可能隱含著的某種特殊統計及運算規律。接下來,攻擊者通過對比分析明文圖像的運算來統計出運算規律,從中提取或分析出在明文圖像的運算規律和密文圖像的計算規則之間可能隱含的某種變換或者運算關系,從而通過采用此技術手段最終達到攻擊加密方案的目的。因此,為了更加有效地抵御統計攻擊,首先必須使加密圖像上的直方圖盡可能地更加均勻,同時也必須與明文圖像中的直方圖完全不同,以確保安全無憂。圖11所示為Lena 及其密文圖像EN_img1的R、G、B平面直方圖。其中,橫坐標是圖像的灰度級,縱坐標是各個灰度值在圖像中所出現的次數。

Figure 11 Histograms of Lena and its ciphertext image EN_img1
5.2.2 相關性分析
相關性分析用來衡量變量之間的密切程度。圖像中相鄰像素間有著密切聯系,一個像素的信息往往會透露其周圍像素的情況。利用此特點,不法分子可以比較準確地預測出多個像素的灰度值,進而恢復出整幅明文圖像。這種攻擊實際上是在利用像素間的無聲交流來進行竊密。因此,數字圖像中強相關性必須被打破,以避免統計攻擊。相關系數在水平、垂直和對角線方向的計算公式如式(8)所示:
(8)


Table 2 Correlation analysis of adjacent pixels of Lena

Figure 12 Correlation diagram of adjacent pixels of Lena and EN_img1
5.2.3 信息熵分析
信息熵是對信號源隨機程度的一種定量度量。也就是說,信息熵可以用來衡量圖像的隨機性,它計算灰度圖像每個灰度級的像素的擴散程度。如果均勻分布更好,那么它對統計攻擊的抵抗能力就會更強。加密信息的理想熵值為8,值越高,分布越均勻。信息熵的計算公式如式(9)所示:
(9)
其中,xi是灰度值,P(xi)是灰度級xi出現的概率,L是像素點的個數。表3為通過不同方法得到Lena密文圖像的信息熵,通過觀察可以看出,本文方法的密文圖像信息熵均接近理想熵值8,說明本文加密圖像像素分布非常均勻,且與文獻[11,12]的方法相比表現更好。

Table 3 Information entropy of Lena ciphertext images obtained by different methods
抗噪聲能力是測試加密方法性能的一個重要指標,在仿真實驗中,本文對EN_img1分別添加均值為0、方差為0.000 5的高斯噪聲和加入5%的椒鹽噪聲進行實驗,再對有噪聲的密文圖像進行解密并對解密結果進行比較。圖13a是正常情況下對密文圖像解密后的效果;圖13b是對EN_img1加上均值為0、方差為0.000 5的高斯噪聲解密后的結果;圖13c是對EN_img1加入5%的椒鹽噪聲解密后的結果。從解密圖像可以看出,本文方法即使在受到比較強的噪聲影響后仍然能夠有效地解密出原始圖像信息,這充分說明本文方法具有很強的魯棒性。

Figure 13 Comparison of decryption effect after adding different noises to EN_img1
本文通過耦合Henon混沌映射模型和Sine混沌映射模型,設計了一種改進型的3D_Henon混沌映射模型。通過對分叉圖、 Lyapunov指數和近似熵等幾方面的進一步分析研究可知,改進的3D_Henon混沌映射模型相比3D_Henon混沌映射具有更好的混沌效果,更加適用于安全性能高的密碼系統設計。本文基于改進的3D_Henon混沌映射模型,提出了一種彩色圖像加密方法。實驗結果表明,該方法具有較大的置亂范圍、較高的安全性和良好的圖像加密效果,對常見的攻擊具有較強的抵抗力,且易于實現。