999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于seq2seq模型的深度學習密碼破譯方法*

2019-10-09 05:22:50孫曉麗宋曉祥
通信技術 2019年9期
關鍵詞:模型

孫曉麗,郭 艷,李 寧,宋曉祥

(中國人民解放軍陸軍工程大學,江蘇 南京 210007)

0 引 言

古希臘時期,人們嘗試使用簡單的加密方法對信息進行加密,以此來防止信息被竊取。隨著時代的進步與發展,人們對個人信息的保密問題變得越來越重視。密碼學以密碼通信的研究為目的,通過對傳輸信息進行加密,防止第三方對信息的竊取[1]。密碼技術的多樣性為信息加密和信息安全提供了多樣選擇。密碼技術因其能夠在潛在威脅的環境中保證通信的安全獲得了更多關注,廣泛應用于軍事通信保密、數據加密以及信息保密等方面。

明文和密文是一組存在復雜映射關系的數據對,密碼破譯是要找到密文所對應的明文。神經網絡的出現為密碼理論提供了全新的思路,促成了神經密碼學的發展[1],同時神經網絡也成為保密通信的一種新的實現途徑。傳統密碼破譯技術基于窮舉法、字典法等,需要大規模完全數據庫進行嘗試實現,需要耗費大量的時間,效率低下。而基于神經網絡實現密碼破譯,規避了傳統密碼破譯方式的弊端。利用神經網絡解決密碼破譯問題的關鍵在于尋找一種合適的神經網絡。

文獻[2-3]使用簡單BP神經網絡分別對橢圓曲線密碼和公鑰密碼進行破譯。文獻[4]提出了一種新的神經網絡結構——生成式對抗網絡(GAN)。文獻[5]在此基礎上提出了一種新的模型——PassGAN,并將此網絡應用于密碼猜測的問題上,改變了利用傳統破譯工具進行字典學習破譯的弊端。文獻[6]受CycleGAN的啟發,提出了一種新的網絡——CipherGAN,并對vigerene密碼進行破譯,取得了較好效果。以上幾種算法都證明所提模型在字符級密碼破譯方面有優異效果,但GAN模型的超參數對模型效果有較大影響。因此,需要找到一個合適的網絡,使其能夠高效、穩定地實現密碼破譯。

明文和密文是一組存在復雜映射關系的數據對,通過對其學習得到映射關系,與序列處理問題類似,因此可以使用合適的序列處理模型[7-11]解決密碼破譯問題。

基于此,本文采用一種基于深度學習的密碼破譯方法。首先,文章采用詞嵌入的編碼方式對輸入數據進行編碼,從而將明文和密文轉化為可學習的存在某種內在關系的數據對,使其在確定數據輸入形式的同時,保留序列之間的相關信息。其次,充分利用seq2seq(sequence to sequence)模型[12]實現多對多的特點進行網絡學習,成功解決了明文密文長度匹配的問題。最后,使用多表置換密碼的不同加密算法驗證了模型的性能。仿真結果表明,無論哪種加密方式,所用模型都具有很好的破譯效果,破譯的準確率高達99%。本文所提的破譯方法對研究其他密碼破譯問題具有重要的參考意義。

1 相關知識

1.1 seq2seq模型

seq2seq模型是一類端到端的算法框架,即序列到序列的轉換模型框架,在機器翻譯、自動應答等應用場景上經常出現。

Seq2Seq由編碼器-解碼器[13](Encoder-Decoder)框架實現。Seq2seq模型包含3部分——編碼器、解碼器和固定長度的語義向量(Context Vector),如圖1所示。從圖1可以看到,編碼是將源序列轉化為一個長度固定的語義向量,而解碼的過程是將語義向量轉化為目標序列。其中,語義向量中間語義編碼是編碼器最后一個時間步的狀態,以此作為整個句子的語義向量。

圖1 seq2seq結構

Seq2seq模型可以解決一對多、多對多的問題,將其應用于密碼破譯中,即無論明文密文的長度是否相等,理論上都可以實現密碼的破譯,有利于將模型推廣到其他加密算法。

1.2 詞嵌入

數據以何種形式輸入網絡,成為網絡設計的又一問題。因此,結合現有的編碼形式,摒棄獨熱碼(One-hot)編碼方式,選擇詞嵌入(Word Embedding)[13]的方式處理數據。在數據量較大的情況下,使用One-hot編碼會造成較大的空間浪費,且One-hot編碼會導致序列相關信息的缺失。詞嵌入的方式可以通過網絡學習詞嵌入矩陣存儲數據的相關信息,能夠更多地保留源序列的特征值。訓練網絡的過程中,每個嵌入的向量都會更新。使用詞嵌入進行編碼,可以發現很多字符與字符之間的相似性,且能夠可視化字符之間的關系。相較下,選擇詞嵌入的方式處理數據更貼近需求。詞嵌入能夠把一個維數為所有詞的數量的高維空間嵌入到一個維數低得多的連續向量空間中,每個單詞或詞組被映射為實數域上的向量。結構如圖2所示。

圖2 詞嵌入關系

1.3 多表置換密碼

維吉尼亞密碼(Vigenere)是使用一系列凱撒密碼組成密碼字母表的加密算法,屬于多表密碼的一種簡單形式。

自動密鑰密碼(Autokey Cipher)也是多表替換密碼,與維吉尼亞密碼密碼類似,但使用不同的方法生成密鑰。通常來說,它比維吉尼亞密碼更安全。自動密鑰密碼主要有2種:關鍵詞自動密鑰密碼和原文自動密鑰密碼。

Enigma是通過enigma機產生的一種多表替換密碼,明文密文之間的相互轉換需要對應相同的轉子初始位置。相較于vigenere和autokey,enigma的生成過程更復雜。enigma是一種復式置換密碼。

本文選擇3種安全程度不同的置換密碼進行實驗,以此證明所用模型的正確性。

2 模 型

本文采用基于seq2seq的算法解決密碼破譯問題,通過對現有明文密文對的分析,學習明文密文對之間復雜的映射關系,從而實現對密文的破譯。本文中,編碼器與解碼器均采用傳統的遞歸神經網絡(Recurrent Neural Network,RNN)實現,具體采用GRU神經單元搭建模型的架構。

模型的編碼器和解碼器的運算過程分別表示為:

其中,f和g都是激活函數,其中g函數一般為softmax函數。

Seq2seq模型能夠很好地解決一對多、多對多的問題,能夠很好地適應明文密文的長度。模型結構如圖3所示。

圖3 模型結構

由結構圖圖3可以看出,需要對現有密文進行處理,采用詞嵌入的方式對其進行編碼處理,并在訓練過程中對其進行更新,從而得到合適的詞嵌入矩陣。

本文所用模型的seq2seq算法過程如下:

輸入:已知的密文

輸出:產生的明文

1.對密文進行編碼,編碼方式為詞嵌入;

2.編碼后的數據輸入編碼器,得到語義向量C;

3.對語義向量進行解碼,經過softmax層輸出得到解碼后的明文;

4.使用負最大似然求loss,并求出訓練過程的準確率;

5.loss.backward()。

seq2seq算法描述了seq2seq模型的訓練過程。在此過程中,語義向量C通常為編碼器最后一個隱藏節點或者多個隱藏節點的加權和。本文實驗中,采用最后一個隱藏節點作為語義向量C。解碼器在t時刻的隱藏狀態h(t)由t-1時刻的隱藏狀態h(t-1)、輸出y(t-1)以及語義向量C共同決定。在解碼器的輸出端增加softmax層,輸出采用輸出概率最大的方式,有效提高了準確率。

3 實驗結果

實驗中,編碼器與解碼器中的神經網絡單元都選用GRU,激勵函數選用線性整流(Rectified Linear Unit,ReLu)函數。本文在NVIDIA TITAN X上進行實驗。

在訓練網絡的過程中,選擇了一種有條件的teacher-forcing訓練模式,即達到一定條件后,使用真實的目標輸出作為下一個輸入,而不是直接使用解碼器猜測的結果作為下一個輸入。使用teacherforcing能夠使得模型收斂更快,且有限定條件的使用teacher-forcing能夠避免不穩定情況的出現,從而達到更好的效果。

在訓練過程中需要記錄訓練的準確率,對準確率的計算方式定義如下:

其中,δi表示第i組輸出的明文是否與目標值一致,即使僅有一位不相同也不能將其視為一致。若一致記為1,而num_testset表示測試集的大小。

3.1 確定節點數

由于實驗所用的訓練數據較多,本實驗中設定批量大小為512。在隱藏節點選取問題上,需要通過大量實驗確定其個數,實驗結果如圖4所示,以autokey密碼為例進行實驗確定節點數。

由圖4可以看出,在不同節點數情況下,準確率隨迭代次數的增加而升高,當準確率達到一定程度時,保持穩定;隨著節點數的增加,網絡的收斂速度越來越快,網絡的穩定性越來越高;低節點數時,訓練過程存在較多波動;隨著節點數的增加,網絡的訓練越來越穩定。在選定節點數時,應綜合考慮準確率、穩定性以及收斂速度。因此,從仿真結果可以明顯看出,當節點數為512時,網絡的穩定性和收斂速度均為最優,但是其準確率相較節點數位256時偏低。綜合考慮,選定節點數為256最合適。

3.2 密碼破譯效果實驗

確定節點數后,對模型進行訓練。訓練過程中,在不同加密算法下,準確率、誤差函數隨迭代次數的變化圖如圖5、圖6和圖7所示。

圖5 Autokey數據集節點數為256時準確率、誤差與迭代步數的關系

圖6 Vigenere數據集節點數為256時準確率、誤差與迭代步數的關系

圖7 Enigma數據集節點數為256時準確率、誤差與迭代步數的關系

由圖5、圖6和圖7可以看出,在不同加密算法的情況下,模型的準確率和誤差函數的變化是同步的。準確率隨迭代次數的增加而升高,誤差函數的變化則與之相反;訓練過程中,模型具有很高的穩定性;訓練過程的準確率高達100%。

表1為在不同加密算法的情況下,測試階段的破譯準確率。在訓練好的、對訓練數據的破譯率高達100%的模型下,對未知明文的密文進行破譯。

表1 三種加密算法破譯準確率

由表1可以明顯看出,針對3種不同的加密算法,該模型能夠很好地實現破譯功能,準確率高達99%,說明seq2seq模型在字符級密碼破譯方面有較為優異的效果。

4 結 語

信息的安全問題受到越來越多的關注,信息的加解密問題成為當今研究的熱點。相較于傳統的密碼破譯方法,基于深度學習的密碼破譯方法更高效,且一個合適的模型可以推廣到更多的加密算法上。因此,本文采用一種基于seq2seq模型的深度學習密碼破譯方法,首次將seq2seq模型應用于密碼破譯問題,將密碼破譯問題轉換為序列處理問題。模型中,采用詞嵌入的方式對數據進行處理,摒棄one-hot編碼浪費信息、占用大空間的弊端,充分利用密文之間的相互關系。以3種不同的多表置換密碼對模型進行檢驗,仿真結果顯示,該模型在3種多表置換密碼的破譯問題中準確率高達99%,證明在字符級密碼破譯方面具有較為優異的效果。

但是,本文采用較為簡單的加密算法對模型進行檢驗,為了更好地證明其在字符級密碼破譯方面的效果,下一步需要對復雜的字符級加密算法進行檢驗,并對其在字符級加密算法中進行推廣。

猜你喜歡
模型
一半模型
一種去中心化的域名服務本地化模型
適用于BDS-3 PPP的隨機模型
提煉模型 突破難點
函數模型及應用
p150Glued在帕金森病模型中的表達及分布
函數模型及應用
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
主站蜘蛛池模板: 中日韩一区二区三区中文免费视频| 九色视频线上播放| 久久影院一区二区h| 强奷白丝美女在线观看| 欧美亚洲国产日韩电影在线| 欧美成人综合在线| 欧美成人精品一区二区| 精品国产成人a在线观看| 天天操天天噜| 久久综合色视频| 99热国产在线精品99| 波多野结衣一级毛片| 香蕉在线视频网站| 国产欧美一区二区三区视频在线观看| 黄色a一级视频| 久久精品国产电影| 欧美三级视频网站| 中文字幕欧美日韩高清| 国产制服丝袜91在线| 亚洲三级电影在线播放 | 久久五月视频| 亚洲一区二区三区香蕉| 欧美激情,国产精品| 久久性妇女精品免费| 欧美日韩精品在线播放| 欧美a在线视频| 狠狠色成人综合首页| 成人va亚洲va欧美天堂| 毛片卡一卡二| AV熟女乱| 国产午夜在线观看视频| 爱做久久久久久| 国产精品综合久久久| 午夜福利在线观看成人| 国产第一页屁屁影院| 高h视频在线| 综合亚洲色图| 国产一级毛片高清完整视频版| www亚洲精品| 亚洲黄色网站视频| 蜜臀AV在线播放| 蝌蚪国产精品视频第一页| 欧美狠狠干| 国产欧美日韩精品综合在线| 亚洲欧洲美色一区二区三区| 综合人妻久久一区二区精品 | 国产三级毛片| 亚洲免费成人网| 久久综合亚洲色一区二区三区| 国产成人午夜福利免费无码r| 国产国语一级毛片| 99青青青精品视频在线| 精品一区二区三区四区五区| 成年网址网站在线观看| 小说 亚洲 无码 精品| 欧美国产日韩在线观看| 91精品国产一区| 亚洲精品视频免费看| A级毛片高清免费视频就| 国产在线观看第二页| 国产成人在线小视频| аⅴ资源中文在线天堂| 亚洲视屏在线观看| 日本不卡免费高清视频| 亚洲精品国产自在现线最新| a级毛片毛片免费观看久潮| 欧美无遮挡国产欧美另类| 九九精品在线观看| 久久精品无码专区免费| 成年人国产视频| 精品国产成人高清在线| 亚洲综合狠狠| 国产精品福利导航| 中文字幕无码中文字幕有码在线| 色综合中文综合网| 久久久久无码精品国产免费| AV在线天堂进入| 毛片a级毛片免费观看免下载| 中文字幕日韩丝袜一区| 成人国内精品久久久久影院| 国产黑丝视频在线观看| 四虎国产精品永久一区|