鐘艷如,劉華役,孫希延,藍(lán)如師*,羅笑南
(1.桂林電子科技大學(xué)計算機(jī)與信息安全學(xué)院,廣西桂林541004;2.桂林電子科技大學(xué)信息與通信學(xué)院,廣西 桂林 541004)
21世紀(jì)是信息科技時代,伴隨著計算機(jī)技術(shù)的迅速發(fā)展,通信信息技術(shù)與多媒體技術(shù)互相融合、滲透,成為信息技術(shù)的實質(zhì)?;ヂ?lián)網(wǎng)時代,許多通信設(shè)施具有開放和共享的特點(diǎn),安全問題正接受有史以來最嚴(yán)峻的考驗。傳統(tǒng)的信息加密方式只適用于純文本類型的數(shù)據(jù)加密,而其他類型的信息,如圖像數(shù)據(jù)信息[1?3],并不可用。 由于圖像數(shù)據(jù)信息具有存儲量大、冗余性高、相關(guān)性極高的特性,研究者從各個方面對圖像數(shù)據(jù)信息進(jìn)行了研究。隨著混沌理論的出現(xiàn),研究者將其應(yīng)用于圖像加密,發(fā)現(xiàn)其與密碼學(xué)有密不可分的聯(lián)系[4-6],于是,就形成了基于混沌的圖像加密算法[7],有混沌映射[8-9]、波擾動[10]、小波變換[11-12]和魔方變換[13]等。
混沌圖像加密算法可分為一維混沌系統(tǒng)、高維混沌系統(tǒng)。一維混沌系統(tǒng)包括Logistic映射、Sine映射、Tent映射、面包師(baker)映射以及各種一維映射的混合等,因其具有簡單、快速的特點(diǎn),一直被用于各種加密算法。蔣愛平等[14]提出了一種基于超混和改進(jìn)AES的圖像加密算法,利用超混沌Qi系統(tǒng)的混沌序列對灰度圖像進(jìn)行了加密和二值化,該算法比傳統(tǒng)的AES算法具有更大的密鑰空間,增強(qiáng)了圖像信息的保密性。趙芮等[15]提出了基于二維Logistic與Chebyshev映射的AES混沌加密算法,克服了傳統(tǒng)AES算法中由密鑰唯一導(dǎo)致的安全性低的缺點(diǎn),實驗結(jié)果顯示,該算法較傳統(tǒng)AES算法具有更高的安全性。 ZHU等[16]提出了用Arnold貓圖的對稱圖像加密方案。ZHOU等[17]提出了一種新的圖像加密1D混沌系統(tǒng),一維混沌映射,其混沌軌道很簡單,易被預(yù)測,信息一旦被提?。?8-20],很可能通過某些技術(shù)計算出其初始狀態(tài)[21-24]。因此,一維混沌系統(tǒng)的圖像加密方案很容易被攻擊[25-28],須有更高維的混沌映射。 2DSLMM[7],2D-LASM[29],2D-SIMM[30]的 混 沌 軌 道較一維的復(fù)雜,也不容易被預(yù)測,但其硬件實現(xiàn)較困難。為此,本文提出了一種具有良好混沌性能和低消耗成本的混沌映射。
為了進(jìn)一步提高基于線性層組合的圖像加密算法的安全性能,本文通過使用AES算法產(chǎn)生的序列來控制二維Chebyshev映射與Sine映射的密鑰,利用行移位和列混合,改變圖像像素空間位置和像素頻域中的值,最后根據(jù)中國剩余定理的增強(qiáng)擴(kuò)散操作對圖像進(jìn)行二次加密。同時,給出了仿真的實驗結(jié)果與安全性分析。
下文組織如下:第1章,介紹二維Chebyshev映射與Sine映射,并對軌跡圖進(jìn)行分析;第2章,新的圖像加密算法——線性層組合,介紹線性層組合,包括行移位和列混合;第3章,對此算法做仿真實驗和時間復(fù)雜度分析;第4章,分析線性層組合算法的安全性;第5章為結(jié)論。
以下是本文用到的2個一維映射,分別為Chebyshev map[15]和 Sine map,其定義分別為:
其中,u和n為參數(shù),u在[0,1]范圍內(nèi),n在[0,4]范圍內(nèi)。
此2映射均為非線性變換,用以生成簡單結(jié)構(gòu)的下一個迭代值。因此,通過混沌信號易預(yù)測其軌道。為解決這一問題,本文提出了一種新的二維混沌映射——Chebyshev-Sine map方法,定義為
其中,u和k都為參數(shù),u的取值范圍為[0,4],k的取值范圍為[0,1],當(dāng)k=0.162 5,u=1.5時,具有混沌行為。
本文提出的2D Chebyshev-Sine map具有良好的混沌行為。通過生成的軌跡來判斷其混沌性能。
圖 1顯 示 了 2D Chebyshev-Sine map、2DSLMM[7]的軌跡圖,并設(shè)置他們的初始值均為的(x0,y0)=(0.3,0.4)。 顯見,2D Chebyshev-Sine map在相平面上的軌跡較2D-SLMM分布更寬廣,因此,2D Chebyshev-Sine map具有更好的遍歷性,其輸出也是隨機(jī)的。
圖2為2D Chebyshev-Sine map的圖像加密算法流程圖,包括原文圖像、安全密鑰、2D Chebyshev-Sine map、密文圖像以及核心的行移位、列混合、中國剩余定理擴(kuò)散的原則。圖3為解密過程流程圖,加密過程為C=Enc(P,K),解密過程為P=Dec(C,K)。
圖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映射的初始值和控制參數(shù)。A和B的目的是改變初始值和控制參數(shù),以增大安全密鑰。
圖4 安全密鑰的結(jié)構(gòu)Fig.4 Structure of security key
具體來說,通過使用 IEEE 754[31]格式的 52 位字符串(b1,b2,…,b52)來生成十進(jìn)制的數(shù)值x0,y0,q,A,公式為
B1,B2,B3,B4由 12位字符串{b0,b2,…,b11}組成,將這12位字符串轉(zhuǎn)換為整數(shù)并獲得所需的系數(shù)。對于每一輪的初始值可定義為
如果明文圖像P的大小為M×N,那么圖像P中像素點(diǎn)的總量為M×N,由式(3)生成X和Y序列。
現(xiàn)在使用行移位變換對二維Chebyshev-Sine映射生成的X序列進(jìn)行轉(zhuǎn)換,其中圖像(M—1)行的像素點(diǎn)被循環(huán)偏移到同行不同列的像素位置上,而圖像的元素值未發(fā)生任何變化。假設(shè)矩陣為state,行移位變換公式為
state′[i][j]=state[i][(j+i)%n],n∈ N。(6)
圖5 行移位的變化Fig.5 The change of row shift
在1.1節(jié)中,通過式(3)生成X和Y序列,X已對行移位做了變換?,F(xiàn)用Y序列通過矩陣相乘對圖像進(jìn)行列混合變換,即經(jīng)行移位后的狀態(tài)矩陣與固定的矩陣相乘,得到混淆后的狀態(tài)矩陣。
列混合變換操作:將每一列視為一個t項多項式?,F(xiàn)對t=4用四項多項式進(jìn)行列操作。這些列為 GF(28),乘以模x4+1,其固定多項式a(x)定義為
根據(jù) Polynomials with Coefficients in GF(28),可將其寫成矩陣形式。令
對
根據(jù)上述矩陣乘法,可將圖像中列的像素數(shù)替換為:
圖6給出了列混合變換。
圖6 加密算法列混合的變化Fig.6 The changes in column mix of encryption algorithm
通過行移位和列混合操作得到的密文圖像很容易被破譯。于是提出了中國剩余定理[32-34]的擴(kuò)散原則。
2.4.1 中國剩余定理
定理1 設(shè)g1,g2,…,gk為k個兩兩互素的整數(shù),Gi-1為Gi模gi的 乘 法 逆 元 ,滿 足GiGi-1≡1(modgi),i=1,2,…,k。 對于任意給定的k個整數(shù):b1,b2,…,bk(k≥2),一次同余方程組:
有唯一解
該定理通過將k個整數(shù)轉(zhuǎn)化為一個較大的整數(shù)實現(xiàn)加密。
2.4.2 中國剩余定理的擴(kuò)散原則
將行移位和列混合操作之后的密文圖像進(jìn)行轉(zhuǎn)化。 將密文圖像轉(zhuǎn)化為一維序列P(p1,p2,…,p(M×N))。下面用中國剩余定理擴(kuò)散原則,隨機(jī)選取s個兩兩互素的整數(shù)m1,m2,…,ms,其中mi>28。
將轉(zhuǎn)化后的一維序列P(p1,p2,…,p(M×N))分成s組:
將pi代入式(12)和(13),計算得到序列Qi={Q1,Q2,…,Q(M×N)/s}。再對得到的Qi序列進(jìn)行取模28,得到加密序列D={D1,D2,…,D(M×N)},最后將加密序列D轉(zhuǎn)化成二維圖像矩陣,得到加密圖像。
經(jīng)上述行移位和列混合后,再對密文圖像進(jìn)行中國剩余定理擴(kuò)散。
驗證一個圖像加密算法是否具有良好的遍歷性和混沌行為,主要看其能不能將不同類型的明文圖像轉(zhuǎn)化成隨機(jī)的密文圖像。本文對線性組合算法進(jìn)行了仿真實驗,并與其他圖像加密算法的運(yùn)行時間進(jìn)行了比較。
直方圖是驗證圖像加密算法是否良好的最直觀方法之一。密文直方圖的平坦程度直接影響算法的安全性,密文直方圖越平坦,破譯者越難得到明文信息。因為一個好的圖像加密算法可以將明文圖像加密成類似隨機(jī)密文圖像,而直方圖是均勻分布的。圖7為線性層組合算法的圖像仿真實驗??蓪⑺袌D像轉(zhuǎn)換成類似噪聲的密文圖像,反映圖像像素點(diǎn)所在灰度的分布情況[35],分布越均勻,越難辨別,可視化能力越差。通過圖7知,所有明文圖像的直方圖具有某種特定的模式。若將明文圖像加密成密文圖像,又不呈現(xiàn)任何明文圖像信息,則說明此算法具有良好的加密性能。
線性層組合算法具有較高的加密速度。在Matlab下通過測試使用數(shù)據(jù)集的圖像,得到CCM的加密/解密時間是0.038 001 s。表1為圖像的平均加密時間,發(fā)現(xiàn)線性層組合算法比其他二維加密算法快些,但明顯較一維算法慢。原因在于一維的結(jié)構(gòu)較簡單,本文方法是基于復(fù)雜的二維混沌結(jié)構(gòu)的。因此,線性組合算法以較短的運(yùn)行時間、良好的加密性能勝出。
為了驗證線性層組合算法的安全性能,本節(jié)采用以下方法進(jìn)行分析,測試圖像基本來自USCSIPI‘Miscellaneous’圖像數(shù)據(jù)庫。
圖7 線性層組合的仿真實驗結(jié)果Fig.7 Simulation results of linear layer combination
表1 不同圖像加密算法的運(yùn)行時間對比Table 1 Comparison experiments on running time of different image encryption algorithms
為有效抵抗強(qiáng)有力的攻擊,圖像加密算法應(yīng)該對安全密鑰十分敏感,且確保密鑰空間足夠大。即安全密鑰的敏感性可從以下兩方面校正:
(1)如果加密端的安全密鑰與原密鑰有微小差異,那么得到的密文圖像應(yīng)該完全不同。
(2)如果解密端密鑰與加密端密鑰有微小差別,那么得到的明文圖像無法被正確解密。
圖8和圖9展示了本文算法在加密與解密方面的敏感性分析結(jié)果。其中,K1為原安全密鑰,K2與K1間有1個比特字節(jié)之差,K3與K1間有1個比特字節(jié)之差。當(dāng)用K1、K2分別對明文圖像進(jìn)行加密時,得到的密文圖像是完全不同的,這2幅加密后的圖像的差異為|C1―C2|。該算法證明了加密過程中安全密鑰的敏感性,現(xiàn)對解密過程進(jìn)行驗證。用K1對加密后的圖像進(jìn)行解密,得到的圖像可恢復(fù)為原始圖像。用K2、K3分別進(jìn)行解密,得到完全不同的圖像,且無法辨別。解密后的圖像也存在差異,差異為|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
圖像的直方圖非常明了,可用于檢驗密文圖像像素分布是否均勻。如何判斷圖像直方圖分布的好壞是一個比較難的問題。本文引入香農(nóng)理論,用信息熵來判斷圖像灰度值的分布是固定還是隨機(jī)的。一個圖像粗糙程度越大,信息量就越大,得到的信息熵也就越大。反之,圖像越平滑,得到的信息熵就越小。對于一個灰度值為256的隨機(jī)圖像,理想的信息熵為8,安全性能越強(qiáng),圖像被攻擊的可能性越小,熵的計算公式為
P表示符號kj的概率。
為保證實驗的客觀、公平,直接使用吳算法、周算法、吳氏算法以及Hua’s算法。表2列出了各算法的平均信息熵。由表2可知,本文算法平均信息熵更接近理想值8,密文內(nèi)容不容易泄露,安全性較高。
表2 各圖像加密算法的信息熵測試值Table 2 Information entropy test value on different image encryption algorithms
差分攻擊又稱為選擇明文攻擊,是在特定區(qū)域,將原始圖像加密后來攻擊密碼的算法。驗證一個加密算法是否具有擴(kuò)散性,主要看是否能夠抵抗差分攻擊。像素變化率(NPCR)和統(tǒng)一變化強(qiáng)度(UACI)是圖像加密算法中最常用的2種度量方法[39]。 PCR(C1,C2)和 UACI(C1,C2)在 2 幅密文圖像C1和C2之間的分?jǐn)?shù)定義為:
其中,K(i,j)表示函數(shù),C1和C2表示在圖像網(wǎng)格(i,j)上的2個像素,T和L表示圖像中的像素數(shù)和允許的最大像素強(qiáng)度。 由式(16)和(17)知,NPCR和UACI的預(yù)期分?jǐn)?shù)取決于最大像素強(qiáng)度L。當(dāng)選取的測試圖像灰度為8位時,得到的NPCR和UACI的預(yù)期分?jǐn)?shù)分別為99.609 6%和33.46%。
從USC-SIPI‘Miscellaneous’圖像數(shù)據(jù)集中選取27個測試圖像進(jìn)行了實驗測試。原圖像像素改變1個比特值,生成一個新的明文圖像,然后對2個明文圖像用相同的安全密鑰進(jìn)行加密。為保證公平并兼顧方便,直接使用 WU[36]、ZHOU 等[37]、WU 等[38]、HUA等[7]的NPCR和UACI測試分?jǐn)?shù)。表3和表4分別為NPCR和UACI的實驗結(jié)果。由表3和表4知,本文的加密算法與預(yù)測分?jǐn)?shù)相似。因此,線性層組合具有很好的抗差分攻擊能力。
表3 各圖像加密算法的NPCR測試值Table 3 The NPCR test value on different image encryption algorithms
對于灰度值為256的圖像來說,像素與鄰近的像素之間具有很強(qiáng)的相關(guān)性,攻擊者常利用此原理尋找明文圖像和密文圖像之間的關(guān)系。所以往往通過相鄰像素之間的相關(guān)性來驗證圖像加密方案的優(yōu)劣[40]。由式(18)計算相鄰像素的相關(guān)系數(shù):
其中,x,y分別為圖像的2個數(shù)據(jù)序列,μ,σ分別為平均值和標(biāo)準(zhǔn)差。通過計算得到它們的相關(guān)值約為1,說明2個序列X,Y具有很強(qiáng)的相關(guān)性,反之接近于0。
從明文圖像和密文圖像中隨機(jī)選擇2 000對相鄰的像素,并分別研究水平方向、垂直方向和對角線方向的像素分布。 明文圖像“elaine”圖在水平方向、垂直方向及對角線方向相鄰像素的相關(guān)分布和密文圖像相鄰像素的相關(guān)分布如表5所示。其中,明文圖像的結(jié)果接近于1,密文圖像的結(jié)果接近于0。圖10為圖像加密前后的像素序列對的分布情況,可看出明文圖像相鄰像素的值彼此接近,而密文圖像相鄰像素的值發(fā)生了變化。從而驗證了線性層組合算法可大大降低相鄰像素間的相關(guān)性。
在圖像加密中,常常比較2個圖像是否相同。如果加密后的圖像與原圖像相似地方較多,說明此加密圖像的安全性能較差。下面給出2個圖像相似度參數(shù)XSD的計算式[41],以判斷2個圖像是否相似:
表5 Elaine原圖像像素與其加密圖像像素的相關(guān)性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個十進(jìn)制數(shù),并且α∈[0,m-1],β∈[0,n-1]。
由式(19)知,Cij與Gij的值相差越大,2個圖像的相似度就越小。對加密圖像而言,與原圖像的相似度越小,安全性能就越高。因此,用圖像elaine進(jìn)行測試,分別用2D Logistic[36]、Hénon[42]、2D Sine logistic[7]、2D Logistic Sine[29]、2D SIMM[30]、CSM 對圖像進(jìn)行加密。表6為圖像各加密算法的相似度,加密前后圖像相似度越低,加密性能越好??傻肅SM是性能良好、安全強(qiáng)度高的圖像加密方案。
圖10 圖像相鄰像素序列對的分布Fig.10 The distribution of adjacent pixel sequence pairs
表6 Elaine圖像的相似度分析Table 6 Similarity analysis of Elaine images
圖11 抗噪聲和抗數(shù)據(jù)丟失結(jié)果Fig.11 The analysis results of anti-noise and data loss
圖像在傳輸過程中,部分?jǐn)?shù)據(jù)不可避免地會受到高斯噪聲和鹽噪聲的影響,且存在丟失的可能。圖像加密算法對數(shù)據(jù)丟失造成的影響應(yīng)具有免疫功能,即圖像在傳輸過程中具有抗噪聲和抗數(shù)據(jù)丟失的能力。本文的線性層組合算法具有抗噪聲和抗數(shù)據(jù)丟失的能力。圖11給出了線性層組合抗噪聲和抗數(shù)據(jù)丟失的魯棒性分析結(jié)果。從圖11可以看出,即使密文圖像受不同類型噪聲的干擾或有不同程度數(shù)據(jù)缺失,線性層組合算法在解密過程中仍能將圖像復(fù)原。盡管復(fù)原后的圖像還存在一些噪聲,但大部分已可識別。實驗結(jié)果表明,本文算法在抗數(shù)據(jù)丟失和抗噪聲攻擊上性能良好。
提出了一種新的由Chebyshev映射連接Sine映射形成的二維混沌映射(2D-CSM),通過繪制二維混沌映射軌跡圖可判斷其混沌性能。實驗結(jié)果證明,2D-CSM具有良好的遍歷性和超混沌性,其混沌范圍覆蓋相平面,較2D-SLMM映射具有更廣的混沌范圍。
為了體現(xiàn)2D-CSM的安全性,本文用線性層組合算法進(jìn)行了加密,使密文圖像不易被破解。實驗證明此算法可抵抗常見攻擊,且時間復(fù)雜度很低,安全性能很高。該加密算法適用于音頻、視頻、數(shù)據(jù)文件等的保密傳送。