李俊梅,梁意文
(1. 荊楚理工學院計算機工程學院,湖北 荊門 448000;2. 武漢大學計算機學院,湖北,武漢, 430000)
光學信息處理方法主要通過對數(shù)據(jù)和圖像信息進行變換來達到用戶想要的效果,其核心部分是利用透鏡來實現(xiàn)傅里葉變換過程[1-2]。和其它的信息處理方法比較可知,光學信息處理表現(xiàn)出了更為突出的性能,能夠呈現(xiàn)更大的容量、更高的并行度、更快的實現(xiàn)速度等,因此,被廣泛應用到了圖像處理和信息安全等領域[3]。光學圖像加密技術[4]是一種將光學方法運用到加密算法中的新型技術,它在圖像加密領域表現(xiàn)出了更高的安全性和更優(yōu)越的信息處理能力,使加密圖像不容易受到攻擊。因此,越來越多的相關研究被投入到了光學圖像加密領域[5-6]。陳曉東等人[7]提出利用多混沌結合分數(shù)傅里葉變換的加密方法,首先借助分數(shù)階Chen混沌系統(tǒng)來實現(xiàn)像素值的擾亂,然后利用細胞神經(jīng)網(wǎng)絡混沌系統(tǒng)來進一步調制相位模板,從而完成了圖像的加密。結果顯示了該算法具有較好的抗攻擊性能。但超混沌的復雜性能會影響加密效率,導致加密耗時較多;并且分數(shù)傅里葉具有線性特性,限制了算法的安全性。Faragallah等人[8]提出了基于菲涅耳域來實現(xiàn)雙圖像的加密方法,通過二維的混沌Arnold變換對初始圖像做相應的預處理,并利用二維Logistic對正弦相位掩模進行調整。結果表明了該算法安全性能較好,但其密鑰空間較小,使其抗攻擊能力不足。Chen等人[9]借助小波變換和菲涅耳變換,設計了基于壓縮感知和特征融合的多圖像加密方法,先采用小波變換對多個圖像加以處理,將高頻和低頻信息進行融合,構造高、低頻融合圖像,然后在菲涅耳域中對相位信息分別進行了截斷和保留處理。結果驗證了該算法能夠有效降低存儲容量,但該方法存在抗剪切攻擊性能較差的問題,降低了密文的安全性。
針對當前光學圖像加密算法存在的不足,本文設計了基于Tent映射和孔徑分數(shù)梅林變換(Fractional Mellin Transform,F(xiàn)rMT)的光學圖像加密方法。利用在透鏡前面放置一個硬邊光闌,構建了一個孔徑分數(shù)梅林變換光學模型,該變換能夠有效地避免傅里葉變換的線性屬性。為增強了密鑰的隨機性,借助Tent映射產(chǎn)生一個輔助相位,并將其融入到迭代加密的相位信息中來提高算法的穩(wěn)健性。再采用Tent映射對迭代加密后的幅度信息進行異或操作,輸出密文。最后,通過實驗測試了本算法的安全性和有效性。
分數(shù)傅里葉變換能夠很好的描述圖像在空間域和頻域中的局部特性,在光學信號處理和加密領域應用非常地廣泛。函數(shù)f(t)的分數(shù)傅里葉變換[10](Fractional Fourier Transform,F(xiàn)rFT)表達式為
(1)
其中,Kα(t,u)為積分內(nèi)核函數(shù),其可表示為
(2)
式中,F(xiàn)α是函數(shù)f(t)的α階FrFT表示,α為FrFT的階數(shù),且0<|α|<2,旋轉角度φ=απ/2。
(3)
式中,E(x,y,z)為出射面的復振幅,E(x0,y0,0)為入射面的復振幅,k表示波數(shù),且k=2π/λ,λ表示波長,s表示為積分曲面,A、B、C、D為入射面和出射面的變換矩陣的矩陣單元,z為傳輸距離。
圖1 孔徑FrMT變換光學實現(xiàn)
根據(jù)提出的孔徑FrFT光學系統(tǒng),可利用柯林斯衍射積分將其分解成兩個ABCD光學系統(tǒng)。即從入射面P1到硬邊光闌P2的衍射積分方程為
(4)
(5)
從透鏡面P2到出射面P3之間的衍射積分方程表示為
2(x1x2+y1y2)}dx1dy1
(6)
(7)
假設硬邊光闌是個圓形孔徑,它可以表示為如下函數(shù)形式
(8)
則,式(7)還可以表示為
(9)
因此,根據(jù)式(4)-(9),可以通過改變距離d和透鏡的焦距fs來實現(xiàn)孔徑α階FrFT變換。
分數(shù)梅林變換[12](Fractional Mellin Transform,F(xiàn)rMT)可以將初始信息進行對數(shù)坐標變換,以此來實現(xiàn)非線性處理,并且FrMT和FrFT之間還存在著非常密切的聯(lián)系。FrMT的定義可表示為
(10)
式中,f(x,y)為二維函數(shù),E為恒定常數(shù),p為FrMT階數(shù),φ1=p1π/2,且φ2=p2π/2。
由式(10)可知,F(xiàn)rMT其實就是先對二維函數(shù)f(x,y)作對數(shù)-極坐標變換,然后再進行FrFT變換,即為:M(p1,p2)(u,v)=F(p1,p2)(f(ρ,θ))。對于對數(shù)-極坐標變換的定義可表示為
(11)
當p=0時,執(zhí)行圖像的對數(shù)-極坐標變換;而當p=1時,執(zhí)行圖像的梅林變換。因此,根據(jù)FrMT和FrFT之間的變換關系,可以有效地實現(xiàn)輸入圖像的分數(shù)梅林變換。
令f(x,y)為大小256×256的初始圖像,圖像的中心記為圓心,然后將初始圖像進行分割,得到數(shù)量為N的環(huán)域子圖像,并將這些子圖像記作為fi(x,y),其中i=1,2,…,N。因此,f1(x,y)是半徑為r1的圓形子圖像,而fi(x,y)(其中,i>1)是以ri為內(nèi)徑而ri+1為外徑的環(huán)形子圖像。以不同階數(shù)的分數(shù)梅林變換對這N個環(huán)域子圖像進行幅度編碼和相位編碼。調制過程中,借助計算機來實現(xiàn)迭代加密,其光學系統(tǒng)實現(xiàn)過程如圖2所示。
圖2 孔徑FrMT變換的光電混合實現(xiàn)
首先,對待加密圖像的環(huán)域子圖像進行對數(shù)-極坐標變換,將所得的變換結果讀入空間光調制器SLM1,隨后通過透鏡Lens1來實現(xiàn)環(huán)域子圖像的孔徑分數(shù)傅里葉變換,利用圖像傳感器CCD1對輸出結果進行接收,并將其輸入到計算機中。其次,利用光調制器SLM2對變換結果進行幅度編碼,利用SLM3來實現(xiàn)相位編碼。最后,通過透鏡Lens2將頻域轉化為空域,利用CCD2進行記錄并傳輸?shù)接嬎銠C中。加密過程中采用了重復迭代的方法進行加密(見圖3)。
圖3 加密過程的迭代方法
圖像的具體迭代加密過程如下:
1)將待加密圖像f(x,y)分解成N個環(huán)狀子圖像fi(x,y)其中,i=1,2,…,N。接著,對fi(x,y)進行pi階的孔徑FrMT變換,獲得復值圖像gi(u,v)。
2)對gi(u,v)進行幅度提取,然后將幅度信息轉變成分布為[0,2π]相位信息,變換形式如下:
Ai(u,v)=|gi(u,v)|
(12)
(13)
Φi(u,v)=Arg[gi(u,v)]
(14)
式中,|·|為圖像的幅度提取,Arg[·]為圖像的相位提取。
(15)
(16)
式中,Bi(u,v)為得到的幅度,φi(u,v)為得到的相位,F(xiàn)q(·)為q階FrFT。ψi(u,v)是加密系統(tǒng)中的密鑰。
4)對φi(u,v)進行加密處理,引入密鑰θi(u,v)。令θi(u,v)=φi(u,v)-ψi(u,v),將Φi(u,v)和θi(u,v)共同編碼成相位信息。接著,結合Bi(u,v)進行分數(shù)傅里葉變換獲得Ci(u,v)
Ci(u,v)exp[iξi(u,v)
=Fq(Bi(u,v)exp[i[θi(u,v)+Φi(u,v)]])
(17)
5)執(zhí)行重復迭代,用Ci(u,v)替代Ci-1(u,v),ξi(u,v)替代ξi-1(u,v),進行下一次迭代,直到N-1次時停止,最后得到了密文C(u,v)=CN(u,v)exp[iξN(u,v)]。另外,密文圖像的解密是上述方法的逆向過程。
圖3 加密過程的迭代方法
為了提高孔徑梅林變換的加密安全性,將Tent映射[13]融入到圖像的迭代加密過程中,以增強密文的安全性和密鑰的隨機性。本文算法的加解密過程如圖4所示。
圖4 本文算法的加密和解密過程
具體過程如下:
1)對初始圖像f(x,y)進行對數(shù)-極坐標變換,接著將變換結果圖像分解成數(shù)量為N的環(huán)域子圖像fi(x′,y′),其中i=1,2,…N,1≤x′≤nr,1≤y′≤nw,這些圖像的內(nèi)外半徑分別為ri-1、ri。
2)引入一個圓形孔徑(半徑大小為a)的硬邊光闌,構建孔徑分數(shù)梅林變換模型,然后對這些子圖像采用不同的階數(shù)進行變換
Fi(u,v)=Ta{fi(x′,y′)},i=1,2,…,N
(18)
式中,Ta{·}表示孔徑分數(shù)傅里葉變換。變換過程中,孔徑半徑a,分數(shù)傅里葉的階數(shù)pi,外環(huán)半徑ri和波長λ均可作為本加密過程中的密鑰。
3)根據(jù)重復迭代方法,利用光調制器分別對變換結果進行幅度編碼和相位編碼。隨后,聯(lián)合編碼結果進行分數(shù)傅里葉變換,獲得中間結果C′(u,v):
C′(u,v)=CNexp[iξN(u,v)]
(19)
式中,CN(u,v)為N次迭代后得到的幅度,ξN(u,v)為N次迭代后得到的相位。迭代編碼過程中,相位信息θi(u,v)和ψi(u,v)均可作為加密密鑰。
4)引入Tent映射來產(chǎn)生一個輔助隨機函數(shù)g(x,y)(其中,1≤x≤255,1≤y≤255),將g(x,y)重復執(zhí)行上述1)-3)步驟,得到w(u,v)。提取w(u,v)中的相位信息,并將其融入到θi(u,v)和ψi(u,v)中來增強密鑰的隨機性。
τ(u,v)=Arg[w(u,v)]
(20)
(21)
(22)
式中,Arg[·]為相位提取操作。
5)提取C′(u,v)中的幅度信息和相位信息,并使用Tent映射對提取的幅度信息執(zhí)行異或操作,最終獲得密文圖像C。
CA(u,v)=|C′(u,v)|
(23)
P(u,v)=Arg[C′(u,v)]
(24)
C=CA(u,v)⊕CTent
(25)
式中,| |幅度提取操作。⊕為異或操作,CTent為Tent映射產(chǎn)生的大小為nr×nw的隨機矩陣。本算法的解密過程為其逆流程,并且提取的相位P(u,v)將被用于對密文圖像的解密。
為了驗證本光學圖像加密方法的有效性與安全性,Windows 7操作系統(tǒng)和MATLAB 2017a下進行了相關的性能測試,計算機處理器CPU主頻為3.60 GHz,內(nèi)存RAM 4GB。仿真過程中,選取了加密安全性較好的算法作為實驗的對照組:文獻[13]與文獻[14]。文獻[13]利用相干疊加和模均等矢量分解的方法,利用混沌序列和Fourier 變換混亂的相干性疊加完成加密。文獻[14]采用了一種在傅里葉域中進行向量計算的高效光學加密方法,將變換后的合成矢量導入到雙隨機相位系統(tǒng)中實現(xiàn)加密。
本文測試的圖像大小為256×256。經(jīng)反復測試,選取的參數(shù)為:環(huán)域子圖像個數(shù)N=6;子圖像外半徑分別為:r1=35,r2=75,r3=110,r4=135,r5=160,r6=185;nr=500,nw=500;孔徑FrMT參數(shù):波長λ=632.8mm,焦距fs=4mm,孔徑半徑a=3.5,F(xiàn)rMT和FrFT的階次p、q均為0.5。
利用本算法、文獻[13]及文獻[14]對明文圖像進行了實驗測試,加密效果見圖5。由密文測試結果可知,所選用的三種加密方法均取得了較好的明文隱藏效果,很難從密文圖像中找出明文的信息,明文信息被有效地覆蓋。為進一步評估三種算法所得密文圖像的混亂程度,本文利用信息熵值[15]進行量化評估。表1為不同光學加密算法的信息熵值測試結果。由結果可知,本文的密文熵值約為7.9993,文獻[13]的密文熵值約為7.9960,文獻[14]的密文熵值約為7.9945。因此,相比于其它兩種算法,本文算法的熵值更高,更接近于理論值8,說明了本文算法獲得的密文圖像信息更為混亂,其安全性能要相對更好。其主要原因為本算法在分數(shù)梅林變換的非線性混亂的同時,融入了Tent映射對密鑰信息和變換結果信息施加了進一步的置亂操作,使得密文信息的混亂程度增強。而文獻[13]和[14]只單純對相位掩摸進行混亂,其混亂效果相對欠佳。
圖5 三種光學加密算法的密文效果
表1 信息熵值的測試結果
密鑰敏感性強的加密算法在密鑰發(fā)生微小的改變時,很難解密出圖像的初始信息,滿足所謂的“雪崩效應”[17],因此,好的密鑰敏感性的加密算法能夠提高密文的安全性。本文在保持其它密鑰不變的情況下,對混沌變量μ=3.51的敏感性進行了測試。將u產(chǎn)生偏差△t=10-15,得到新密鑰u=3.51×10-15,然后將其用于解密。解密的效果見圖6,由圖可知,在μ產(chǎn)生偏差時,非授權用戶不能解密出圖像信息??梢?,即使密鑰發(fā)生非常小的變化時,黑客也不能正確地完成解密過程,說明了本算法符合“雪崩效應”,具備較強的密鑰敏感性能。
圖6 本文算法的密鑰敏感性測試
由于圖像的相鄰像素間存在著非常強的相關性, 這就導致了攻擊者能夠借助數(shù)據(jù)統(tǒng)計對密文實施非法攻擊,從而分析出圖像的真實內(nèi)容信息[16]。因此,有效的加密算法能夠消減這種對密文不利的相關性, 使得相關性系數(shù)盡可能地接近于零,這樣才能保證不容易受到攻擊[16]。相關性系數(shù)Rxy的計算為
(26)
式中,N為選取的相鄰像素總數(shù)。
本文分別從明文和密文圖像中選擇了300對像素點來對三種算法進行測試,測試結果見圖7和表2。從圖7可知,所提算法的密文圖像在水平方向上的像素分布更為均勻,而明文圖像的相鄰像素間的Rxy值較高,其分布近似于對角線分布;從表2中的數(shù)據(jù)可知,本文算法密文在三個方向的Rxy值要略小于其它兩種算法,相關性系數(shù)要更接近于0。因此,通過對比數(shù)據(jù)分析,可以充分說明本文算法具有更好的抗統(tǒng)計攻擊性能。原因是本文加密算法在對數(shù)-極坐標的變換下,充分混亂了像素的位置,使相鄰像素間的相關性大幅度減小,而分數(shù)傅里葉變換不具備這一特性。
圖7 密文的相關性測試(水平方向上)
表2 不同算法的相鄰像素間相關性效果
5.4.1 剪切攻擊測試
本文通過對密文圖像進行剪切1/4來測試本文算法的抗剪切攻擊性能。剪切測試結果如圖8所示。圖8中的(a)、(c)、(e)均為剪切1/4的三種密文圖像,圖8(b)、(d)、(f)分別為做剪切處理后再實施解密的測試效果??梢杂^測到,經(jīng)剪切攻擊后,本加密算法得到的圖像信息幾乎沒有丟失,同樣可以解密出相似度較高的圖像。而文獻[13]和文獻[14]這兩算法解密效果相對要差很多,雖然解密出了明文,但是獲得的圖像信息存在嚴重的丟失現(xiàn)象,未能將明文信息完全解密出來。因此,說明了本文算法具有較好的抗剪切攻擊性能。
圖8 剪切測試結果
5.4.2 噪聲攻擊測試
噪聲干擾在很大程度上會影響圖像的解密效果[17]。為測試本文算法在抵抗噪聲攻擊方面的穩(wěn)健性,將其在不同高斯噪聲強度條件下進行驗證。圖像的噪聲干擾表達式如下
C′=C+KG
(27)
式中,C為初始圖像,C′為噪聲干擾圖像;K為噪聲強度系數(shù);G為使用的高斯噪聲。
圖10為三種不同算法的抗噪聲攻擊性能對比測試,從結果中可以看出,三種算法進行解密獲得的MSE值與K成正比關系,即MSE值隨著K的增大而增大,而且均表現(xiàn)出優(yōu)良的抗噪聲攻擊性能。當k=1時,三種算法的MSE分別為981,875,647,因此本算法的MSE值相比于其它兩種算法要更低。這表明了本文加密技術的抵抗噪聲攻擊能力更強。
圖9 抗噪聲攻擊性能對比測試
5.4.3 已知明文攻擊測試
破譯者可以對部分明文或相應的密文實施攻擊來獲取加密信息,以此達到明文攻擊的目的[18]。對此,本文假設破譯者獲得了本文的初始圖像信息和密文信息,并采用相位恢復的手段實施攻擊。攻擊結果如圖10所示。圖(a)為破譯者劫取的明文圖像,圖(b)為破譯者獲取的密文圖像,圖(c)為經(jīng)本加密算法加密后的Baboon密文圖像,圖(d)為破譯者利用相位恢復算法對圖(c)實施攻擊后的輸出結果。由圖(d)可知,雖然破譯者獲得了明文信息和密文信息,但是卻無法解密出密文圖像(c),說明了本加密算法具有非常好的抗明文攻擊性能。
圖10 明文攻擊結果
綜上可知,本文算加密法具有非常好的抗攻擊性能,能夠抵御各種不良因素的攻擊。原因是因為空徑FrMT變換擁有較好的非線性特性,孔徑大小的正確調節(jié)決定了輸入圖像的頻率截斷,并且通過重復迭代加密,使幅度信息和相位信息產(chǎn)生了嚴密的關聯(lián)。通過融入隨機相位,使密鑰具備更強的隨機性,這就導致非法攻擊者很難利用不正當手段盜竊明文信息,相比與傅里葉變換的線性關系,本算法的抗攻擊性能更強。
為解決當前的光學圖像加密方法容易遭受各類攻擊的潛在安全問題。本文設計了基于Tent映射和孔徑分數(shù)梅林變換的光學圖像加密算法。通過孔徑分數(shù)梅林變換對初始圖像實施對數(shù)-極坐標變換,利用重復迭代對幅度信息和相位信息進行編碼,增強了圖像的非線性特性和密鑰的隨機性。同時,采用Tent映射進行混亂操作,進一步增強了圖像的混亂程度。實驗結果顯示,本文算法具備更好的魯棒性和穩(wěn)定性,能夠有效地抵抗各類非法攻擊。