何文奇 陳嘉譽 張蓮彬 盧大江 廖美華 彭翔
(深圳大學(xué)物理與光電工程學(xué)院,光電子器件與系統(tǒng)教育部/廣東省重點實驗室, 深圳 518060)
本文提出了一種基于光與多重散射介質(zhì)相互作用的光學(xué)Hash 函數(shù)構(gòu)造方法.該方法創(chuàng)新性地利用多重散射介質(zhì)對相干調(diào)制光的天然隨機散射作用, 實現(xiàn)了對調(diào)制光的“混淆”和“擴散”, 從而滿足了Hash 函數(shù)的核心功能要求: 高安全強度的單向編碼/加密.所設(shè)計的光電混合系統(tǒng)能有效地模擬Hash 函數(shù)中的“壓縮函數(shù)”, 結(jié)合具有特征提取功能的Sobel 濾波器, 能實現(xiàn)將任意長度的輸入數(shù)據(jù)壓縮并加密為固定長度為256 bit的輸出(即Hash 值).一系列仿真結(jié)果表明: 該方法所構(gòu)造的光學(xué)Hash 函數(shù)具有良好的“雪崩效應(yīng)”和“抗碰撞性”, 其安全性能可比擬當前最為廣泛使用的傳統(tǒng)Hash 函數(shù)(MD5 和SHA-1).
隨著信息技術(shù)和互聯(lián)網(wǎng)的發(fā)展, 人類進入了“信息爆炸”的時代.信息的爆炸式增長促進了人類社會的發(fā)展, 但是, 伴隨而來的信息安全問題也引起了人們的廣泛關(guān)注, 如何保證信息的安全性也成為了一個持續(xù)的研究熱點.目前, 信息安全技術(shù)通常可分為兩大類, 一類是基于數(shù)學(xué)運算的傳統(tǒng)信息安全技術(shù); 另一類是基于非數(shù)學(xué)運算的新型信息安全技術(shù), 主要包括: 量子加密、生物特征識別和光學(xué)信息安全[1]等.其中, 得益于“光學(xué)信息處理”具有并行處理以及多維運算的能力, 光學(xué)加密技術(shù)近年來吸引了不少學(xué)者們的關(guān)注.自Refregier 和Javidi[2]于1995 年提出基于4f 光學(xué)相關(guān)器的雙隨機相位編碼技術(shù)以來, 研究者們在此基礎(chǔ)上發(fā)展出了一系列相關(guān)的衍生技術(shù)[3?5].但是, 由于雙隨機相位編碼系統(tǒng)具有線性以及對稱性, 導(dǎo)致其存在一定的安全隱患, 這一點已經(jīng)被多種密碼分析方案所證實[6?8].為了解決這一問題, 各國的研究者們陸續(xù)在此基礎(chǔ)上提出了多種安全性增強型的光學(xué)加密方案[9,10], 甚至是加、解密鑰不同的光學(xué)非對稱密碼系統(tǒng)[11?16].
眾所周知, 在信息安全領(lǐng)域中, 除了“加密”技術(shù)之外, 各類安全認證技術(shù)也同等重要, 其中,Hash 函數(shù)便是一種能夠高效地實現(xiàn)“數(shù)據(jù)完整性認證”的核心技術(shù), 同時, Hash 函數(shù)也在數(shù)字簽名、數(shù)據(jù)檢索以及身份認證等眾多領(lǐng)域扮演著非常重要的角色[1].通常, 我們將Hash 函數(shù)視為一個單向加密系統(tǒng), 它能將任意長度的輸入消息M 映射為固定長度的輸出h, 即h = H(M).為了保證其安全性, Hash 函數(shù)需滿足以下三個條件: 1) 對于給定的M, 易于計算出其對應(yīng)的Hash 值h; 2) 對于給定的h, 難以計算出M; 3) 對于給定的M, 難以找到另一個消息M', 使得H(M)= H(M'), 即抗碰撞性[1].在傳統(tǒng)信息安全領(lǐng)域, 自MD4[17]算法在1990 年被提出以來, Hash 函數(shù)已取得了長足的進步.目前, 應(yīng)用最廣泛的Hash 函數(shù)有兩大系列,即MD 系列[17]以及SHA 系列[18], 其中, MD5 和SHA1 是國際上通行的兩大Hash 函數(shù).值得指出的是: 這兩種主流Hash 函數(shù)都是基于某種數(shù)學(xué)難題和復(fù)雜的數(shù)學(xué)運算而設(shè)計的.近年來, 在光學(xué)信息安全領(lǐng)域, 幾種基于光學(xué)思想和理論的Hash 函數(shù)也相繼被提出, 如2010 年, He 等[19,20]首次提出了一種基于級聯(lián)切相傅里葉變換的光學(xué)Hash 函數(shù), 從理論上探索了用光電混合系統(tǒng)構(gòu)建Hash 函數(shù)的可能性.隨后, Lai 等[21]又提出了一種基于雙光束干涉的光學(xué)Hash 函數(shù), 并對其安全性能進行了系統(tǒng)分析.然而, 上述兩種方法的核心部件—壓縮函數(shù), 其本質(zhì)上都是一個線性過程, 盡管均引入了非線性操作, 但其理論上的安全隱患仍然存在.
本文將提出一種基于光與多重散射介質(zhì)相互作用的光學(xué)Hash 函數(shù).在該方法中, 以多重散射介質(zhì)來構(gòu)造核心部件—光學(xué)壓縮函數(shù), 創(chuàng)新性地利用多重散射介質(zhì)與相干調(diào)制光的相互作用, 進行天然而充分地隨機“擾亂”, 實現(xiàn)對調(diào)制光的“混淆”和“擴散”.文中將詳細描述所提光學(xué)Hash 函數(shù)的設(shè)計過程, 并給出相應(yīng)的數(shù)值仿真實驗和結(jié)果分析.
Hash 函數(shù)的一般結(jié)構(gòu)如圖1 所示, 它是一種基于消息預(yù)編碼的迭代結(jié)構(gòu), 通過級聯(lián)調(diào)用一個壓縮函數(shù), 每次處理一個固定長度的消息分組, 最終輸出一個固定長度的Hash 值.可以看出, 其核心是壓縮函數(shù)f, 它以某一個消息分組Mi(i = 1, 2,3, ···, t)和上一個壓縮函數(shù)的輸出Hi(i = 2, 3, ···,t)為輸入, 輸出為Ht+1.Hash 函數(shù)算法還需要一個初始值H1以及變換函數(shù)g, 其中, 變換函數(shù)g 的作用是將壓縮函數(shù)的最終輸出Ht+1轉(zhuǎn)化成固定長度的Hash 值.用數(shù)學(xué)形式可將整個Hash 算法表示為:
圖1 Hash 函數(shù)的結(jié)構(gòu)Fig.1.Schematic diagram of the Hash function.
如上所述, 壓縮函數(shù)是Hash 函數(shù)的核心單元,因此, 它的實現(xiàn)方式在很大程度上決定了Hash 函數(shù)的性能優(yōu)劣.本文利用多重散射介質(zhì)對相干調(diào)制光的天然而變幻莫測的“擾動效應(yīng)”, 選擇以“多重散射介質(zhì)”作為壓縮函數(shù)的核心部件來構(gòu)造光學(xué)Hash 函數(shù).擬用于實現(xiàn)基于多重散射的光學(xué)壓縮函數(shù)的光電系統(tǒng)結(jié)構(gòu)如圖2 所示, 其中, SF 表示空間濾波器; L 表示準直透鏡; SLM1和SLM2分別表示振幅型空間光調(diào)制器和純相位型空間光調(diào)制器, 用于加載待處理的消息分組(復(fù)振幅分布);MSM(multiple scattering medium)表示多重散射介質(zhì); D 表示孔徑光闌.受SLM 調(diào)制的光經(jīng)過多重散射介質(zhì)時將以不可預(yù)知的方向隨機散射, 因此, 攜帶調(diào)制消息的光波將由于光的多重散射效應(yīng)而被多次“混淆”和“擴散”.
圖2 實現(xiàn)基于多重散射的光學(xué)壓縮函數(shù)的光電系統(tǒng)結(jié)構(gòu)示意圖Fig.2.Schematic diagram of optoelectronic architecture for realizing the optical compression function based on multiple scattering.
該光學(xué)壓縮函數(shù)的具體工作原理和流程如下:1) Mi(i = 1, 2, 3, ···, t)以及Hi(i = 1, 2, 3, ···,t)被編碼為8 位量化精度、大小為16 × 16 像素的圖像, 并分別以振幅和相位的形式加載在SLM1和SLM2上; 2) 用相干光照射SLM1和SLM2, 經(jīng)過SLM1和SLM2調(diào)制的相干光衍射傳播至多重散射介質(zhì), 被其擾亂后, 在CCD (charge coupled device)上形成隨機散斑場; 3) 利用Sobel濾波器提取散斑的特征, 得到一個16 × 16 的特征矩陣,將其作為壓縮函數(shù)的輸出.
基于多重散射介質(zhì)的光學(xué)Hash 函數(shù)的構(gòu)造過程主要可分為三個步驟: 消息預(yù)處理、數(shù)據(jù)壓縮以及輸出變換.
在進行數(shù)據(jù)壓縮之前, 需要對原始消息進行預(yù)處理.預(yù)處理操作如下: 1) 將消息數(shù)據(jù)長度用64 bit二進制數(shù)表示, 并作為附加信息添加到消息末尾;2) 將1)中的數(shù)據(jù)劃分為固定長度的子塊數(shù)據(jù), 若最后一個子塊數(shù)據(jù)的長度未達到所要求的固定長度, 則需要在其末尾進行數(shù)據(jù)填充, 一般做法是在末尾直接填充0 或1[10].預(yù)處理的步驟1)一般被稱為MD 強化, 其目的是為了增強算法的抗碰撞性.假設(shè)有兩則不同數(shù)據(jù)長度的消息A 和B, A 滿足分組要求無需進行填充, 而B 需要在其末尾全部填充0 或者1.消息B 經(jīng)過填充之后, 其數(shù)據(jù)分布可能與消息A 相同, 因此, 經(jīng)過同樣的Hash 函數(shù)之后得到相同的Hash 值, 這就意味著產(chǎn)生了碰撞, 這將是一個嚴重的安全漏洞.通過引入MD 強化, 由于不同的消息其數(shù)據(jù)長度不同, 因此可避免碰撞的發(fā)生.在步驟2)的消息分組中, 本方案將原始消息劃分為長度為2048 bit 的數(shù)據(jù)塊, 并將每一數(shù)據(jù)塊編碼成8 bit 量化精度的16 × 16 的圖像(M1, M2, ···, Mt).此外, 壓縮函數(shù)還需要一個初始輸入H1, 本方案以原始消息長度作為種子, 利用偽隨機數(shù)生成器生成2048 bit 二進制偽隨機數(shù), 并將其編碼成8 bit 量化精度的16 × 16 的圖像H1, 其生成過程如圖3 所示.
經(jīng)過消息預(yù)處理操作后, 得到了光學(xué)Hash 函數(shù)的初始輸入H1以及多個消息子圖(M1, M2, ···,Mt), 隨后即可利用光學(xué)壓縮函數(shù)對各消息子圖(分組消息)進行壓縮, 其流程圖如圖4 所示.步驟描述如下:
1) 用PC 分別將M1和H1以純振幅和純相位的形式寫入SLM1和SLM2, 則光波的復(fù)振幅可表示為
圖3 初始偽隨機圖像的生成Fig.3.Flowchart for creating initial pseudo-random image.
圖4 級聯(lián)壓縮流程圖Fig.4.Flowchart of cascade compression.
2) 經(jīng)過SLM1和SLM2調(diào)制后的相干光傳輸至MSM 并與其相互作用, 最終在CCD 上形成散斑圖樣, 散斑圖樣的強度表示為
其中
h1(x,y,u) 和 h2(x,y,v) 分別對應(yīng)衍射距離為 u 和v的菲涅耳衍射的點擴散函數(shù); u 和 v 分別表示SLM2與MSM 之間的距離以及MSM 與CCD 之間的距離; P 代表MSM 的函數(shù); *代表卷積運算符;
3) 利用Sobel 濾波器提取散斑圖樣的特征, 得到量化精度為8 bit 的16 × 16 圖像H2:
式中 e xtr(·) 代表特征提取操作.步驟2)和3)可用壓縮函數(shù)f (·) 合并表示為
4) 將M2,, H2分別寫入SLM1和SLM2, 并重復(fù)步驟2)和3), 得到下一個特征矩陣H3:
5) 同理, 對其他子圖像重復(fù)步驟1) — 3), 最終得到特征矩陣Ht+1.整個消息級聯(lián)壓縮過程如圖5 所示.
圖5 級聯(lián)壓縮過程Fig.5.Procedure of cascaded compression.
在輸出最終的Hash 值之前, 還需要對壓縮函數(shù)的最終輸出Ht+1做輸出變換.本方案以Ht+1的均值作為閾值, 將Ht+1中大于或等于均值的像素灰度值設(shè)置為1, 小于均值的像素灰度值設(shè)置為0,最后以逐行串接的形式將Ht+1中的值串聯(lián), 得到256 bit 的Hash 值.
雪崩效應(yīng)是評價Hash 函數(shù)安全性能的重要指標[17], 其表明當輸入消息產(chǎn)生微小變化時, 比如反轉(zhuǎn)一個二進制位, 輸出的Hash 值將發(fā)生很大變化,且依據(jù)嚴格雪崩準則, 當任何一個輸入位發(fā)生變化時, 一個性能良好的Hash 函數(shù)的Hash 值至少有一半的位數(shù)發(fā)生變化[22].為了評估雪崩效應(yīng)以及所提出光學(xué)Hash 函數(shù)的穩(wěn)定性, 擬采用以下幾個參數(shù)[17,18]:
(10)式中, hi和分別表示原始消息和將原始消息輕微改動后所對應(yīng)的Hash 函數(shù); L 和k 分別表示Hash 值的總長度和比特位序數(shù); A EC(i)表示第 i 次測試的雪崩系數(shù).(11)式中, AEC 和N 分別表示平均雪崩系數(shù)以及測試的總次數(shù).顯然, 當AEC(i)和 AEC 的值越大時, 說明Hash 函數(shù)的雪崩效應(yīng)越強, 同時, 當標準差 ? B 越小時, 說明Hash 算法的穩(wěn)定性越好.
數(shù)值仿真測試步驟如下: 1) 用所提出的光學(xué)Hash 函數(shù)計算任意一個原始消息對應(yīng)的Hash 值;2) 任意選取原始消息中的一位數(shù)據(jù)并對其進行修改, 計算消息被修改后的Hash 值.消息的具體修改過程如圖6 所示.首先, 隨機地選取圖像中的任一像素, 如圖6 黑色圓圈所示; 隨后提取該像素的像素值, 并通過二值化操作, 將該像素的像素值以二進制數(shù)的形式表示; 最后任意地選取這一像素值(二進制表示)的某一位執(zhí)行數(shù)據(jù)的修改操作:若該位的數(shù)據(jù)值為“1”, 則將其修改為“0”, 類似地,若其值為“0”, 則將其修改為“1”; 3) 利用(10)式計算雪崩效應(yīng)系數(shù).
圖6 輕微修改原始消息的過程Fig.6.Flowchart of modifying the bit of message.
值得指出的是, 為了表征多重散射介質(zhì)對于相干光(振幅和相位)的雙重“混淆”和“擴散”作用,仿真時選取10 層相互間隔一定距離的隨機相位掩模來表征多重散射介質(zhì), 間隔設(shè)置為 z =10 mm ,如圖7 所示.
圖7 多重散射介質(zhì)仿真模型Fig.7.Simulation model of the MSM.
重復(fù)上述步驟2)和步驟3)共10000 次, 通過計算得到多個 A EC(i)值, 再結(jié)合(11)式以及(12)式可計算平均雪崩系數(shù) AEC 及標準差 ? B ,利用這些參數(shù)可以評判一個Hash 函數(shù)的性能優(yōu)劣.在仿真實驗中, 分別對隨機生成的10, 100 和1000 kbit 的原始消息進行測試, 測試結(jié)果如圖8所示.根據(jù)(11)式和(12)式計算平均雪崩系數(shù)AEC 及標準差 ? B , 結(jié)果如表1 所列.為了進一步驗證所提出的光學(xué)多重散射Hash 函數(shù)的性能, 比較了本方案與傳統(tǒng)的MD5 和SHA-1 的平均雪崩系數(shù)和穩(wěn)定性數(shù)值, 相應(yīng)的數(shù)值結(jié)果如表2 所列.
測試結(jié)果表明, 對三組不同數(shù)據(jù)長度的消息而言, 在10000 次的測試中, 任意改變原始消息中的某一位, 其對應(yīng)的Hash 值與原始消息的Hash 值相比幾乎一半的位數(shù)發(fā)生改變, 說明所提出的光學(xué)Hash 函數(shù)具有良好的雪崩效應(yīng).同時, 在測試結(jié)果中, 三組數(shù)各自的 ? B 分別是0.0770, 0.0647,0.0636, 表明所提出的光學(xué)Hash 函數(shù)具有較好的穩(wěn)定性.在測試過程中, 分別對三組不同長度的消息測試10000 次, 并未出現(xiàn)一次碰撞, 即 A EC(i)=0, 表明該Hash 函數(shù)具有優(yōu)秀的抗碰撞性.進一步地, 通過對比可知, 本方法的雪崩效應(yīng)系數(shù)與傳統(tǒng)Hash 函數(shù)(MD5 和SHA-1)相當(如表2).
表1 雪崩效應(yīng)測試結(jié)果Table 1.Results of testing avalanche effect.
表2 與MD5 和SHA-1 算法的比較Table 2.Comparison with MD5 and SHA-1.
圖8 10000 次測試下的 A EC 分布, 消息長度為 (a) 10 kbit,(b) 100 kbit, (c) 1000 kbitFig.8.Distribution of AEC values in tests for the messages with (a) 10 kbit, (b) 100 kbit, and (c) 1000 kbit.
本文提出了一種基于光與多重散射介質(zhì)相互作用的光學(xué)Hash 函數(shù)構(gòu)造方法, 該光學(xué)Hash 函數(shù)以多重散射介質(zhì)為核心部件, 利用多重散射介質(zhì)對調(diào)制光進行天然而隨機的散射, 實現(xiàn)對輸入信息的混淆和擴散作用, 同時, 結(jié)合Sobel 濾波器進一步完成散射信號的特征提取, 最終實現(xiàn)了將任意長度的輸入消息壓縮為固定長度的輸出(Hash 值)的目的.相比于已報道的光學(xué)Hash 函數(shù), 該方法利用了散射介質(zhì)對輸入信號所具有的天然置亂特性, 提高了其光電混合實現(xiàn)的可行性.數(shù)值仿真結(jié)果表明, 所設(shè)計的光學(xué)Hash 函數(shù)具有優(yōu)秀的雪崩效應(yīng)以及抗碰撞性, 與傳統(tǒng)Hash 函數(shù)的安全性能相當.