基于Baker映射的二維混沌圖像文件加密
圖像加密技術有二種思路:空域加密和頻域加密。不管是空域加密還是頻域加密的算法中都有三種思想方法:灰度值替代、像素位置變換以及二者的組合?;叶戎堤娲抢妹荑€改變源圖像的灰度,可以逐點改變,也可以把源圖像分成幾塊,逐塊進行替代操作;像素位置變換是改變源圖像中像素點的排列順序:組合方法是加密過程中既有灰度值替代,又有像素位置的變換。混沌系統(tǒng)在二維相平面內(nèi)的不規(guī)則性使得混沌系統(tǒng)更適合用于圖像文件加密。
一、基于Baker映射的二維混沌圖像的加密
圖像就是一個由灰度值組成的二維矩陣,圖像置亂的根本思想就是把象素值置亂,因此圖像置亂的過程就是圖像矩陣進行非線性變換的過程。因而可以在二維矩陣內(nèi)進行可逆的保面積二維變換就完全可以實現(xiàn)圖像置亂f從而達到加密的目的。在所有可逆二維混沌映射中。Baker映射的性能是最好的,下面我們以Baker映射為例詳細分析基于二維混沌映射的圖像加密方法。
一般Baker映射的定義為:
![]()
其中:α+β=1,且λa+λb<1。為了把Baker用于加密我們?nèi)ˇ薬+λb=1,這樣Baker映射就是保面積的混沌映射。
圖像文件的加密要達到較好的效果需要進行置亂和擴散:
(1)圖像的置亂變換
假設我們對MxN的圖像加密,那么采用Baker映射加密圖像的基本原理是:首先把要加密的圖像進行豎形分割形成圖像塊:[Fi-1,F(xiàn)i)×[0,1),i=1,…,k。因此,可以把分割圖像的參數(shù)(n1+....+nk)作為密鑰,為了達到更好的置亂效果,可以進行m輪Baker置亂變換。所以m也作為密鑰。但是對于任何一幅圖像分割數(shù)n1,n2,…,nk有很多多種,同時每個鞏應該滿足能整除N。
(2)擴散變換
置亂可以改變像素的位置,但不能改變原圖像的直方圖,僅僅是置亂變換不能抵抗已知明文攻擊和統(tǒng)計分析。因此需要引入像素值的擴散變換,使得密文的直方圖更均勻。
設原始圖像為工將之分解成2x2的小方塊,對每個方塊中的四個像素值f(2i,2j),f(2i+1,2j),f(2i,2j+l),f(2i+l,2j+l)運用變換x'= TX其中x=[f(2i,2j),f(2i+1,2j),f(2i,2j+l),f(2i+l,2j+l)]為圖像塊中四個像素值組成的向量。 x'=[f'(2i,2j),f'(2i+1,2j),f'(2i,2j+l),f'(2i+l,2j+l)]為經(jīng)過擴散變換后的像素值向量。T為變化矩陣:

很顯然|T|=1,所以該映射是保面積映射,解密時用逆映射T-1:X=T-lX'。這里我們先把T推廣成如下矩陣:

對于n取任何值|T|=1,所以是保面積映射。這樣我們可以把n作為替換度值的參數(shù)增加加密強度。
(3)密鑰方案
完善的密鑰方案是保證加密系統(tǒng)安全性的重要環(huán)節(jié),本系統(tǒng)中有三個部分需要引入密鑰:Logistic初始值xo、混迭輪數(shù)m和替換擴散矩陣參數(shù)na總共3個參數(shù)。因此我們可以引入32位比特的密鑰:前24位記為k1用于產(chǎn)生xo,后8位記為k2用于產(chǎn)生m和n。

(4)圖像加密的步驟如下:
①選定密鑰作為密鑰xo,nbn其中xo是Logistic映射的初始值,Logistic映射采用如下形式:x+1= 4xH(1- x),其中ri=∑k2(i=28,19,30, 31),為了增加混沌隨機序列強度,只取混沌序列200次迭代之后的序列X201,X102,.. ,X200+n;
②對X2m,X202…,X2CO+n進行適當?shù)牧炕?,同時找出Baker的分塊參數(shù):(n1+…+nk);
③對圖像重復進行二維Baker映射。
④對置亂后的圖像進行擴散。
二、基于Baker映射加密方法的安全分析
1、密鑰空間分析
①加密的控制參數(shù)
我們選擇32位的密鑰加密,其中前24位分別用于xo,后8位用于m和心密鑰空間達232;4.2590e+0.09,顯然,加密輪數(shù)越多,密鑰空間越大。在實際應用中,一般取n>4。
②密鑰敏感性測試
我們這么來測試密鑰的敏感性:首先,對一幅512x512的圖像用密鑰“2345”進行加密,然后,任意改變密鑰的一位,比如改變密鑰的最底位,也就是將密鑰改變“2346”,再來加密圖像,比較兩幅圖像對應的不同像素的個數(shù)。圖l給出兩幅加密圖像及其差值。測試結(jié)果為:兩幅圖像約有99.95%的不同像素。

2、統(tǒng)計分析
①加密圖像直方圖
同樣我們比較剛才加密圖像的直方圖。如圖2,可以看出,加密后圖像直方圖與原始圖像的直方圖有很大的不同,且非常均勻。變換后的直方圖呈均勻分布,它掩蓋了變換前的分布規(guī)律,增加了破譯難度。

②相鄰像素的相關性
圖像中相鄰像素的相關性是很大的,為了破壞統(tǒng)計攻擊,必須使相鄰兩個像素的相關性降低。我們再加密圖像和原始圖像中各隨機選擇了1000對像素對,測試其水平方向、垂直方向和對角方向的像素相關性,并進行相關系數(shù)的計算。其中小,x,y表示兩個相鄰的像素灰度。在實際的測試中,我們使用如下三個離散化的計算公式:

圖3給出了垂直方向原始圖像和加密后圖像相鄰像素的相關關系,相關系數(shù)分別為:0.97643和0.00465810表1列出了圖像加密前后各個方向的相關系數(shù)。


3、差分攻擊
通常攻擊者會通過圖像中很小的一點,比如只改變一個像素,來觀察加密后圖像的變化情況,通過這種方式,攻擊者可能破解加密圖像。我們測試了明文一個像素的改變對密文的影響。首先定義兩個量—像素變化率(Number of pixels ChangeRate,NPCR)和歸一化平均變化強度(Unified Average ChangeIntensity, UACD。令兩幅加密圖像分別為C1和C2,這兩幅圖像對應的明文只有一個像素的改變。像素在位置(功的強度標記為C1(i,j)和C2(i,j)。定義一個二值矩陣D。它和C1與C2有相同的尺寸。若C1(i,j)=C2(i,j),則D(i'j)=1;否則D(i'j)=0。
NPCR定義為:
![]()
UACI定義為:
![]()
對256級灰度圖的測試結(jié)果如圖4所示,可以看出,隨著加密輪數(shù)的多,一個像素的改變對密文圖像的影響加大。因此,增加加密輪數(shù)能夠提高加密強度。

小知識之直方圖
直方圖(Histogram)又稱質(zhì)量分布圖。是一種統(tǒng)計報告圖,由一系列高度不等的縱向條紋或線段表示數(shù)據(jù)分布的情況。 一般用橫軸表示數(shù)據(jù)類型,縱軸表示分布情況。







