混合圖像融合加密方法之偽隨機(jī)點(diǎn)加密
圖像數(shù)據(jù)在網(wǎng)上傳輸需要經(jīng)過加密處理,而現(xiàn)在很多加密算法都遵循動(dòng)力學(xué)的衰退原理,會(huì)退化成具有周期性的算法,而會(huì)導(dǎo)致圖像信息的泄漏等問題。為此我們提出一種基于偽隨機(jī)點(diǎn)的混合圖像融合算法,它先把圖像分成8×8的小塊,然后對(duì)每塊圖像進(jìn)行變換,產(chǎn)生一個(gè)偽隨機(jī)序列,將圖像塊內(nèi)的像素值和按偽隨機(jī)序列所對(duì)應(yīng)的像素值相融合進(jìn)行一次置亂,然后對(duì)EW編碼后的圖像用混沌序列再一次置亂。
一、基于偽隨機(jī)點(diǎn)的混合圖像融合加密方法
通過對(duì)數(shù)字圖像像素值點(diǎn)分布的分析我們可以發(fā)現(xiàn),圖像的重要信息都集中在低頻區(qū)域中,而高頻的部分都是反映圖像細(xì)節(jié)的。小波變換是無損的,能很好地將圖像的重要細(xì)節(jié)保留下來,同時(shí)運(yùn)用小波的多重分解可以把圖像按頻率進(jìn)行分離,把圖像用高頻濾波器和低頻濾波器分離開來,根據(jù)自己的要求有針對(duì)性地對(duì)需要的圖像進(jìn)行處理,達(dá)到所期望的結(jié)果,是現(xiàn)在使用廣泛的一種數(shù)字圖像處理方式。
現(xiàn)在使用的JPEG標(biāo)準(zhǔn)是對(duì)圖像的DCT系數(shù)做熵編碼,而基于偽隨機(jī)點(diǎn)的混合圖像融合加密方法采用的是小波編碼。

1、背景介紹
混沌現(xiàn)象是在確定性的非線性動(dòng)力系統(tǒng)中出現(xiàn)的類似隨機(jī)的現(xiàn)象。這種過程既非周期又不收斂,并且對(duì)初始值有敏感的依賴性。一維多參數(shù)非線性動(dòng)力系統(tǒng)定義如下:Xn+1=G(Xn,μi)其中μi為參數(shù),Xn為狀態(tài),而G是一個(gè)映射,把當(dāng)前狀態(tài)從xn映射到下一個(gè)狀態(tài)xn+1。如果從初始值Xo開始反復(fù)應(yīng)用這種映射關(guān)系,就可以得到一個(gè)序列{Xm|m =0,1,2,…},這一序列就稱為離散時(shí)間動(dòng)力系統(tǒng)的一條軌跡。如果為μi選擇恰當(dāng)?shù)臄?shù)值,使G滿足三個(gè)條件(G具有對(duì)初始條件的敏感性和依賴性,G是拓?fù)鋫鬟f的,G的點(diǎn)分布稠密),則對(duì)應(yīng)的動(dòng)力系統(tǒng)是混沌的。其中Logistic映射是比較具有代表性的映射。它的定義為xn+1= μXn(1-Xn),其中O≤μ≤4稱為分支參數(shù),xn∈( o,1)。當(dāng)3 569 945 972<μ≤4時(shí),該動(dòng)力系統(tǒng)進(jìn)入混沌狀態(tài)。進(jìn)入混沌區(qū)域后,系統(tǒng)的混沌就變得非常復(fù)雜。
圖2中,x軸表示μ的取值范圍,y由表示狀態(tài)xn的范圍。

圖3中,a的初值是5,b初值是5.1,c初值是S 2。Y軸表示取值,X軸表示迭代的次數(shù)。

由以上的實(shí)驗(yàn)數(shù)據(jù)可以清楚看到,Logistic映射對(duì)初始值是相當(dāng)敏感的,同時(shí)也可以證明初始條件微小的改變都會(huì)得到完全不同的結(jié)果,它與混沌序列對(duì)初始值敏感是一致的。
sinx、cosx都可以用泰勒級(jí)數(shù)或麥克勞林級(jí)數(shù)展開為無窮級(jí)數(shù),具體展開式如下:

而且在實(shí)數(shù)域上分布均勻,函數(shù)的可微性和連續(xù)性較好,又符合圖像分布的特性,所以這里用函數(shù)G(i,j)=|s×sin(u×i)+t×cos (v×j)|在[o,1]上的映射來確定X0,并把X0的輸出作為Logistic映射的控制參數(shù),由于s、u、t、v是隨機(jī)數(shù),這樣生成的初始條件具有很強(qiáng)的隱蔽性,也增強(qiáng)了混沌序列的隨機(jī)性。
2、方法的具體實(shí)現(xiàn)
先將m×n的圖像分成8×8的塊,對(duì)每塊圖像進(jìn)行處理。然后利用圖像融合的方法將圖像進(jìn)行操作生成一個(gè)新的圖像,確定一個(gè)輸入序列,作為單向函數(shù)的輸入,生成一個(gè)偽隨機(jī)序列,將兩個(gè)像素值進(jìn)行融合。然后將得到的圖像做EZW編碼,再把編碼后的圖像用混沌序列進(jìn)行再次置亂,使圖像的安全性大大提高。
a、b、s、t、u、v是隨機(jī)正整數(shù),u是一個(gè)確定的常數(shù)圯原圖像為F由a+b×c的值作為輸入端生成的偽隨機(jī)序列對(duì)應(yīng)的目標(biāo)圖像為0,融合結(jié)果圖像為E兩幅圖像上對(duì)應(yīng)像素(i,j)的灰度值分別記為F(i,j)和O(i,j),其中F(i,j)為原圖像在(i,j)處的像素灰度值,0(i,j)為目標(biāo)圖像在(i,j)處的像素灰度值。c是圖像塊內(nèi)圖像按zigzag方式得到的離散余弦變換(Discrete CosineTransfom,DCT)系數(shù)序列的編號(hào)。采用SHA中的散列函數(shù)來作為單向函數(shù)。
(1)加密算法
將參數(shù)a、b代入,計(jì)算a+b×c的值,把它作為單向函數(shù)的輸入,可以得到新的序列。此序列就是圖像融合的對(duì)象序列,用融合公式生成新的圖像灰度值,計(jì)算s×(b+a×c)+t×(a+b×c)的值并以此作為單向函數(shù)的輸入,由序列生成置亂矩陣,把融合后的圖像置亂,至此離散余弦變換DCT系數(shù)置亂結(jié)束。用Logistic映射對(duì)EZW編碼后的系數(shù)再次進(jìn)行置亂。
1)利用圖像融合加密公式:E(i,j)=O(i,j)+F_(i,j)/2生成新的灰度圖像值。
2)將圖中所有塊全部采用上面的方法進(jìn)行融合。
3)計(jì)算s×(b+a×c)+t×(a+b×c)的值并以此作為單向函數(shù)的輸入生成一個(gè)偽隨機(jī)序列,由該序列組成一個(gè)置亂矩陣。
4)重復(fù)3直到把全部圖像塊的系數(shù)全部置亂。
5)計(jì)算G(i,j)=|s×sin(u×i)+t×cos_(v×j)|的值,作為Logistic映射的狀態(tài)值xn。
6)重復(fù)5直到把編碼后的每塊圖像用混沌序列進(jìn)行加密置亂。
(2)解密算法
加密用的參數(shù)a、b、s、t、u、v和單向函數(shù)要告訴解密方,用u、s、t、u、v的值可以算出G(i,j)的值,對(duì)編碼后的圖像進(jìn)行解密,得到編碼前的系數(shù)矩陣。再計(jì)算s×(b+a×c)+t×(a+b×c)的值作為單向函數(shù)的輸入,得到原置亂矩陣,算出還原矩陣。計(jì)算a+b×c的結(jié)果作為單向函數(shù)的輸入重新得到序列,通過逆運(yùn)算可以得到原圖像。
二、實(shí)驗(yàn)結(jié)果和分析
本方案是在CIU-T2130 1.86 GHz,2儡內(nèi)存的電腦上實(shí)現(xiàn)的,用Matlab作為圖像的處理工具,選取具有典型特性的四幅圖像作為實(shí)驗(yàn)數(shù)據(jù)。具體的實(shí)驗(yàn)結(jié)果如圖4所示。

若采用Arnold變換,加密的圖像存在周期性的變換,在一定周期內(nèi)總存在一幅復(fù)原圖像,這樣就會(huì)失去加密的效果,存在一定的風(fēng)險(xiǎn)性。
圖5是Arnold變換的置亂程度與之亂次數(shù)的關(guān)系曲線圖,當(dāng)?shù)?92次時(shí)圖像正好恢復(fù)原狀。
采用融合變換M1由于DC系數(shù)普遍大于AC系數(shù)的關(guān)系,通過對(duì)直方圖的分析容易被識(shí)別,進(jìn)而造成圖像信息的泄露。而采用本文提出的方法能較有效地防止出現(xiàn)這種情況。

本文對(duì)目標(biāo)圖像進(jìn)行了兩次文件加密處理,第一次是在圖像生成DCT系數(shù)的時(shí)候,第二次是在編碼結(jié)束后。第一次文件加密很好地保護(hù)了DC系數(shù),第二次加密保護(hù)了編碼后的系數(shù)。先將圖像的DCT系數(shù)進(jìn)行融合,然后用置亂矩陣來進(jìn)行第一次置亂,之后經(jīng)過EZW編碼后進(jìn)行第二次置亂。經(jīng)過這兩次的置亂可以較好地保證圖像安全,而且函數(shù)G(i,j)是由基本初等函數(shù)經(jīng)過初等變換得到的,也可以根據(jù)需要來選擇函數(shù),并對(duì)選取的函數(shù)作不同的變化。這里之所以要選取初等函數(shù)是因?yàn)樗\(yùn)算簡(jiǎn)單而且效率高,可以增加混沌序列的隨機(jī)性,同時(shí)也使想要破解圖像的信息變得困難。Logistic映射對(duì)初值是極其敏感的,因此只有正確的密鑰才能恢復(fù)原圖像,得到正確信息。即使圖像的部分信息被攔截,沒有密鑰或是錯(cuò)誤的密鑰所得到的圖像也是經(jīng)過變換的圖像,無法獲知圖像原來的信息。綜合運(yùn)用置亂和像素值替代算法,可以大大提高圖像的安全性,解決了采用單一置亂算法的周期性問題也克服了像素值替代算法容易被破解的缺點(diǎn)。用上述方法對(duì)原圖像經(jīng)過50次的反復(fù)變換操作,處理所得的圖像與原圖像相比肉眼幾乎看不出失真。若需對(duì)原圖操作連續(xù)處理超過50次,新的圖像可能存在一定失真。為了得到比較好的效果,超過50次以上的處理用原圖像再次處理的效果更好。
小知識(shí)之DCT
DCT是英文Dual Clutch Transmission的簡(jiǎn)寫,中文直譯為“直接換擋變速器”,因其是通過兩套離合器工作,所以目前一般被稱為雙離合變速器。










