混沌圖像加密方法之基于分?jǐn)?shù)傅里葉變換加密
在以互聯(lián)網(wǎng)為代表的數(shù)字信息技術(shù)飛速發(fā)展的今天,越來越多的場合需要用數(shù)字加密保護(hù)處理。為此我們利用離散分?jǐn)?shù)傅里葉變換(DFRFT)提出了一種數(shù)字圖像文件加密變換算法。分?jǐn)?shù)傅里葉變換如今在光學(xué)信息處理領(lǐng)域已有比較廣泛的應(yīng)用。數(shù)本文將這種加密算法同傳統(tǒng)混沌加密方法相結(jié)合,能夠獲得較高的保密效果。
一、數(shù)字圖像的分?jǐn)?shù)傅里葉變換
1、分?jǐn)?shù)傅里葉變換的定義和性質(zhì)
以一維為例討論,設(shè)輸入信號為f(x),則其p階分?jǐn)?shù)傅里葉變換定義為:
![]()
其中,常數(shù)為:
![]()
p(o<|p|<2)為分?jǐn)?shù)階,φ=p.(π/2)。
特別地,當(dāng)p=1時,上述分?jǐn)?shù)傅里葉變換即為普通傅里葉變換。
由此定義可得出分?jǐn)?shù)傅里葉變換的兩條重要性質(zhì):
(1)可加性:fp1(fp2)=fp1+p2;
(2)周期性:當(dāng)p1+ p2=4n時,fp1+p2=f,其中n為整數(shù)。
2、分?jǐn)?shù)傅里葉變換的數(shù)值計算
對分?jǐn)?shù)傅里葉變換的定義進(jìn)行離散化處理,分?jǐn)?shù)傅里葉變換的數(shù)值計算可通過7個步驟得到:
(1)初始化;
(2)由采樣定理對輸入信號和啁啾信號進(jìn)行離散化處理得到f(n),(-N/2<n<N/2),exp(iπn2cotφ),其中N為總采樣數(shù);
(3)信號f(n)乘以啁啾信號exp(iπn2cotφ);
(4)進(jìn)行FFT運算;
(5)進(jìn)行尺度變換,系數(shù)為cscφ。
(6)再與同一啁啾信號相乘;
(7)與常數(shù)位相因子相乘。
第(7)步可以略去,不會對理論分析造成影響,因為常數(shù)位相因子不改變分?jǐn)?shù)傅里葉變換的分布,只是使位相增加了一個共同的移動。算法的結(jié)果很容易擴(kuò)展到二維可分離變量情況。
3、數(shù)字圖像的離散分?jǐn)?shù)傅里葉變換
數(shù)字圖像的離散分?jǐn)?shù)傅里葉變換是二維的,變換過程可轉(zhuǎn)換為兩次一維離散分?jǐn)?shù)傅里葉變換,轉(zhuǎn)換步驟如下:
(1)對數(shù)字圖像的行向量進(jìn)行一維離散分?jǐn)?shù)傅里葉變換,變換階數(shù)為px,得變換結(jié)果F1;
(2)對F1的列向量進(jìn)行一維離散分?jǐn)?shù)傅里葉變換,變換階數(shù)為py,得到變換結(jié)果F2;
(3)對F2進(jìn)行轉(zhuǎn)置,得到的結(jié)果就是二維離散分?jǐn)?shù)傅里葉的變換結(jié)果。
二、混沌系統(tǒng)和圖像空間域置亂
1、混沌系統(tǒng)
混沌現(xiàn)象是在非線性動力系統(tǒng)中出現(xiàn)的確定性類似隨機(jī)的過程,這種過程既非周期又不收斂,并且對初始值有極其敏感的依賴性。從時域上看,混沌映射得到的序列類似于隨機(jī)序列,相關(guān)性較弱,具有很好的類白噪聲特性,因此可以用來產(chǎn)生偽隨機(jī)信號或偽隨機(jī)碼。原理上只要增加迭代次數(shù),偽隨機(jī)碼的周期可以很長,產(chǎn)生長碼十分簡單。通過混沌系統(tǒng)對初始值和結(jié)構(gòu)參數(shù)的敏感依賴性,可以提供數(shù)量眾多、非相關(guān)、類隨機(jī)而又確定可再生的信號。由于上述特點,混沌已廣泛應(yīng)用于保密通信中,同時也可以作為加密序列?;煦缂用芗夹g(shù)已成為一種新興的加密技術(shù)。
一類非常簡單卻被廣泛研究的動力系統(tǒng)是logistic映射,其定義如下:
![]()
其中,0<μ<4稱為分枝參數(shù),xk∈(0,1)定義同上?;煦鐒恿ο到y(tǒng)的研究工作指出,當(dāng)3.569 945 6…<μ≤4時,logistic映射工作于混沌態(tài)。也就是說,由初始條件xo在logistic映射的作用下所產(chǎn)生的序列{Xk;k=0,1,2,3...)是非周期的、不收斂的,并對初始值非常敏感。
另一類簡單的映射是Chebyshev映射,以階數(shù)為參數(shù)。
k階Chebyshev映射定義如下:
![]()
其中,xk的定義區(qū)間是(-1,1)。事實是通過簡單的變量代換,logistic映射同樣可以在區(qū)間(-1,1)上定義。其形式如下:
![]()
其中,λ∈[0,2]。在λ=2的滿射條件下,logistic映射與Chebyshev映射是拓?fù)涔曹椀?,其所生成的序列的概率分布函?shù)PDF (probability density function)也是相同的:
![]()
對于式(2)形式的logistic映射,如果μ=4,PDF可改寫為:
![]()
通過ρ(x),可以很容易地計算得到logistic映射所產(chǎn)生的混沌序列的一些很有意義的統(tǒng)計特性。例如,x的時間平均即混沌序列軌跡點的均值為:
![]()
關(guān)于相關(guān)函數(shù),獨立選取兩個初始值xo和yo,則序列的互相關(guān)函數(shù)為:

注意聯(lián)合pdf ρ(x,y)=ρ(x)*ρ(y)。
而序列的自相關(guān)函數(shù)(auto-correlation functions,ACF)則等于delta函數(shù)θ(1)。
Logistic序列的以上特性表明,混沌動力系統(tǒng)具有確定性,其遍歷統(tǒng)計特性等同于白噪聲,其具有形式簡單,初始條件的敏感性和具備白噪聲的統(tǒng)計特性等諸多特性。
2、混沌二維置換網(wǎng)絡(luò)的設(shè)計
密碼學(xué)中使用置換來進(jìn)行數(shù)據(jù)變換,主要有兩種作用:
(1)對數(shù)據(jù)內(nèi)容作不可預(yù)測的替換;
(2)改變數(shù)據(jù)在數(shù)據(jù)序列中的位置,即隨機(jī)換位。
對于第(2)種置換網(wǎng)絡(luò)也稱為置亂網(wǎng)絡(luò)。本文采用一種二維混沌置亂方法來應(yīng)用于圖像的加密。置換網(wǎng)絡(luò)的目的是利用若干步驟的變換,打亂原來元素的位置,使原來有規(guī)則的元素分布在多次變換后顯現(xiàn)無規(guī)則、接近隨機(jī)的分布,從而起到信息保密的作用。這里將混沌序列引入密碼置換網(wǎng)絡(luò),利用混沌映射產(chǎn)生序列的非線性以及其軌道點的遍歷性,來產(chǎn)生置換網(wǎng)絡(luò)的雙射變換所需的地址。
加密算法原理框圖如圖1所示。

加密算法原理:設(shè)二維數(shù)字圖像的矩陣表示為Ai =[ai,j]MxN,其中ai,j代表圖像第i行第j列像素的灰度值(或RGB分量值),對圖像采用置換網(wǎng)絡(luò)的置亂在本質(zhì)上是原始圖像與加密圖像之間對應(yīng)點處灰度值的移動。圖1中,二維MxN置換陣列的存儲單元存放MxN個原圖像序列,混沌序列產(chǎn)生器a和b分別提供二維置換陣列的行地址和列地址,用來選擇要輸出的圖像序列。
圖1中Ai是置換前的明文序列,Ao是置換后的序列。這里Ai和Ao的關(guān)系由混沌序列產(chǎn)生器a和b來確定的。設(shè)用戶密鑰為x01,x02。利用密鑰值x01,x02,本文采用式(4)生成實數(shù)值混沌序x1k,x2k,在該加密算法中不使用該序列的初始段部分,設(shè)起始位置分n1,n2。然后由x1k和x2k分別生成二維置換陣列的行地址和列地址,這里采用兩個Chebyshev映射產(chǎn)生的序列加1成為區(qū)間[0,2]間的數(shù),然后乘以(M+1)/2和(N+1)/2取整來作為置換陣列的行地址和列地址。密鑰為(x01,x02,n1,n2)?;煦缧蛄挟a(chǎn)生器a和b產(chǎn)生序列直接決定了該置換網(wǎng)絡(luò)的保密性能。
三、基于分?jǐn)?shù)傅里葉變換的混沌圖像文件加密方法
結(jié)合使用圖像置亂和分?jǐn)?shù)傅里葉變換加密即是圖像雙重加密。將圖像置亂記為Jc(),圖像置亂的反變換記為J-c()。分?jǐn)?shù)傅里葉變換記為F(px,py),px,py分別為x,y方向的分?jǐn)?shù)傅里葉變換階數(shù),輸入圖像用f(x,y)表示。
對圖像進(jìn)行區(qū)域置亂變換,得到:
![]()
對變換過后的圖像進(jìn)行分?jǐn)?shù)傅里葉變換,可以得到:
![]()
這樣,也就得到最后加密結(jié)果為:
![]()
圖像解密的過程也就是加密的反過程。只要對式(12)進(jìn)行反變換就可以得到原來圖像信息,可由下式表示:
![]()
式(13)即為解密輸出圖。每一次變換都包含x和y兩個方向,即有px, py兩個變換密鑰。另外,雙重加密也可以先進(jìn)行分?jǐn)?shù)傅里葉變換后再進(jìn)行區(qū)域置亂加密,即最后的加密結(jié)果為:
![]()
相應(yīng)的解密過程為:
![]()
四、計算機(jī)模擬分析
1、數(shù)字圖像文件加密變換的計算機(jī)模擬實現(xiàn)
圖2為原始lena圖像,256灰度級,256x256像素。對原始圖像的x,y方向分別實施px=0.2,py= 0.7的不對稱分?jǐn)?shù)傅里葉變換,得到的加密圖像文件如圖3所示。

圖4為實施不同級次逆變換對加密圖像進(jìn)行解密所得的結(jié)果。解密參數(shù)px、py如圖4(a)~圖4(d)所示。

以上實驗結(jié)果可以看出,當(dāng)x,y方向的逆變換級次分別與原變換級次都接近時,能看到原圖像的部分信息。因此,本文提出同時采用圖像空間域置亂和頻率域分?jǐn)?shù)階傅里葉變換,實現(xiàn)圖像雙重加密。只有同時清楚空間域置亂密碼和分?jǐn)?shù)階傅里葉變換密碼才可能對加密圖像文件進(jìn)行有效解密。
2、基于分?jǐn)?shù)傅里葉變換的混沌圖像文件加密方法的計算機(jī)模擬
圖5是對圖1原始lena圖像先用混沌序列進(jìn)行置亂,然后再進(jìn)行分?jǐn)?shù)傅里葉變換得到的加密圖像。混沌密鑰為(x01,x02,n1,n2)=(0.4,0.6,5,10)。分?jǐn)?shù)傅里葉變換階數(shù)密鑰為(px,py)=(0.2,0.7)。

對加密后的圖像文件進(jìn)行解密,圖6是密鑰不正確時的解密圖像,其中圖6(a)是分?jǐn)?shù)傅里葉變換密鑰不正確,分?jǐn)?shù)階為(px=-0.12,py=-0.62),置亂反變換密鑰正確得到的解密圖像;圖6(b)是分?jǐn)?shù)傅里葉反變換密鑰正確,置亂反變換密碼不正確得到的解密圖像,(x01,x02,n1,n2)=(0.4001,0.600 1,5,10)。

圖7是密鑰都正確時的解密圖像。可見只有同時知道置亂密鑰和分?jǐn)?shù)傅里葉變換密鑰時才能得到原始圖像信息。

小知識之分?jǐn)?shù)傅里葉變換
在數(shù)學(xué)文獻(xiàn)中,分?jǐn)?shù)傅里葉變換(fractional Fourier transform,FRFT)指的就是傅里葉變換的廣義化。近幾年來,分?jǐn)?shù)傅里葉變換除了在信號處理領(lǐng)域有相當(dāng)廣泛的應(yīng)用,其也在數(shù)學(xué)上被單獨地研究,而定義出如分?jǐn)?shù)回旋積分(fractional convolution)、分?jǐn)?shù)相關(guān)(fractional correlation)……等許多相關(guān)的數(shù)學(xué)運算。
分?jǐn)?shù)傅里葉變換的物理意義即做傅里葉變換a次,其中a?不一定要為整數(shù);而做了分?jǐn)?shù)傅里葉變換之后,信號或輸入函數(shù)便會出現(xiàn)在介于時域與頻域之間的分?jǐn)?shù)域(fractional domain)。






