?

基于2D Chebyshev-Sine映射的圖像加密算法

2019-04-15 07:46鐘艷如劉華役孫希延藍如師羅笑南
浙江大學學報(理學版) 2019年2期
關鍵詞:明文加密算法密文

鐘艷如,劉華役,孫希延,藍如師*,羅笑南

(1.桂林電子科技大學計算機與信息安全學院,廣西桂林541004;2.桂林電子科技大學信息與通信學院,廣西 桂林 541004)

0 引 言

21世紀是信息科技時代,伴隨著計算機技術的迅速發展,通信信息技術與多媒體技術互相融合、滲透,成為信息技術的實質?;ヂ摼W時代,許多通信設施具有開放和共享的特點,安全問題正接受有史以來最嚴峻的考驗。傳統的信息加密方式只適用于純文本類型的數據加密,而其他類型的信息,如圖像數據信息[1?3],并不可用。 由于圖像數據信息具有存儲量大、冗余性高、相關性極高的特性,研究者從各個方面對圖像數據信息進行了研究。隨著混沌理論的出現,研究者將其應用于圖像加密,發現其與密碼學有密不可分的聯系[4-6],于是,就形成了基于混沌的圖像加密算法[7],有混沌映射[8-9]、波擾動[10]、小波變換[11-12]和魔方變換[13]等。

混沌圖像加密算法可分為一維混沌系統、高維混沌系統。一維混沌系統包括Logistic映射、Sine映射、Tent映射、面包師(baker)映射以及各種一維映射的混合等,因其具有簡單、快速的特點,一直被用于各種加密算法。蔣愛平等[14]提出了一種基于超混和改進AES的圖像加密算法,利用超混沌Qi系統的混沌序列對灰度圖像進行了加密和二值化,該算法比傳統的AES算法具有更大的密鑰空間,增強了圖像信息的保密性。趙芮等[15]提出了基于二維Logistic與Chebyshev映射的AES混沌加密算法,克服了傳統AES算法中由密鑰唯一導致的安全性低的缺點,實驗結果顯示,該算法較傳統AES算法具有更高的安全性。 ZHU等[16]提出了用Arnold貓圖的對稱圖像加密方案。ZHOU等[17]提出了一種新的圖像加密1D混沌系統,一維混沌映射,其混沌軌道很簡單,易被預測,信息一旦被提?。?8-20],很可能通過某些技術計算出其初始狀態[21-24]。因此,一維混沌系統的圖像加密方案很容易被攻擊[25-28],須有更高維的混沌映射。 2DSLMM[7],2D-LASM[29],2D-SIMM[30]的 混 沌 軌 道較一維的復雜,也不容易被預測,但其硬件實現較困難。為此,本文提出了一種具有良好混沌性能和低消耗成本的混沌映射。

為了進一步提高基于線性層組合的圖像加密算法的安全性能,本文通過使用AES算法產生的序列來控制二維Chebyshev映射與Sine映射的密鑰,利用行移位和列混合,改變圖像像素空間位置和像素頻域中的值,最后根據中國剩余定理的增強擴散操作對圖像進行二次加密。同時,給出了仿真的實驗結果與安全性分析。

下文組織如下:第1章,介紹二維Chebyshev映射與Sine映射,并對軌跡圖進行分析;第2章,新的圖像加密算法——線性層組合,介紹線性層組合,包括行移位和列混合;第3章,對此算法做仿真實驗和時間復雜度分析;第4章,分析線性層組合算法的安全性;第5章為結論。

1 2D Chebyshev-Sine映射

1.1 定義

以下是本文用到的2個一維映射,分別為Chebyshev map[15]和 Sine map,其定義分別為:

其中,u和n為參數,u在[0,1]范圍內,n在[0,4]范圍內。

此2映射均為非線性變換,用以生成簡單結構的下一個迭代值。因此,通過混沌信號易預測其軌道。為解決這一問題,本文提出了一種新的二維混沌映射——Chebyshev-Sine map方法,定義為

其中,u和k都為參數,u的取值范圍為[0,4],k的取值范圍為[0,1],當k=0.162 5,u=1.5時,具有混沌行為。

1.2 2D Chebyshev-Sine映射性能的評估

本文提出的2D Chebyshev-Sine map具有良好的混沌行為。通過生成的軌跡來判斷其混沌性能。

圖 1顯 示 了 2D Chebyshev-Sine map、2DSLMM[7]的軌跡圖,并設置他們的初始值均為的(x0,y0)=(0.3,0.4)。 顯見,2D Chebyshev-Sine map在相平面上的軌跡較2D-SLMM分布更寬廣,因此,2D Chebyshev-Sine map具有更好的遍歷性,其輸出也是隨機的。

2 線性層組合圖像加密算法

圖2為2D Chebyshev-Sine map的圖像加密算法流程圖,包括原文圖像、安全密鑰、2D Chebyshev-Sine map、密文圖像以及核心的行移位、列混合、中國剩余定理擴散的原則。圖3為解密過程流程圖,加密過程為C=Enc(P,K),解密過程為P=Dec(C,K)。

2.1 安全密鑰的結構和2D Chebyshev-Sine映射序列發生器

圖1 軌跡圖Fig.1 The trajectories

圖2 加密流程圖Fig.2 Encryption flow chart

圖3 解密流程圖Fig.3 Decryption flow chart

將加密的安全密鑰K值定義為256位字符串序列,分別由x0、y0、q、A、B1、B2、B3、B4組成,如圖 4 所示。其中(x0,y0)和q是二維 Chebyshev-Sine映射的初始值和控制參數。A和B的目的是改變初始值和控制參數,以增大安全密鑰。

圖4 安全密鑰的結構Fig.4 Structure of security key

具體來說,通過使用 IEEE 754[31]格式的 52 位字符串(b1,b2,…,b52)來生成十進制的數值x0,y0,q,A,公式為

B1,B2,B3,B4由 12位字符串{b0,b2,…,b11}組成,將這12位字符串轉換為整數并獲得所需的系數。對于每一輪的初始值可定義為

2.2 行移位變換

如果明文圖像P的大小為M×N,那么圖像P中像素點的總量為M×N,由式(3)生成X和Y序列。

現在使用行移位變換對二維Chebyshev-Sine映射生成的X序列進行轉換,其中圖像(M—1)行的像素點被循環偏移到同行不同列的像素位置上,而圖像的元素值未發生任何變化。假設矩陣為state,行移位變換公式為

state′[i][j]=state[i][(j+i)%n],n∈ N。(6)

圖5 行移位的變化Fig.5 The change of row shift

2.3 列混合變換

在1.1節中,通過式(3)生成X和Y序列,X已對行移位做了變換?,F用Y序列通過矩陣相乘對圖像進行列混合變換,即經行移位后的狀態矩陣與固定的矩陣相乘,得到混淆后的狀態矩陣。

列混合變換操作:將每一列視為一個t項多項式?,F對t=4用四項多項式進行列操作。這些列為 GF(28),乘以模x4+1,其固定多項式a(x)定義為

根據 Polynomials with Coefficients in GF(28),可將其寫成矩陣形式。令

根據上述矩陣乘法,可將圖像中列的像素數替換為:

圖6給出了列混合變換。

圖6 加密算法列混合的變化Fig.6 The changes in column mix of encryption algorithm

2.4 中國剩余定理的擴散原則

通過行移位和列混合操作得到的密文圖像很容易被破譯。于是提出了中國剩余定理[32-34]的擴散原則。

2.4.1 中國剩余定理

定理1 設g1,g2,…,gk為k個兩兩互素的整數,Gi-1為Gi模gi的 乘 法 逆 元 ,滿 足GiGi-1≡1(modgi),i=1,2,…,k。 對于任意給定的k個整數:b1,b2,…,bk(k≥2),一次同余方程組:

有唯一解

該定理通過將k個整數轉化為一個較大的整數實現加密。

2.4.2 中國剩余定理的擴散原則

將行移位和列混合操作之后的密文圖像進行轉化。 將密文圖像轉化為一維序列P(p1,p2,…,p(M×N))。下面用中國剩余定理擴散原則,隨機選取s個兩兩互素的整數m1,m2,…,ms,其中mi>28。

將轉化后的一維序列P(p1,p2,…,p(M×N))分成s組:

將pi代入式(12)和(13),計算得到序列Qi={Q1,Q2,…,Q(M×N)/s}。再對得到的Qi序列進行取模28,得到加密序列D={D1,D2,…,D(M×N)},最后將加密序列D轉化成二維圖像矩陣,得到加密圖像。

經上述行移位和列混合后,再對密文圖像進行中國剩余定理擴散。

3 仿真實驗結果和時間復雜度分析

驗證一個圖像加密算法是否具有良好的遍歷性和混沌行為,主要看其能不能將不同類型的明文圖像轉化成隨機的密文圖像。本文對線性組合算法進行了仿真實驗,并與其他圖像加密算法的運行時間進行了比較。

3.1 直方圖分析

直方圖是驗證圖像加密算法是否良好的最直觀方法之一。密文直方圖的平坦程度直接影響算法的安全性,密文直方圖越平坦,破譯者越難得到明文信息。因為一個好的圖像加密算法可以將明文圖像加密成類似隨機密文圖像,而直方圖是均勻分布的。圖7為線性層組合算法的圖像仿真實驗??蓪⑺袌D像轉換成類似噪聲的密文圖像,反映圖像像素點所在灰度的分布情況[35],分布越均勻,越難辨別,可視化能力越差。通過圖7知,所有明文圖像的直方圖具有某種特定的模式。若將明文圖像加密成密文圖像,又不呈現任何明文圖像信息,則說明此算法具有良好的加密性能。

3.2 時間復雜度分析

線性層組合算法具有較高的加密速度。在Matlab下通過測試使用數據集的圖像,得到CCM的加密/解密時間是0.038 001 s。表1為圖像的平均加密時間,發現線性層組合算法比其他二維加密算法快些,但明顯較一維算法慢。原因在于一維的結構較簡單,本文方法是基于復雜的二維混沌結構的。因此,線性組合算法以較短的運行時間、良好的加密性能勝出。

4 安全性分析與測試

為了驗證線性層組合算法的安全性能,本節采用以下方法進行分析,測試圖像基本來自USCSIPI‘Miscellaneous’圖像數據庫。

圖7 線性層組合的仿真實驗結果Fig.7 Simulation results of linear layer combination

表1 不同圖像加密算法的運行時間對比Table 1 Comparison experiments on running time of different image encryption algorithms

4.1 安全密鑰分析

為有效抵抗強有力的攻擊,圖像加密算法應該對安全密鑰十分敏感,且確保密鑰空間足夠大。即安全密鑰的敏感性可從以下兩方面校正:

(1)如果加密端的安全密鑰與原密鑰有微小差異,那么得到的密文圖像應該完全不同。

(2)如果解密端密鑰與加密端密鑰有微小差別,那么得到的明文圖像無法被正確解密。

圖8和圖9展示了本文算法在加密與解密方面的敏感性分析結果。其中,K1為原安全密鑰,K2與K1間有1個比特字節之差,K3與K1間有1個比特字節之差。當用K1、K2分別對明文圖像進行加密時,得到的密文圖像是完全不同的,這2幅加密后的圖像的差異為|C1―C2|。該算法證明了加密過程中安全密鑰的敏感性,現對解密過程進行驗證。用K1對加密后的圖像進行解密,得到的圖像可恢復為原始圖像。用K2、K3分別進行解密,得到完全不同的圖像,且無法辨別。解密后的圖像也存在差異,差異為|D2-D3|。證明了解密過程中安全密鑰的敏感性。

圖8 加密過程中安全密鑰的分析Fig.8 Analysis of the security key in the encryption process

圖9 加密過程中安全密鑰的分析Fig.9 Analysis of security keys in the encryption process

4.2 信息熵測試

圖像的直方圖非常明了,可用于檢驗密文圖像像素分布是否均勻。如何判斷圖像直方圖分布的好壞是一個比較難的問題。本文引入香農理論,用信息熵來判斷圖像灰度值的分布是固定還是隨機的。一個圖像粗糙程度越大,信息量就越大,得到的信息熵也就越大。反之,圖像越平滑,得到的信息熵就越小。對于一個灰度值為256的隨機圖像,理想的信息熵為8,安全性能越強,圖像被攻擊的可能性越小,熵的計算公式為

P表示符號kj的概率。

為保證實驗的客觀、公平,直接使用吳算法、周算法、吳氏算法以及Hua’s算法。表2列出了各算法的平均信息熵。由表2可知,本文算法平均信息熵更接近理想值8,密文內容不容易泄露,安全性較高。

表2 各圖像加密算法的信息熵測試值Table 2 Information entropy test value on different image encryption algorithms

4.3 差分攻擊測試

差分攻擊又稱為選擇明文攻擊,是在特定區域,將原始圖像加密后來攻擊密碼的算法。驗證一個加密算法是否具有擴散性,主要看是否能夠抵抗差分攻擊。像素變化率(NPCR)和統一變化強度(UACI)是圖像加密算法中最常用的2種度量方法[39]。 PCR(C1,C2)和 UACI(C1,C2)在 2 幅密文圖像C1和C2之間的分數定義為:

其中,K(i,j)表示函數,C1和C2表示在圖像網格(i,j)上的2個像素,T和L表示圖像中的像素數和允許的最大像素強度。 由式(16)和(17)知,NPCR和UACI的預期分數取決于最大像素強度L。當選取的測試圖像灰度為8位時,得到的NPCR和UACI的預期分數分別為99.609 6%和33.46%。

從USC-SIPI‘Miscellaneous’圖像數據集中選取27個測試圖像進行了實驗測試。原圖像像素改變1個比特值,生成一個新的明文圖像,然后對2個明文圖像用相同的安全密鑰進行加密。為保證公平并兼顧方便,直接使用 WU[36]、ZHOU 等[37]、WU 等[38]、HUA等[7]的NPCR和UACI測試分數。表3和表4分別為NPCR和UACI的實驗結果。由表3和表4知,本文的加密算法與預測分數相似。因此,線性層組合具有很好的抗差分攻擊能力。

表3 各圖像加密算法的NPCR測試值Table 3 The NPCR test value on different image encryption algorithms

4.4 相鄰像素相關性測試

對于灰度值為256的圖像來說,像素與鄰近的像素之間具有很強的相關性,攻擊者常利用此原理尋找明文圖像和密文圖像之間的關系。所以往往通過相鄰像素之間的相關性來驗證圖像加密方案的優劣[40]。由式(18)計算相鄰像素的相關系數:

其中,x,y分別為圖像的2個數據序列,μ,σ分別為平均值和標準差。通過計算得到它們的相關值約為1,說明2個序列X,Y具有很強的相關性,反之接近于0。

從明文圖像和密文圖像中隨機選擇2 000對相鄰的像素,并分別研究水平方向、垂直方向和對角線方向的像素分布。 明文圖像“elaine”圖在水平方向、垂直方向及對角線方向相鄰像素的相關分布和密文圖像相鄰像素的相關分布如表5所示。其中,明文圖像的結果接近于1,密文圖像的結果接近于0。圖10為圖像加密前后的像素序列對的分布情況,可看出明文圖像相鄰像素的值彼此接近,而密文圖像相鄰像素的值發生了變化。從而驗證了線性層組合算法可大大降低相鄰像素間的相關性。

4.5 相似度測試

在圖像加密中,常常比較2個圖像是否相同。如果加密后的圖像與原圖像相似地方較多,說明此加密圖像的安全性能較差。下面給出2個圖像相似度參數XSD的計算式[41],以判斷2個圖像是否相似:

表5 Elaine原圖像像素與其加密圖像像素的相關性Table 5 The correlation between the original image of Elaine and the pixels of its encrypted image

其中,G=(gij)m×n,C=(cij)m×n為 2個灰度圖像。α,β為 2個十進制數,并且α∈[0,m-1],β∈[0,n-1]。

由式(19)知,Cij與Gij的值相差越大,2個圖像的相似度就越小。對加密圖像而言,與原圖像的相似度越小,安全性能就越高。因此,用圖像elaine進行測試,分別用2D Logistic[36]、Hénon[42]、2D Sine logistic[7]、2D Logistic Sine[29]、2D SIMM[30]、CSM 對圖像進行加密。表6為圖像各加密算法的相似度,加密前后圖像相似度越低,加密性能越好??傻肅SM是性能良好、安全強度高的圖像加密方案。

圖10 圖像相鄰像素序列對的分布Fig.10 The distribution of adjacent pixel sequence pairs

表6 Elaine圖像的相似度分析Table 6 Similarity analysis of Elaine images

4.6 抗噪聲和數據丟失測試

圖11 抗噪聲和抗數據丟失結果Fig.11 The analysis results of anti-noise and data loss

圖像在傳輸過程中,部分數據不可避免地會受到高斯噪聲和鹽噪聲的影響,且存在丟失的可能。圖像加密算法對數據丟失造成的影響應具有免疫功能,即圖像在傳輸過程中具有抗噪聲和抗數據丟失的能力。本文的線性層組合算法具有抗噪聲和抗數據丟失的能力。圖11給出了線性層組合抗噪聲和抗數據丟失的魯棒性分析結果。從圖11可以看出,即使密文圖像受不同類型噪聲的干擾或有不同程度數據缺失,線性層組合算法在解密過程中仍能將圖像復原。盡管復原后的圖像還存在一些噪聲,但大部分已可識別。實驗結果表明,本文算法在抗數據丟失和抗噪聲攻擊上性能良好。

5 結 語

提出了一種新的由Chebyshev映射連接Sine映射形成的二維混沌映射(2D-CSM),通過繪制二維混沌映射軌跡圖可判斷其混沌性能。實驗結果證明,2D-CSM具有良好的遍歷性和超混沌性,其混沌范圍覆蓋相平面,較2D-SLMM映射具有更廣的混沌范圍。

為了體現2D-CSM的安全性,本文用線性層組合算法進行了加密,使密文圖像不易被破解。實驗證明此算法可抵抗常見攻擊,且時間復雜度很低,安全性能很高。該加密算法適用于音頻、視頻、數據文件等的保密傳送。

猜你喜歡
明文加密算法密文
一種支持動態更新的可排名密文搜索方案
基于模糊數學的通信網絡密文信息差錯恢復
基于網絡報文流量的協議密文分析方法
密鑰共享下跨用戶密文數據去重挖掘方法*
DES加密算法的實現
基于整數矩陣乘法的圖像加密算法
奇怪的處罰
奇怪的處罰
基于小波變換和混沌映射的圖像加密算法
奇怪的處罰
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合