摘 要:當今社會,數字圖像加密技術的發展備受關注,該文提出了一種結合Logistic混沌映射理論的AES圖像加密算法,使得數字圖像在傳輸過程中得到有效的保護。
關鍵詞:圖像加密 AES Logistic 混沌映射 MATLAB
中圖分類號:TP309 文獻標識碼:A 文章編號:1674-098X(2014)05(b)-0048-02
隨著互聯網的發展,數字圖像通信成為了信息傳輸的重要途徑。與此同時,數字圖像通信的安全引起了人們的廣泛重視。將AES算法和混沌序列相結合來實現數字圖像加密的方法,既保證了加密的安全性,也縮短了加密的時間。
1 AES介紹
AES是Advanced Encryption Standard(高級加密標準)的簡稱,是美國聯邦政府采用的一種區塊加密標準。AES具有可變的分組長度和密鑰長度,而且分組長度和密鑰長度是不相關的。分組長度有三種情況:128位、192位和256位。AES加密過程包含4個步驟:(1)輪密匙加變換(2)字節替換(3)行移位(4)列混合。
2 Logistic映射
Logistic映射有兩種定義形式:第一種形式如式(1)所示。
(1)
已有研究證明當時,映射為混沌。此時的迭代的序列是具有對初值敏感、非周期、擴散的特性。
第二種形式如式(2)所示:
(2)
其中,為分岔參數,從開始,混沌系統進入分岔倍周期,當參數逐漸增大到時,系統呈現混沌特性,上述過程就是倍周期通向混沌。由于Logistic映射產生的混沌序列對初值的敏感性等特點,這些特性被廣泛應用于很多混沌圖像加密的算法中。
3 基于AES的圖像加密算法
在利用AES算法對圖像進行加密的過程中,第一步即將灰度圖像進行輪密匙加變換,就是將輪密匙與原圖像矩陣中相對應的字節作異或運算,以得到初步密文。為了增強輪密匙的隨機性以提高加密算法的安全性,該文利用Logistic算法來獲得輪密匙加變換中需要的所有輪密匙,并將待加密圖像的矩陣中的各個元素與利用Logistic算法獲得的輪密匙進行異或運算,接著則繼續進行AES算法的其余步驟,以完成對于該圖像的加密工作。這種利用Logistic算法代替AES原有的密匙生成方法的做法充分的利用了Logistic算法的有界性、內隨機性和普適性,增強了AES算法在圖像加密過程中的隨機性和不可預測性,提高了加密的安全性能。利用Logistic算法與AES算法相結合的新的圖像加密算法的流程圖如圖1所示。
另外,該文除了將Logistic算法與AES算法相結合,以提高加密算法的隨機性之外,還對Logistic算法進行了相應的改進,將加密算法與待加密的圖像本身相聯系,使得對于不同的待加密圖像,Logistic算法的各個參數取值也各不相同,提高了Logistic算法的隨機性,增強了整個加密過程的安全性。如式(1)所示為Logistic算法中混沌序列的產生公式。
(1)
其中,為分岔參數,從開始,混沌系統進入分岔倍周期,當參數逐漸增大到時,系統呈現混沌特性。目前為止,絕大多數對于Logistic算法的使用都是將混沌序列產生公式中的和在規定的范圍內設置為一個常數,這種做法雖然簡單,但是并不具備隨機性,安全性不高,容易為加密過程帶來隱患,因此,本文將和的取值取決于待加密圖像本身,使得不同的待加密圖像的和的值不同,增強了加密算法的隨機性,使得加密過程更加安全可靠。
在這里,假設待加密圖像為圖像,即共含有個像素,且每個像素的像素值一定在[0,256]的范圍內,由于需要滿足條件,我們對于的選擇如式(4)所示。
(4)
其中,表示待加密圖像中的一個像素的像素值,由此可見,實質上就是待加密圖像中所有像素值的平均數再除以1000,此時的取值范圍為[0,0.256],滿足條件。而且的取值與待加密圖像的像素值有關,對于不同的待加密圖像,其像素的平均值在絕大多數情況下是不相同的,從而導致的取值不再是固定常量,而是隨著待加密圖像的不同,的值也不相同,增大了取值的隨機性。
另外,對于μ的選擇我們進行了相似的改進,同樣使得μ變成一個與像素值有關的變量,而不是一個不變的常量。首先,將待加密圖像中的每個像素的像素值對4取余,所得余數有四種情況:0,1,2,3。再將所得余數除以10,再將除后的結果與3.6相加,即為最終的值,這樣的取值同樣為四種情況:3.6,3.7,3.8,3.9。具體的取值方式如式(5)所示。
(5)
其中,表示待加密圖像中的任意像素值。這種取值的方法與原來不變的μ值相比,增強了μ值的隨機性和多樣性,即增強了隨機序列的隨機性。
這樣,我們就得到了一個完整的隨機序列,但是并不能直接將隨機序列直接用作輪密匙,因為輪密匙中每項的取值范圍要求為[0,255],顯然隨機序列并不符合要求,因此我們將隨機序列作如下變換,使之滿足輪密匙對于取值范圍的要求,變換如式(6)所示。
(6)
經過這樣的變換,我們得到的的值均在[0,255]內,因此就得到了AES算法第一步中與待加密圖像各像素進行異或運算的輪密匙,與原來的輪密匙相比,經過我們改進過得輪密匙具有更強的隨機性,因此使得整個加密過程更為安全、可靠。
4 仿真結果
對于在上面的章節中提出的改進的AES圖像加密算法,我們在MATLAB軟件的環境下對其進行了仿真實驗,仿真結果如圖2所示。
如圖2(a)所示為待加密圖像,圖2(b)為利用改進的AES算法對圖2(a)中的待加密圖像進行加密之后得到的加密圖像,從圖中可以看出,加密后的圖像已經完全掩蓋了待加密圖像原有的一切圖像信息,圖2(c)為利用解密算法解密后得到的圖像,與原待加密圖像相比完全相同,證明解密成功。
5 結語
在該文中,我們提出了一種結合logistic算法的改進的AES加密算法,這種算法將AES算法中輪密匙的選取與待加密圖像的像素灰度值相聯系,從而使得不同圖像在加密過程中的輪密匙都不相同,增強了加密密鑰的隨機性,從而也增強了加密過程的安全性。另外,利用MATLAB軟件將改進后的算法進行了仿真,取得了令人滿意的仿真效果。
參考文獻
[1]Joan Daemen,Vincent Rijmen著.高級加密標準(AES)算法—Rijndael的設計[M].谷大武,徐勝波譯.北京:清華大學出版社,2003.
[2]陳珂.基于Rijndael和混沌序列算法的圖像加密系統的研究和設計——碩士學位論文[D].蘇州:蘇州大學,2006:15.
[3]陳小英,華英.基于AES的醫學圖像加密算法[J].開發應用,2009(5).
[4]李昌剛,韓正之.圖像加密技術新進展[J].信息與控制,2003(8).
[5]陳舒.圖像加密算法的發展現狀[J].信息科技,2012(1).
[6]吳瓊.圖像加密算法的性能評價研究[J].長春理工大學碩士學位論文,2012(3).