基于Henon映射的數(shù)字圖像加密

隨著多媒體通信技術(shù)的迅速發(fā)展,對大量圖像信息傳輸?shù)男枨笠踩找嬖黾?,圖像的安全和保密技術(shù)已經(jīng)變得越來越重要。那么,我今天講給大家介紹一種基于Henon映射的數(shù)字圖像加密。

一、混沌系統(tǒng)選擇

應(yīng)用于圖像加密的混沌系統(tǒng)中較有代表性的主要有2種:1維的Logistic映射和3維的Lorenz系統(tǒng),由于1維的混沌系統(tǒng)容易被破解,所以多數(shù)采用Logistic映射的都會將2個或2個以上的Logistic方程聯(lián)立進(jìn)行升維,或與其他混沌映射組合在一起,構(gòu)成復(fù)合混沌系統(tǒng),如采用3維的Lorenz系統(tǒng)及在圖像加密中被用到過的Chen’s等系統(tǒng),因其是連續(xù)的動力系統(tǒng),所以在求解微分方程的時候,需要采用定步長的數(shù)值積分法;而如果步長有細(xì)微的偏差,將會導(dǎo)致在數(shù)次迭代之后,產(chǎn)生不同的數(shù)值序列。本文將Henon混沌系統(tǒng)引入到圖像加密中。

Henon映射(記為T)的定義為:

基于Henon映射的數(shù)字圖像加密

可見,Henon映射是由2個變量x和y同時確定迭代方程,這比單純聯(lián)立2個相互獨立的1維混沌方程要復(fù)雜得多。

相對于3維的Lorenz系統(tǒng),Henon映射是離散的,不用擔(dān)心求解數(shù)值積分的步長,并且Henon映射可以看作是由3個映射所組成。

基于Henon映射的數(shù)字圖像加密

綜上所述,Henon映射易于實現(xiàn),且復(fù)雜,適合作為圖像加密的偽隨機(jī)序列生成器。

二、Henon混沌序列的分析及改進(jìn)

通過對Henon映射所產(chǎn)生混沌序列的分析發(fā)現(xiàn),該序列并不是很理想的偽隨機(jī)序列。

首先給定Henon映射的初始值x0=0120,y0=0110,控制參數(shù)a=114,b=013,使之運(yùn)行在混沌狀態(tài).迭代3萬次,截取1萬~2萬之間的數(shù),得到的序列x和y的值域分別:

-112846<x<112730,-013854<y<013819。

均值和方差分別為:

Mx=012608,Vx=015162,My=010782,Vy=010464。

而滿足均勻分布的序列在x和y所在值域中的均值和方差都應(yīng)該非常接近零。從直方圖(圖1(a))可知:

基于Henon映射的數(shù)字圖像加密

由該系統(tǒng)直接得到的序列不存在均勻分布特性。從分析可知,必須對Henon映射所產(chǎn)生的序列進(jìn)行有效的修改,使之具有更為理想的隨機(jī)統(tǒng)計特性。

有資料提出了一種改進(jìn)Lorenz混沌序列的方法,表示為:

基于Henon映射的數(shù)字圖像加密

其中,X可以是x或y;round(_)為取最接近整數(shù)運(yùn)算。

通過實驗驗證,式(6)也可以應(yīng)用于Henon混沌序列。以x序列為例,首先將x序列中各元素的小數(shù)點向右移動k位(k=0,1,2,…),然后按式(6)將序列映射到值域[-015,015]。設(shè)計算機(jī)的最大精度為10-r,則序列中元素的取值空間為10r-k。分析發(fā)現(xiàn),當(dāng)k<2時,其隨機(jī)特性并不理想,但當(dāng)k的取值接近于r時,序列中元素的值就會逐漸趨近于某些特定的數(shù),直到k=r時,全部為零。所以,k應(yīng)盡量取2~(r-lg(length(x)))之間的整數(shù),其中l(wèi)ength(_)表示序列的長度。

設(shè)k為3,經(jīng)過式(6)改進(jìn)后,x序列的均值和方差分別為Mx=014965,Vx=010831,非常接近理想值015和010833。從改進(jìn)后的直方圖可見(如圖1所示),符合均勻分布;自相關(guān)和互相關(guān)特性都比較理想。改進(jìn)前后的圖像對比發(fā)現(xiàn),改進(jìn)后的混沌序列具有更加出色的均勻分布特性、隨機(jī)統(tǒng)計特性和相關(guān)特性。

三、加解密算法

1、算法描述

本文加密算法對圖像的像素值和空間位置均進(jìn)行了加密,先對Henon映射所得到的序列進(jìn)行改進(jìn),然后用改進(jìn)后序列對圖像的像素值進(jìn)行變換,再進(jìn)行圖像的空間位置置亂,完成加密。

2、加密算法

1)輸入要加密的圖像,得到圖像的大小M×N,邊界填充0(黑色),使圖像長和寬均為偶數(shù)。處理后的圖像大小為m×n。

2)輸入密鑰(a,b,x0,y0),a和b為Henon映射的控制參數(shù),x0和y0為初始值。生成混沌序列{xi|i=1,2,…,m×n},{yi|i=1,2,…,m×n}。

按照式(6)對這2個序列進(jìn)行改進(jìn),得到{ui|i=1,2,…,m×n},{vi|i=1,2,…,m×n}。

3)將圖像進(jìn)行2×2分塊,以塊為單位對圖像進(jìn)行像素值變換。應(yīng)用ui和vi構(gòu)造像素變換矩陣:分別取ui和vi的前1/4×m×n個數(shù)和后1/4×m×n個數(shù)構(gòu)成4個序列。將這4個序列轉(zhuǎn)換成4個1/2m×1/2n的變換矩陣E1、E2、E3和E4.分別用E1和E2變換主對角線上的2個分塊,用E3和E4變換副對角線上的2個分塊,具體變換方法就是用變換矩陣與相應(yīng)分塊矩陣按位取反。

4)對各分塊進(jìn)行空間置亂,將ui和vi平均分成4份,在ui的每個1/4區(qū)間,選擇前1/2m個數(shù),生成4個行變換序列,再對它們進(jìn)行排序,得到索引序列,然后構(gòu)造4個1/2m×1/2m的零矩陣,將每

行中對應(yīng)的索引序列元素值的列置為1,構(gòu)造出4個行置亂矩陣H1、H2、H3和H4。同理,在vi中,抽取4個長度為1/2n的序列,構(gòu)造出4個列置亂矩陣L1、L2、L3和L4。對應(yīng)步驟3)得到圖像的4個分塊F1、F2、F3和F4,按式(7)進(jìn)行置亂:

基于Henon映射的數(shù)字圖像加密

5)按步驟4)的方法,用ui和vi構(gòu)造出1個m×m和1個n×n的置亂矩陣,對整個圖像進(jìn)行置亂。

6)輸出加密后的圖像。

解密方法為上述過程的逆。

3、加密算法的安全性分析

(1)密鑰空間分析

為了不被窮舉攻擊解密圖像,圖像加密方案應(yīng)該具有盡可能大的密鑰空間。同時,為抵抗差分攻擊,加密圖像又必須對密鑰敏感。

在混沌序列的產(chǎn)生過程中,分別需要2個控制參數(shù)和2個初始條件。以2個初始條件作為密鑰,設(shè)計算精度為10-16,那么混沌密鑰的產(chǎn)生過程中的密鑰空間為1032,加上參數(shù)及圖像大小的條件,密鑰空間大于1032,使窮舉攻擊幾乎不可能成功。

(2)密鑰敏感性測試

加密密鑰敏感性測試結(jié)果如圖2所示。

基于Henon映射的數(shù)字圖像加密

其中,(a)為原圖像,(b)為加密密鑰為012的加密圖像,(c)為加密密鑰為01200000000000001的加密圖像,(d)為上述2加密圖像的差別.對于解密密鑰,當(dāng)原圖像以密鑰012加密后:解密密鑰為0120000000000001的解密圖像如(e)所示,解密密鑰為01200000000000011的解密圖像如(f)所示。加密密鑰和解密密鑰敏感性測試的試驗結(jié)果表明,當(dāng)加密密鑰在不小于10-16的范圍內(nèi)進(jìn)行微小變化時,加密的圖像變化都很大;解密密鑰在同樣范圍的微小變化會導(dǎo)致解密失敗.所以,本算法對密鑰有極強(qiáng)的敏感性。

(3)統(tǒng)計分析

抗統(tǒng)計分析攻擊能力的好壞是評判圖像加密算法優(yōu)劣的重要標(biāo)準(zhǔn)。

1)統(tǒng)計直方圖

加密后圖像的直方圖(圖3(b))與原始圖像的直方圖(圖3(a))有很大區(qū)別,并且非常均勻,非常好地掩蓋了原始圖像的分布規(guī)律,更增加了破譯的難度。

基于Henon映射的數(shù)字圖像加密

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

原始圖像中相鄰2個像素的相關(guān)性通常很大.相鄰像素的相關(guān)性可以反映出圖像像素的擴(kuò)散程度,所以應(yīng)該盡量讓加密后圖像相鄰像素的相關(guān)性系數(shù)接近零。為驗證原始圖像和加密圖像相鄰像素的相關(guān)性,在2個圖像中分別隨機(jī)選取了2000對像素對,測試其水平方向、垂直方向和對角方向的像素相關(guān)性,并應(yīng)用式(8)進(jìn)行相關(guān)系數(shù)的計算。

基于Henon映射的數(shù)字圖像加密

其中,A和B分別為原始圖像和加密圖像;/A和/B是均值。

圖4所示為垂直方向原始圖像和加密后圖像相鄰像素的相關(guān)關(guān)系??梢?,原始圖像像素間的相關(guān)性呈現(xiàn)明顯的線性結(jié)構(gòu)關(guān)系,而圖像文件加密后像素間的相關(guān)性呈現(xiàn)隨機(jī)的對應(yīng)關(guān)系。

基于Henon映射的數(shù)字圖像加密

表1所示為原圖像和其加密圖像相鄰像素之間的相關(guān)系數(shù)??梢姡瓐D像的相鄰像素高度相關(guān),而加密圖像的相鄰像素相關(guān)系數(shù)接近于零,其相鄰像素已基本不相關(guān)。

基于Henon映射的數(shù)字圖像加密

(4)抗干擾能力分析

圖像在傳輸或進(jìn)行其他處理的過程中,經(jīng)常會受到噪聲的干擾和一系列的攻擊,所以抗攻擊能力圖5_算法抗干擾能力試驗結(jié)果的強(qiáng)弱也是檢驗加解密算法優(yōu)劣的1個標(biāo)準(zhǔn).本文對加密后的圖像添加噪聲密度為0105的椒鹽噪聲(見圖5(b))、添加均值為0方差為0.01的高斯噪聲(見圖5(e))和剪切其左上角部分?jǐn)?shù)據(jù)(見圖5(h)),解密之后得到圖5(c)(f)(i),為便于比較,原始圖像受到上述3種攻擊的結(jié)果如圖5(a)(d)(g)所示??梢?,此加密算法對椒鹽噪聲攻擊和剪切攻擊有較好的抵抗能力,但對于高斯噪聲攻擊的抗干擾能力不強(qiáng)。

基于Henon映射的數(shù)字圖像加密

本文提出了一種新的基于Henon映射的圖像加密算法,仿真實驗結(jié)果表明,該算法可以實現(xiàn)對數(shù)字圖像的加、解密,并且達(dá)到較好的效果.對算法安全性的分析可以看出,該算法密鑰空間大,有極強(qiáng)的密鑰敏感度和較好的統(tǒng)計特性,并且具有較強(qiáng)的抗剪切和椒鹽噪聲攻擊能力以及一定的抗高斯噪聲攻擊的能力。下一步的工作重點將放在對Henon混沌序列改進(jìn)方法的理論推導(dǎo)和對加密算法進(jìn)行優(yōu)化,使其達(dá)到更好的加解密效果并能更有效地抵抗高斯噪聲攻擊及其他更多種類的攻擊。

小知識之椒鹽噪聲

椒鹽噪聲是由圖像傳感器,傳輸信道,解碼處理等產(chǎn)生的黑白相間的亮暗點噪聲。椒鹽噪聲往往由圖像切割引起。