利用不同空間頻率的組合光柵實現任意進制的光邏輯計算和光學加密
以電子作為載體的計算機存在速度極限,且并行處理能力不足,國內外研究者普遍認為,光計算是突破上述瓶頸的有效途徑。利用阿貝成像和口調制原理設計的8f系統(tǒng),可以實現光的二進制和三進制邏輯計算,本實驗同樣采用8f系統(tǒng),如圖1所示,相鄰透鏡的前后焦點重合。

在輸入面A和輸入面B上分別放人由取向不同的光柵組成的光柵陣列,利用光柵的不同取向編碼不同的數值作為輸入,并且2組光柵陣列的空間頻率不同(fA>fB)。根據卷積定理,濾波面2上的圖像是前后2個光柵陣列頻率圖像的卷積,并呈現高度的幾何對稱性。如果在濾波面1和濾波面2上采用合適的方式進行濾波,則可以調控像屏上的圖像輸出,使不同的區(qū)域呈現出不同的顏色或灰度,用以表示不同的運算結果,這就實現了任意進制的邏輯計算。進而,這一方案還可以應用在光學加密上,用于加密彩色圖像和灰度圖像,本文利用電尋址液晶光閥系統(tǒng),繪制光柵作為輸入面A和輸入面B,綜合實驗和計算機模擬的手段,研究證實了這一方案的可行性。
一、任意進制邏輯運算
1、基本思想
下面以四進制為例介紹光邏輯運算的方法,在輸入面A上放置4種不同取向的光柵,用不同取向分別編碼0,1,2,3四個數值,編碼相鄰數值的光柵取向相差π/4,如圖2(a)所示。對于N進制的計算,則用來編碼相鄰數值的光柵取向相差π/N。
根據阿貝成像原理,濾波面1上呈現的圖像將是輸入面A上圖像的傅里葉變換,應用Mathematica內嵌的函數Fourier[]以及InverseFourier[]對這一成像過程進行了模擬,得到的濾波面1上的圖像如圖3(a)所示,它是輸入面A的頻譜。觀察該頻譜,發(fā)現不同取向光柵對應的衍射點在空間位置上發(fā)生了分離,并且同級衍射點分布在同一圓上,對于N進制,圓上將有2N個點。此時在輸入面B上同樣放置4種不同取向的光柵,采用與輸入面A相同的編碼方式(N進制時類似),但是其空間頻率要比輸入面A上光柵空間頻率小,如圖2(b)所示。

則輸入面B經過傅里葉變換后的頻譜圖像將如圖3(b)所示。

根據傅里葉變換關系嘲,濾波面2上出現的圖像將是A和B兩個輸入面圖像傅里葉頻譜的卷積,由卷積定理:

可知,濾波面2上的圖像將是輸入面B的頻譜圖像[圖3(b)]在輸入面A頻譜圖像[圖3(a)]上的疊加,即在原來濾波面1的衍射點周圍又分散出1圈衍射點,其半徑小于濾波面1的大圓,如圖3(c)所示,呈現“大圓套小圓”的形態(tài)。小圓上的各個衍射點代表了前后2次輸入的不同運算組合,共有16種,如圖4所示,其中標注“0+1"的衍射點代表輸入面A輸人數值為0,且輸入面B輸人數值為1的運算情況,其他各點以此類推。

如果在濾波面2上采用不同透光度的濾波片,調節(jié)小圓上不同衍射點所能透過的光強,使像屏上相應的區(qū)域呈現不同的亮度,以此來編碼不同的輸出數值,則可以實現任意進制邏輯計算。
2、實驗實現
進行邏輯計算時,比如要計算2個矩陣A和B的各個矩陣元經過某種邏輯計算(實驗中采用的是半加運算)后得到的矩陣,應該按照如下過程進行:
1)在輸入面A和輸入面B上分別根據矩陣A和矩陣B放置光柵陣列,不同取向的光柵對應矩陣元的不同取值,實驗中要計算的矩陣為:

因而繪制的光柵如圖2(a)和(b)所示。
2)按照邏輯運算方式進行濾波.在濾波面1上放過所有的1級衍射點,則在濾波面2上將出現“大圓套小圓”的模型。如前所述,小圓上的各個衍射點代表了輸入面A和輸入面B的光柵取向的不同組合,也就對應了前后2個矩陣不同取值的組合,如圖4所示,對于濾波面2上不同的衍射點,根據邏輯計算的結果調節(jié)成相應的透光度,比如計算結果為0的所有點透光度被調節(jié)為級別0,計算結果為1,2,3的衍射點透光度被分別調節(jié)為級別1,2,3,而實驗中采用的是四進制半加運算,對應相同運算組合的點正好有4個,如圖5(a)標出的4個點都對應運算“0+0",于是其濾波方式就可以變得相對簡單。將4個點全部遮住表示0,放過1個點表示1,放過3個點表示2,4個點全放過表示3,這樣像屏上相應的區(qū)域同樣會呈現不同程度的灰度。這是對于四進制所能采同透光度的濾波片調節(jié)小圓上不同亮點所能透過的光強。
3)觀察像屏得到運算結果.按照如上所述方式進行濾波后,像屏上不同區(qū)域將呈現出4種不同的亮度級別,分別對應相應的運算結果。實驗中計算的是矩陣A和B的半加運算,理論上結果應當為:

實驗得到的像屏上的輸出如圖5(b)所示,與理論是相符合的。

為了更清楚地顯示輸出結果,繪制圖5(b)中沿虛線A和虛線B所對應區(qū)域的亮度分布曲線如圖5(c)和(d)所示,可以看出,虛線A上亮度由左到右依次遞減,代表3,2,1,0,虛線B上由左到右為2,1,0,3,它們與理論預測都是相符的。
如果要計算另外2個矩陣的四進制半加運算結果,則可以根據新的矩陣A和矩陣B重現排布輸入面A和輸入面B上的光柵陣列,濾波方式不變,像屏上將輸出新的運算結果。
如果將光源換成白光光源,則由于不同顏色光的波長不同,濾波面上的圖像將發(fā)生色散,對于小圓上不同的點,放過不同顏色的光,則同樣可以進行四進制邏輯計算,輸出結果將不再用灰度表示,而是用不同的顏色來編碼不同的數值輸出,這將使實驗結果更直觀。實驗中也觀察到了有色散的濾波面2,如圖6 (a)所示,但是由于白光光源條件的強度有限,濾波后最終像屏上的圖像已經無法拍攝下來。因而改用Mathematlca模擬了這一過程,結果如圖6(b)和(c)所示。輸入面A和B上的光柵仍然采用圖2(a)和(b)中的光柵圖像,可以看到,像屏上運算結果不同的區(qū)域呈現出不同的顏色,表示了不同的運算結果。

3、關于光柵空間頻率比的討論
在上述“大圓套小圓”的模型中,大圓半徑正比于輸入A的光柵空間頻率,小圓半徑正比于輸入B的光柵空間頻率,如果搭配不合適,相鄰2個小圓上的亮點會相互影響,甚至重疊,從而無法區(qū)分。為此,前后2次輸入的光柵頻率比必須滿足一定的關系,在這里給出粗略的計算。

如圖7,當小圓上恰好有點(A點)重疊時,
![]()
其中N表示N進制,當N1時,
,即在N比較大時,這一函數有著8類似于線性的關系,不會產生像ex那樣的指數爆炸,也就是說,該方案對于高進制同樣是有效的。
對于四進制運算,最小頻率比
,采用光柵頻率比fA:fB=3:1所拍到的濾波面2如圖8(a)所示,由于接近最小頻率比,小圓上的點已經開始重合,實際實驗中采用fA=fB=4{1的光柵空間頻率比,濾波面2如圖5(a),相鄰小圓上的點不會重合。
在進行二進制和三進制邏輯計算時,輸入面A和輸入面B采用的是空間頻率相同的光柵,對于四進制邏輯計算,如果沿用這一方法,則濾波面2上的圖像將如圖8(b)所示,注意圖中點A,B,C,D都是幾個衍射點的重合,例如A點就是“1+3"和“3+1"的重合點,這就意味著這些點對應的不是一種運算結果,而是多種,于是就無法完成對其中某一種運算的空間濾波,進而也就無法實現四進制邏輯運算。因此在輸入面A和B上采用空間頻率不同的光柵作為輸入是實現任意進制邏輯運算的基礎,也是區(qū)別于以前二進制和三進制進制邏輯計算的不同之處。

三、任意進制光學加密
理論上這套光學系統(tǒng)不僅可以應用于二進制即單色圖像的加密,還可以加密彩色圖像和灰度圖像。
光學加密的過程如下:
a、選定一種邏輯計算方式作為加密算法,然后隨機制作解碼板,也就是密鑰。
b、根據要加密圖像和解碼板,按之前選定的邏輯運算方式計算出密碼板的形式,制作密碼板。
c、解密時,將密碼板放入上述光學系統(tǒng)的輸入面A,在濾波面1上放過所有一級衍射點,然后在輸入面B上放人正確的解碼板,并在濾波面2上采用正確的邏輯計算方式進行濾波,則在像屏
上能夠重現出被加密的圖像,解碼成功,如果濾波方式錯誤或者在輸入面B上放人錯誤的解碼板,則像屏上不能重現被加密的圖像。
1、二進制單色圖像加密
首先進行的是二進制的光學加密,也就是單色圖像的加密。由(2)式可知,輸入面A與輸入面B光柵空間頻率比的極限值是cot f(π/2×2)=1,實驗中在輸入面A和B上使用了相同空間頻率的光柵。
1)選定邏輯計算方式(實驗中采用異或運算)制作解碼板,解碼板大小與要加密圖像相同。首先將解碼板劃分成6×8=48個小方塊,再隨機產生6×8的矩陣B,矩陣元的取值為O或1。然后在矩陣元為O的小方塊上放置水平光柵,矩陣元為1的小方塊上放置豎直光柵,解碼板即制作完畢,實驗中的光柵都是利用電尋址液晶光閥繪制的,如圖9(e)所示。

2)加密圖像,要加密的圖像如圖9(c)所示,同樣可以用6×8的矩陣來表示。w將圖像上白色區(qū)域的矩陣元取值設為1,黑色區(qū)域的矩陣元取值設為O,于是得到加密圖像所對應的矩陣J,根據事先選定的異或運算關系式AijxorBij=Iij,可以唯一確定出密碼板所對應的矩陣A(也是6×8的矩陣),進而制作出密碼板,如圖9(d)所示。
3)解密過程,在輸入面A上放置密碼板,濾波面1采用如圖9(a)的濾波方式,即放過所有一級衍射點,輸入面B上放人正確的解碼板,濾波面2采用異或運算對應的濾波方式,即保證前后2次輸入相同時輸出為1,前后2次輸入不同時輸出為O,因此放過O +0和1+1的點,遮住0+1和i+o的點,如圖9(b)所示。于是,像屏上的輸出圖像重現了被加密的原圖,如圖9(f)所示,解碼成功。如果在輸入面B上放入的是錯誤解碼板,如圖9(g)所示,像屏上得到的圖像如圖9(h)所示,沒有重現原圖,解碼失敗。
2、灰度圖像和彩色圖像加密
二進制光學加密的輸出只有0和1兩種,因而只能加密單色圖,圖像沒有顏色和灰度的區(qū)分,如果采用多進制邏輯運算,由于輸出存在多種不同的取值方式,則可以加密彩色圖像和灰度圖像。
以四進制邏輯運算作為基礎,采用Mathematica模擬了灰度圖像的加密,過程如下:
1)首先選定一種邏輯計算方式i模擬中采用四進制半加運算,然后隨機制作解碼板作為密鑰,將整個圖像分為8×8個區(qū)域,隨機產生8×8的矩陣B,矩陣元可以取O,1,2,3四種取值。根據矩陣元的不同取值在相應的區(qū)域放置不同取向的光柵,制成的解碼板如圖lO(d)所示。
2)加密圖像,要加密的圖像如圖lO(a)所示,同樣用8×8的矩陣I表示,根據圖像上相應區(qū)域的灰度確定矩陣元的取值,亮度從大到小的區(qū)域矩陣元取值分別取為3,2,1,0。根據事先選定的加密算法(四進制半加計算)和解碼矩陣B,可以計算得到密碼板所對應矩陣A,A是8×8的矩陣,根據A矩陣元的取值放置不同取向的光柵,制成密碼板,實驗中密碼板的形式如圖10(b)所示。

3)解密過程,在輸入面A和B上放置密碼板和正確的解碼板,采用四進制半加運算對應的濾波方式后,像屏上的輸出如圖10(d)所示,圖像重現了被加密的原圖,解碼成功;當在輸入面B上放人如圖io (e)的錯誤解碼板,像屏上輸出圖像如圖10(f),沒有重現原圖,解碼失敗。
彩色圖像加密的思想與灰度圖像加密時類似。
采用多進制邏輯運算可以加密灰度圖像和彩色圖像,由此給出了真正意義上完整的光學加密方案。
小知識之光柵
光柵是結合數碼科技與傳統(tǒng)印刷的技術,能在特制的膠片上顯現不同的特殊效果。在平面上展示栩栩如生的立體世界,電影般的流暢動畫片段,匪夷所思的幻變效果。光柵是一張由條狀透鏡組成的薄片,當我們從鏡頭的一邊看過去,將看到在薄片另一面上的一條很細的線條上的圖像,而這條線的位置則由觀察角度來決定。如果我們將這數幅在不同線條上的圖像,對應于每個透鏡的寬度,分別按順序分行排列印刷在光柵薄片的背面上,當我們從不同角度通過透鏡觀察,將看到不同的圖像。



