圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

針對(duì)一維離散單混沌系統(tǒng)在計(jì)算機(jī)有限精度下存在的退化問(wèn)題,我們提出了一種在生成混沌信號(hào)的過(guò)程中參數(shù)隨機(jī)變化的混沌偽隨機(jī)序列產(chǎn)生方法,基于該方法構(gòu)建的混沌系統(tǒng)較單混沌系統(tǒng)具有偽隨機(jī)序列周期大,密鑰數(shù)量多,密鑰空間大等優(yōu)勢(shì),所產(chǎn)生的密碼具有更高的安全性能。而且基于該偽隨機(jī)序列產(chǎn)生方法,我們還提出了一種新的圖像文件加密方法——基于多級(jí)變參數(shù)混沌系統(tǒng)的圖像文件加密方法。

一、參數(shù)隨機(jī)變化的一維混沌映射

通過(guò)隨機(jī)改變混沌映射的參數(shù),可以提高混沌序列的復(fù)雜性,并且在有限精度實(shí)現(xiàn)時(shí),使得混沌序列的周期可用不同參數(shù)的混沌映射的數(shù)目來(lái)度量,即混沌序列的周期等于狀態(tài)x(i)的周期與參數(shù)的周期的乘積。

1、良好隨機(jī)統(tǒng)計(jì)特性的分段線性混沌映射PLCM

根據(jù)相關(guān)資料,我們提出了一個(gè)良好隨機(jī)統(tǒng)計(jì)特性的一維分段線性迭代混沌映射,其定義如下:

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

其中,x∈(O,1),p∈(o,0.5)。

該迭代系統(tǒng)是混沌的,其輸出信號(hào){x(t)}在[o,1]上遍歷,且具有良好的自相關(guān)性和均勻分布特性。

2、Logistic混沌映射

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

其中,0<xn≤1,n∈Z,當(dāng)μ∈[3.57,4)時(shí),系統(tǒng)是混沌的。

若直接利用式(1)的迭代來(lái)產(chǎn)生密鑰序列存在混沌參數(shù)p易被破解的缺陷。

對(duì)于由式(1)生成的混沌序列,只要得到位于同一個(gè)分段上的任意兩個(gè)(或多個(gè))的點(diǎn)對(duì)(x(t),x(t+1)、x(t'),x(t'+1)),就能確定出參數(shù):

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

3、參數(shù)隨機(jī)變化的多級(jí)一維分段線性混沌系統(tǒng)

基于PLCM和Logistic混沌映射,設(shè)計(jì)了一個(gè)基于參數(shù)隨機(jī)變化的多級(jí)混沌系統(tǒng)。如圖1所示。

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

其中,s01,s02是隨機(jī)輸入的初始條件,F(xiàn)1p是一個(gè)單獨(dú)的一維分段線性混沌映射PLCM,x(i+1)=Fkxi(p),其中k> n[2],k為迭代級(jí)數(shù)。Fip用來(lái)控制F2p的初始化和迭代過(guò)程。它的初始值是隨機(jī)輸入的S01,利用S01作為F2p的初始條件來(lái)生成x(1)。

由于是在有限精度下實(shí)現(xiàn),所以設(shè)其精度為n,則序列{x(t)}t=1。的取值空間為2n。

F2p也是一個(gè)一維線性混沌映射PLCM,在n=16精度下,由于參數(shù)p的取值空間為216,所以對(duì)不同的參數(shù)p,F(xiàn)2p可以看成是不同的混沌模型。也即相當(dāng)于存在216個(gè)一維線性混沌映射
F(x,1)。在每次迭代的過(guò)程中,F(xiàn)2p中的控制參數(shù)p是這樣產(chǎn)生的:

(1)初始時(shí),隨機(jī)輸入一個(gè)數(shù)據(jù)0<S02 <1,計(jì)算F3μ (S02,μ),p=F3μ (S02,μ)/3,其中μ=μ1,或μ2。

(2)當(dāng)t>l時(shí),p=F3μ(x(t-1),μ/3,其中μ=μ1或μ2。

(3)F3μ是一個(gè)Logistic混沌映射,其中的參數(shù)μ是這樣控制在μ1和μ2之間來(lái)回切換的:把迭代次數(shù)r余運(yùn)算正整數(shù)m,當(dāng)運(yùn)算結(jié)果為奇數(shù)時(shí),F(xiàn)3μ中使用參數(shù)μ1,當(dāng)運(yùn)算結(jié)果為偶數(shù)時(shí),F(xiàn)3μ中使用參數(shù)μ2。

這就保證了在生成
圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究的過(guò)程中,當(dāng)某次迭代產(chǎn)生的x(t')與之前的某次x(t)相等時(shí)其中t’>t,與x(t)對(duì)應(yīng)的參數(shù)p'也以極大的概率與x(t)對(duì)應(yīng)的參數(shù)p不相等。只有當(dāng)某次的迭代狀態(tài)與之前的相同而且要使其對(duì)應(yīng)的參數(shù)也與之前的相同時(shí),混沌序列才會(huì)出現(xiàn)循環(huán)。在該偽隨機(jī)序列發(fā)生器中,只有當(dāng)x(t-1)與x(t’-1)相等,x(t)與(t')相等,而且還必須當(dāng)t%m與f’%m運(yùn)算得到的這兩個(gè)數(shù)的奇偶性相同時(shí),該偽隨機(jī)序列才可能會(huì)進(jìn)入周期循環(huán)之中。這樣,混沌序列的周期即T=h×22n,其中以為精度,h1l,2,…,勿和初始值和聊有關(guān)。從而在有限精度實(shí)現(xiàn)時(shí),輸出混沌序列的周期變大,并可以度量。

二、把生成的圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究序列轉(zhuǎn)換為0-1序列圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

把根據(jù)圖1生成的模擬序列圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究用量化函數(shù)進(jìn)行量化,得到0-1二進(jìn)制序列圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

其中,n’為任意正整數(shù),I0n'、I1n'、I2n'、I3n',…是區(qū)間[o,1]的2n'個(gè)連續(xù)的等分區(qū)間。

由于混沌序列圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究具有良好的隨機(jī)統(tǒng)計(jì)特性,這樣生成的圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究在理論上具有均衡的0-1比和b - like的自相關(guān)等優(yōu)良的統(tǒng)計(jì)特性。

最后,為了進(jìn)一步增加算法的隨機(jī)性,提高序列的抗破解能力,使得對(duì)初始條件的攻擊無(wú)效,加密時(shí)截掉序列的初始端部分和結(jié)尾部分,假設(shè)序列圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究的長(zhǎng)度為三,任取截點(diǎn)N1,N2,滿足1<N1<N2<L,經(jīng)過(guò)這樣的處理后,得到所需要的二進(jìn)制偽隨機(jī)序列{圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究,該序列的長(zhǎng)度為(N2-N1+1)。

這樣,本加密算法的保密性不但依賴于混沌系統(tǒng)的參數(shù)和初始條件,而且還依賴于保密系統(tǒng)的初始值N1,N2并隨機(jī)選取的某個(gè)正整數(shù)聊,m=1,2,3,4,5….。這樣,加密系統(tǒng)的密鑰就包括N,N2,m,n’,so1,S02,p,p(1)...(2n),μ1,μ2,這就使得密碼分析變得極其困難。

三、混沌系統(tǒng)性能分析

本文設(shè)計(jì)的混沌系統(tǒng)有以下優(yōu)點(diǎn):

(1)保證了產(chǎn)生的0-1序列滿足二值分布。在迭代過(guò)程中,每次換一個(gè)混沌參數(shù)p(t),相當(dāng)于更換了一個(gè)混沌方程。

由此來(lái)提高產(chǎn)生的混沌序列的復(fù)雜性,而且對(duì)于相同的狀態(tài)x(t),由于它所對(duì)應(yīng)的參數(shù)p(t)不同,使得它的下一個(gè)狀態(tài)x(t+1)不同。

(2)使得破解參數(shù)p變得異常復(fù)雜。破解一個(gè)一維分段線性混沌的參數(shù)p需要該混沌2個(gè)點(diǎn)對(duì)。本系統(tǒng)有2n個(gè)不同的混沌方程。所以一個(gè)點(diǎn)對(duì)落入一個(gè)指定的混沌的概率為2-n,2個(gè)點(diǎn)對(duì)同時(shí)落入一個(gè)指定的混沌方程的概率為2-n×2-n=2-2n2,因此,破解本系統(tǒng)的一個(gè)混沌參數(shù)的復(fù)雜度是破解一維分段線性混沌映射的22n倍。全部破解p1,p2,...,p2n這2n個(gè)參數(shù),其復(fù)雜度是破解一維分段線性混沌系統(tǒng)的2n×22n= 23n倍。同時(shí)由亍N1,N2,m的引入,破解該混沌系統(tǒng)的復(fù)雜度在此基礎(chǔ)上又得到了極大的提高,使得到的混沌序列的隨機(jī)性更強(qiáng),周期更長(zhǎng),極大地增強(qiáng)了抗密碼分析的能力。

進(jìn)一步增大了序列的周期。作為密碼序列,其周期應(yīng)該越長(zhǎng)越好。而定參數(shù)的方法產(chǎn)生的序列的的周期完全取決亍序列{x(i)}的精度。而本文采用的方法其周期由混沌參數(shù)的改變周期與{x(i)}的周期的乘積來(lái)決定,即,h×2n×2n= h×22n(n為數(shù)字化精度,向?yàn)檎麛?shù)),這樣產(chǎn)生的序列周期大大增加,而且可以度量。

四、對(duì)圖1所示變參數(shù)混沌系統(tǒng)進(jìn)行仿真驗(yàn)證

從圖2(a)可以看出,該混沌系統(tǒng)在初始值S01改變10-16時(shí),該混沌系統(tǒng)大約經(jīng)歷15次迭代之后,這兩個(gè)序列就變得完全不同了,其中,實(shí)線為初值so1=9.501 292 851 471 754E-O01,虛線為初值oi=9.501 292 851 471 753E-OOI,這說(shuō)明該偽隨機(jī)序列發(fā)生器對(duì)初始值具有極高的敏感性。由Berlekamp-Messy算法對(duì)該序列的線性復(fù)雜度進(jìn)行分析,可從圖2(b)看出,該序列的線性復(fù)雜度曲線趨向于獨(dú)立二項(xiàng)同分布隨機(jī)序列的復(fù)雜度曲線,約等于序列長(zhǎng)度的一半,表現(xiàn)出良好的隨機(jī)性,滿足保密通信的要求。從圖2(c)、(d)可以看出,該偽隨機(jī)數(shù)發(fā)生器生成的二進(jìn)制混沌序列圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究有類(lèi)似a - like的性質(zhì),有尖銳的自相關(guān)和良好的互相關(guān)性。

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

五、圖像加密算法及安全性分析

1、圖像加密/解密算法原理

(1)加密算法

a、發(fā)送方利用該混沌模型在本地生成加密序列fo(假定圖像大小為M×M,灰度等級(jí)為256,則序列廠的長(zhǎng)度為M*M×8;注意:為了提高加密/解密效率,序列f可以多次使用,發(fā)送方和接收方經(jīng)過(guò)協(xié)商可以在約定時(shí)刻更換加密序列f以提高加密算法的安全性);

b、發(fā)送方通過(guò)初始值S01、S02和混沌參數(shù)利用該混沌模型生成一個(gè)序列,把該序列量化為0-1序列后,轉(zhuǎn)換為一個(gè)十進(jìn)制數(shù)組XL,且L≤M 。用X(L)對(duì)圖像的灰度矩陣m進(jìn)行行置亂,即根據(jù)X(L)中的元素值對(duì)m的相應(yīng)于該值的行進(jìn)行倒置,得到m2;

c、同理(b)發(fā)送方利用該混沌模型最終生成一個(gè)十進(jìn)制數(shù)組Y(L2),且L2≤M。用Y(L2)對(duì)經(jīng)過(guò)第(2)步后圖像的灰度矩陣m2進(jìn)行列置亂,即根據(jù)Y(L2)中的元素值對(duì)m2的相應(yīng)于該值的列進(jìn)行倒置,得到m3;

d、發(fā)送方利用該混沌模型最終生成—個(gè)十進(jìn)制數(shù)組2(L3),且L3≤M o通過(guò)2(L3)對(duì)m3以主對(duì)角線為對(duì)稱軸進(jìn)行翻轉(zhuǎn),得到m4;

e、同理(4)發(fā)送方生成十進(jìn)制數(shù)組W(L4),且L4≤M 。通過(guò)形(L4)對(duì)m4以副對(duì)角線為對(duì)稱撕進(jìn)行翻轉(zhuǎn),得到最終置亂后的矩陣m5;

f、用第(1)步生成的加密序列fWm5轉(zhuǎn)換成的二進(jìn)制位進(jìn)行逐位異或運(yùn)算。得到加密后的圖像;

g、發(fā)送方把生成該混沌模型加密序列/的各個(gè)初始值和參數(shù)以及生成慰L)、Y(L2)、Z(L3)、W(/4)的各個(gè)初始值和參數(shù)在一個(gè)安全信道上傳給接收方;

h、發(fā)送方把加密后的圖像通過(guò)公共信道傳給接收方。

2、解密算法

a、接收方從公共信道上收到加密圖像后首先用從安全信道上得到的初始值和參數(shù)后恢復(fù)出加密序列工對(duì)圖像的灰度矩陣轉(zhuǎn)換成的二進(jìn)制位進(jìn)行逐位異或運(yùn)算,恢復(fù)出m5;

b、接收方利用各個(gè)初始值和參數(shù)恢復(fù)出數(shù)組X(L1)、Y(L2)、Z(L3)和W(L4);

c、接收方先對(duì)m5按W(L4)以副對(duì)角線為對(duì)稱軸進(jìn)行翻轉(zhuǎn)恢復(fù)出m4;

d、接收方再對(duì)m4按2(L3)以主對(duì)角線為對(duì)稱軸進(jìn)行翻轉(zhuǎn)恢復(fù)出m3;

e、接收方再對(duì)m3按Y(L2)進(jìn)行列倒置,恢復(fù)出m2;

f、接收方再對(duì)m2按Y(L)進(jìn)行行倒置,恢復(fù)出m,最終得到了解密后的圖像。

2、加密算法安全性分析

(1)從加密算法的原理看,整個(gè)算法由2部分組成:置亂和替代。這與很多圖像加密算法原理相似,不同的是,一般的圖像加密算法中置亂矩陣時(shí)不受密鑰的控制,而本加密算法在對(duì)灰度
矩陣置亂時(shí)要用到混沌系統(tǒng)要受到密鑰的控制,而且本系統(tǒng)密鑰數(shù)量眾多,這就極大地增加了加密圖像的抗破解性。

(2)該加密方案利用文中提出的混沌系統(tǒng)產(chǎn)生的混沌序列作為加密序列,利用了該混沌系統(tǒng)對(duì)初始條件的極端敏感性,對(duì)于初始值僅有非常微小的偏差,該混沌系統(tǒng)在迭代了一定的次數(shù)后便會(huì)產(chǎn)生完全不同的混沌序列,文中混沌系統(tǒng)由于使用的是迭代2 000次數(shù)之后的混沌序列,使得加密效果更佳,安全性更高。

(3)由于本文采用的混沌系統(tǒng)是有多個(gè)混沌映射級(jí)聯(lián)而成,這就大大增大了密鑰的個(gè)數(shù)和密鑰空間;從一次一密的角度分析,加密者可以隨意地選擇密鑰,這極大地增強(qiáng)加密后圖像抵抗強(qiáng)行攻擊的能力;同時(shí),該混沌系統(tǒng)設(shè)計(jì)原理簡(jiǎn)單,便于用硬件實(shí)現(xiàn)。

六、加密仿真及安全性分析

1、 可視效果及對(duì)密鑰的敏感性

采用該文件加密方案對(duì)多幅圖像進(jìn)行了試驗(yàn),圖3為用該方案對(duì)大小為256x256,灰度等級(jí)為256的BMP圖像Yanhn加密解密的結(jié)果。

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

其中,圖3(a)為Yanhn原始圖像,生成加密序~iJf的密鑰參數(shù)為(0.45, 3.57, 3.92, 12,5,5 000+65 536 x8, soi, S02),其中,s01-9.501 292 851 471 754E-O01, S02=2.311 385 135 742 878E-O01;生成置亂矩陣時(shí)所用的密鑰參數(shù)為:(0.45, 3.57, 3.67, 11,5,200 ,4.450 964 322 879 468E-OOI, 9.318 145 784 616 647E-O01,0.38, 3.65, 3.97,9,5,210, 4.659 943 416 754 240E-O01,4.186 494 677 275 062E-OOI, 0.49,3.82,3.71, 12,7,240,8.462 214 178 243 245E-OOI, 5.251 524 963 051 724E-01,0.48,3.73,3.62,10,5,180, 2.026 473 576 503 873E-O01,6.721 374 684 742 885E-O01);圖3(b)為置亂操作后異或加密前圖像,圖3(c)為加密后圖像;圖4(d)為使用正確密鑰解密后得到的圖像。把生成加密序列JIYJ初始密鑰SOI改為:9.501 292851 471 753E-O01,即S01減小了l0-16,其他一切參數(shù)都不變,解密后得到的圖像為圖4(e);把生成加密序列f向初始密鑰S02改為:2.311 385 135 742 879E-OO1,即S02增加了40-16,其他一切密鑰參數(shù)都同正確的密鑰參數(shù)相等,解密后得到的圖像為圖4(f)o從仿真結(jié)果可以看出,該混沌系統(tǒng)對(duì)密鑰參數(shù)極其敏感,即使密鑰參數(shù)發(fā)生極其微小的偏差都會(huì)造成無(wú)法正確解密。

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

從圖5(a) Yanhn原始圖像的直方圖可以看出,不同像素值的像素?cái)?shù)目分布是不均等的;而加密后的直方圖圖5(b)表明,密文像素值在整個(gè)取值空間的取值概率趨于均等,呈現(xiàn)出良好的均勻分布特性,完全掩蓋了Yanhn原圖的特性。

?圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

2、相鄰像素的相關(guān)性分析

為了檢驗(yàn)明文圖像和密文圖像相鄰像素的相關(guān)性,從圖像中隨機(jī)選取部分水平方向相鄰像素對(duì),部分垂直方向相鄰像素對(duì)和部分對(duì)角線方向相鄰像素對(duì),用下列公式定量計(jì)算相鄰像素的相關(guān)系數(shù):

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

其中,x和y分-別表示灰度圖像中相鄰2個(gè)像素的像素值,gxy為灰度圖像中相鄰2個(gè)像素的相關(guān)系數(shù)。

圖6所示為原始Yanhn灰度圖像相鄰像素和加密后Yanhn灰度圖像相鄰像素的相關(guān)性,表1列出了按水平、垂直及對(duì)角線3種方向計(jì)算所得的圖像相鄰像素間的相關(guān)系數(shù)值。原始明文Yanhn圖像的相鄰像素高度相關(guān),相關(guān)系數(shù)值接近于1;加密后Yanhn圖像的相鄰像素相關(guān)系數(shù)接近于0,表明相鄰像素已基本不相關(guān),證明圖像的統(tǒng)計(jì)特征已被擴(kuò)散到了隨機(jī)的密文中,能夠有效抵御像素相關(guān)統(tǒng)計(jì)分析攻擊。

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

圖像文件加密之多級(jí)變參數(shù)混沌系統(tǒng)加密研究

小知識(shí)之遍歷

所謂遍歷(Traversal),是指沿著某條搜索路線,依次對(duì)樹(shù)中每個(gè)結(jié)點(diǎn)均做一次且僅做一次訪問(wèn)。訪問(wèn)結(jié)點(diǎn)所做的操作依賴于具體的應(yīng)用問(wèn)題。 遍歷是二叉樹(shù)上最重要的運(yùn)算之一,是二叉樹(shù)上進(jìn)行其它運(yùn)算之基礎(chǔ)。當(dāng)然遍歷的概念也適合于多元素集合的情況,如數(shù)組。