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

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

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

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

1、分數(shù)傅里葉變換的定義及相關的基本性質

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

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

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

p(O<| p|<2)為分數(shù)階,φ= p*π/2。

特別的,當p=1時,上式分數(shù)傅里葉變換即為普通傅里葉變換。

由此定義可得出分數(shù)傅里葉變換的兩條重要性質:

(1)可加性

fpl (fp2)=fpl+p2;

(2)周期性

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

2、混沌序列定義及其在文中的應用

(1)混沌序列定義

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

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

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

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

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

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

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

其形式如下:

基于分頻域相位和幅度的數(shù)字圖像加密方法
其中λ∈0,2]。在λ=2的滿射條件下,logistic映射與Chebyshev映射是拓撲共軛的。

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

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

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

二、加密/解密方法

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

對圖像進行分數(shù)傅里葉變換,得到:

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

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

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

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

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

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

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

三、仿真結果與分析

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

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

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

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

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

對加密后的圖像進行解密。圖3 (a)、(b)、(c)是對圖2(a)的錯誤解密圖像。其中圖3(a)和(b)均為分數(shù)傅里葉變換密鑰正確,置亂反變換密鑰不正確得到的解密圖像;圖3(d)為分數(shù)傅里葉變換密鑰不正確,置亂反變換密鑰正確得到的解密圖像。錯誤密鑰分別是:( 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)是對圖2(b)的錯誤解密圖像。其中圖4(a)和(b)均為分數(shù)傅里葉變換密鑰正確,置亂反變換密鑰不正確得到的解密圖像;圖4(c)為分數(shù)傅里葉變換密鑰不正確,置亂反變換密鑰正確得到的解密圖像。錯誤密鑰分別是:(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是密鑰都正確時的解密圖像D其中圖5(a)是圖2(a)的正確解密圖像,圖5(b)是圖2(b)的正確解密圖像。

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

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

小知識之空間域

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