基于分頻域相位和幅度的數(shù)字圖像加密方法

數(shù)字圖像加密其目的是將一幅給定的圖像按一定的變換規(guī)則在空問(wèn)域或頻域?qū)⑵渥儞Q為一幅雜亂無(wú)章的圖像,從而隱藏其圖像本身的真實(shí)信息。其圖像文件加密方法可分為空間域算法和頻域算法??臻g域算法的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,且加密過(guò)程中不會(huì)引入額外的圖像畸變,但加密強(qiáng)度不夠。相對(duì)于空間域算法,頻域加密效率較高,由于在變換中可設(shè)置不同的參數(shù)和采用算法復(fù)雜度高的算法,可保證圖像信息有較高的安全性。

為此,我們提出了對(duì)數(shù)字圖像進(jìn)行分?jǐn)?shù)傅里葉變換,然后對(duì)其相位譜和幅度譜用映射生成的混沌序列進(jìn)行置亂的方法,可獲得安全度較高的加密圖像。

一、基于分頻域相位和幅度的數(shù)字圖像加密方法的理論基礎(chǔ)

1、分?jǐn)?shù)傅里葉變換的定義及相關(guān)的基本性質(zhì)

分?jǐn)?shù)傅里葉變換作為一種新的信號(hào)表征方式,已經(jīng)在信息加密、信息隱藏、模式識(shí)別等領(lǐng)域得到了廣泛的應(yīng)用。設(shè)輸入信號(hào)為f(x),則一維函數(shù)(將自變量改為二維矢量就可以直接推廣到二維情況)的p階分?jǐn)?shù)傅里葉變換定義為:

基于分頻域相位和幅度的數(shù)字圖像加密方法
其中常數(shù):

基于分頻域相位和幅度的數(shù)字圖像加密方法

p(O<| p|<2)為分?jǐn)?shù)階,φ= p*π/2。

特別的,當(dāng)p=1時(shí),上式分?jǐn)?shù)傅里葉變換即為普通傅里葉變換。

由此定義可得出分?jǐn)?shù)傅里葉變換的兩條重要性質(zhì):

(1)可加性

fpl (fp2)=fpl+p2;

(2)周期性

當(dāng)p1+p2=4n時(shí),fp1十p2=f,其中n為整數(shù)。

2、混沌序列定義及其在文中的應(yīng)用

(1)混沌序列定義

由于混沌理論是動(dòng)力系統(tǒng)從有序突然變?yōu)闊o(wú)序狀態(tài)的一種演化理論,如果給定一個(gè)離散混沌系統(tǒng)兩個(gè)非常接近的初始值,則經(jīng)過(guò)幾次迭代后,輸出的結(jié)果可以完全不相關(guān),因此利用混沌系統(tǒng)對(duì)初始條件極其敏感的依賴性,可以提供數(shù)量眾多、非相關(guān)、類隨機(jī)而又可確定可再生的混沌序列,其非常大的周期性和優(yōu)良的隨機(jī)性,不僅非常適合產(chǎn)生符合安全要求的序列密碼,而且可以提供數(shù)量眾多的密鑰。

一類非常簡(jiǎn)單卻被廣泛研究的動(dòng)力系統(tǒng)是logistic映射,其定義如下:

基于分頻域相位和幅度的數(shù)字圖像加密方法

其中,0≤μ≤4稱為分枝參數(shù),x∈(0,1)定義同上?;煦鐒?dòng)力系統(tǒng)的研究工作指出,當(dāng)3. 5699456...<μ≤4時(shí),logistic映射工作于混沌態(tài)。也就是說(shuō),由初始條件x0在logistic映射的作用下所產(chǎn)生的序列{Xk;k=0,1,2.3…}是非周期的、不收斂的并對(duì)初始值非常敏感。

另一類簡(jiǎn)單的映射是Chebyshev映射,以階數(shù)為參數(shù)。k階Chebyshev映射定義如下:

基于分頻域相位和幅度的數(shù)字圖像加密方法

其中xk的定義區(qū)間是(-1,1)。事實(shí)是通過(guò)簡(jiǎn)單的變量代換,logistic映射同樣可以在區(qū)間(-1,1)上定義。

其形式如下:

基于分頻域相位和幅度的數(shù)字圖像加密方法
其中λ∈0,2]。在λ=2的滿射條件下,logistic映射與Chebyshev映射是拓?fù)涔曹椀摹?/p>

(2) 混沌序列在文中的應(yīng)用

密碼學(xué)中,使用置換來(lái)進(jìn)行數(shù)據(jù)變換,主要有兩種作用:其一是對(duì)數(shù)據(jù)內(nèi)容作不可預(yù)測(cè)的替換;其二是改變數(shù)據(jù)在數(shù)據(jù)序列中的位置,即隨機(jī)換位。我們將混沌序列引入密碼置換網(wǎng)絡(luò),利用混沌映射產(chǎn)生序列的非線性以及其軌道點(diǎn)的遍歷性,來(lái)產(chǎn)生置換網(wǎng)絡(luò)的雙射變換所需地址。

設(shè)二維數(shù)據(jù)矩陣表示為A=[ai,j]M×N,其中ai,j代表第i行第j列像素的值。對(duì)A進(jìn)行行列置亂處理。置換陣列的行地址和列地址由混沌序列產(chǎn)生。

二、加密/解密方法

設(shè)輸入圖像用f(x,y),分?jǐn)?shù)傅里葉變換記為F(px,py),px py分別為x,y方向的分?jǐn)?shù)傅里葉變換階數(shù)。

對(duì)圖像進(jìn)行分?jǐn)?shù)傅里葉變換,得到:

基于分頻域相位和幅度的數(shù)字圖像加密方法

式中A(ξ,η)和B(ξ,η)分別是分?jǐn)?shù)傅里葉譜的振幅和相位成分。

根據(jù)系統(tǒng)加密的設(shè)計(jì)原則,文中提出對(duì)圖像進(jìn)行分?jǐn)?shù)傅里葉變換,再對(duì)變換后的振幅譜或相位譜進(jìn)行混沌置亂處理。圖像加密主要步驟:

步驟1:對(duì)大小為M×N的任意圖像,作階次為(px,py)的分?jǐn)?shù)傅里葉變換。每一次變換都包含x和y兩個(gè)方向,即有px,py兩個(gè)變換密鑰。得到分?jǐn)?shù)傅里葉變換系數(shù)矩陣。

步驟2:確定一維Chebyshev系統(tǒng)的初始參數(shù)。設(shè)用戶密鑰為x01,x02利用密鑰值x01,x02采用公式(4)生成實(shí)數(shù)值混沌序x1k,x2k,在該算法中不使用該序列的初始段部分,設(shè)起始位置分別為n1,n2,然后由x1k和x2k分別生成二維置換陣列的行地址和列地址,這里采用兩個(gè)Chebyshev映射產(chǎn)生的序列加1成為區(qū)間[0,2]間的數(shù),然后乘以(M+ 1)/2和(N+ 1)/2取整來(lái)作為置換陣列的行地址和列地址。密鑰為( xo1,x02,n1,n2)。

步驟3:對(duì)得到的振幅譜或相位譜進(jìn)行行列置亂。也可以對(duì)振幅譜和相位譜同時(shí)置亂,密鑰更安全。文中為介紹簡(jiǎn)單起見(jiàn)對(duì)得到振幅譜和相位譜矩陣分別加密。

解密過(guò)程為加密過(guò)程的逆。首先根據(jù)密鑰生成逆置亂序列,對(duì)加密的振幅譜或相位譜進(jìn)行列逆置亂。再進(jìn)行分?jǐn)?shù)傅里葉反變換,達(dá)到解密圖像的目的。

三、仿真結(jié)果與分析

為了驗(yàn)證文中提出的加密算法,在MATLAB7.0中實(shí)現(xiàn)圖像分?jǐn)?shù)傅里葉變換,并做了相關(guān)實(shí)驗(yàn)。使用的原始圖像為256×256的256灰度級(jí)標(biāo)準(zhǔn)“l(fā)ena”圖像。對(duì)加密圖像進(jìn)行了破解實(shí)驗(yàn)。圖1為原始圖像。

基于分頻域相位和幅度的數(shù)字圖像加密方法

圖2(a)是對(duì)圖1原始圖像先進(jìn)行分?jǐn)?shù)傅里葉變換,然后再對(duì)其振幅譜用混沌序列進(jìn)行置亂得到加密圖像a圖2(b)是對(duì)圖1原始圖像先進(jìn)行分?jǐn)?shù)傅里葉變換,然后再對(duì)其相位譜用混沌序列進(jìn)行置亂得到加密圖像。

兩處的密鑰均為:分?jǐn)?shù)傅里葉變換階數(shù)密鑰(px,py)=(0.8,0.9)、混沌系統(tǒng)控制參數(shù)密鑰為(0.2,0.6,170,160)。

基于分頻域相位和幅度的數(shù)字圖像加密方法

對(duì)加密后的圖像進(jìn)行解密。圖3 (a)、(b)、(c)是對(duì)圖2(a)的錯(cuò)誤解密圖像。其中圖3(a)和(b)均為分?jǐn)?shù)傅里葉變換密鑰正確,置亂反變換密鑰不正確得到的解密圖像;圖3(d)為分?jǐn)?shù)傅里葉變換密鑰不正確,置亂反變換密鑰正確得到的解密圖像。錯(cuò)誤密鑰分別是:( X01,X02,n1,n2)=(0.20000001,0.6,170,160)、( x01,X02,n1,n2)=(0.2,0.6,170,180)、(px,py)=
(0.85,0.95)。

基于分頻域相位和幅度的數(shù)字圖像加密方法

圖4 (a)、(b)、(c)是對(duì)圖2(b)的錯(cuò)誤解密圖像。其中圖4(a)和(b)均為分?jǐn)?shù)傅里葉變換密鑰正確,置亂反變換密鑰不正確得到的解密圖像;圖4(c)為分?jǐn)?shù)傅里葉變換密鑰不正確,置亂反變換密鑰正確得到的解密圖像。錯(cuò)誤密鑰分別是:(x01,x02,n1,n2)=(0. 2,0. 60000001,170,160)、(x01,x02,n1,n2=(0.2,0. 6,170,180).、(px,py)=(0.82,0.92)。

基于分頻域相位和幅度的數(shù)字圖像加密方法

圖5是密鑰都正確時(shí)的解密圖像D其中圖5(a)是圖2(a)的正確解密圖像,圖5(b)是圖2(b)的正確解密圖像。

基于分頻域相位和幅度的數(shù)字圖像加密方法

大量實(shí)驗(yàn)表明,加密密鑰中混沌序列的初始存在很小的偏差,圖像解密將無(wú)法完成。當(dāng)解密設(shè)置的混沌序列的起始位置與密鑰起始位置接近時(shí)只能看到圖像的小部分信息,而混沌序列的起始位置存在很大的密鑰空間,可實(shí)現(xiàn)較高安全程度。當(dāng)混沌密鑰正確,而分?jǐn)?shù)傅里葉變換密鑰不正確也看不到清晰的圖像??梢?jiàn)只有同時(shí)知道置亂密鑰和分?jǐn)?shù)傅里葉變換密鑰時(shí)才能得到原始圖像信息。

小知識(shí)之空間域

空間域 。英文: spatial domain。 釋文: 又稱圖像空間(image space)。由圖像像元組成的空間。在圖像空間中以長(zhǎng)度(距離)為自變量直接對(duì)像元值進(jìn)行處理稱為空間域處理。