摘 要:為了驗證文獻(xiàn)中提出的一種基于Logistic強(qiáng)混沌映射和陳氏超混沌系統(tǒng)的圖像加密算法的安全性,對其進(jìn)行了安全性分析,提出了適用于任意大小加密圖像的已知明文攻擊方法和選擇明文攻擊方法。同時,指出了原加密算法不安全的根本原因,并給出了提高其安全性的若干建議。
關(guān)鍵詞:混沌; 超混沌; 圖像加密; 安全性分析
中圖分類號:TN914.3 文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2010)03-1042-03
doi:10.3969/j.issn.1001-3695.2010.03.065
Cryptanalysis of image encryption algorithm based on hyper-chaotic system
LIU Jin-mei 1,2, QIU Shui-sheng 2, LIU Wei-ping1
(1. College of Information Science Technology, Jinan University, Guangzhou 510632, China; 2. School of Electronic Information Engi-neering, South China University of Technology, Guangzhou 510640, China)
Abstract:In order to verify the security of an image encryption algorithm based on Logistic chaotic map and Chen hyper-chao-tic system proposed in literature, discussed security analyses of the algorithm and proposed the measures of known plaintext attacks and chosen plaintext attacks for random-sized encrypted images . Besides, pointed out the essential weakness of the algorithm and provided some suggestions to improve its security.
Key words:chaos; hyper-chaos; image encryption; cryptanalysis
隨著多媒體通信和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,圖像信息傳輸日益廣泛,圖像數(shù)據(jù)的安全也受到越來越多的關(guān)注。作為保護(hù)圖像數(shù)據(jù)安全的一種有效方式,圖像加密早已成為信息安全領(lǐng)域的研究熱點(diǎn)之一。除了常規(guī)的圖像加密方法之外,利用混沌系統(tǒng)實(shí)現(xiàn)圖像加密也日益引起人們的重視[1~5]。
文獻(xiàn)[2]提出了一種基于超混沌系統(tǒng)的圖像加密算法,本文對其安全性進(jìn)行了分析,提出了能準(zhǔn)確破譯任意大小加密圖像的已知明文攻擊方法和選擇明文攻擊方法。
1 算法描述[2]
文獻(xiàn)[2]描述的算法使用了兩個混沌系統(tǒng),即Logistic強(qiáng)混沌映射和陳氏超混沌系統(tǒng)。前者用于實(shí)現(xiàn)圖像的置亂,后者用于進(jìn)行圖像像素替代。
Logistic強(qiáng)混沌映射:
xn+1=4xn(1-xn)(1)
陳氏超混沌系統(tǒng):
1=a(x2-x1)2=-x1x3+dx1+cx2-x43=x1x2-bx34=x1+k (2)
其中:a、b、c、d和k均為參數(shù)。當(dāng)a=36, b=3, c=28, d=-16和 -0.7≤ k≤0.7時,系統(tǒng)是超混沌系統(tǒng)。當(dāng)k=0.2時,其Lyapunov指數(shù)為λ1=1.552,λ2=0.023,λ3=0,λ4=-12.573。
對于大小為N×M的圖像A,其加密過程分為圖像置亂和圖像像素替代兩部分。
1.1 圖像置亂
根據(jù)Logistic強(qiáng)混沌映射的輸出對圖像A先按行置亂再按列置亂,得到置亂圖像B。大致步驟如下:
a)式(1)在初值x0作用下,首先迭代多次以消除暫態(tài)效應(yīng),得到新的輸出值x0,計算
r1=mod (x0×1014,M)(3)
得到屬于[0,M-1]的整數(shù)。
b)繼續(xù)迭代式(1),直至得到M個屬于{0,1,…,M-1}的不同整數(shù)ri(i=1,2,…,M)。其中ri≠rj(若i≠j)。根據(jù){ri,i=1,2,…,M}對圖像A按行置亂,即將第一行數(shù)據(jù)與第r1行數(shù)據(jù)互換,第二行數(shù)據(jù)與第r2行數(shù)據(jù)互換,依此類推,得到按行置亂后的圖像Ah。
c)根據(jù)式(1)的當(dāng)前值x0,計算
c1=mod (x0×1014,N)(4)
得到屬于[0,N-1]的整數(shù)。
d)繼續(xù)迭代式(1),離散化后得到N個屬于{0,1,2…,N-1}的不同整數(shù)ci(i=1,2,…,N),ci≠cj(若i≠j)。根據(jù){ci,i=1,…,N}對圖像Ah按列置亂,即將第一列數(shù)據(jù)與第c1列數(shù)據(jù)互換,第二列數(shù)據(jù)與第c2列數(shù)據(jù)互換,依此類推,得到置亂后圖像Ahv。
1.2 圖像像素替代
利用式(2)所述的陳氏超混沌系統(tǒng)實(shí)現(xiàn)像素替代加密。其步驟如下:
a)利用龍格—庫塔算法將陳氏超混沌系統(tǒng)迭代N0次,消除暫態(tài)效應(yīng)的影響。
b)對超混沌系統(tǒng)的當(dāng)前狀態(tài)x1、x2、x3、x4進(jìn)行離散化處理,得到四個位于[0,255]內(nèi)的整數(shù):
xi=mod ((Abs(xi)-Abs(xi)」)×1014,256);i=1,2,3,4(5)
其中:Abs(#8226;)表示取絕對值;#8226;」表示向下取整。
c)利用式(6)計算
1=mod (x1,4)(6)
則1∈[0,3]。根據(jù)1的值,選擇不同的狀態(tài)組合(B1, B2, B3)。1= 0時,(B1, B2, B3) = (x1, x2, x3)。1= 1時,(B1, B2, B3) = (x1, x2, x4)。1= 2時,(B1, B2, B3) = (x1, x3, x4)。1= 3時,(B1, B2, B3) = (x2, x3, x4)。將第i次迭代得到的狀態(tài)組合用(Bi,1 , Bi,2 , Bi,3) 表示。
d)將置亂圖像Ahv展開成一維,其像素值用Pi (i =1, 2, …, N×M) 表示。則像素替代加密后圖像的像素值為
C3×(i-1)+j=P3×(i-1)+jBi,j(7)
其中:j =1, 2, 3;i∈Z+ 且(3×(i-1)+j)≤(N×M)。得到加密圖像。
2 安全性分析
該算法的密鑰由Logistic強(qiáng)混沌映射和陳氏超混沌系統(tǒng)的初值構(gòu)成。若計算精度為10-14,則惟密文攻擊下,其密鑰空間較大,為1014×5 = 1070 ≈ 2232。但在已知明文攻擊和選擇明文攻擊下,該算法并不安全。
由于原算法中置亂部分和像素替代部分只與混沌系統(tǒng)和密鑰有關(guān),與明文無關(guān),可將置亂處理用函數(shù)T(#8226;)表示,置亂的逆操作用T-1(#8226;)表示;將像素替代部分使用的隨機(jī)數(shù)據(jù)流用 S = {(Bi,1 , Bi,2, Bi,3),i∈Z+且 (3×(i-1)+j)≤(N×M)} 表示。則圖像A的加密過程可以簡化描述為
CA=T(A)S(8)
解密過程為
A=T-1(CAS)(9)
2.1 已知明文攻擊
根據(jù)Kerckhoffs準(zhǔn)則,密碼分析者知道除密鑰以外的加密算法的全部結(jié)構(gòu)。已知明文攻擊是指密碼分析者根據(jù)已知的明文—密文對來破譯密碼。
設(shè)密碼分析者已知兩個大小為N×M的明文圖像A1、A2及其分別對應(yīng)的加密圖像CA1、CA2。可按以下步驟對算法進(jìn)行已知明文攻擊:
a)由式(9)得
A1A2=(T-1(CA1S))(T-1(CA2S))(10)
由于T-1(CA1S)=T-1(CA1)T-1(S),T-1(CA2S)=T-1(CA2)T-1(S),則A1A2=T-1(CA1)T-1(CA2)(11)
A1A2=T-1(CA1CA2)(12)
將A1、A2逐像素按比特異或,CA1、CA2按比特異或,得到
X=A1A2(13)
Y=CA1CA2(14)
b)根據(jù)X和Y,利用窮舉攻擊得到Logistic強(qiáng)混沌映射的初值,確定T-1(#8226;)和T(#8226;)。其窮舉復(fù)雜度僅為1014/2(對于Logistic混沌映射,初值為xn和(1-xn)時所得結(jié)果相同)。
c)利用T(#8226;)、圖像A1(或A2)及其對應(yīng)的加密圖像CA1(或CA2),得到S。由式(8)可知
T(A1)CA1=T(A1)(T(A1)S)(15)
即
S=T(A1)CA1(16)
攻擊完畢。可對任意大小為I(xiàn) ×J (I ≤ N, j ≤ M)的加密圖像解密。
2.2 選擇明文攻擊
選擇明文攻擊是指密碼分析者通過選擇明文,得到其對應(yīng)的密文來破譯密碼。對算法進(jìn)行選擇明文攻擊,步驟如下:
a)利用像素值均為零、大小為N×M的明文圖像A0,得到其加密圖像CA0。因T(A0)=A0,則由式(8)得
S=A0CA0(17)
b)由任意大小為N×M的明文圖像A1,得到其對應(yīng)的加密圖像CA1,由式(8)計算
T(A1)=CA1S(18)
c)根據(jù)A1和T(A1),利用窮舉攻擊得到Logistic強(qiáng)混沌映射的初值,確定T(#8226;)和T-1(#8226;)。其窮舉復(fù)雜度僅為1014/2。
攻擊完畢。可對任意大小為I(xiàn) ×J (#8226;)(I ≤ N, j ≤ M)的加密圖像解密。
還可對上述選擇明文攻擊方法加以改進(jìn)。無須得到Logistic強(qiáng)混沌映射的初值,也能夠成功破譯。文獻(xiàn)[3]提出了一種選擇明文攻擊方法,但僅適用于N×M (N ≤ 256, M ≤256) 的圖像。在此基礎(chǔ)上,本文提出如下改進(jìn)方法,該攻擊方法可適用于任意大小的加密圖像。
2.3 改進(jìn)的選擇明文攻擊
改進(jìn)的選擇明文攻擊方法步驟如下:
a)利用像素值均為零、大小為N×M的明文圖像A0,得到其加密圖像CA0,根據(jù)式(17)計算隨機(jī)流S。顯然,S的長度為N×M。
b)計算n=(N+M)/256」(19)
(a)若n=0,則利用大小為1×(NM)、前(N + M)個灰度值呈順序排列的圖像:
A=0 1 2 … (N+M-1) 255 … 255NM-(N+M)T(20)
得到其對應(yīng)的加密圖像CA。然后根據(jù)式(18)和S得到用于置亂的N+M個位于區(qū)間[0, MN-1] 內(nèi)的隨機(jī)整數(shù)t1~(N+M),至d)。
(b)若n >0,則利用大小為1×(NM) 的圖像:
A=0 1 2 … 254 255 … 255(NM-255)T(21)
得到其對應(yīng)的加密圖像CA。然后結(jié)合式(18)和S得到確定用于置亂的前255個隨機(jī)數(shù)t1~255。
c)若n =1,則繼續(xù)取大小為1×(NM) 的圖像:
A=255 … 255255 0 1 2 …N+M-256 255 … 255(NM-255)T (22)
得到其對應(yīng)的加密圖像CA。然后結(jié)合式(18)和S得到用于置亂的隨機(jī)數(shù)t256~N+M。與b)結(jié)合,得到用于置亂的N+M個隨機(jī)整數(shù)t1~N+M,至d)。
若n >1,則類似b)的(b),取
A=255 … 255255 0 1 2 … 255 … 255(NM-2×255)T(23)
得到其對應(yīng)的加密圖像CA。然后結(jié)合式(18)和S得到用于置亂的隨機(jī)數(shù)t256~510。
重復(fù)上面的步驟,直至取
A=255 … 255n×255 0 1 2 …(N+M-1-255n)255 … 255NM-(N+M)T(24)
得到其對應(yīng)的加密圖像CA。然后結(jié)合式(18)和S得到用于置亂的隨機(jī)數(shù)t(N×255+1)~(N+M)。
綜合上述步驟,確定用于置亂的N+M互不相等的隨機(jī)整數(shù)t1~N+M,至d)。
d)計算
t1=mod (ti,M) 1≤i≤Mmod (ti,N) (M+1)≤i≤(N+M)(25)
完畢。
此方法不需恢復(fù)密鑰的任何部分,通過選擇明文攻擊確定S和用于置亂的隨機(jī)整數(shù)t1~N+M,則可對任意大小為I ×J ( I能整除N, J能整除 M )的加密圖像成功解密(說明:用I 和J分別代替式(25)中的N和M,得到用于置亂的隨機(jī)整數(shù)t1~(I+J))。若加密圖像的大小不滿足“I能整除N, J能整除M”的條件,則令N = I,M = J,再執(zhí)行上述攻擊步驟。
2.4 增強(qiáng)安全性的建議
原加密算法的優(yōu)點(diǎn)在于,采用多混沌系統(tǒng),密鑰空間大;采用超混沌系統(tǒng),其混沌軌道復(fù)雜。但是。算法在結(jié)構(gòu)設(shè)計上存在致命弱點(diǎn),即加密過程與明文無關(guān),使得算法無法抵御已知明文攻擊和選擇明文攻擊。
建議解決方案是采用密文反饋和多輪次加密,這樣可以使明文圖像中每個像素的變化擴(kuò)散影響到盡可能多的密文像素,使算法具有很好的擴(kuò)散和混淆特性,增強(qiáng)對各種攻擊方法的抵御能力。
3 結(jié)束語
對文獻(xiàn)[2]提出的一種基于超混沌系統(tǒng)的圖像加密算法進(jìn)行了安全性分析。本文提出的選擇明文攻擊和已知明文攻擊方法可實(shí)現(xiàn)對任意大小加密圖像的準(zhǔn)確破譯。為了增強(qiáng)文獻(xiàn)[2]中算法的抗攻擊能力,建議在原算法的基礎(chǔ)上增加密文反饋或采用多輪加密的形式,以提高其安全性。
參考文獻(xiàn):
[1]WONG K W, KWOK B S K, LAW W S. A fast image encryption scheme based on chaotic standard map[J]. Physics Letters A, 2008, 372(15): 2645-2652.
[2]GAO Tie-gang, CHEN Zeng-qiang. A new image encryption algorithm based on hyper-chaos [J]. Physics Letters A, 2008, 372(4): 394-400.
[3]RHOUMA R, BELGHITH S. Cryptanalysis of a new image encryption algorithm based on hyper-chaos [J]. Physics Letters A, 2008, 372(38): 5973-5978.
[4]GUAN Zhi-hong, HUANG Fang-jun, GUAN Wen-jie. Chaos-based image encryption algorithm [J]. Physics Letters A, 2005, 346(1-3): 153-157.
[5]COKAL C, SOLAK E. Cryptanalysis of a chaos-based image encryption algorithm [J]. Physics Letters A, 2009, 373(15): 1357-1360.