復合混沌圖像文件加密之時鐘變換

為解決一維混沌加密系統(tǒng)密鑰空間和安全性差等問題,我們提出了一種基于時鐘變換的復合混沌圖像加密方法。該加密算法使用分段線性混沌映射,k階Chebychev映射以及一維Logistic映射相復合的方式產(chǎn)生像素位置置亂矩陣和像素值變換矩陣。我們利用系統(tǒng)時鐘變化法,隨機改變復合混沌系統(tǒng)的多級初始參數(shù),從而提高了圖像信息傳輸?shù)陌踩?,達到了近似“一次一密”的安全思想。

一、時變參數(shù)的混沌圖像文件加密和解密原理

筆者采用系統(tǒng)時鐘變化法使復合混沌系統(tǒng)的初始參數(shù)隨機改變。發(fā)送端首先獲取系統(tǒng)的時鐘信息,并將其進行RSA加密,通過公鑰信道傳輸?shù)姆绞絺鬏斀o接收端,在發(fā)送端利用時變的時鐘信息修改混沌系統(tǒng)的多級參數(shù),并完成圖像文件的加密,加密后的密文通過秘密信道傳輸?shù)浇邮斩恕F湮募用芎徒饷芸驁D如圖1所示。

 

二、時變參數(shù)復合混沌加密系統(tǒng)

時變參數(shù)復合混沌加密系統(tǒng)用到的3個混沌模型。

1)分段線性混沌映射

當O<p<1時,該模型的Lyapunov指數(shù)為正,處于混沌狀態(tài)。

 

2)Logistic映射

 

其中O≤u≤1,u為控制參數(shù),該映射在3. 569 945 6<u<4時,系統(tǒng)進入混沌狀態(tài)。

3)k階Chebychev映射

 

其定義區(qū)間為(-1,1),當參數(shù)k=6時,Chebychev系統(tǒng)的Lyapunov指數(shù)為1.791733---,映射工作于混沌狀態(tài)。

基于以上3種模型,設計了時變參數(shù)的復合混沌加密系統(tǒng)(見圖2)。

 

此加密方案的核心技術在于:首先,利用系統(tǒng)時間信息擾動分段線性混沌映射的控制參數(shù)p,對于同一個密鑰xo,一級分段線性混沌映射可以等效為多個不同的模型,從而提高了破解混沌參數(shù)戶的難度;其次,利用系統(tǒng)時間信息鎖定二級Cbebychev映射的初始參數(shù)值,即當密鑰和控制參數(shù)一定時,由于系統(tǒng)時鐘所帶來的序列索引號不同,可使二級灰度變化矩陣不同,從而提高了加密系統(tǒng)的安全指數(shù)。通過以上方式,使復合混沌系統(tǒng)的動力學行為更為復雜,并達到了位置置亂矩陣及灰度變化矩陣實時變化的目的,即便是同一幅圖像,在不同的時刻加密,所得到的密文也可以截然不同,做到了“一次一密”的加密效果。系統(tǒng)時間信息由年,月,日,時,分,秒組成(精確到毫秒)具體的加密步驟如下所述。

1)將年,月,日時間信息按次序轉(zhuǎn)換為百位,十位,個位的數(shù)字,并進行相加操作,經(jīng)過線性變換映射為0—1的數(shù)值。由初始密鑰經(jīng)分段線性混沌映射生成長度為圖像行數(shù)M的混沌序列,并將此序列作為Logistic的初始值。這樣由每個初始值經(jīng)過N-1次迭代i生成N個序列,共能得到M×N個混沌序列。

2)對1中所產(chǎn)生的M×N個混沌序列,以行為主序,依次排列成MXN位矩陣J。對J中的元素按由大到小的原則進行排序,并按行優(yōu)先的方式生成矩陣G,則由G中的每個元素在原矩陣中的位置坐標形成一級位置置亂矩陣C。

3)同樣將數(shù)值化的時,分,秒時間信息取整并相加,映射為O~M的一個數(shù)值,將其作為1)中M個混沌序列的一個索引號,將M中對應于此索引號的數(shù)值作為k階Chebychev映射的初始值。迭代產(chǎn)生M×N個混沌序列,經(jīng)過線性變換,以行為主序,生成二級灰度變換矩陣H,利用矩陣C和H最終實現(xiàn)圖像文件的二級加密。

解密算法是加密算法的對稱逆過程。

首先利用3)中產(chǎn)生的二級灰度變換矩陣H與密文圖像進行按位異或操作,得到位置置亂后的圖像P,再用一級位置置亂矩陣C將P置換回去,這樣便可以解密出原始圖像。

三、仿真實驗

下面以cameraman(256×256)圖像為例,利用Matlab7.O進行的實驗仿真。系統(tǒng)加密過程中選擇的密鑰分別為xo=0.17,u=3.581,k=5以及時變的時鐘信息,時鐘信息是通過在算法開始前,利用Matlab自帶的clock函數(shù)獲得。在本次仿真實驗中,加密前獲得的系統(tǒng)時間是2014-11-07-10-05-45.234。在錯誤參數(shù)解密過程中,并沒有改變系統(tǒng)更為敏感的密鑰xo,u,k的值,而只單單通過系統(tǒng)時鐘的變化使Chebychev映射的初始值有所差異,解密算法開始時獲得的時間是2014-11-07-10-10-13.187。仿真結(jié)果如圖3所示:圖3a和圖3b分別是原明文圖像和加密后的圖像,圖3c和圖3d分別是明文圖像的直方圖以及加密后圖像的直方圖。圖3e和圖3f分別為正確參數(shù)解密的圖像和錯誤參數(shù)解密的圖像,圖39和圖3h分別為正確參數(shù)解密圖像的直方圖和錯誤參數(shù)解密圖像的直方圖。

 

從圖3可以看出,原始圖像被充分的置亂與替代,直觀上根本無法看出原始圖像的任何痕跡。利用正確的密鑰所解密出的圖像與原圖像基本一致,看不出差異;當解密密鑰與加密密鑰存在差別時,也不能正確地解密出原始圖像。

四、性能分析

1、原理角度分析

從系統(tǒng)由一級混沌映射同時驅(qū)動兩個二級混沌映射,主要實現(xiàn)的功能是置亂和替代。不同的是,利用時變的時鐘信息改變一級混沌系統(tǒng)的控制參數(shù),每次換一個混沌參數(shù)P,相當于更換了一個混沌方程。在每次加密過程中,不僅改變了一級混沌控制參數(shù),而且還改變了二級混沌映射的初始參數(shù),從而提高了產(chǎn)生的混沌序列的復雜性,極大地增強了加密后圖像抵抗強行攻擊的能力。

2、密鑰空間和密鑰敏感性分析

系統(tǒng)的密鑰是1個四元組,由分段線性映射初始值xo,Logistic映射的控制參數(shù)u,Cheby chev系統(tǒng)的控制參數(shù)以及一個時變的密鑰(本方案是系統(tǒng)時鐘)構成。所以大大增加了密鑰的個數(shù)和密鑰空間,是單個一維混沌系統(tǒng)密鑰空間的許多倍,完全可以抵抗窮舉法的攻擊。

密文對密鑰的敏感性:對同一明文圖像,采用兩個略有差異的密鑰分別進行加密,兩次加密時僅僅系統(tǒng)時鐘這個密鑰不同,其余密鑰均不發(fā)生變化,系統(tǒng)時間是在加密算法開始前獲得的:一個是2014-11-07-22-7-48.218;另一個2014-11-07-15-22-14-23.203,然后將得到的兩個加密圖像進行對比。圖4反映了利用上述兩個不同密鑰加密后得到的密文圖像的差別。圖4是取兩個密圖前256個密文像素的差值繪制出來的分布圖。由圖4結(jié)果可知,相同的明文在密鑰發(fā)生細微變化時t密文會有顯著變化,這反映了密文對密鑰的敏感性訴多次實驗表明,任何密鑰細小的改變都會使密文發(fā)生顯著的變化。由第3節(jié)中的仿真結(jié)果可知,即使密鑰有很小的差異也無法解密出原圖像,使用枚舉搜索很難對加密圖像進行解密,這也說明本算法具有較好的安全性。

 

3、直方圖分析

直方圖是描繪一幅圖像在每種灰度值上像素的個數(shù),它反映出一幅圖像中像素的分布情況。對比圖3c和圖3d可見,原始圖像的像素在各種灰度級上的分布很明顯是不均勻的,但經(jīng)過復合混沌系統(tǒng)置亂與替代后的密文圖像像素在各種灰度級上的分布趨于均勻(像素在0~255的范圍內(nèi)取值概率基本上是等同的),所以加密算法破壞了原有圖像的統(tǒng)計規(guī)律,有較好的密文擴散性。

4、像素相關性分析

另外還對兩個相鄰垂直方向的像素,兩個相鄰水平方向的像素和兩個對角相鄰像素的明文圖像/密文圖像相關性分別進行了分析。這里是對第2節(jié)中明文圖像圖3a以及其加密后的密文圖像圖3b進行了像素相關性分析。分析過程如下:首先從每幅圖像上隨機的選擇16 384對相鄰像素,然后利用:

 

計算他們的相關系數(shù):

 

其中x和y是對應于圖像中兩個相鄰像素的灰度值。在數(shù)值計算中,使用下列離散公式:

 

圖5描述了明文與密文水平方向相鄰像素的相關性。明文/密文點(i,j)處的像素值,明文/密文點(i,j+1)處的像素值。

 

同時表1還給出了3種方向上的相關系數(shù)。,由結(jié)果可以看出在密文圖像上相鄰像素有很小的相關性,但在明文圖像中這兩個相鄰像素的相關性卻很高。

 

小知識之Lyapunov指數(shù)

Lyapunov指數(shù)是衡量系統(tǒng)動力學特性的一個重要定量指標,它表征了系統(tǒng)在相空間中相鄰軌道間收斂或發(fā)散的平均指數(shù)率。對于系統(tǒng)是否存在動力學混沌, 可以從最大Lyapunov指數(shù)是否大于零非常直觀的判斷出來: 一個正的Lyapunov指數(shù),意味著在系統(tǒng)相空間中,無論初始兩條軌線的間距多么小,其差別都會隨著時間的演化而成指數(shù)率的增加以致達到無法預測,這就是混沌現(xiàn)象。