国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度學(xué)習(xí)的SIMON32/64安全性分析

2021-06-04 00:23:24王慧嬌韋永壯
關(guān)鍵詞:密文區(qū)分復(fù)雜度

王慧嬌 叢 鵬 蔣 華 韋永壯

(廣西可信軟件重點(diǎn)實(shí)驗(yàn)室(桂林電子科技大學(xué)) 廣西桂林 541004)

近年來,伴隨無線傳感器網(wǎng)絡(luò)以及射頻識別技術(shù)的發(fā)展和廣泛應(yīng)用,對資源受限的設(shè)備進(jìn)行數(shù)據(jù)加密需要使用輕量級的密碼算法.然而輕量級的密碼算法追求低消耗與高效率,必然會(huì)導(dǎo)致安全性的降低,針對這一問題目前還沒有公認(rèn)的設(shè)計(jì)準(zhǔn)則與安全標(biāo)準(zhǔn),因此有必要對這些輕量級算法的安全性進(jìn)行分析.

一個(gè)輕量級分組密碼的分析關(guān)鍵在于構(gòu)造一個(gè)有效的區(qū)分器,即根據(jù)密碼算法的結(jié)構(gòu)或其組件的特征將原密碼算法和隨機(jī)置換進(jìn)行區(qū)分.差分區(qū)分器是迄今已知的攻擊分組密碼最有利的工具之一,由Biham等人[1]首次提出,該工具利用了分組密碼算法在迭代過程中存在不平衡的差分統(tǒng)計(jì)量分布.輕量級分組密碼在設(shè)計(jì)之初會(huì)充分考慮抵御差分密碼分析和線性密碼分析.如何發(fā)現(xiàn)未知的算法缺陷,設(shè)計(jì)新型區(qū)分器是一個(gè)新的研究方向.人工智能的飛速發(fā)展與深度學(xué)習(xí)技術(shù)的進(jìn)步息息相關(guān),在計(jì)算機(jī)視覺[2]、自然語言處理[3]、生物信息[4]等領(lǐng)域深度學(xué)習(xí)具有廣泛的應(yīng)用.深度學(xué)習(xí)是一種從數(shù)據(jù)當(dāng)中發(fā)現(xiàn)復(fù)雜規(guī)律,并且利用規(guī)律對未來時(shí)刻、未知狀況進(jìn)行預(yù)測和判定的方法,因此深度學(xué)習(xí)在解決密碼學(xué)問題上具有潛在的優(yōu)勢.

就密碼學(xué)而言,深度學(xué)習(xí)主要應(yīng)用于側(cè)信道分析[5],對深度學(xué)習(xí)技術(shù)在經(jīng)典密碼分析的適用性上沒有進(jìn)行過多探討.Abadi等人[6]認(rèn)為神經(jīng)網(wǎng)絡(luò)通常意味著并不擅長密碼學(xué),簡單的感知機(jī)甚至無法對異或運(yùn)算進(jìn)行區(qū)分,而這恰恰是許多密碼算法的基礎(chǔ).Rivest[7]則評價(jià)了深度學(xué)習(xí)與密碼學(xué)之間的多種聯(lián)系,提出了使用深度學(xué)習(xí)應(yīng)用于密碼分析中的一些可能的研究方向.Hu等人[8]開發(fā)了一種前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural network, FNN),該網(wǎng)絡(luò)可以從AES密碼的密文中發(fā)現(xiàn)明文,而無需使用密鑰信息.Gohr[9]在2019年美密會(huì)上提出了基于深度學(xué)習(xí)的減輪SPECK32/64改進(jìn)差分攻擊,通過訓(xùn)練卷積殘差神經(jīng)網(wǎng)絡(luò)用以區(qū)分固定明文差分加密的密文對和隨機(jī)數(shù)據(jù)并以此構(gòu)造區(qū)分器,證明了深度學(xué)習(xí)在對稱密碼上攻擊的有效性和研究方向.Baksi等人[10]延續(xù)Gohr的工作并借鑒文獻(xiàn)[11]的思想利用神經(jīng)網(wǎng)絡(luò)構(gòu)造多合一差分區(qū)分器應(yīng)用于非馬爾可夫密碼GIMLI. Yadav等人[12]將差分區(qū)分器和深度學(xué)習(xí)技術(shù)結(jié)合,對經(jīng)典差分區(qū)分器設(shè)計(jì)了基于深度學(xué)習(xí)的通用擴(kuò)展,使區(qū)分器具有更多的輪數(shù)且需要更少的數(shù)據(jù)復(fù)雜度.Bellini等人[13]采用多層感知機(jī)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)來構(gòu)造減輪TEA和RAIDEN算法的神經(jīng)網(wǎng)絡(luò)區(qū)分器,并提出了傳統(tǒng)區(qū)分器無法應(yīng)用的場合以及該方法的局限性.Jain等人[14]對輕量級密碼算法PRESENT構(gòu)造3~6的神經(jīng)網(wǎng)絡(luò)區(qū)分器,該區(qū)分器能夠?qū)⒚艽a數(shù)據(jù)和隨機(jī)數(shù)據(jù)以極高的概率區(qū)分開,進(jìn)一步拓展了深度學(xué)習(xí)在分組密碼的工作.So[15]嘗試?yán)蒙疃葘W(xué)習(xí)對簡化版本的DES,SPECK和SIMON在基于密鑰空間受限下的全輪攻擊,成功發(fā)現(xiàn)了明/密文對和密鑰之間的線性近似,但在密鑰空間不受限制的條件下,該方法并不適用.

2013年輕量級分組密碼SIMON[16]一經(jīng)發(fā)布,便受到了廣泛的關(guān)注.最初由Abed等人[17]采用傳統(tǒng)差分分析獲得了SIMON算法在各種分組長度下的高概率差分特征.Biryukov等人[18]在FSE’14對自動(dòng)化搜索算法尋找差分路徑進(jìn)行改進(jìn),提出了基于ARX(addition rotation exclusive-or)密碼的閾值搜索技術(shù).該方法能夠更有效地利用密碼算法的強(qiáng)差分效應(yīng),進(jìn)一步改善了SIMON類算法的最佳差分.K?lbl等人[19]在2015年美密會(huì)上提出關(guān)于SIMON系列密碼的差分和線性分布特征,采用自動(dòng)化搜索技術(shù)SAT/STM尋找最佳的差分和線性特征,并研究了在不同輪數(shù)下SIMON算法抵抗攻擊的能力.但是這類方法在構(gòu)造區(qū)分器的過程中數(shù)據(jù)復(fù)雜度和時(shí)間復(fù)雜度相對較高.如何針對SIMON算法構(gòu)建更加智能化、便捷化的深度學(xué)習(xí)區(qū)分器有待進(jìn)一步去解決.

本文借鑒差分密碼分析的攻擊思想,通過深度學(xué)習(xí)發(fā)現(xiàn)輕量級分組密碼在迭代過程中存在的差分不均勻性,提出了基于深度學(xué)習(xí)的減輪SIMON32/64的區(qū)分器模型,該區(qū)分器可以將密碼算法和隨機(jī)數(shù)據(jù)以極高的概率區(qū)分開.這是對SIMON算法安全性分析的全新思路,相較于傳統(tǒng)的區(qū)分器具有更強(qiáng)的通用性和可實(shí)現(xiàn)性.該方案采用FNN和CNN深度學(xué)習(xí)算法來構(gòu)造區(qū)分器,討論了在相同環(huán)境下2種模型各自具有的優(yōu)勢.進(jìn)一步通過對FNN和CNN區(qū)分器進(jìn)行結(jié)合構(gòu)造混合區(qū)分器,在保持模型的相對精度下,增加個(gè)體間的差異,提高區(qū)分器的泛化能力.通過實(shí)驗(yàn)結(jié)果證明,混合區(qū)分器在進(jìn)行侯選密鑰的篩選任務(wù)時(shí)能夠以相對較高的概率將真實(shí)子密鑰的范圍確定在一個(gè)三者最小的集合中.與文獻(xiàn)[18-19]相比,本文提出的深度學(xué)習(xí)區(qū)分器具有較好的性能,詳細(xì)的9輪攻擊復(fù)雜度對比如表1所示:

Table 1 Comparison of 9 Rounds of Attack Complexity for SIMON32/64

1 預(yù)備知識

1.1 SIMON算法

輕量級分組密碼SIMON[16]基于平衡Feistel結(jié)構(gòu),其設(shè)計(jì)上只使用了簡單的與運(yùn)算、異或運(yùn)算、移位運(yùn)算,特別適用于物聯(lián)網(wǎng)設(shè)備當(dāng)中.其可選擇的分組長度為2n,其中,n取值為16,24,32,48,64,主密鑰長度為n×m,其中,m取值為2,3,4,設(shè)計(jì)者基于不同n和m以及迭代輪數(shù)給出了SIMON算法的多個(gè)版本.其非線性變換為

F(x)=(x<<1) & (x<<8)⊕(x<<2).

(1)

假設(shè)其輸入為(Li,Ri),子密鑰為ki,經(jīng)過1輪加密后其輸出為

(2)

圖1為SIMON的1輪迭代變換結(jié)構(gòu),其中<<為左移運(yùn)算符、&為與運(yùn)算符、⊕為異或運(yùn)算符.

Fig. 1 Process of SIMON single round encryption圖1 SIMON單輪加密過程

1.2 前饋神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)

FNN和CNN在設(shè)計(jì)上具有相似性同時(shí)也存在差異,因此對數(shù)據(jù)集進(jìn)行處理的過程中會(huì)有不同的敏感偏好.

Fig. 2 Model of feedforward neural network distinguisher圖2 前饋神經(jīng)網(wǎng)絡(luò)區(qū)分器模型

Fig. 3 Model of convolutional neural network distinguisher圖3 卷積神經(jīng)網(wǎng)絡(luò)區(qū)分器模型

CNN是一種特殊結(jié)構(gòu)的FNN,能夠接受矩陣作為輸入,具有跨空間(圖像等)或跨時(shí)間(音頻信號等)的重復(fù)神經(jīng)元塊(卷積核),這種特殊的設(shè)計(jì)結(jié)構(gòu)使得CNN具有部分平移不變性.圖3給出了CNN區(qū)分器的模型,其中輸入層可由密文對(C0,C1)靈活設(shè)置其矩陣的尺寸.

以截?cái)嗖罘謪^(qū)分器為例:算法只考慮差分的一部分性質(zhì),比如,差分落在某個(gè)集合中以及差分的某個(gè)比特位為0.對于不同的數(shù)據(jù)集這些差分集合以及其中的某比特可以落在空間中的任意位置,假如要像FNN一樣在每個(gè)空間位置學(xué)習(xí)獨(dú)立的權(quán)重,訓(xùn)練數(shù)據(jù)需要多出幾個(gè)數(shù)量級.簡單地說,對于沒有跨空間重復(fù)權(quán)重的FNN,連接到輸入矩陣左上方的輸入神經(jīng)元組不得不獨(dú)立于連接到輸入矩陣右下方的輸入神經(jīng)元組來學(xué)習(xí)表示某個(gè)差分集合或某個(gè)比特位.因此需要足夠多的訓(xùn)練樣本,才能夠讓FNN學(xué)習(xí)到某些差分集合在各個(gè)可能位置.

2 基于深度學(xué)習(xí)的區(qū)分器設(shè)計(jì)

本節(jié)采用1.2節(jié)中的2種深度學(xué)習(xí)模型來構(gòu)建深度學(xué)習(xí)區(qū)分器,給出了深度學(xué)習(xí)區(qū)分器的構(gòu)建方法和實(shí)現(xiàn)過程,以及如何利用該區(qū)分器進(jìn)行候選密鑰篩選.

2.1 區(qū)分器的設(shè)計(jì)

輕量級分組密碼在迭代輪數(shù)低的情況下,明文中的統(tǒng)計(jì)規(guī)律和結(jié)構(gòu)特征沒有完全隱藏在密文當(dāng)中,本文期望通過深度學(xué)習(xí)發(fā)現(xiàn)這種隱含的特征,從而將密文對和隨機(jī)數(shù)據(jù)區(qū)分開,進(jìn)而篩選出具有高概率差分特點(diǎn)并且隱含了密鑰信息的密文對.對此本文選取了2種網(wǎng)絡(luò)結(jié)構(gòu)模型:FNN和CNN,通過靈活調(diào)節(jié)超參數(shù),使其達(dá)到最優(yōu)的性能.一方面是為了驗(yàn)證2種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對于加密數(shù)據(jù)的敏感度;另一方面通過結(jié)合2種神經(jīng)網(wǎng)絡(luò)區(qū)分器進(jìn)行候選密鑰篩選,得到更好的結(jié)果.

深度學(xué)習(xí)技術(shù)能夠揭示數(shù)據(jù)中的隱藏結(jié)構(gòu)而無需顯式標(biāo)注其特征,借鑒差分密碼分析中尋找多條差分特征的思想將其轉(zhuǎn)化為深度學(xué)習(xí)的分類問題,采用2階段策略構(gòu)造深度學(xué)習(xí)區(qū)分器:

1) 離線階段

離線階段是對神經(jīng)網(wǎng)絡(luò)進(jìn)行2分類學(xué)習(xí),訓(xùn)練集與驗(yàn)證集由密文對和隨機(jī)數(shù)據(jù)組成.密文對來自于固定明文差分通過不同密鑰加密r輪生成.

2) 在線階段

在線階段是通過神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測.測試集來自于固定明文差分采用統(tǒng)一密鑰進(jìn)行加密r輪生成的密文對.確定區(qū)分器閾值δ,當(dāng)測試樣本預(yù)測值大于δ時(shí)將其歸類為正例,否則歸類為負(fù)例.

算法1.離線階段.

輸入:樣本數(shù)量n、明文差分Δx;

輸出:訓(xùn)練成功的網(wǎng)絡(luò)模型model.

①TD←?; /*初始訓(xùn)練集為空*/

②P0,K←Random;P1←P0⊕Δx;

③C0←encrypt(P0,k);C1←encrypt(P1,k);

④ fori∈{1,n} do /*設(shè)置樣本集標(biāo)簽*/

⑥Ci←Random;

⑦Yi←0;

⑧ else

⑨Yi←1;

⑩ end if

算法2.在線階段.

輸入:樣本數(shù)量n、明文差分Δx、閾值δ、模型model;

輸出:隱藏密鑰信息且具有高概率差分密文對.

①TD′←?; /*初始測試集為空*/

②P0←Random;P1←P0⊕Δx;

③C0←encrypt(P0,k); /*唯一密鑰加密*/

④C1←encrypt(P1,k);

⑤TD′←X(C0,C1);

⑥ fori∈{1,n} do

⑨ else

2.2 神經(jīng)網(wǎng)絡(luò)的設(shè)置

為了保留密文對的統(tǒng)計(jì)信息以及神經(jīng)網(wǎng)絡(luò)模型能夠順利收斂到一個(gè)局部最優(yōu)解,分別對輸入輸出格式、激活函數(shù)、部分超參數(shù)進(jìn)行設(shè)置.

2) 基于不同的數(shù)據(jù)集和應(yīng)用場景神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中采取不同的非線性激活函數(shù):sigmoid函數(shù)是1個(gè)logistic函數(shù),表示為不管輸入是什么得到的輸出被約束在0~1之間.本文中的神經(jīng)網(wǎng)絡(luò)模型只有1個(gè)輸出神經(jīng)元,因此將其應(yīng)用于輸出層,其函數(shù)表達(dá)式為

(3)

ReLU函數(shù)應(yīng)用于輪數(shù)比較低的區(qū)分器訓(xùn)練當(dāng)中,減少了梯度消失的可能性,其函數(shù)表達(dá)式為

ReLU(x)=max(0,x).

(4)

當(dāng)對輪數(shù)比較高的區(qū)分器進(jìn)行訓(xùn)練時(shí),由于數(shù)據(jù)集當(dāng)中的密文對和隨機(jī)數(shù)據(jù)沒有出現(xiàn)明顯的差異性,因此往往在訓(xùn)練過程中產(chǎn)生梯度爆炸的情況,訓(xùn)練模型存在向2個(gè)方向傾斜的可能,基于此本文選擇了tanh函數(shù),其函數(shù)表達(dá)式為

(5)

3) 超參數(shù)設(shè)置.損失函數(shù)設(shè)置為其均方誤差

(6)

同時(shí)為了防止出現(xiàn)過擬合現(xiàn)象,對均方誤差采用L2范數(shù)最小化結(jié)構(gòu)風(fēng)險(xiǎn).每批次(batch)訓(xùn)練數(shù)據(jù)為213,優(yōu)化器采用Adam算法,學(xué)習(xí)率隨訓(xùn)練輪數(shù)不斷下降,經(jīng)過20個(gè)回合(epoch)后不再降低,所以,算法中訓(xùn)練周期設(shè)置為20個(gè)epoch.其間通過回調(diào)函數(shù)觸發(fā)ModelCheckPoint方法保存最佳的學(xué)習(xí)模型.

2.3 候選密鑰篩選方案

采用上述算法獲得了一個(gè)r-1輪深度學(xué)習(xí)區(qū)分器,對一個(gè)r輪加密算法,其攻擊步驟為:

1) 均勻隨機(jī)的選取明文P0,令P1=P0⊕Δx,在同一密鑰k(k∈k1,k2…,kr)下加密,獲得相應(yīng)密文對(C0,C1).

2) 對(C0,C1)利用其r輪中所有存在的候選密鑰進(jìn)行1輪“解密”,得到其r-1輪密文對(σ0,σ1).

(7)

其中,α,β由FNN和CNN區(qū)分器的準(zhǔn)確率分配.

4) 進(jìn)一步統(tǒng)計(jì)每一個(gè)候選密鑰來自于解密后的得分

vk

(8)

通過vk對所有候選密鑰進(jìn)行排名.算法3對步驟1)~4)進(jìn)行了闡述.

算法3.候選密鑰篩選.

輸入:選擇明文差分加密r輪的密文對(C0,C1)、r-1輪深度學(xué)習(xí)區(qū)分器modelFNN,modelCNN;

輸出:候選密鑰排名.

① fori∈{1,n} do /*n為候選子密鑰數(shù)量*/

②σ0←decryptOneRound(C0,ki);

③σ1←decryptOneRound(C1,ki);

⑦vk←finalGrade(δk);

⑧ end for

⑨descendingSort(vk). /*降序排列*/

3 實(shí)驗(yàn)結(jié)果與分析

本節(jié)主要給出了深度學(xué)習(xí)區(qū)分器在訓(xùn)練階段和測試階段的實(shí)驗(yàn)結(jié)果,并展示了通過深度學(xué)習(xí)區(qū)分器在對SIMON32/64的9輪攻擊中呈現(xiàn)的效果.所有實(shí)驗(yàn)平臺其硬件環(huán)境為處理器:Intel?CoreTMi7-7700,內(nèi)存:8.00 GB.深度學(xué)習(xí)庫:后端Tensorflow,前端Keras,采用CPU進(jìn)行計(jì)算實(shí)現(xiàn).

3.1 離線階段實(shí)驗(yàn)

選擇明文差分Δx=0x0040/0000,通過第2節(jié)的算法1生成220個(gè)訓(xùn)練集樣本,217個(gè)驗(yàn)證集樣本,正負(fù)樣本的數(shù)量各占其中的1/2.圖4給出了基于6輪FNN在20個(gè)回合的訓(xùn)練情況:

Fig. 4 Performance measurement of SIMON 6-round neural network differentiator圖4 SIMON的6輪神經(jīng)網(wǎng)絡(luò)區(qū)分器的性能度量

損失曲線能夠反映模型的學(xué)習(xí)率變化和函數(shù)的收斂情況,在圖4(a)中,由于初始時(shí)學(xué)習(xí)率設(shè)置較大,損失值下降很快.隨著迭代學(xué)習(xí)率不斷得到調(diào)整,模型的訓(xùn)練精度增加,損失曲線也逐漸趨于穩(wěn)定.其后面epoch驗(yàn)證集的曲線變化有向低性能過渡的趨勢,反映出模型存在輕微的過擬合現(xiàn)象.查全率表示被預(yù)測正確的正例樣本占總正例樣本的比例,衡量了區(qū)分器對正例的識別能力.其20個(gè)epoch的查全率變化如圖4(b)所示,反映該模型能夠比較全面地選擇出更多的密文對,從而能夠?qū)ふ页龈嗟母吒怕什罘?AUC(area under curve)反映了模型對樣本的排序能力,它能夠直觀地展示一個(gè)模型的好壞.圖4(c)展示了在第6個(gè)epoch后AUC的值開始接近于1,說明采用Δx=0x0040/0000為初始差分經(jīng)過6輪迭代后生成的密文對與隨機(jī)數(shù)據(jù)之間存在較大的差別,神經(jīng)網(wǎng)絡(luò)能夠輕易地提取到這種數(shù)據(jù)間差異.綜上說明這是一個(gè)近乎完美的6輪區(qū)分器.

表2列出了FNN和CNN在6~9輪區(qū)分器的學(xué)習(xí)參數(shù)、訓(xùn)練時(shí)間和準(zhǔn)確率.可以看出CNN能夠更好的收斂到一個(gè)局部最小值,更容易被優(yōu)化.但相應(yīng)的由于FNN結(jié)構(gòu)簡單,訓(xùn)練時(shí)間將大大降低,準(zhǔn)確率上略遜于CNN.

Table 2 Comparison of SIMON32/64 6~9 Rounds FNN and CNN

圖5展示了6~9輪區(qū)分器訓(xùn)練過程中驗(yàn)證集準(zhǔn)確率的變化,表明深度學(xué)習(xí)區(qū)分器對低輪的SIMON算法輕松的學(xué)習(xí)到了加密數(shù)據(jù)和隨機(jī)數(shù)據(jù)的區(qū)分,但隨著其迭代輪數(shù)的增加,準(zhǔn)確率會(huì)不斷降低.其本質(zhì)原因在于根據(jù)密碼算法的混淆和擴(kuò)散原則,其迭代輪數(shù)越高,明密文之間的統(tǒng)計(jì)信息越弱,相應(yīng)的正負(fù)樣本相似性很高,使深度學(xué)習(xí)難以進(jìn)行有效的特征選擇.為了使8,9輪的區(qū)分器有更強(qiáng)的泛化能力,通過增加訓(xùn)練集和驗(yàn)證集的數(shù)據(jù)量、延長訓(xùn)練epoch,2種神經(jīng)網(wǎng)絡(luò)模型都獲得了不同程度的提升,CNN相比于FNN提升效果更加明顯.

Fig. 5 Comparison of the accuracy in verification set of SIMON 6~9 rounds FNN and CNN圖5 SIMON的6~9輪FNN與CNN驗(yàn)證集準(zhǔn)確率對比

3.2 在線階段實(shí)驗(yàn)

對2種神經(jīng)網(wǎng)絡(luò)模型6~9輪進(jìn)行測試,采用選擇明文差分為Δx=0x0040/0000,定義閾值δ>0.5.為了防止可能存在的密鑰依賴,每一輪采用1 000個(gè)密文對作為數(shù)據(jù)集,循環(huán)1 000次,總計(jì)100萬個(gè)數(shù)據(jù)集.表3給出了2種神經(jīng)網(wǎng)絡(luò)模型6~9輪的預(yù)測結(jié)果,可以看出2種模型在6,7輪都具有可信的準(zhǔn)確率,同時(shí)證明該模型具有良好的泛化能力.在8,9輪中,CNN在預(yù)測上具有一定的參考意義,基于9輪的FNN幾乎沒有學(xué)到任何東西.圖6給出了6輪CNN區(qū)分器對300個(gè)隨機(jī)正樣本的預(yù)測分布.可以看出我們的6輪CNN區(qū)分器在預(yù)測值的分布上具有較高的可信度,能夠容易地找到具有高概率差分的密文對.

Fig. 6 Prediction results of SIMON 6 rounds of convolutional neural network圖6 SIMON的6輪卷積神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果

Table 3 Test Set Accuracy of Deep Learning Distinguisher表3 深度學(xué)習(xí)區(qū)分器測試集準(zhǔn)度

3.3 候選密鑰篩選結(jié)果

訓(xùn)練集包含220個(gè)樣本,驗(yàn)證集包含217個(gè)樣本,每批次采用213樣本,訓(xùn)練epoch為20輪.模型初始學(xué)習(xí)率為0.02,每輪遞減5E-4,經(jīng)過20個(gè)epoch后學(xué)習(xí)率為0.01.最終得到了基于FNN和CNN的最佳學(xué)習(xí)模型.故其每個(gè)區(qū)分器的離線復(fù)雜度為220+217=220.170(加密次數(shù)).

利用算法1構(gòu)造了一個(gè)7輪的深度學(xué)習(xí)區(qū)分器.采用128個(gè)輸入差分為Δx=0x0040/0000的已知明文對,基于SIMON32/64的自身性質(zhì),對其無損失的向上擴(kuò)展1輪,最后通過真實(shí)密鑰加密至9輪.

利用算法3對9輪SIMON32/64的65,535個(gè)候選密鑰進(jìn)行篩選.采用27個(gè)選擇明密文對,該攻擊的時(shí)間復(fù)雜度為220.170+27×216=223.000(加密次數(shù)),混合區(qū)分器的攻擊時(shí)間復(fù)雜度為220.170×2+27×216=223.358(加密次數(shù)).

通過對FNN和CNN以及兩者結(jié)合的混合區(qū)分器進(jìn)行實(shí)驗(yàn),表4給出了以真實(shí)密鑰為分界線,高于真實(shí)密鑰成績的候選密鑰數(shù)量.篩選出的候選密鑰數(shù)量越少,表明所設(shè)計(jì)的區(qū)分器越有效.候選密鑰成績的平均取值范圍在-537.107~-500.221之間.

Table 4 The Number of Candidate Keys and the Actual Key Scores

3.4 深度學(xué)習(xí)區(qū)分器與傳統(tǒng)區(qū)分器的比較

采用STA/STM方法K?lbl等人[19]給出了減輪SIMON32/64的16輪差分軌跡,其中6~9輪的差分軌跡的轉(zhuǎn)移概率分別為2-12,2-14,2-18,2-20,相應(yīng)所需的數(shù)據(jù)復(fù)雜度和存儲復(fù)雜度至少分別需要212,214,218,220.采用深度學(xué)習(xí)構(gòu)造的區(qū)分器在9輪攻擊中數(shù)據(jù)復(fù)雜度僅為27+1,F(xiàn)NN和CNN以及兩者結(jié)合的混合區(qū)分器存儲復(fù)雜度分別為210.115,29.760和29.399.表1對文獻(xiàn)[18-19]和深度學(xué)習(xí)區(qū)分器所需的數(shù)據(jù)復(fù)雜度、時(shí)間復(fù)雜度和存儲復(fù)雜度進(jìn)行了總結(jié),可以反映出深度學(xué)習(xí)區(qū)分器在這些度量標(biāo)準(zhǔn)上都具有明顯的優(yōu)勢,采用FNN和CNN結(jié)合的候選密鑰篩選方案能夠?qū)⒋鎯?fù)雜度有效降低.

4 總結(jié)與展望

本文分別基于FNN和CNN 2種深度學(xué)習(xí)模型對減輪SIMON32/64的安全性進(jìn)行了分析.實(shí)驗(yàn)結(jié)果發(fā)現(xiàn):CNN構(gòu)造的區(qū)分器在準(zhǔn)確率上要優(yōu)于FNN;對于6,7輪的SIMON32/64該區(qū)分器都能夠以很高的概率將密文對和隨機(jī)數(shù)據(jù)區(qū)分開;在利用FNN和CNN區(qū)分器共同參與的候選密鑰篩選策略中,不但成功縮減了候選密鑰可能的范圍,而且有效降低了攻擊復(fù)雜度、數(shù)據(jù)復(fù)雜度及時(shí)間復(fù)雜度.這也進(jìn)一步說明了通過結(jié)合神經(jīng)網(wǎng)絡(luò)和差分對一些輕量級分組密碼進(jìn)行安全性分析是一個(gè)可行的手段.另一方面,能否利用機(jī)器學(xué)習(xí)中的其他算法來構(gòu)建分組密碼的新型區(qū)分器,有待進(jìn)一步研究.

猜你喜歡
密文區(qū)分復(fù)雜度
區(qū)分“旁”“榜”“傍”
一種針對格基后量子密碼的能量側(cè)信道分析框架
你能區(qū)分平衡力與相互作用力嗎
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
一種低復(fù)雜度的慣性/GNSS矢量深組合方法
教你區(qū)分功和功率
求圖上廣探樹的時(shí)間復(fù)雜度
某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
出口技術(shù)復(fù)雜度研究回顧與評述
临安市| 库伦旗| 靖宇县| 西乌| 赣州市| 通化市| 杭锦后旗| 浙江省| 常熟市| 哈巴河县| 潮州市| 岳阳县| 泉州市| 韶关市| 柞水县| 东港市| 逊克县| 慈利县| 文昌市| 钦州市| 和政县| 五家渠市| 丰台区| 舒兰市| 密云县| 兰州市| 福泉市| 哈巴河县| 本溪市| 苍溪县| 定南县| 肃南| 广水市| 广河县| 高淳县| 安康市| 德州市| 儋州市| 康马县| 天镇县| 喀喇|