程東升 花罡辰 耿 煜深圳信息職業(yè)技術學院軟件學院
基于bit級全置亂的混沌圖像加密算法
程東升 花罡辰 耿 煜
深圳信息職業(yè)技術學院軟件學院
針對圖像傳輸的安全性問題,提出一種基于bit(比特)位級全置亂的混沌圖像加密算法。先把明文圖像基于bit位分解成8個二進制圖像,并把它們進一步轉化為三維二進制矩陣。接著,利用Chebyshev混沌映射生成的混沌序列,對三維二進制矩陣進行bit級全置亂,置亂后的三維矩陣經過合并計算,得到置亂后的二維圖像。最后,對置亂后的圖像像素進行線性擴散,得到最終的加加密密文。Bit級全置亂不僅置亂了原始圖像的像素位置,同時也改變了像素值,聯(lián)合像素的線性擴散,有效地提升了加密安全。數值實驗結果顯示該方法具有較高的安全性,可以很好地應對各種惡意攻擊。
當前,隨著保密通信的需要,數字信息加密技術得到廣泛的關注,成為一項重要的研究課題。傳統(tǒng)的數據加密標準通過把明文信息轉換成二進制流來進行加密。而對于圖像信息,傳統(tǒng)的數據加密方法不僅操作復雜,并且沒有考慮到圖像本身的特性,如像素之間的相關性、冗余性等。
近年來,隨著非線性科學的不斷發(fā)展,混沌動力系統(tǒng)被越來越多地應用于數字圖像加密技術。作為一種復雜的非線性系統(tǒng),混沌系統(tǒng)具有遍歷性、隨機性、非周期性以及對初始值高度敏感等特點,這些性質使得其非常符合數字圖像加密的需求。自Matthews 1989年首次提出以來,基于混沌系統(tǒng)的圖像加密方案得到廣泛的應用。混沌圖像加密一般分為兩個階段,第一個階段是對圖像像素的位置進行置亂,第二個階段是對圖像的像素值進行改變。其中,像素值改變又有兩種方式,一個是像素值的簡單替代,另一個是像素值的擴散。像素值的簡單替代,如與混沌系統(tǒng)產生的偽隨機序列進行異或運算,已被認為是一種不安全的加密方式,這是因為其容易被選擇明文攻擊所破譯。而第二種像素值改變由于具有擴散機制,一個像素值的信息被擴散到其他像素中,不容易被破譯,因此是當前普遍采用的安全加密方式。
本文提出一種新的基于bit級的混沌圖像加密方案,即像素位置的置亂操作是在bit級層次進行,而不是在像素級。由于灰度圖像的像素值是小于等于255的無符號整數,因此具有8個bit位。依次提取明文灰度圖像像素bit位上的二進制數值,可以得到8個二進制圖像。這些二進制圖像疊在一起便形成了三維二進制矩陣。然后,基于Chebyshev混沌系統(tǒng)生成的混沌序列,對該二進制矩陣在三個維度進行bit位置置亂,再經過轉換,即可得到亂后的二維圖像。Bit級置亂的優(yōu)勢在于置亂像素位置的同時也改變了像素值,即把像素值的部分信息擴散到了其他像素中。為了進一步提高加密安全,再基于混沌序列設計了一個線性的像素擴散方案。數值實驗顯示經過bit級置亂和線性擴散后的密文具有很高的安全性,可以有效地抵御常見的暴力攻擊、統(tǒng)計攻擊和差分分析等。
k 階Chebyshev多項式可以表示為:
其中,x∈[-1,1]. Chebyshev多項式是正交多項式,其Lyapunov指數約為lnk,因此系統(tǒng)(1)具有混沌行為。由于一維混沌系統(tǒng)在用于圖像加密時容易被破解,為了提高安全性,王玲等人提出了如下的二維Chebyshev混沌系統(tǒng):
圖1顯示了Lena圖像按照bit位分解后得到的8個二進制圖像??梢钥闯觯瑘D像像素不同bit位所含的信息量不同,高四位(4,5,6,7)所含的信息量較多,而低四位(0,1,2,3)含的信息量較少。
步驟2. 從混沌序列X, Y 中取三個長度分別為M, N , 8的子序列sx, sy, sz,對三個子序列從小到大排序后得到子序列排序后的序列為排序前序列的一個置換,即排序前的序列元素集和排序后的序列元素集之間為一一映射關系。通過這三個一一映射可以分別建立指標集{1,2,…,M},{1,2,…,N},{1,2,…,8}上的置換,分別記作Px, Py, Pz.分別利用Px, Py, Pz對三維二進制矩陣的下標i, j, l進行置換,置換后的指標為的所有下標都執(zhí)行了置換,三維二進制矩陣便完成了置亂,得到置亂后的三維二進制矩陣
圖1 Lena圖像按照bit位分解后的8個二進制圖像
明文圖像經過bit級全置亂后,不僅像素位置改變了,同時像素值也得到了改變。相對于像素級的置亂,bit級置亂提升了安全性。這里的全置亂是指矩陣在三維空間的整體置亂,而不是局部的。
為了進一步提高加密安全,使得加密和解密過程滿足雪崩效應,下面對置亂后的圖像進行像素值擴散。擴散算法設計如下:
w=mod(floor( w×1014),256),(5)其中mod 表示取模運算,
i i floor 表示向下取整。
步驟4. 將擴散后的密文序列C重塑為二維矩陣,即可得到最終的加密密文圖像。
圖像的bit級全置亂與像素值線性擴散構成了整個加密過程,解密和加密類似,它們互為逆過程。
密鑰空間
為了應對非法竊取者的暴力攻擊,一個好的圖像加密算法必須有足夠大的密鑰空間,同時加密后的密文要與密鑰高度相關。本文的密鑰有初值和參數α, β.取對大小為256× 256的Lena明文圖像進行加密和解密測試,結果見圖2,其中 (a)為密文圖像,(b)為利用正確密鑰解密后得到的明文圖像,(c)為利用變化的初值密鑰x0解密后的圖像,即. 可以看出,加密算法對秘鑰非常敏感,的差異都將導致解密的失敗。按照的精度,密鑰空間高達,可以有效抵御暴力破解。
統(tǒng)計分析
統(tǒng)計分析也是攻擊者常用的密文破解方法。一個好的加密方法還需要通過統(tǒng)計測試。圖3顯示了加密前后明文和密文圖像的灰度直方圖??梢钥闯?,密文圖像的灰度值分布非常均勻,得到了有效的平滑,惡意竊取者無法從直方圖中獲取有用的統(tǒng)計信息。
自然的明文圖像中相鄰像素間具有很高的相關性,這給統(tǒng)計分析攻擊帶來了可能。因此,一個好的加密算法應該有效地降低像素之間的相關性。 為了測試兩個相鄰像素的相關性,分別從原始圖片和加密圖片中隨機選擇2500對相鄰的像素,根據公式(7)計算長度為N=2500的相鄰像素序列x,y 的相關系數:
圖2 密鑰敏感性測試
圖3 加密前后的灰度直方圖
表1 明文和密文圖像在三個方向的相關系數
差分分析
差分分析是一種選擇明文攻擊,其基本原理是通過分析特定明文差分對相應密文差分的影響來獲得密鑰。抵抗差分分析是加密方法必須具備的性能。如果加密方案使得明文圖像的微小改變而導致密文圖像有一半以上的像素發(fā)生改變,那么差分攻擊將失效。衡量抗差分分析的兩個重要指標分別是(8)式定義的像素數量變化率(NPCR)和(9)式定義的統(tǒng)一平均變化率(UACI )。
圖4 明文圖像和密文圖像的像素相關性
其中,C1, C2分別對應兩個僅有一個像素之差的明文圖像的密文圖像。當時D( i, j)=0,否則D( i, j)=1.對于本文提出的加密方案,將Lena圖像的第一個像素的值減1,然后根據公式(8)和(9)計算得到相應的結果為NPCR=99.26%,UACI=34.75%,NPCR 超過了99%且UACI 接近33%,即明文微小的變化導致密文巨大的差異。 由此可見,本文提出的加密方法可以很好地抵御選擇明文攻擊。
本文提出了一種基于bit級全置亂的混沌圖像加密算法。把灰度圖像根據bit位分解成8個二進制圖像,然后在三維空間實現這8個二進制圖像像素的全局置亂。把置亂后的二進制矩陣轉變?yōu)榛叶葓D像便實現了明文圖像的初步加密。在這一階段不僅像素的位置得以改變,同時像素值也發(fā)生了變化,單個像素的部分信息被擴散到其他像素中,即這一階段還具有擴散的功能。相對于像素級置亂,bit級置亂安全性更好。為了進一步提高加密安全,繼續(xù)對置亂后的圖像進行像素值的線性擴散,得到最終的密文。最后,對本算法進行了數值實驗和安全性分析,結果顯示,本算法具有很高的安全性。