劉媛倩,陳林飛
(杭州電子科技大學理學院,浙江 杭州 310018)
隨著時代的發(fā)展,信息安全成為重要的研究領域,圖像加密是其中重要的組成部分。1995年,Refregier等[1]提出雙隨機相位編碼技術后,光學圖像加密得到廣泛關注,大量的光學圖像加密方法被提出,例如,Situ等[2]將雙隨機相位編碼技術應用在菲涅爾域,Alfalouand等[3]提出利用雙隨機相位編碼技術實現圖像加密的多路復用,Sui等[4]提出一種應用分數傅里葉變換和干涉原理實現圖像加密的方法,解決了干涉加密方法中存在的輪廓問題,Lim等[5]提出一種通過控制振幅和相位制作全息彩色印刷的方法,Jin等[6]提出一種對全息圖進行編碼的方法,Scheuer等[7]提出一種光學全息安全標簽的制作方法。純相位加密系統使用光的相位信息對圖像進行編碼,該方法將圖像信息轉換為光的相位信息,使用一個隨機相位板對其進行加密[8-9]。但光學加密方法很容易將噪聲引入圖像,為此,文獻[10-11]使用二維碼作為光學加密的輸入圖像,消除了加密過程中產生的噪聲。近年來,二維碼也被廣泛用于光學圖像的加密[12-13]。彩碼與二維碼類似,是一種條碼技術產品,但彩碼具有更鮮艷的色彩,例如,ColorZip Media研發(fā)的ColorCode具有4種顏色[14],微軟公司開發(fā)的一種大容量彩色條形碼(High Capacity Color Barcode, HCCB)具有更多的顏色,可以容納更多的信息?;诖?,本文提出一種將相位加密與彩碼原理相結合的光學圖像加密方法。
彩碼的生成規(guī)則與二維碼類似,二維碼中搭載的信息由一串二進制數表示,體現在二維碼中,是黑白兩色的方塊,黑色代表“1”,白色代表“0”。而彩碼則有多種顏色,文獻[14]提出的彩碼生成規(guī)則中,黃色代表二進制值“00”,綠色代表“01”,紅色代表“10”,黑色代表“11”。微軟公司提出的HCCB顏色范圍則擴展到16色。在本文提出的方法中,彩碼顏色與數值對應如表1所示。
圖像在計算機中可以轉換為由“0”和“1”表示的二進制數據,本文將原始圖像的二進制文件信息依據表1生成彩碼,然后將彩碼用于圖像加密。原始圖像的恢復是通過讀取彩碼中的信息生成1個二進制文件完成,該二進制文件為圖片文件,修改該文件后綴名即可得到恢復圖像。實際上,這種轉換也可看作是一種加密方式,需要知道彩碼顏色相對應的信息才能正確讀取彩碼的信息。采用本文方法生成的彩碼圖片及原始圖片如圖1所示。
表1 彩碼顏色與數值對應表
圖1 原始圖片與生成的彩碼
利用Arnold變換可以對圖像中的像素點進行置亂,以達到加密的效果。Arnold變換的公式為:
(1)
式中,a,b,N為正整數,當圖像的長與寬相等時,N為圖像的寬,mod表示取模運算,x,y,x′,y′分別為像素點置亂前后的坐標。將彩碼作為Arnold變換的對象時,x,y,x′,y′分別為彩碼各個色塊的坐標,從而達到使Arnold變換對彩碼信息進行置亂加密的效果,密鑰是置亂次數。
純相位光學圖像加密是一種僅使用光的相位信息進行加密的方法。首先將原始圖像轉換為相位信息,然后使用一個隨機相位板對其進行加密。設原始圖像為O(j,k),其中j,k表示圖像的像素點坐標,其生成的相位板為OPM(j,k)=exp[i2πO(j,k)],其中i表示虛部。使用隨機相位板R(j,k)=exp[i2πr(j,k)]對原始圖像進行加密,加密結果為:
(2)
解密時,需要使用R(j,k)的共軛相位板R*(j,k),解密過程表示為:
(3)
為了使彩碼作為純相位光學加密方法的輸入圖像,依照表2將彩碼與相位進行轉換,得到用于純相位加密方法的相位板。彩碼顏色與相位的對應關系如表2所示。
表2 彩碼顏色與相位的對應關系
首先,將原始圖片A依照彩碼生成規(guī)則生成相應的彩碼I(x,y),x,y表示彩碼的色塊坐標而非像素點坐標。然后將彩碼進行Arnold置亂,將置亂后的彩碼根據表2進行顏色與相位信息之間的轉換,得到用于加密的相位板C(x,y)。使用隨機相位板R(x,y)對相位板C(x,y)進行加密,得到加密結果X(x,y)。加密流程如圖2(a)所示。
圖2 加密和解密流程
本文使用MATLAB R2018b軟件進行數值模擬實驗。原圖與生成的彩碼見圖1,置亂后的彩碼Ia(x,y)、加密結果X(x,y)的相位分布以及解密結果A′如圖3所示。原圖由彩色圖像生成彩碼后,通過置亂以及相位加密被加密為一幅復振幅圖像,由于復振幅圖像無法顯示,因此本文展示的是加密結果的相位分布,顯示為一幅灰度圖像。實際上由于加密過程中只有相位的參與,解密時只需要復振幅圖像的相位信息即可完成解密。
圖3 加密結果與解密結果
使用峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)來評判圖像的恢復效果,其計算公式為:
(4)
式中,n為每個像素的比特數,eMSE為原始圖像與恢復圖像之間的均方誤差(Mean-Square Error, MSE),其計算公式為:
(5)
式中,H,L表示圖像的大小,A(j,k),A′(j,k)表示原始圖像與恢復圖像。經過計算后得出原始圖像與恢復圖像之間的PSNR值為無窮大,表明本文方法具有良好的恢復效果。因為采用本文方法得到的恢復圖像每個像素點上的值都與原始圖像相等,這是由于原始圖像的信息被完全儲存在彩碼中,原始圖像可以被完全恢復。但是,正是因為這個特性,本文方法無法抵御剪切攻擊,同時,使用錯誤的密鑰也無法將圖像恢復。
圖像的直方圖顯示了像素值的分布信息,對加密結果進行直方圖分析可以定量推斷出加密方法應對統計攻擊的抵御能力。原始圖像和彩碼的各個色面的直方圖分布見圖4,對比二者可以發(fā)現,彩碼的直方圖分布更加均勻,因此將圖像轉為彩碼也可取得一定的加密效果。
圖4 原圖與彩碼的各色面直方圖
圖像因為相鄰像素之間具有很強的相關性,容易受到攻擊,加密結果的相鄰像素相關性分析被廣泛應用于加密方法的評價中。相關系數的表達式為:
(6)
式中,p,q為相鄰像素值,cov(p,q)為p,q的協方差,D(p),D(q)為p,q的方差,表達式分別為:
(7)
(8)
式中,M為選取的像素點個數,E(p),E(q)為p,q的期望,表達式為:
(9)
本文從原始圖像及密文圖像中隨機抽取1 000組相鄰像素進行分析,計算結果如表3所示。圖5展示了原始圖像與密文圖像在水平、垂直和對角方向上的相鄰像素相關性分析。從表3和圖5中可以看出,原始圖像在3個方向上的像素相關性非常強,而密文圖像在3個方向上的像素相關性都十分弱。
表3 原始圖像與密文圖像的相鄰像素相關性
圖5 原始圖像與密文圖像的相鄰像素相關性分析
本文提出了一種基于純相位加密和Arnold變換的彩碼加密方法。將原始圖像編碼為彩碼不僅可以幫助達到良好的恢復效果,還可以作為一種加密手段,拓寬加密方法的密鑰空間。Arnold變換和彩碼的結合提高了加密的安全性。但是,本文提出的加密方法不能抵御剪切攻擊,如何將彩碼與光學加密技術更好地結合,提出安全性更高的加密方法是今后的研究重點。