圖像加密算法之像素置亂加密

隨著圖像技術(shù)的發(fā)展,圖像的安全性問題越來越受到人們的關(guān)注。由于圖像特有的屬性,比如存儲(chǔ)空間大、相鄰像素之間具有很強(qiáng)的相關(guān)陛等,使得一些針對文本文件的加密方法如DES、IDEA、RSA等現(xiàn)代加密技術(shù),不能完全滿足圖像文件加密的需要。其二維可逆映射的壓縮過程分水平壓縮和垂直壓縮兩種,折疊過程為對角線折疊。通過對圖像的拉伸和折疊處理,實(shí)現(xiàn)圖像文件的加密。

一、二維可逆映射原理和加密算法

圖像置亂加密算法是通過二維可逆映射實(shí)現(xiàn)的。該映射利用了圖像的一個(gè)重要性質(zhì):像素能通過插入到其他像素之間從而壓縮為線。設(shè)圖像大小為MN。通過映射首先將原圖像拉仲為長MN的直線,然后再折疊成一個(gè)MN的圖像。如圖1所示,(a)為水平壓縮映射,(b)為垂直壓縮映射。

圖像加密算法之像素置亂加密

設(shè)圖像大小為MxN,設(shè)A(i,j) j=0,1,2,…。N-1,i=0,1,2,…,M-I為圖像中的任意一點(diǎn),L(i),i=0,1,…,MN-1為將A(i'j)拉伸后的一維向量。

fix(X)是取最接近于X的整數(shù)。

1、縮算法

(1)水平壓縮算法

如圖1(a)所示,水平壓縮映射算法如下:

首先定義函數(shù):

圖像加密算法之像素置亂加密

則水平壓縮算法為:

圖像加密算法之像素置亂加密

(2)垂直壓縮算法

如圖1(b)所示,垂直壓縮映射算法同水平映射算法的公式形式上很相似,推導(dǎo)過程也類似。

2、折疊算法

如圖1所示,對角線折疊算法如下:

圖像加密算法之像素置亂加密

式中,lmin表示M和N中的較小值,lmax表示M和N中的較大值。

二、使用二維可逆映射實(shí)現(xiàn)圖像文件的加密和解密

可將每個(gè)子映射的映射次數(shù)作為密鑰Key。如Key=1234,表示圖像依次水平映射1次,垂直映射2次,然后用水平映射3次,最后用垂直映射4次。為了保證加密效果,每一個(gè)部分密鑰值都小于10。

圖像加密算法所采用的擴(kuò)散函數(shù)為:

圖像加密算法之像素置亂加密

式中,A(i,j)是指擴(kuò)散前每一個(gè)像素的值。A(i,j)為擴(kuò)散后的像素值,256灰度圖L=256。

圖像加密算法分為三步:

1、利用密鑰及算法(1)~(4),將圖像A(i,j)拉伸成一條直線1(i),i=0,1,…。MN-1。

2、利用算法(5)一(7),將直線折疊,得到置亂圖像C(i,j)。

3、利用擴(kuò)散函數(shù),對置亂圖像進(jìn)行處理得到密圖。

圖像解密算法與加密算法相反,解密過程與加密過程對稱,且解密密鑰與加密密鑰相同。

三、加密實(shí)例和安全性分析

如圖2所示,對lena 256灰度圖文件進(jìn)行加密。為了研究二維可逆映射的加密效果,沒有加入擴(kuò)散函數(shù)。此時(shí),加密系統(tǒng)僅僅置亂圖像,沒有改變圖像的像素值(直方圖不變)。

如圖3所示當(dāng)Key1=1時(shí),圖像已沒有原圖特征。當(dāng)Keyr1234567890123456時(shí),密圖像素平均分布,加密效果良好。

圖像加密算法之像素置亂加密

1、安全性能分析

密鑰空間分析。由于最基本、最流行的破解方法是對密鑰進(jìn)行窮盡搜索。密鑰空間大是加密算法安全的前提。加密算法的密鑰空間如表1所示。研究表明,密鑰空間大小只和密鑰長度有關(guān),在理想情況下(計(jì)算速度允許)??烧J(rèn)為密鑰能無限增加。

圖像加密算法之像素置亂加密

密鑰敏感度

當(dāng)加密密鑰Key=1234567890123456加密時(shí),用解密密鑰Key1=1234567890 123455 和Key2 =12345678901 23457分別解密。即使加密密鑰和解密密鑰僅一位有最小的差異,也無法解密圖像,證明對密鑰差異非常敏感。

相關(guān)性統(tǒng)計(jì)分析

由于原始圖像相鄰像素之間具有很強(qiáng)的相關(guān)性。如果密圖相鄰像素之間相關(guān)陛變小,說明密圖安全性變強(qiáng)。我們用下列兩個(gè)公式計(jì)算他們的相關(guān)系數(shù):

圖像加密算法之像素置亂加密

圖像加密算法之像素置亂加密

式中x、y為兩個(gè)相鄰點(diǎn)的灰度值。

原圖的相關(guān)系數(shù)為0.9524。加密之后的相關(guān)系數(shù)為0.0052,證明密圖相鄰像素之間相關(guān)度接近于零。其他相鄰點(diǎn)的相關(guān)系數(shù)如表2所示,說明密圖相鄰像素之間相關(guān)性很小。

圖像加密算法之像素置亂加密

2、擴(kuò)散算法

僅對圖像進(jìn)行置亂,而不改變像素值是不安全的,很難抵御明文攻擊。因此為了增強(qiáng)加密算法的安全性,增加擴(kuò)散函數(shù)。見公式(10)。加密后,密圖和直方圖分別如圖4(a)、(b)所示。

圖像加密算法之像素置亂加密

四、與其他混沌加密技術(shù)的比較

和其他混沌映射比較。具有:

1、更大的密鑰空間

如Baker map最大為2N-1(N為圖像的寬),而該加密的密鑰空間理論上只和密鑰長度有關(guān),只要計(jì)算速度允許,秘鑰長度可隨之增加。

2、對密鑰變化更敏感

該加密算法將密鑰設(shè)計(jì)為整個(gè)圖像拉伸、折疊的數(shù)目,因此只要秘鑰稍有變化,密圖就會(huì)截然不同。但其他二維混沌映射基本都將圖像分塊的數(shù)目設(shè)計(jì)為密鑰,拉伸、折疊操作都是對部分圖像進(jìn)行的。因此,用相似的密鑰可以解密密圖,降低了加密安全性。

3、加密算法更加簡單、清晰,易于實(shí)現(xiàn)

如Baker map的一般形式下的加密算法具有非常復(fù)雜的形式。而該加密算法非常簡單,易于實(shí)現(xiàn)。

4、加密速度快,能夠?qū)崿F(xiàn)實(shí)時(shí)加密

在一臺(tái)Pentium M l.3CHz的筆記本電腦上仿真表明,未優(yōu)化的二維可逆映射的VC程序,運(yùn)行速度約為3Mbps。能滿足實(shí)時(shí)加密需要。

使用該映射的優(yōu)點(diǎn)為:該二維映射的加密算法非常簡單,容易編程實(shí)現(xiàn)、二維映射可逆、基于二維可逆映射的加密,解密算法沒有信息損失、加密的密鑰理論上沒有限制,在速度允許的前提下,可以為任意長度、密圖和原圖大小一致,沒有大小差異、能滿足實(shí)時(shí)需要,適合大尺寸圖像加密、加密算法容易硬件實(shí)現(xiàn)等。

小知識(shí)之置亂

所謂“置亂”,就是將圖像的信息次序打亂,將a像素移動(dòng)到b像素的位置上,b像素移動(dòng)到c像素的位置上……使其變換成雜亂無章難以辨認(rèn)的圖像。