蔡靜



摘要:離散混沌動力學系統具有非線性動力學行為。混沌系統可生成偽隨機性的序列,對初始狀態敏感,而且可以通過一個簡單的遞歸過程生成高度復雜的信號。由于混沌序列的良好性能,混沌系統被廣泛應用于通信、密碼學、優化、控制和圖像處理等。本文除了分析現有的兩類圖像加密方法的安全性,還在此基礎上研究了一種改進的圖像加密方法。該方法利用混沌系統對初始條件的敏感依賴性,在傳統混沌加密算法基礎上引入一個輔助密鑰,用以抵抗已知明文攻擊。分析及計算機仿真結果表明,該加密方法具有運算量小但是加密效果良好的特點。
關鍵詞:混沌系統;混沌序列;圖像加密算法;輔助密鑰
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2017)01-0196-03
1 研究背景和意義
根據加密與解密中使用的密鑰情況,傳統加密算法可分為對稱加密算法與非對稱加密算法。由于傳統的加密技術沒有考慮圖像的自身特點,多是基于文本設計的,因此對圖像進行加密解密,不但效率較低,而且安全性較差。
由于數字圖像具有數據量大、數據相關度高等特點,繼續用傳統的圖像加密方式效率低,又不能滿足實時通信的要求?;煦缧蛄芯哂袑Τ跏紬l件敏感、容易生成、以及具有白噪聲的統計特性,因此很適合應用于加密。經證明,基于混沌的圖像加密方法密鑰空間大,有較好的統計特性、安全性及很好的密鑰敏感度。擾亂圖像像素值和置亂圖像像素位置是兩大類常見的基于混沌的圖像加密方法。然而這兩類加密方法都需要做一些必要的改進,因為難以抵抗已知明文的攻擊,在安全性方面均存在一些問題,。
研究該課題不僅可以解決傳統圖像加密效率低的特點,還可以滿足當下實時通訊的需求。因此,該研究課題具有很高的價值。
2 本文的主要作用
本文在對上述擾亂圖像像素值和置亂圖像像素位置這兩類圖像加密方法,進行分析安全性的基礎上,擬通過在圖像加密過程中引入一個輔助密鑰,以抵抗已知明文攻擊。采用Matlab平臺對其進行仿真分析,證明其安全性。
3 基于混沌序列的圖像加密方法
3.1 混沌序列的生成
(1)實數值序列,即是混沌映射的軌跡點所形成的序列。
(2)通過定義一個閾值,由1)中的實數值混沌序列可得到二值序列:(2.1)具有混沌特性的二值序列為。
(3)比特序列為,由1)中實數值混沌序列得到,將中的改寫為L-bit的浮點數形式:,其中,是的第i位。
(4)定義一個閾值函數,由1)中的實數值混沌序列得到值序列:
3.2 基于一維混沌序列的置亂方法
初值在Logistic映射的作用下生成混沌序列,該序列對初始值非常敏感、非周期且不收斂。用計算機將迭代初值迭代,其中迭代初值是在區間中隨機選取的,通常會丟棄前面n次的迭代數據。隨后每一個像素值用混沌序列加密。序列的概率密度函數表達式如下:
(2.3) 均值為:
假設獨立選取兩個初始值和,則兩個序列的互相關函數為:
可以看出,一維Logistic形式簡單,具有與白噪聲相似的特性。設精度為N位有效數字,則在上最多有個不重復點。當迭代次數大于精度時,必會產生循環。由于有限精度的限制容易產生周期,一維Logistic混沌映射不能直接用于加密。變換排序可以保持Logistic混沌序列的性質。通過Logistic混沌映射生成一個雙精度型的混沌序列,實值序列集合中的N個值由小到大排列,形成有序序列,確定每個在混沌實值有序序列中的位置編號,置換地址集合形成。其中,為集合中的一個。對圖像的第一行像素按置換的地址集合進行置換,將其第列像素置換至第列,,這樣就可以取得很好的置亂效果。
4 實驗過程、結果及分析
4.1 問題一
對具有代表性的圖像加密方法,即擾亂圖像像素值的加密方法進行安全性分析。
f是大小為,有L個灰度級的圖像。
Step1:選定Logistic混沌系統,將初值作為密鑰;
Step2:通過混沌系統生成混沌序列;
Step3:將其量化為二值隨機序列;
Step4:將得到的序列與原始圖像按比特位進行異或操作得到加密圖像。
實驗結果:如圖4.1。
安全性分析如下:
這種加密方法的安全性應取決于混沌系統的迭代精度及的取值精度。對于已知明文的攻擊方式,這種圖像加密方法則很容易被攻擊者破譯。這種加密方法使用的加密模板是二值序列,它對所有圖像都重復使用,很容易被破譯。一旦破譯了加密模板,就可以解密其它的圖像,因而攻擊者得到一幅原始圖像f以及加密后的圖像后。所以該加密方法安全性不是很高。
4.2 問題二
對具有代表性的圖像加密方法,即置亂圖像像素位置的加密方法進行安全性分析。f是大小為的圖像。
Step1:選定兩個Logistic混沌系統,分別以初值、產生兩個混沌序列;
Step2:將兩混沌序列歸一化,分別乘以M和N;
Step3:將兩列序列取整,取值分別為與間的整數;
Step4:進一步處理兩個序列,生成遍歷的序列與遍歷的序列;
Step5:將這兩個序列作為置亂矩陣的行地址和列地址,對原圖像進行置亂:
(2.5)
其中為原圖像素點經位置置亂后的坐標值,而原圖像素點加密后的像素點為。
實驗結果:如圖4.2。
安全性分析如下:
對于唯密文攻擊,這種加密方法的安全性也是由混沌系統的迭代精度及初值、的取值精度決定。這種加密方法并沒有改變圖像各像素點的值,因此對于已知明文的攻擊容易被攻擊破譯。
4.3 問題三
在問題一和問題二的基礎上,擬在圖像加密過程中引入一個輔助密鑰,提高安全性。F圖像的大小為,圖像f在位置處的灰度值為,選取kx、ky、kz、kw為16位加密密鑰。具體加密過程如下:
Step1:每2個像素點為一對,在原始圖像f中任意選取16個像素點。對這些像素點按比特位進行異或操作,獲得4個16位輔助密鑰ka、kb、kc、kd;
Step2:選定4個一維混沌系統,其中運算精度和初始值的精度均為16位,初始值分別為,,
,;
Step3:通過4個混沌系統以選定的初值產生混沌序列;
Step4:將取混沌序列(4個,值精度為16位)量化為二值序列;
Step5:異或運算,將二值序列合并為序列,并得到加密模板fm;
Step6:用加密模板fm與原始圖像f進行異或操作,就可以得到加密圖像f。
Step7:要采用Matlab平臺對其進行仿真分析,證明其安全性。
實驗結果:如圖4.3。
安全性分析如下:
仿真結果表明,引入輔助密鑰,可使加密系統具有很強的抗攻擊、抗破譯能力??梢杂行У氐挚挂阎魑墓?,大大提高安全性。
5 結語
本文闡明了在圖像加密中混沌理論的應用,在對圖像加密方法進行安全性分析的基礎上,為提高安全性并在加密過程中引入一個輔助密鑰。最后,給出了實驗的詳細步驟、結果和分析。
參考文獻
[1]李娟,馮勇,楊旭強,等.三維可逆混沌映射圖像加密及其優化算法[J].光學精密工程,2008,16(9):1738-1745.
[2]朱從旭,陳志剛,歐陽文衛.一種基于廣義Chens混沌系統的圖像加密新算法[J].中南大學學報(自然科學版), 2006,37(6):1142-1148.
[3]樊春霞,姜長生.一種基于混沌映射的圖像加密算法[J].光學精密工程,2004,12(2):180-184.
[4]王英,鄭德玲,鞠磊.基于Lorenz混沌系統的數字圖像加密算法[J].北京科技大學學報.2004, 26(6):678-682.
[5]H.S.Kwok, WallaceK.S.Tang. A fast image encryption system based on chaotic maps with finite precision representation [J]. Chaos, Solitons and Fractals, 2005, 32(2007):1518-1529.
[6]Nihuan Liao, Jinfeng Gao. The chaotic spreading sequences generated by the extended chaotic map and its performance analysis [J]. Journal of Electronics and Information Technology, 2006, 28(7):1255-1257.
[7]Peng Fei, Shui-Sheng Qiu, Long Min. An image encryption algorithm based on mixed chaotic dynamic systems and external keys [J]. IEEE, 2005, 1135-1139.