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