圖像加密算法之對角線拉伸混沌映射加密
根據(jù)雙邊對角線拉伸的思想,我們提出一種利用圖像加密的可逆二維混沌映射。該映射由左映射和右映射2個子映射組成,該方法通過對圖像的拉伸和折疊處理,來實現(xiàn)圖像文件的混沌加密。
一、二維混沌映射原理和算法
二維混沌映射利用了圖像的一個重要性質(zhì):像素能夠插入到其他像素間。設圖像大小為N×N,通過映射首先將原圖像拉伸為長N2的直線,然后再折疊成N×N的圖像,如圖1所示。

1、左映射算法?
設A(i,j),i,j=0,1,2,…,N-1,為圖像中任意一點;l(i),i=0,1,...,N2-1,t為將A(i,j)拉伸后的一維向量。如圖1(a)所示,左映射算法為:
當i+j<N、i>j時,有:
![]()
當i+j<N、i≤j時,有:
![]()
當i+j≥N、i<j時,有:
![]()
當i+j≥N、i≥j時,有:
![]()
2、右映射算法
右映射算法既可以直接推導得到,也可以通過下列過程得到:
1)將原圖像作一次鏡像。設A,表示鏡像后的圖像,有:
![]()
式中i=0,1,2,…,N一1;j=0,1,2,...,N-1。
2)使用算法(1)~(4),得到右映射算法。
3、折疊算法
![]()
式中,i=0,1,2,…,N一1;j=0,1,2,:…,N-1。
二、圖像文件加密、解密算法
由于映射可分為左映射和右映射。將左映射和右映射的映射次數(shù)設計為密鑰Key。如Key=1234,表示圖像依次左映射1次,右映射2次,然后用左映射3次,最后用右映射4次。為了保證加密效果,每一個部分密鑰值都小于10。加密算法如圖2所示,其中Ki及K2分別是密鑰Key的一部分,可以相同或可互相推導得到,函數(shù)F(K)為密鑰的函數(shù),輸出為擴散函數(shù)的參數(shù)。

圖像文件加密算法所采用的擴散函數(shù)為:
![]()
式中:νk是指每一個像素的值;v'k為擴散后的像素值;v-1=F(K2),G(v'k一1)=5×v'k一1;256灰度圖,L=256。
圖像加密算法分為3步:
1)利用密鑰Ki及算法(1)~(5),將圖像A(i,j)拉伸成一條直線l(i),i=0,1,...,N2 -1。
2)利用算法(6),將直線折疊得到置亂圖像B(i,j)。
3)利用密鑰K2及擴散函數(shù),對置亂函數(shù)進行處理得到密圖。
圖像解密算法與加密算法相反,如圖3所示。解密密鑰與加密密鑰相同,因此該加密算法為對稱加密算法。

三、加密實例和安全性能分析
如圖4所示,對Lena 256灰度網(wǎng)進行加密。為了研究二維混沌映射的加密效果,首先令K2 =0,即不使用擴散函數(shù)。此時,加密系數(shù)僅僅置亂圖像,沒有改變圖像的像素值(直方圖不
變)。當Key=1時,圖像已沒有原圖特征;當Key=1234567890123456時,密圖像素平均分布,加密效果良好。

1、安全性能分析
(1)密鑰空間分析
由于最基本、最流行的破解方法是對密鑰進行窮盡搜索,密鑰空間大是加密算法安全的前提。圖像加密算法的密鑰空間(無擴散函數(shù))如表1所示。研究表明,密鑰空間大小只和密鑰長
度有關,在理想情況下(計算速度允許),可認為密鑰能無限增加。

(2)密鑰敏感度
當加密密鑰Key=1234567890123456加密時,用解密密鑰Keyi=1234567890123455和Key2 =1234567890123457分別解密。如圖5所示,即使加密密鑰和解密密鑰僅1位有最小的差異,也無法解密圖像,證明對密鑰差異非常敏感。

(3)統(tǒng)計分析
由于圖像相鄰像素間具有很強的相關性,如果密圖相鄰像素間相關性變小,說明密圖安全性變強。圖6為(x,y)和(x+1,y)的關系,原圖的相關系數(shù)為0. 9442,加密后的相關系數(shù)為0. 0054,證明密圖相鄰像素間相關度接近于零。其他相鄰點的相關系數(shù)如表2所示,說明密圖相鄰像素間相關性很小。


2、擴散算法
因為僅對圖像進行置亂是不安全的,很難抵御明文攻擊。為了增強加密算法的安全性,增加擴散函數(shù),見式(7),其中v-1 =F(K2) =150。加密后,密圖和直方圖分別如圖7所示。

在增加了擴散機制后,對原圖像只有1個像素點有差異的2個密圖進行NPCR(number 0f pixels change rate)和UACl(unified average changing intensity)分析。如圖8和圖9所示,當
加密次數(shù)n=2時,NPCR≈I。在參數(shù)不變的情況下,2個僅有1個像素不同的圖像,隨著加密次數(shù)的增加,密圖變得完全不同,2個原圖的差別擴散到密圖的整個區(qū)域,說明擴散效果良好。

四、與其他混沌加密技術的比較
和混沌流密碼比較,該加密算法具有加密速度快、可移植性強的特點,由于并非直接使用偽隨機混沌流掩蓋明文,而是首先采用二維混沌映射置亂像素,然后利用擴散算法改變像素值。因此,從一定程度上避免了因為動力學特性退化問題帶來的安全隱患,加密前后沒有信息損失、移植性高,加密方法簡單,易于軟件、硬件實現(xiàn)。
和其他混沌映射比較,具有:
1)更大的密鑰空間,如Baker map最大為2N-1 (N為圖像的寬),而該加密的密鑰空間理論上只和密鑰長度有關,只要計算速度允許,密鑰長度可隨之增加。
2)對密鑰變化更敏感i該算法將密鑰設計為整個圖像拉伸、折疊的數(shù)目,因此只要密鑰稍有變化,密圖就會截然不同。但其他二維混沌映射基本都將圖像分塊的數(shù)目設計為密鑰,拉伸、折疊操作都是對部分圖像進行的。因此,用相似的密鑰可以解密密圖,降低了加密安全性。
3)加密算法更加簡單、清晰,易于實現(xiàn)。如Baker map 一般形式下的算法具有非常復雜的形式,而該加密算法非常簡單,易于實現(xiàn)。
4)加密速度快,能夠?qū)崿F(xiàn)實時加密。
在一臺PentiumⅢ(M)1.13 GHz的筆記本電腦上仿真表明,未優(yōu)化的二維混沌映射的vc程序,運行速度約為3 Mbps。能滿足實時文件加密需要。該混沌映射也能應用于數(shù)字水印等領域。
小知識之動力學
動力學是理論力學的一個分支學科,它主要研究作用于物體的力與物體運動的關系。動力學的研究對象是運動速度遠小于光速的宏觀物體。動力學是物理學和天文學的基礎,也是許多工程學科的基礎。








