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