對稱圖像文件加密之混沌系統(tǒng)

采用基于外部密鑰的復合混沌系統(tǒng)對數字圖像文件進行對稱加密,由外部密鑰產生混沌系統(tǒng)的初始值。復合混沌系統(tǒng)由2個Logistic系統(tǒng)構成,一個用來產生置換矩陣,對圖像進行像素置換操作,另一個用來產生灰度擾亂序列。在對灰度擾亂過程中,使用基于外部密鑰導出的子密鑰對灰度擾亂序列進行采樣。在置換過程中,通過加入置換矩陣信,使位置置換和像素替代過程以簡單有效的方式復合,提高系統(tǒng)的耦合性。

一、對稱圖像文件加密方案

1、相關介紹

(1)外部密鑰:采用長度為80 bit的密鑰:

對稱圖像文件加密之混沌系統(tǒng)
其中,字符ki (i=1,2,…,20)為十六進制。每2個字符(即每8 bit)構成一個子密鑰ki (i=1,2,…,10)。于是,外部密鑰表示為子密鑰形式為:

對稱圖像文件加密之混沌系統(tǒng)
(2)混沌系統(tǒng)原型:本文采用的Logistic混沌系統(tǒng)原型為:

對稱圖像文件加密之混沌系統(tǒng)
其中,xn為映射變量,0≤xn≤1;μ為系統(tǒng)參數,0≤μ≤4。

當3.569 945 6-≤μ≤4時,系統(tǒng)進入混沌狀態(tài)。

(3)本文的混沌系統(tǒng):采用2個Logistic混沌系統(tǒng),μ均取為3.999 9。位置置換過程采用的混沌系統(tǒng)X為:

對稱圖像文件加密之混沌系統(tǒng)
系統(tǒng)初值的計算如下:

1)利用式(5)計算得到實數Xo1:

對稱圖像文件加密之混沌系統(tǒng)

其中,(Ki)10表示K,的十進制數值。

2)選取子密鑰K4,Ks,K6,利用式(6)計算得到另一個具有24位精度的實數X02:

對稱圖像文件加密之混沌系統(tǒng)

其中,Kij表示墨的第J bit位上的值(0或1)。

3)利用式(7)計算系統(tǒng)初值Xo:

對稱圖像文件加密之混沌系統(tǒng)

其中,tloor(.)表示不大于操作數“.”的最大整數。式(7)的目的是只取X01+ X02的小數部分。

通過上述幾步構造的用于位置置換的混沌系統(tǒng)初值,使初值對外部密鑰足夠敏感,且精度得到保證。

灰度替代過程采用的Logistic系統(tǒng)y為:

對稱圖像文件加密之混沌系統(tǒng)

初值Yo產生的方式和X0相似,不同之處在于,計算Y02時選取子密鑰k7,K8,K9。

2、加密算法描述

本文用M表示明文灰度圖像,大小為mxn,M(x,y)(1≤x≤m,1≤y≤n)表示位置(x,y)處的灰度值。用C表示密文圖像。

(1)位置置換過程

根據圖像M的大小產生mxn長度的混沌序列{X1,X2,X3,…,Xmxn),用該序列按照列優(yōu)先的方式構造mxn的矩陣E。對E的元素進行排序后,按照列優(yōu)先的位置重新
放置,啟用位置矩陣L,在L對應的位置依次記錄排序后每個矩陣元素在原始矩陣E中的位置。然后把圖像M中的像素按照L中的位置重新排列得到M’,實現置換過程。

比如:

對稱圖像文件加密之混沌系統(tǒng)

(2)像素替代過程

1)確定采樣次數T。如果每個采樣因子作用于混沌序列的次數F為16,則一個采樣因子對原始序列采樣16次。

2)構造動態(tài)采樣因子S:

對稱圖像文件加密之混沌系統(tǒng)

分別利用整數S1,S2,S3,…,S9對原始混沌序列進行丁次采樣(具體見步驟(5))。這里的N為整數常量,如3,4,5,取值不易過大,否則影響效率。

3)通過式(10)改變子密鑰的值:

對稱圖像文件加密之混沌系統(tǒng)

其中,round(mean(K1,K2,…,K1o))是常量,通過對初始子密鑰十進制平均值取整得到。用改變后的密鑰構造新的采樣因子。

4)反復執(zhí)行步驟(2)、步驟(3),直到產生數量為mxn/t的采樣因子。

5)對原始混沌序列采樣,得到采樣后的序列(Y1’,Y2’,…,Y'mxn)。本方案要把采樣后序列的元素映射為[0, 255]內的整數,為得到均勻分布在[0,255]內的整數序列,只在原始序列中選擇處于[0.2,0.8]區(qū)間上的值。由Yo迭代得到Y1‘∈[0.2,0.8]。用式(11)進行采樣:

對稱圖像文件加密之混沌系統(tǒng)

其中,n≥s且Yi+1‘∈[0.2,0.8],s代表當前使用的采樣因子;f(n)(.)表示對混沌方程迭代幾次。式(11)保證混沌方程由當前值Yi‘迭代大于等于s次后得到第1個屬于區(qū)間[0.2,0.8]的值作為Yi+1‘。

6)利用式(12)將(Y1’,Y2’,…,Y'mxn)映射到區(qū)間[0.2,0.8]上,得到(Y1’‘,Y2’’,…,Y'‘mxn):

對稱圖像文件加密之混沌系統(tǒng)

其中,i=1,2,…,mxn。

7)由式(13)、式(14)進行像素灰度替代:

對稱圖像文件加密之混沌系統(tǒng)

其中,i=2,3,…,mxn;L(i),M(i)'表示按照列優(yōu)先方式從矩陣L、M'取得的第i個元素。根據式(12)建立C(i)與C(i -1)的關系,以這種方式擴散明文到密文。在C(I)中加入密鑰信息,以增加密鑰敏感性。這里的+指按位異或操作。最后用所有的C(f)構造最終的加密矩陣C,也就是密文。

綜上所述,整個加密過程如下:(1)基于外部密鑰,構造2個混沌系統(tǒng)x,y的初值。(2)根據混沌系統(tǒng)X迭代出的元素的大小,構造位置置換矩陣,對圖像像素進行位置置換操作。(3)由外部密鑰導出的子密鑰動態(tài)采樣混沌系統(tǒng)y產生的原始序列,并將采樣后的序列映射到[0,255]的整數域上,結合外部密鑰以及位置置換矩陣的信息,對置換后的圖像執(zhí)行灰度替代操作。

解密過程是加密過程的逆操作。對應加密公式(式(13)和式(14),解密公式為:

對稱圖像文件加密之混沌系統(tǒng)

其中,i=2,3,…,mxn。

二、實驗結果及分析

本文采用Matlab 7.3平臺,選取256x256的Lena灰度圖像(圖1)進行實驗。式(9)中N=3,采樣次數T=16。

對稱圖像文件加密之混沌系統(tǒng)

1、密鑰敏感性分析

選擇’AOC2EF52BBE5CA894405’作為外部密鑰,圖2(a)、圖2(b)為加解密效果。用密鑰’AOC2EF52BBE5CA894406’解密圖2(a)的效果如圖2(c)所示。

對稱圖像文件加密之混沌系統(tǒng)

表1給出了密文圖像之間的相關系數,其中用于加密的密鑰如下:

對稱圖像文件加密之混沌系統(tǒng)

上述4個密鑰之間都只有1位或2位不同,由相關系數考察密鑰敏感性。相關系數定義如下:

對稱圖像文件加密之混沌系統(tǒng)

其中,cov(x,y)=E((x—E(x)),(y-E(y)))為協(xié)方差;方差D(x)=E(X2) -E2(x),均值為E(x);x,y分別代表2個密文圖像同一位置上像素灰度值。從中可以看出,對應位置像素的相關性可視為0,表明密文對密鑰具有高度的敏感性。

2、統(tǒng)計特性分析

以密鑰“AOC2EF52BBE5CA894405”加密的結果為例分析統(tǒng)計特性。

(1)灰度直方圖。圖3(a)是原始圖像(圖1)的像素灰度直方圖,圖3(b)則對應密文圖像(圖2(a))??梢钥闯?,明文的像素值統(tǒng)計信息在密文圖像中沒有體現,明密文之間統(tǒng)計上的相關性非常小,表明方案能夠有效抵御基于像素值統(tǒng)計的攻擊。

對稱圖像文件加密之混沌系統(tǒng)

(2)相鄰像素相關性。比較明密文圖像水平和垂直方向相鄰像素相關性。利用式(17)計算相關系數,其中的xy分別代表圖像內部相鄰位置的像素灰度值。表2為實驗結果。

對稱圖像文件加密之混沌系統(tǒng)

圖4、圖5分別描述了在圖像中隨機選取2000個點水平和垂直方向的相關性。

對稱圖像文件加密之混沌系統(tǒng)

結果表明,原始圖像中相鄰像素之間存在很高的相關性,而加密圖像相鄰像素之間的相關性可以忽略為0。

分析像素灰度直方圖和相鄰像素相關性得出結論:明文圖像統(tǒng)計結構已經擴散到密文中,方案有很好的擴散性能。

3、密鑰空間分析

本文的方案采用的密鑰為80 bit,密鑰空間可達280(~1.208 gx1021),加密系統(tǒng)的熵為80,密鑰空間大小足夠抵御窮舉攻擊。只需要修改算法某些細節(jié),就可以使用更長的密鑰,如128 bit,容易實現且不會影響算法效率。

小知識之Logistic函數

Logistic函數或Logistic曲線是一種常見的S形函數,它是皮埃爾·弗朗索瓦·韋呂勒在1844或1845年在研究它與人口增長的關系時命名的。廣義Logistic曲線可以模仿一些情況人口增長(P)的S形曲線。起初階段大致是指數增長;然后隨著開始變得飽和,增加變慢;最后,達到成熟時增加停止。

一個簡單的Logistic函數可用下式表示:

P(t) = \frac{1}{1 + e^{-t}}