(安徽三聯(lián)學院 電子電氣工程學院,安徽 合肥 230601)
隨著多媒體信息技術(shù)的發(fā)展,數(shù)字圖像已經(jīng)成為人們傳播的主要信息,因此圖像加密技術(shù)隨之也成為信息安全領域的一個重要研究課題.而利用相位恢復算法來進行光學圖像的加密,是圖像加密的一種簡單有效的手段,近年來發(fā)展迅速.相位恢復技術(shù)是指利用直接測量得到的強度信息通過迭代或者直接計算的方法得到相位,為全光場重構(gòu)進而實現(xiàn)三維顯示技術(shù)提供重要的數(shù)據(jù)信息[1],是現(xiàn)代光學發(fā)展的一個重要研究領域.相位恢復算法的經(jīng)典算法主要有GS(Gerchberg-Saxton)迭代算法[2]和利用強度傳輸方程(Transport-of-Intensity Equation,后面簡稱TIE)來求解相位的確定性解的求解方法[3,4].其中的GS算法可以用于圖像加密技術(shù),其加密方法靈活,加密解密過程相對簡單.整個加密解密方法可以用于不同的加密系統(tǒng)中,如基于傅立葉變換方法的加密系統(tǒng)、分數(shù)傅里葉變換的加密系統(tǒng)等[5].總之,對于利用相位恢復算法中的GS算法進行圖像加密的研究具有非常重要的意義.
GS算法是相位恢復技術(shù)中的一種經(jīng)典算法,而相位恢復技術(shù)是指利用直接測量得到的強度信息通過一系列計算得到物體的相位信息,從而重建原物體的波函數(shù).相位恢復算法的主要算法有兩類:GS迭代算法和基于TIE方程的方法.Gerchberg等人在1972年提出了Gerchberg-Saxton算法(簡稱GS算法),主要思想是在圖像空間和傅立葉空間之間利用已知的信息或者約束來重復迭代.后來國內(nèi)外學者在GS算法的基礎上也先后提出了很多的改進算法,提高了算法的精度和收斂速度.GS算法原理如下:設光束的光場函數(shù)為
f(x,y)=|f(x,y)|exp[iφ1(x,y)]
(1)
其對應的聚焦平面上的光場函數(shù)可以表示為
g(x,y)=|g(x,y)|exp[iφ2(x,y)]
(2)
其中,|f(x,y)|2,|g(x,y)|2為強度信息,φ1(x,y),φ2(x,y)為相位信息.其中,f和g滿足正反傅立葉變換的關(guān)系.GS算法流程圖如圖1所示,具體思想是任意給定一輸入面上的初始相位,這里的相位可以是隨機的相位.然后與入射光的振幅組合在一起,構(gòu)成入射波函數(shù)f(x,y),再對入射波函數(shù)f(x,y)作傅立葉變換,這時得到函數(shù)g(u,v),對函數(shù)g(u,v)的相位部分,再與輸出面上希望得到的振幅分布函數(shù)|G(u,v)|構(gòu)成函數(shù)g′(u,v).然后對函數(shù)g′(u,v)作逆傅立葉變換,這時將得到下一步迭代波函數(shù)f′(x,y),最后取其相位部分代入原初始相位中.重復上述過程一直到設定的迭代次數(shù)或者誤差小于預先設置好的值為止.
圖1 GS算法流程圖
針對上述的GS算法,將基于GS算法求解出來的相位作為圖像加密的密鑰,通過密鑰再將加密的圖像解密出來,加密流程如圖2所示,θ(x,y)為經(jīng)過相位恢復算法處理后得到的圖像全部信息的相位.對圖像進行解密的時候,只需要將θ(x,y)作為相位組成的相位頻譜函數(shù)進行傅里葉變換就可以得到解密后的圖像.該過程可以利用MATLAB軟件進行整個算法的模擬實驗驗證.
圖2 圖像加密與解密流程示意圖
整個實驗的仿真過程基于MATLAB軟件呈現(xiàn).圖3是原始待加密圖像,該圖像的相位值分布在[0,2π]區(qū)間,圖像大小為256×256像素.并且假設初始相位是隨機相位,物體平面的強度分布是均勻的,即I0(x,y)≡1,將隨機相位和物體平面強度構(gòu)成入射波函數(shù).
圖3 原始待加密圖像
根據(jù)上述的GS算法流程進行迭代運算,第一次迭代次數(shù)為10次,得到的相位如圖4.1所示,此時得到的相位分布圖與原始待加密的圖像完全不同,因此可以作為加密后的圖像.而解密的時候?qū)⒌玫降南辔活l譜函數(shù)進行傅立葉變換即可得到解密后的圖像.解密后的仿真圖如圖4.2所示,解密過程簡單、方便.可以看出來,圖4.2的解密后的圖像與原始圖像有一定的差距.由于迭代次數(shù)少,導致解密的圖像與原始圖像有一定誤差.下面研究算法的迭代次數(shù)對解密圖像質(zhì)量的影響.
圖4.1 迭代10次的加密圖像 圖4.2 迭代10次的解密圖像
還是以圖3作為原始待加密圖像,所有條件不變,利用GS算法運算迭代100次,得到的相位信息即加密后的圖像分布如圖5.1所示.
圖5.1 迭代100次的加密圖像 圖5.2 迭代100次的解密圖像
此時得到的解密之后的圖像分布如圖5.2所示,迭代100次之后解密的圖像幾乎與原圖一致,效果很好.可見,迭代次數(shù)直接影響了圖像加密后再解密的圖像質(zhì)量.具體隨著迭代次數(shù)的增加,原始圖像與解密之后的圖像的誤差系數(shù)如附表所示.
(3)
附表 迭代次數(shù)對原圖與解密后圖像誤差的影響
圖6 誤差曲線示意圖
由附表所示的實驗數(shù)據(jù)以及圖6的迭代次數(shù)與誤差系數(shù)之間的曲線示意圖可以看出,隨著迭代次數(shù)的增加,解密圖像與原圖像之間的差距原來越小.當?shù)螖?shù)到達100次時,幾乎與原圖像一致.迭代次數(shù)從10次增加到50次之間時,隨著次數(shù)增加誤差顯著減小.當?shù)螖?shù)達到70次之后,隨著迭代次數(shù)的增加,誤差之間的差距變化越來越慢.
GS算法原理是利用波場傳播的可逆性質(zhì),在兩幅圖像之間反復迭代,求出原始圖像的相位信息,而此時通過相位信息看不出原始圖像,可以作為加密后的圖像.所以GS算法可以用于圖像加密,解密時,只需將相位頻譜做傅里葉變換即可,非常方便.而且GS算法的迭代次數(shù),直接影響了解密圖像的質(zhì)量,本文對此作了深入的研究,也作了相關(guān)的仿真實驗.實驗表明,隨著迭代次數(shù)的增加,圖像解密的質(zhì)量會越高,解密后的圖像與原圖像之間的誤差系數(shù)越來越小,因而越接近于原圖像.