圖像位平面加密算法
因常用位平面加密算法的局限性,我們結(jié)合混沌系統(tǒng)特性,提出了一種基于加密矩陣對(duì)的圖像位平面加密算法。在該算法中,把圖像按像素比特位分解成若干位平面,借助雙混沌系統(tǒng)構(gòu)造加密矩陣對(duì)與二值矩陣,利用加密矩陣對(duì)對(duì)圖像位平面與二值矩陣執(zhí)行置換加密,再將不同加密二值矩陣與不同加密位平面進(jìn)行異或加密處理。
一、混沌映射
1、Logistic映射
Logistic映射是一類被廣泛研究的非線性動(dòng)力系統(tǒng),其方程定義如下:x(n+1)=λx(n)(1-x(n))。
當(dāng)初值x(0)∈(O,1),控制參數(shù)λ∈(3.5699....4)時(shí),系統(tǒng)隨著參數(shù)入微小增加不斷地倍周期分岔,通向混沌狀態(tài)。當(dāng)Logistic映射工作處于混沌狀態(tài)時(shí),其產(chǎn)生的混沌信號(hào)具有極好的偽隨機(jī)性、遍歷性以及初值和參數(shù)敏感性。
2、遍歷性
遍歷性是混沌系統(tǒng)的一個(gè)重要特性之一。理論上,Logistic映射系統(tǒng)取值能遍歷O、1之間所有的值,且不會(huì)發(fā)生重復(fù),但由于受現(xiàn)實(shí)計(jì)算精度的影響,這種特性會(huì)有所退化。圖1是系統(tǒng)迭代運(yùn)算3000次的混沌序列運(yùn)動(dòng)軌跡圖(虛線表示),可見取值幾乎鋪滿整個(gè)0、1區(qū)間。
3、初值及參數(shù)敏感性
表1是Logistic映射對(duì)不同初值和參數(shù)進(jìn)行迭代的情況,第二、三列表示初值x(0)不變,參數(shù)入相差10-9時(shí)的迭代結(jié)果,第三、四列表示參數(shù)入不變,初值x(0)相差10-9時(shí)的迭代結(jié)果。從中,我們可以看出,當(dāng)?shù)螖?shù)達(dá)到50次時(shí),系統(tǒng)生成結(jié)果已差別很大。圖2是混沌系統(tǒng)參數(shù)入=3.8且初值x(0)相差10-10時(shí)進(jìn)行迭代100次的軌跡,從中,我們可以看出,兩組混沌映射信號(hào)產(chǎn)生明顯分離,取值跌蕩較大。
二、圖像加密算法描述
筆者輸入了一幅大小為MxN的Lena.bmp灰度圖像P,設(shè)像素點(diǎn)灰度值為p(m,n),m=1,2,...,M,n=1,2,…,N。我們對(duì)各像素按8比特位進(jìn)行了分解,得到了8個(gè)位平面,像素在各位平面內(nèi)對(duì)應(yīng)值為O或1。像素p(m,n)在第Z位平面的值表示為:
第l位平面表示為p(m,n,l),l=1,2,…,80上述圖像位平面分解是可逆的,其位平面疊加逆運(yùn)算為:
基于加密矩陣對(duì)的圖像位平面加密算法如圖3所示:
其具體加密過(guò)程如下:
①按照公式I對(duì)圖像進(jìn)行位平面分解,得到位平面P(m,n,l)=1,2,…,8。
②在雙Logistic混沌系統(tǒng)中輸入初始值X1(0)、X2(0)及控制參數(shù)入1、入2,設(shè)置截取位置參數(shù)δ1、δ2,舍棄前面部分序列值后生成兩個(gè)混沌實(shí)值序列{h1(i)、h2(i),i=1,2,...,M×N。X1、X2(0)、入l、
入2、δ1、δ2,保存為算法密鑰。
③由混沌實(shí)值序列{h1(i)、h2(i)}獲取二值隨機(jī)矩陣K:若對(duì)應(yīng)元素hi(i)>h2Ci),則置1,否則置O,i=1,2,...,M×N。之后,筆者將所得序列{k(i)}按行掃描成大小為M×N的二值隨機(jī)矩陣K。
④混沌實(shí)值序列{h1(i)}按各個(gè)元素升序排列,[Hp1,t1]=sort (hl(1:end)形成有序序列{H1'(i)},確定混沌實(shí)值序列{H1(i)}在序列{H1'(i)}中的位置編號(hào),得到置亂地址序列{t1(i)},i=1,2,…,M×N,同理,由混沌實(shí)值序列{H2(i)}得到置亂地址序列{t2(i)}。
⑤序列{t1(i)}按照置亂地址序列{t2(i)}重新排列,可生成新序列{t3(i)};反之,序列{t2(i)}按照置亂地址序列{t1(i)}重新排列,可生成新序列{t4(i)},序列{t3(i)}、{t4(i)}繼續(xù)按此方法往后進(jìn)行置亂,理論上共可產(chǎn)生2562s對(duì)不同序列,而本文只需選擇其中四對(duì)序列用來(lái)加密t2a-1、t2a,a可取1、3、6、8。筆者將四對(duì)序列按行掃描后得到大小為M×N的加密矩陣對(duì)(T2j-1,T2j),j∈(1,2,3,4)。
⑥根據(jù)加密矩陣對(duì)T1、T2,筆者分別對(duì)二值隨機(jī)矩陣K與圖像位平面P(m,n,1)進(jìn)行置換加密,得到加密二值矩陣K1與加密位平面P'(m,N,1),之后再將K1與P'(m,N,1)執(zhí)行異或加密,得到位平面P''(m,N,1),同理,根據(jù)加密矩陣對(duì)T1、T2分別對(duì)二值隨機(jī)矩陣K與圖像位平面P(m,N,2)進(jìn)行置換加密,得到加密二值矩陣K2與加密位平面P(m,N,2),再將K2與P'(m,N,2)執(zhí)行異或加密,
得到位平面P''(m,N,2)。
⑦根據(jù)加密矩陣對(duì)(T2j-1,T2j),j=2,3,4,按照步驟7)方法,筆者依次對(duì)余下位平面P(m,n,l),l=3,4,...,8執(zhí)行加密操作。最后,筆者將各位平面P''(m,N,2)(l=1,2,...,8)按公式(Ⅱ)進(jìn)行組合疊加,得到密文圖像。
三、實(shí)驗(yàn)結(jié)果與分析
筆者采用Matlab 7.11平臺(tái)進(jìn)行了加解密仿真實(shí)驗(yàn),初始密鑰x1(0)=0.8,X2(0)=0.7,入1=3.9,入2=3.8,δ1=δ2=200。
1、統(tǒng)計(jì)分析
(1)直方圖
圖4、圖5分別是圖像加密前后的結(jié)果,從圖5中看出明文圖像加密后變得雜亂無(wú)章,其直方圖亦接近于均勻分布。各像素取值概率趨于均衡量有效掩蓋了明文圖像像素的分布特性。使攻擊者通過(guò)直方圖無(wú)法獲取原始圖像信息。
(2)相鄰像素相關(guān)性
筆者對(duì)明文圖像和密文圖像分別隨機(jī)選取了1024對(duì)相鄰像素對(duì)在水平、垂直、對(duì)角方向進(jìn)行了相關(guān)性分析。表2是加密前后相鄰像素對(duì)相關(guān)系數(shù)的情況。
數(shù)據(jù)表明,明文圖像相鄰兩個(gè)像素之間是高度相關(guān)的,密文圖像相關(guān)性則幾乎降到了0。圖6是水平方向相鄰像素對(duì)在灰度值區(qū)間(O,255)的分布情況。筆者由圖可以直觀地看到明文圖像相鄰像素點(diǎn)灰度值分布表現(xiàn)出連續(xù)性特征,加密后這種連續(xù)性被強(qiáng)制置亂,其相鄰像素的灰度值隨機(jī)雜亂出現(xiàn),且近乎均勻地布滿在整個(gè)灰度區(qū)域。
2、密鑰敏感性分析
圖7(a-c)是在其他密鑰均不變情況下,分別各自選取初值x1(0)誤差10-15、參數(shù)入2誤差10-14或者迭代次數(shù)δ1誤差一次時(shí)的解密圖像。密文圖像在密鑰誤差變化極其微小情況下解密后仍是雜亂無(wú)章。這表明算法對(duì)密鑰具有極強(qiáng)的依賴性和敏感性。圖8是輸入正確密鑰時(shí)的解密結(jié)果,可以準(zhǔn)確無(wú)誤地恢復(fù)出原始圖像Q Matlab 7.11數(shù)據(jù)為雙精度浮點(diǎn)實(shí)數(shù),該算法初值和控制參數(shù)的密鑰空間數(shù)量級(jí)可達(dá)到:
1015×1015×1014×1014=1058≈2192,相當(dāng)于長(zhǎng)度為192位的二進(jìn)制數(shù),可見密鑰空間足夠大,若將δ1、δ2、a也作為原始密鑰,則密鑰空間更為可觀,足以抵御各種攻擊。
3、信息熵分析
一幅圖像數(shù)據(jù)位越是混亂,灰度分布越是均勻,其信息熵就越接近理想值。反之,信息熵就越低口信息熵表達(dá)式如下:
式中,p (xi)表示圖像像素值xi出現(xiàn)的概率,N為像素比特位數(shù)。
256級(jí)灰度圖像的理想信息熵為:H(X)=N=8比特。根據(jù)公式(Ⅲ)計(jì)算本算法密文圖像信息熵為7,99。該值非常接近理想信息熵8。這說(shuō)明算法對(duì)圖像置亂充分,不確定性高,加密算法對(duì)抵抗熵攻擊是安全的o;
4、抗干擾能力分析
圖像在傳輸過(guò)程中常會(huì)受到噪聲等的干擾,加密圖像應(yīng)具有一定的抗干擾能力。如圖9所示,(a)為剪切了一半的密文圖像,(b)為圖9(a)的解密圖像,(c)、(d)分別為密文受強(qiáng)度均為0.01的乘性噪聲和高斯噪聲干擾后的解密圖像。從實(shí)驗(yàn)結(jié)果看,該算法具有較好的抗干擾能力。
小知識(shí)之位平面
位平面是對(duì)一幅用多個(gè)比特表示其灰度值的圖象來(lái)說(shuō),其中的每個(gè)比特可看作表示了1個(gè)二值的平面,也稱位面。



