苗棟,馬銳,孫鑫凱,史祎詩?
(1 中國科學院大學光電學院,北京 100049;2 中國科學院大學數學科學學院,北京 100049)(2020年3月19日收稿;2020年4月23日收修改稿)
1995年Refregier和Javidi[1]提出利用4F系統(tǒng)的雙隨機加密算法(double random phase encoding,DRPE),一個明文圖像經過2次傅里葉變換,通過頻譜面和輸出面的2塊隨機相位版作為“密鑰”可以實現(xiàn)非常好的置亂效果。此后雙隨機加密算法被推廣到其他光學系統(tǒng)中,如2004年Situ和Zhang[2]提出的菲涅爾域的雙隨機相位加密系統(tǒng)等。除上述4F系統(tǒng)和菲涅爾域的DRPE之外,還有各種變換下的DRPE系統(tǒng)[3-5]。為驗證各種DRPE算法的安全性,對于上述加密系統(tǒng)的攻擊也相繼出現(xiàn)。Carnicer等[6]于2005年首次提出對于4F系統(tǒng)的雙隨機加密系統(tǒng)可以利用選擇明文進行攻擊,通過大量的設計好的選擇明文,可以解出系統(tǒng)中所使用的密鑰的相位分布,從而攻破系統(tǒng)。本課題組也曾提出對于菲涅爾域雙隨機加密的疊層攻擊方法[7],取得了很好的效果。雖然上述攻擊方法可以有效地破解加密系統(tǒng),但是它們都具有一定的缺陷:首先,這些傳統(tǒng)的攻擊方法要求攻擊者已知加密系統(tǒng)的一些先驗信息(Kerckhoffs假設),比如加密系統(tǒng)的類型、系統(tǒng)所使用的波長,以及各步的衍射距離等結構參數等“非密鑰”信息。其次,這些攻擊多數依賴相位恢復迭代算法,由于迭代算法收斂性的限制,對于高像素圖片的加密,或者加密系統(tǒng)過于復雜(多相位板等),迭代算法的攻擊效果將顯著下降。
為消除上述問題,需要對DRPE系統(tǒng)的性質進行更深入的研究。首先,以DRPE為例子,它是一個線性系統(tǒng),光在每一個面的波前復振幅分布滿足疊加原理,即不同位置處的點光源脈沖δ函數的彼此疊加滿足格林函數積分關系,從而形成傳播光場中的任意位置的波前函數。其次,它是一個純相位的光學保守級聯(lián)系統(tǒng),早在1975年,霍裕平等[8]就指出:對于一般的純相位非耗散保守光學系統(tǒng),其對應的線性變換為幺正變換,經過驗證,不論是4F系統(tǒng)的DRPE還是菲涅爾域的DRPE,均滿足光學幺正變換的條件,也就是說當一組幺正的復振幅波前作為系統(tǒng)的輸入時,系統(tǒng)的輸出依然是一組幺正基。雖然看上去,這些“幺正基”都是一個個置亂很好的白噪聲,但是其中隱含的幺正關系表明:DRPE系統(tǒng)其實置亂效果并不理想。這便是近20年來光學信息安全領域普遍忽略的性質。由于DRPE不僅是一個線性變換,同時還是一個幺正變換,那么對于其攻擊可以自然而然地利用線性變換的矩陣理論進行攻擊。幺正性進一步詮釋了:在幺正光學加密系統(tǒng)中,明文和密文構成的2個線性空間彼此是幺正同構的,且其對應的子空間也是幺正同構的。利用這種同構性,可以忽略加密系統(tǒng)具體的結構屬性,在利用數量遠小于加密矩陣的秩的一系列選擇明密文對直接重構加密過程的近似逆映射,從而實現(xiàn)對任意密文的直接破解。值得注意的是,這種方法是非迭代的,而且其攻擊所需要的先驗條件僅僅是幺正性,同時其所需要的算力和攻擊結果與系統(tǒng)復雜度無關。也就是說,對于任意復雜的幺正系統(tǒng),都可以通過一個固定的運算成本獲得相同的攻擊效果,且這個成本往往非常小,這是與傳統(tǒng)攻擊思路截然不同的。為表述的嚴謹,引入量子力學狄拉克符號來闡釋其中的數學關系,進而提出基于線性幺正變換光學加密系統(tǒng)基于子空間投影法的一般性選擇明文攻擊原理,給出對應的數值模擬結果,以三相位板的菲涅爾域加密系統(tǒng)來展示對于一般線性幺正系統(tǒng)的攻擊結果,證明這種攻擊的有效性。而且,在充分利用系統(tǒng)幺正性的情況下,攻擊者可以根據所需要的攻擊效果任意選擇選擇明密文對的數量,以及可以實現(xiàn)包括局域攻擊、彩色攻擊等。
20世紀70至80年代,霍裕平等對于利用純相位的系統(tǒng)實現(xiàn)幺正變換以及線性變換做了大量的討論[9-12]。其工作指出,對于一個非耗散的光學純相位級聯(lián)系統(tǒng),其對應的線性變換是一種幺正變換,并且給出了用光學實現(xiàn)任意幺正變換以及線性變換的可能方法。20年后,Refregier和Javidi[1]提出4F系統(tǒng)中的DRPE加密算法,如圖1所示,如果把透鏡看成是一個相位板,可以看出這是一個明顯的純相位線性幺正系統(tǒng)。
圖1 4F系統(tǒng)中的雙隨機加密
同理,菲涅爾域的DRPE以及其他純相位的光學加密系統(tǒng)也是線性幺正系統(tǒng)。如果系統(tǒng)具有幺正性,那么意味著當選擇一系列彼此正交的明文作為輸入,那么輸出的密文也是正交的。這就給了明文與密文很強的聯(lián)系。一個很重要的數學性質便是:當選擇明文空間V中的任一個明文|α〉,向V的某個子空間V‖做投影,那么投影系數與選擇密文空間W=U(V)中的對應的密文|β〉向其對應子空間W‖中的投影系數相同,其中U對應置亂操作的酉變換。因此可以利用子空間投影的方法給出對于一般線性幺正光學加密系統(tǒng)的攻擊方法。
圖2 光學加密黑盒子
(1)
定義:由|φi〉構成的空間稱為明文空間,|ψi〉構成的空間為密文空間。其中i=1,2,…,N,N為明文和密文空間的維數,顯而易見,N最大不超過加密系統(tǒng)所使用的像素數。而加密系統(tǒng)所使用的像素數是由采樣定理和加密系統(tǒng)決定的,很明顯這個數值一定很大,往往為幾萬至幾百萬像素的量級。也就是說對于攻擊者而言,考慮理想情況,當其獲得了N個明密文對|φi〉、|ψi〉時,即其擁有了明文和密文空間對應的一組完備基,那么必然存在系數CN=(c1,c2,…,cN),使得
(2)
〈φi|φj〉=δij,
(3)
〈ψi〉也必為密文空間的一組幺正基
〈ψi|ψj〉=δij,
(4)
根據幺正條件,有
ci=〈ψj|β〉.
(5)
根據|φi〉和|ψi〉可以重新定義加密算符
(6)
(7)
顯然
(8)
對于攻擊者而言,往往并不能獲得幾萬甚至是幾百萬的選擇明密文對,即無法獲得完備的|ψi〉,但是其總可以尋找一個|ψi〉的子空間,使得子空間的維數在可操作的范圍,進而通過子空間投影的方法,獲得明文的近似解。
分別定義在明文-密文空間的子空間投影算符
(9)
則有
(10)
其中:|α‖〉為待破解明文|α〉在|φi〉的n維子空間的投影,|β‖〉為|β〉在|ψi〉的n維子空間的投影。可以看出|α‖〉代表攻擊結果與真實的明文|α〉的差異,當子空間維數n逐漸增大,攻擊效果逐漸提高,當n=N時,攻擊為無損失攻擊。
記:明文空間所選取的表象為|p〉,密文空間選取的表象為|q〉。對于明文-密文對|φi〉、|ψi〉有
(11)
其中:β,ψi為|β〉,|ψi〉在密文空間表象q下的列向量;α,φi為|α〉,|φi〉在明文空間表象p下的列向量。
在數值模擬中,如matlab2019b的運行環(huán)境,可以依靠reshape函數實現(xiàn)將二維圖像一維化,以及更高維的矩陣二維化過程。
(12)
有
(13)
(14)
即
(15)
同理,有ci=〈ψj|β〉在給定表象下的矩陣形式為
C=ΨN+β.
(16)
其中:ΨN=(ψ1,ψ2,…,ψN),為一N×N方陣。在選擇了子空間之后,待破解密文在給定表象下的子空間投影表達形式為
Cn=Ψn+β.
(17)
其中:Ψn=(ψ1,ψ2,…,ψn)為一N×n矩陣,其中ψi=〈q|ψi〉。破解的明文近似解則為
(18)
2007年,F(xiàn)rauel等[13]在分析4F系統(tǒng)的安全性時曾經指出對DRPE系統(tǒng)的攻擊過程可以用一個矩陣運算刻畫:C=TP。其中P代表選擇明文構成的矩陣,T代表加密過程對應的矩陣,C代表選擇明文對應的密文構成的矩陣。通過求解T的逆矩陣可以實現(xiàn)對系統(tǒng)的攻擊?!笆聦嵣?,這個方法不是很有用,因為它需要巨量的選擇明密文對。舉個例子,如果明文有100像素×100像素,那么攻擊者需要10 000個明密文對才能重建T矩陣?!盵13]遺憾的是,他們指出的僅僅是我們之前提到的利用明密文空間的一組對應的完備基直接構建逆矩陣的無損攻擊方法,并且忽略了DRPE系統(tǒng)的幺正性。當C和P的列向量分別構成密文和明文空間的一組幺正基時,利用子空間投影的方法可以依靠很少的選擇明密文對構造出一個待破解密文的近似解。
值得一提的是,在相同的子空間投影攻擊結果下,選擇明文的數量本質上并不與明文的像素數相關,而是與明文圖像的稀疏度(或者局部稀疏度)相關。對于生活中的真實圖像,往往都是可壓縮的,其稀疏度數量級往往遠小于圖片的真實像素數,如一個文字圖片或者一個二維碼,往往可以擁有很大的像素數,但是其稀疏度往往只在幾十到幾百的數量級。這個猜想會在后面的模擬中得到驗證。
為了驗證上述理論的正確性,我們在Matlab2019b,i7-6700HQ CPU(2.60 GHz)和16 GB內存的環(huán)境下做了如下數值模擬。
待攻擊的加密系統(tǒng)為含3塊相位板的菲涅爾域三隨機相位加密系統(tǒng),結構如圖3所示,每步衍射距離均為5 cm,相位板結構參數與明文相同,加密所用波長為473 nm。
圖3 加密系統(tǒng)結構圖示
選擇復振幅圖像——Lena作為振幅,狒狒作為相位的128像素×128像素作為待破解的明文,如圖5(a)所示,采樣間隔為5.5 μm。
選擇16 384個脈沖作為選擇明文探針,進行逐像素曝光,記錄下對應的密文,利用密文重建加密矩陣ΨN=(ψ1,ψ2,…,ψN),代入式(16)和式(18)。攻擊結果如圖4(b)所示。攻擊結果中,振幅與相位和原圖像的相關性系數均分別嚴格等于1??梢?,當選擇明文數量與像素數相同時,選擇明文構成明文空間完備基,攻擊結果無損。
圖4 無損攻擊、子空間投影的有損攻擊和局部區(qū)域攻擊的結果展示
選擇相同的加密系統(tǒng),以及相同的待破解明文,各個結構參數不變。選擇明文選擇4像素×4像素的脈沖,如圖4(c)所示。從左上到右下,依次相鄰選擇1 024個不同的探針進行曝光,記錄下對應的密文利用密文重建加密矩陣Ψn=(ψ1,ψ2,…,ψn),代入式(16)和式(18)。攻擊結果如圖4(d)所示。攻擊結果中,振幅部分和原圖像振幅的相關性系數達到0.864 5,相位部分和原圖像相位的相關性系數達到0.815 0。從結果可以看出,攻擊結果展示了原始圖片粗略的輪廓,整體上是可以辨認的。且由于重建過程是按照選擇明文的線性疊加進行重建,與無損攻擊做對比,可以看出選擇明文數量與攻擊效果直接正相關。
利用子空間投影法還可以針對性的攻擊某個黑客感興趣的區(qū)域。如圖4(e)所示,待破解明文為400像素×400像素的Lena——狒狒復振幅圖像中嵌套128像素×128像素的狒狒——Lena圖像,采樣間隔為5.5 μm,加密系統(tǒng)各結構參數不變。圖中中部的小區(qū)域是黑客感興趣的部分。在感興趣區(qū)域選擇1 024個脈沖探針作為選擇明文,每個探針為2像素×2像素的方形脈沖,記錄下對應的密文,利用密文重建加密矩陣Ψn=(ψ1,ψ2,…,ψn),代入式(16)和式(18)。攻擊結果如圖4(f)所示。對于感興趣的局部區(qū)域,攻擊結果中振幅部分和原始圖像對應區(qū)域的振幅部分相關性達到0.778 7,相位部分和原始圖像中對應區(qū)域的相位部分相關性達到0.873 0??梢姡瑢τ谟杏眯畔⒌牟糠?,子空間投影的方法獲得了很好的效果。
對于彩色圖像,其不過是三色RGB的組合,每個色彩分量獨立滿足線性幺正條件。在三色波長已知的情況下(一般可以通過分析密文獲得),可以實現(xiàn)彩色攻擊。待破解明文為256像素×256像素彩色圖片,采樣間隔為5.5 μm選擇波長為紅色:λ1=700 nm、綠色:λ2=546.1 nm以及藍色:λ3=435.8 nm。選擇純振幅的彩色圖像,加密系統(tǒng)及各結構參數不變,其輸入彩色明文如圖5(a)所示。
圖5 彩色明文和其子空間投影法的攻擊結果
選擇1 024個脈沖探針,每個探針為8像素×8像素,采樣間隔為5.5 μm。攻擊結果如圖5(b)所示。攻擊結果中,三色通道分別與原圖中的相關性為:R:0.884 7, G:0.873 6, B:0.818 9.
上述工作很好地驗證了幺正線性系統(tǒng)在面對子空間投影法的攻擊時的不安全性,而這種不安全性對應于攻擊時黑客選擇的方案擁有很大的自由度,而這種自由度均是系統(tǒng)的“幺正性”賦予的。進一步地,子空間投影方法顛覆傳統(tǒng)上認為“增大系統(tǒng)像素可以使系統(tǒng)更加安全的認識”,因為利用這種方法,攻擊的效果和選擇明文的數量直接相關,而這兩者都是黑客可以根據自己的需求自主選擇的。在狄拉克符號的部分,以及之后的數值模擬,我們均默認選擇了位置表象,事實上,選擇其他表象也可以獲得甚至更佳的攻擊效果,而聯(lián)系不同表象的矩陣自然對應于量子力學表象變換的理論。最后,對于子空間投影的方法可以擴展到已知明文攻擊,其攻擊效果在目前優(yōu)于深度學習所得的效果。