張 穎,王偉華,馬青青,張會生
(大連海事大學理學院,遼寧 大連 116026)
人們在對神經(jīng)網(wǎng)絡的研究過程中,發(fā)現(xiàn)了能解決密鑰交換問題的神經(jīng)同步現(xiàn)象,經(jīng)發(fā)展形成了神經(jīng)密碼學。神經(jīng)密碼原理如同密鑰交換協(xié)議[1],允許通信雙方在不安全的信道上交換信息協(xié)商從而得到一個密鑰,而攻擊者即使知道算法框架的細節(jié)且有能力監(jiān)控通信,也不能推斷出密鑰,這一密鑰就是兩個神經(jīng)網(wǎng)絡同步時所生成的相同的權(quán)值向量。
2002年,Kinzel等[2]首先將神經(jīng)網(wǎng)絡應用到密碼學中。同年,他們提出了神經(jīng)密碼學的樹形奇偶機模型TPM[3]。目前,眾多學者提出了大量的神經(jīng)密碼模型,比如TCM[4]、PPM[5]等。但TCM和PPM在簡單攻擊[2]以及幾何攻擊[6]下的安全性弱于TPM模型,而且文獻[2]指出帶有三個隱藏單元的TPM模型可以通過增加網(wǎng)絡的突觸深度來提高安全性,從而抵抗遺傳攻擊和主要攻擊等各類密碼攻擊。為了提高神經(jīng)密碼的安全性和同步效率,許多學者在TCM、TPM等模型的基礎上,提出了DTPM[7]、TTFNN[8]、TSCM[9]等神經(jīng)密碼模型。這些模型在兼顧安全性的同時又不失同步效率。近年來,TPM神經(jīng)密碼技術(shù)已經(jīng)應用到許多密碼問題中。例如,將TPM密鑰交換體系用于加密認證[10];與隨機序列結(jié)合用于圖像加密[11];與Cuckoo Search算法結(jié)合提高其同步進程[12],設計高效安全的組密碼協(xié)商算法[13];設計圖像秘密共享安全機制[14]等。
在上述關(guān)于實值神經(jīng)密碼體制研究的基礎上,Dong Tao等人于2019年將TPM神經(jīng)密碼體制從實數(shù)域擴展到復數(shù)域,提出了復值樹形奇偶機神經(jīng)密碼模型CVTPM[15]。然而,該方案使用的是傳統(tǒng)學習規(guī)則,并且未考慮同步判定問題。針對復值神經(jīng)密碼體制[15]在同步算法效率方面所存在的問題,本文對其同步算法開展研究,主要工作如下:
1)提出復值新隊列學習規(guī)則并應用到CVTPM上,通過適當調(diào)整權(quán)值修改的幅度,可大大縮短同步進程,提高同步效率。
2)提出復值神經(jīng)網(wǎng)絡同步判定算法并應用于CVTPM,通過考慮當前以及以往隱藏單元輸出的HASH值,并將隱藏層狀態(tài)中匹配的實部和虛部連續(xù)相同的最大值擬定為同步判別指征,能更準確判定同步時間點,提高同步判定成功率。
如圖1所示,CVTPM的結(jié)構(gòu)由輸入層、隱藏層以及輸出層組成。其中,輸入層有K×N個輸入神經(jīng)元,隱藏層有K個隱藏神經(jīng)元,輸出層有一個輸出神經(jīng)元。每個輸入神經(jīng)元的權(quán)值是一個復數(shù),定義為
圖1 K=3,N=4CVTPM的神經(jīng)網(wǎng)絡結(jié)構(gòu)
ωk,j=ak,j+bk,ji
(1)
其中ak,j,bk,j∈[-L,L],索引k=1,2,…,K表示網(wǎng)絡的第k個隱藏神經(jīng)元,j=1,2,…,N表示一個隱藏神經(jīng)元下的第j個分量,L為CVTPM的突觸深度,ωk,j表示第k個隱藏神經(jīng)元下的第j個輸入神經(jīng)元的權(quán)值。ωk=(ωk,1,…,ωk,j,…,ωk,N)表示第k個隱藏神經(jīng)元的N維復值權(quán)向量。
設xk,j=ax+bxi為第k個隱藏神經(jīng)元下的第j個輸入神經(jīng)元的輸入值,其中ax,bx∈{-1,1}。第k個隱藏神經(jīng)元定義為
(2)
令aσk=sgn(Re(hk)),bσk=sgn(lm(hk)),則第k個隱藏神經(jīng)元的輸出為
σk=aσk+bσki
(3)
CVTPM的輸出定義為
(4)
假設A和B雙方均配備CVTPM神經(jīng)網(wǎng)絡,且在公共信道上協(xié)商一個密鑰。算法如下:
4)權(quán)值學習規(guī)則
以Random Walk學習規(guī)則為例,規(guī)則如下:
提出復值新隊列學習規(guī)則以及復值同步判定算法,將原CVTPM中的學習規(guī)則配置成復值新隊列學習規(guī)則并增加復值同步判定步驟來對CVTPM進行改進。
復值新隊列學習規(guī)則與傳統(tǒng)復值學習規(guī)則相比,在權(quán)值修改的幅度上是原來的δstep倍。δstep由式(5)和式(6)求出
(5)
queue.length=q×L2
(6)
3.2.1 復值同步判定算法描述
如圖2所示,與實值神經(jīng)網(wǎng)絡同步判定算法[17]不同,該算法不但考慮當前隱藏單元輸出的HASH值,還考慮以往隱藏單元輸出的HASH值,兼顧了A、B雙方的同步程度,避免出現(xiàn)協(xié)商結(jié)束時不同步的情形。
圖2 復值同步判定算法流程圖
算法開始:
算法結(jié)束。
本文中的HASH算法采用的是由我國自主設計的密碼雜湊算法SM3算法[18],安全性較高,可滿足多種密碼應用的安全需要。
3.2.2 求同步判別指征CN_MAX
通過將隱藏層狀態(tài)中匹配的實部和虛部連續(xù)相同的最大值擬定為同步判別指征,能準確判定同步時間點,提高同步判定成功率。對比N_MAX判別法[17],將本文優(yōu)化后用于復值情形的同步判定算法稱為CN_MAX判別法。
進行l(wèi)次此操作,可得到C_1,C_2,…,C_l,本文中l(wèi)=100。再次進行比較,最大數(shù)記為CN_MAX。為方便敘述,將其記作C,即表示l次協(xié)商過程中A和B雙方隱藏層狀態(tài)連續(xù)相同的最大值。
N_MAX判別法是基于實值神經(jīng)密碼體制設計的,僅對當前隱藏單元輸出值的相同次數(shù)進行統(tǒng)計,累計相同次數(shù)達到一定數(shù)值時,可作為A、B同步結(jié)束的指征,這就有可能出現(xiàn)協(xié)商結(jié)束時不同步的情形;而CN_MAX判別法不僅考慮當前隱藏單元輸出,還考慮以往隱藏單元輸出。由于CN_MAX中,HASH值的計算環(huán)節(jié)兼顧了A、B的同步程度,這種優(yōu)化設計能有效提高同步成功率。這一點在第4節(jié)的實驗中得以驗證。
本部分共進行四組實驗,前兩組實驗分別從同步成功率、平均迭代次數(shù)兩方面來驗證增加了復值新隊列規(guī)則和復值同步判定算法的CVTPM的有效性,并與縮短同步進程的最新研究成果布谷鳥搜索算法(簡稱CS算法)進行橫向?qū)Ρ萚12]。后兩組實驗分別從簡單攻擊和幾何攻擊兩方面將新方案與原CVTPM方案進行對比實驗,驗證新方案的安全性。
所有的實驗均在搭載Intel Core i7-7700八核(8 Core)3.60 Ghz處理器和16Gb RAM的計算機上進行,應用環(huán)境為Python 3。各組實驗均配備K=3 的CVTPM網(wǎng)絡結(jié)構(gòu),并重復進行1000次獨立實驗后取平均值作為實驗結(jié)果。基于Random Walk的復值新隊列學習規(guī)則的參數(shù)為m=2,q=1。
本實驗對N=4和N=1000兩種情況分別進行仿真。一方面對原CVTPM分別增加N_MAX判別法和CN_MAX判別法來比較同步判別效果,另一方面考查CVTPM增加CN_MAX判別法和復值新隊列學習規(guī)則后的新方案對同步判別的影響。
從圖4和圖5可以看出,對原CVTPM而言, CN_MAX判別法比N_MAX判別法的同步成功率更高;對增加了CN_MAX判別法的CVTPM而言,使用復值新隊列學習規(guī)則后仍能保留原量級的同步成功率。
圖4 N=4 圖5 N=1000
本組實驗分別從橫向和縱向兩個研究維度進行仿真。一方面將原CVTPM方案與新方案的平均迭代次數(shù)進行對比,另一方面,將應用CS算法的CVTPM與新方案進行對比。
4.2.1 實驗2.1 與原方案對比
本實驗將原CVTPM方案與新方案的平均迭代次數(shù)進行對比,考查增加復值新隊列學習規(guī)則和復值同步判定算法對平均迭代次數(shù)的影響。
如圖6所示,當N=4或者N=1000時,原CVTPM的平均迭代次數(shù)隨著突觸深度L的增大呈指數(shù)增長;而新方案的平均迭代次數(shù)增長較平緩。在具有相同突觸深度L時,原CVTPM受N值變化影響較大;而新方案受N值變化影響較小。對兩個方案進行比較,新方案的平均迭代次數(shù)小于原CVTPM的平均迭代次數(shù)。從一次密鑰協(xié)商所需迭代次數(shù)來看,本文方案協(xié)商密鑰所需的平均迭代次數(shù)減少,從而交換輸出值的次數(shù)減少,同步時間縮短,留給攻擊者的攻擊時間變短,因此從該角度看本文方案提高了神經(jīng)密碼體制的安全性。
圖6 與原方案對比 圖7 與CS算法方案對比
4.2.2 實驗2.2 與CS算法方案對比
最近,有學者提出將CS算法應用到TPM可加快同步進程[12]。鑒于此,本實驗嘗試將CS算法應用到原CVTPM并與本文方案在平均迭代次數(shù)上進行對比。文獻[12]主要是在初始權(quán)值向量的選擇上運用CS算法,經(jīng)過CS算法選擇后的雙方權(quán)值相似程度較高,從而達到加快同步進程的目的。然而,CS算法的參數(shù)選擇對模型的迭代次數(shù)以及安全性有很大的影響。本實驗條件假定為,CS算法和本文方案在簡單攻擊和幾何攻擊概率處于同一量級的情況下,對兩種模型的平均迭代次數(shù)進行比較。
如圖7所示,在簡單攻擊成功概率和幾何攻擊成功概率處于同一量級的情況下,本文方案所需的平均迭代次數(shù)除L=1情形外均比使用CS算法所需的平均迭代次數(shù)少,并且隨著突觸深度L的增大,本文方案所需的平均迭代次數(shù)長勢更加平緩。
本實驗對原CVTPM方案與新方案分別進行簡單攻擊,對比考查本文方案的安全性。這里,假定當攻擊者獲取了密鑰(即權(quán)重)的90%就判定為攻擊成功。通信雙方A、B以及攻擊者E均配備K=3,N=1000的神經(jīng)網(wǎng)絡。
從圖8可以看出,增加了復值新隊列學習規(guī)則和復值同步判定算法的新方案在簡單攻擊下的成功概率略低于原CVTPM方案的成功概率。面對簡單攻擊時,新方案的安全性更高。
圖8 簡單攻擊 圖9 幾何攻擊
本實驗對原CVTPM方案與新方案分別進行幾何攻擊,對比考查本文方案的安全性。
從圖9可以看出,增加了復值新隊列學習規(guī)則和復值同步判定算法的新方案在幾何攻擊下的成功概率低于原CVTPM方案的成功概率。同簡單攻擊相比,結(jié)合實驗三中的圖8可以看出,新方案在面對幾何攻擊時的表現(xiàn)更加優(yōu)異。
為提高現(xiàn)有的復值樹形奇偶機神經(jīng)密碼體制的同步效率并有效解決同步判定問題,本文提出了復值新隊列學習規(guī)則和復值神經(jīng)同步判定算法。對比實驗表明,增加了復值新隊列學習規(guī)則和復值同步判定算法的新方案與原CVTPM相比在同步成功率和同步效率方面均有顯著提高,與同類問題研究方法CS算法相比,突觸深度L越大,新方案平均迭代次數(shù)增長平緩的優(yōu)勢更加明顯,而且在幾何攻擊與簡單攻擊下,密碼體制的安全性也得到提高。