池亞平,岳梓巖,林雨衡
(1.北京電子科技學(xué)院 網(wǎng)絡(luò)空間安全系,北京 100070;2.中國科學(xué)院網(wǎng)絡(luò)測評技術(shù)重點實驗室,北京 100093)
為了實現(xiàn)關(guān)鍵技術(shù)安全自主可控,國產(chǎn)加密算法不斷發(fā)展更新,SM1、SM2、SM3、SM4 及SM9 算法分別在安全性、加密效率方面對標(biāo)AES、SHA256、RSA 等國際加密算法,目前被廣泛應(yīng)用于國家信息安全領(lǐng)域。
在對密碼系統(tǒng)進行監(jiān)控時,多數(shù)情況下研究者只能獲得通信傳輸中的密文,往往不能確定密碼系統(tǒng)所采用的密碼算法,導(dǎo)致密碼分析和密碼設(shè)備監(jiān)控工作困難重重[1]。在國密算法密碼應(yīng)用中,對應(yīng)用國密算法的密碼設(shè)備的數(shù)據(jù)流進行密碼算法識別和分析,及時發(fā)現(xiàn)信息系統(tǒng)在數(shù)據(jù)通信過程中是否采用規(guī)范的國密算法及規(guī)范的密碼工作模式,可有效加強密碼設(shè)備監(jiān)管、檢測和主動抵御惡意入侵。
此外,信息安全中的攻與防是相輔相成的,密碼算法的識別研究是密碼分析領(lǐng)域的重要分支之一,但密碼算法識別本身就是變相地對密碼算法進行攻擊。而從密碼算法的角度來看,對抗現(xiàn)有技術(shù)對密碼算法的識別,也為密碼算法設(shè)計實現(xiàn)帶來了新的思考與考驗,由此可見,密碼算法識別的研究意義重大。密碼算法識別目前有兩方面的研究:一方面是利用逆向分析工程對加密算法進行代碼層面的分析[2],另一方面是在唯密文條件下對密碼算法進行識別,本文研究僅針對后者展開。
本文對SM4 算法5 種工作模式下的密文特征進行可視化分析,利用實驗證明深度學(xué)習(xí)在密碼算法識別研究中的可行性,提出一種基于Transformer模型的SM4 算法工作模式識別分類方案,并通過對比其他文獻中的相關(guān)工作,驗證所提方案的有效性。
從公開文獻來看,密碼算法識別研究并不多見,現(xiàn)有方案主要針對分組密碼展開研究,也取得了一些進展。在密碼算法識別任務(wù)中,可利用統(tǒng)計檢測發(fā)現(xiàn)不同分組密碼密文的隨機程度存在的差異,從而判斷密文所屬的密碼算法。隨機性測試方法多達上百種,其中美國商務(wù)部國家標(biāo)準(zhǔn)技術(shù)協(xié)會(NIST)公布的2010 版SP800-22 標(biāo)準(zhǔn)中的15 種隨機性檢測算法(以下簡稱NIST 隨機性檢測)[3]最為典型。
文獻[4]指出除隨機性相關(guān)統(tǒng)計檢測外,還有一類統(tǒng)計檢測方法與分組密碼的分組長度、密碼結(jié)構(gòu)等有關(guān),因此基于分組長度,把分組密碼看作是一個隨機的多輸出布爾函數(shù),將256 個密文分組進行異或操作,統(tǒng)計其結(jié)果的漢明重量,通過期望值計算判斷是否服從二項分布。將此方法用于Rinjdael、Camellia 和SM4算法,結(jié)果表明,這3 種算法 分別從第4 輪、第5 輪和第7 輪開始呈現(xiàn)出良好的統(tǒng)計性能。
文獻[5]根據(jù)密碼學(xué)常識,提出針對密碼算法識別任務(wù)中的分層思想,即先對密文按照密碼體制類別進行分類識別,其中包含古典密碼、序列密碼、公鑰密碼、分組密碼等,再識別具體密碼體制,根據(jù)此思想設(shè)計雙層密碼算法識別方案并基于隨機森林算法進行實驗,結(jié)果表明,相比傳統(tǒng)單層識別方案,該方案準(zhǔn)確率提升了20%左右。
文獻[6]完善了密碼算法識別任務(wù)框架,通過對識別分類問題中的主要難點做進一步分析,對特征提取過程的各環(huán)節(jié)進行形式化定義,并以此為基準(zhǔn),探究包含隨機性檢測、統(tǒng)計學(xué)中的熵、最大熵、基尼系數(shù)等在內(nèi)的不同特征的屬性對識別分類準(zhǔn)確率的影響,引入集成學(xué)習(xí)技術(shù),采用多個基學(xué)習(xí)器集成對密文進行分類識別,防止選擇單一分類器而導(dǎo)致分類模型泛化性能不足。實驗結(jié)果表明,將熵作為特征提取函數(shù)的特征表現(xiàn)更穩(wěn)定,且較文獻[5]方案識別分類準(zhǔn)確率有較大提升。
在密碼算法識別研究工作中,特別是在基于傳統(tǒng)機器學(xué)習(xí)的方案中,將通過分析密文樣本特征,從而識別其密碼算法視作文本分類任務(wù),各類密文特征工程的構(gòu)建過程十分復(fù)雜,如隨機性特征、熵相關(guān)特征等,還需要人工分析篩選有意義的分類特征。深度學(xué)習(xí)是機器學(xué)習(xí)和人工智能研究領(lǐng)域的延伸,利用深度學(xué)習(xí)技術(shù),學(xué)者們已在很多領(lǐng)域取得重要成就。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)被證明可以高效提取目標(biāo)樣本特征,被廣泛應(yīng)用于圖像識別[7]等領(lǐng)域,并取得了顯著成果。文本分類是許多數(shù)據(jù)分析應(yīng)用的基礎(chǔ),在這一領(lǐng)域,相較于傳統(tǒng)機器學(xué)習(xí),深度學(xué)習(xí)往往表現(xiàn)更佳。文獻[8]通過構(gòu)建神經(jīng)網(wǎng)絡(luò),實現(xiàn)了MARS、RC6、Rinjdael、Serpent、Twofish 等5 類密碼算法在ECB 模式下的正確分類,得出在密碼生成的底層數(shù)學(xué)運算過程中存在固有的特性,這些特性在密文中留下了痕跡,因此,可以通過神經(jīng)網(wǎng)絡(luò)提取深層次特征來實現(xiàn)分類。文獻[9]分別對文本、語音、圖片形式的明文文件進行加密,后對密文按8 bit 分塊,采用累計求和的方法將分塊后的密文映射為二維的向量矩陣,并將得到的二維向量通過固定卷積核的卷積網(wǎng)絡(luò),提取密文的卷積特征向量,最后利用隨機森林模型對密文進行分類,結(jié)果表明,該方法對AES、3DES、Blowfish 的識別準(zhǔn)確率平均達到83%。文獻[10]在構(gòu)造密文特征時選擇基于NIST 隨機性測試,首先對密文按固定大小分塊,然后對每一分塊進行包括頻率檢驗、塊內(nèi)頻數(shù)檢驗、非重疊板塊檢驗、游程檢驗、近似熵檢驗等5 種隨機性測試,得到每塊密文對應(yīng)的測試結(jié)果,并將每一個密文分塊的隨機性測試結(jié)果作為密文的二維特征向量,采用CNN 和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)模型對密文特征進行訓(xùn)練,獲得了較高的識別準(zhǔn)確率。利用深度學(xué)習(xí)技術(shù)對密文進行特征提取,挖掘密文內(nèi)部特征并實現(xiàn)分類是密碼算法識別方面新的研究熱點。
此外,在針對分組密碼的公開發(fā)表的文獻中,很少對其工作模式進行分析,多數(shù)文獻都默認(rèn)使用分組密碼ECB 模式進行加密獲得密文樣本。分組密碼工作模式可以使算法安全性、加密效率等方面得到增強,不同的應(yīng)用場景需要采用不同的工作模式。文獻[11]定義了分組密碼5 種常見的工作模式,包括電碼本(Electronic CodeBook,ECB)、密文分組鏈接(Cipher Block Chaining,CBC)、密文反饋(Cipher FeedBack,CFB)、輸出反饋(Output FeedBack,OFB)、計數(shù)器模式(CounTeR,CTR)。這5 類工作模式基本情況見表1。
表1 分組密碼算法的5 種工作模式 Table 1 Five working modes of block cipher algorithm
對分組密碼的加密模式進行識別,可以實現(xiàn)對密碼信息系統(tǒng)的監(jiān)管。文獻[12]針對SM4 算法的4 種模式,對其加密后的密文序列從統(tǒng)計學(xué)與信息熵角度提取特征,而后利用決策樹分類算法進行二分類識別與四分類識別,結(jié)果表明,該方法在二分類問題中表現(xiàn)穩(wěn)定,準(zhǔn)確率高達90%以上,而在四分類問題中,區(qū)分率在25%左右,與隨機猜測準(zhǔn)確率相近,識別準(zhǔn)確率還有提升空間。
通過上述分析可以看出,現(xiàn)有基于機器學(xué)習(xí)的SM4 算法工作模式識別準(zhǔn)確率不高,深度學(xué)習(xí)方案尚未得到深入研究,對此,本文主要進行如下工作:
1)參考現(xiàn)有方案中利用隨機性檢測工具提取密文隨機性特征值的思想,結(jié)合傳統(tǒng)機器學(xué)習(xí)模型進行實驗分析,發(fā)現(xiàn)現(xiàn)有密碼算法識別方案應(yīng)用于SM4 算法工作模式分類問題中的不足。
2)通過逐位累加和方式對密文數(shù)據(jù)集進行處理,輸入深度學(xué)習(xí)模型,分析密文數(shù)據(jù)處理方式與深度學(xué)習(xí)方案應(yīng)用于SM4 算法工作模式分類問題的可行性。
3)設(shè)計一種基于Transformer 的SM4 算法工作模式識別方案,并增加SM4-ECB 模式下的密文樣本,豐富SM4 算法密文樣本。通過對比不同神經(jīng)網(wǎng)絡(luò)模型及文獻[5]實驗結(jié)果,驗證該模型應(yīng)用于SM4算法工作模式分類問題的高效性。
在現(xiàn)有方案中應(yīng)用廣泛的隨機性檢測方法,原理是隨機性檢測發(fā)現(xiàn)不同密碼算法加密所得密文的隨機程度存在差異,從而判斷密文所屬的密碼算法,另外也可通過隨機性檢測值分布,比較不同加密方式的加密效果。本節(jié)通過將隨機性檢測方法應(yīng)用于SM4 算法工作模式分類問題,利用實驗分析現(xiàn)有方案應(yīng)用于該問題存在的不足之處。
2.1.1 實驗分析涉及算法及工具介紹
實驗分析涉及的算法為K 近鄰(K-Nearest Neighbor,KNN)算法。KNN[13]是一種基于監(jiān)督學(xué)習(xí)的分類算法,基本思想是給定一組已正確分類的數(shù)據(jù)集作為訓(xùn)練集,模型將測試集特征與訓(xùn)練集特征進行對比,計算訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)之間的距離,并比較待測數(shù)據(jù)與其他數(shù)據(jù)之間的距離,如果距離大多數(shù)樣本較近,且這部分?jǐn)?shù)據(jù)屬于同一類別,則判定待測數(shù)據(jù)屬于該類別。文獻[6]中所提出的密碼體制識別方案使用該模型進行密碼算法分類,本文利用KNN 分類模型對SM4 算法5 種工作模式進行區(qū)分。
實驗分析涉及的工具為SP800-22 隨機性測試套件。目前在密碼測評中最常使用的隨機性測試工具是美國國家標(biāo)準(zhǔn)與技術(shù)研究院2010 年修訂的SP800-22 Rev-1a 標(biāo)準(zhǔn),該標(biāo)準(zhǔn)包含15 個測度指標(biāo),用于測試密碼算法和偽隨機數(shù)生成算法所產(chǎn)生序列數(shù)據(jù)的隨機性。文獻[14]對這15 個測度指標(biāo)進行了詳細(xì)說明,此處不再贅述。需要說明的是,在對輸入序列進行15 個隨機性檢測值計算時,部分檢測值有最短長度要求,如表2 所示。
表2 部分檢測值長度要求 Table 2 Length requirements of partial detection values 單位:bit
2.1.2 實驗分析方案
密碼算法識別分類工作中使用最為廣泛的方法是基于NIST 隨機性檢測標(biāo)準(zhǔn)進行隨機性特征提取,選擇出對密文文件分類具有價值的隨機性測度特征,實現(xiàn)對密碼算法的識別分類。為探究隨機性檢測特征對SM4 算法工作模式分類問題的有效性,保證將NIST 隨機性檢測中15 項檢測值統(tǒng)計完整,設(shè)置明文文件為256 000 kb 的文本文件,使用GMSSL 國密算法模塊[15]調(diào)用SM4 算法5 種工作模式對該明文文件進行加密。加密后得到的5 份密文文件均為256 000 kb,將5 份密文文件分別分割為1 000 份,每份256 kb,符合所有測試指標(biāo)長度要求。借助SP800-22 隨機性測試套件對5 000 份密文文件進行檢測值提取,流程如圖1 所示,實驗配置如表3 所示。
圖1 特征提取流程圖Fig.1 Flowchart of feature extraction
表3 實驗環(huán)境配置 Table 3 Experimental environment configuration
2.1.3 實驗分析結(jié)果
將提取出的15 維特征向量輸入KNN 模型進行訓(xùn)練并計算在測試集上的識別準(zhǔn)確率,5 種模式兩兩識別結(jié)果與混合五分類識別結(jié)果如表4 所示。
表4 識別準(zhǔn)確率 Table 4 Recognition accuracy %
此外,以SM4 算法為例,本文選取15 項檢測值中的碼元頻數(shù)統(tǒng)計檢測值、游程頻數(shù)統(tǒng)計檢測值、塊內(nèi)頻數(shù)統(tǒng)計檢測值進行統(tǒng)計分布,這3 項檢測值在分組密碼識別中可作為顯著特征值[16],其中,碼元頻數(shù)統(tǒng)計檢測值統(tǒng)計密文序列中0 比特和1 比特的比例,游程頻數(shù)統(tǒng)計檢測值統(tǒng)計密文序列中所包含的不同長度游程的數(shù)量,塊內(nèi)頻數(shù)統(tǒng)計檢測值統(tǒng)計固定大小的密文序列中特定元素整體的比例。3 項檢測值的分布結(jié)果如圖2~圖4 所示,其中,橫坐標(biāo)為隨機性檢測特征值,縱坐標(biāo)為對應(yīng)密文文件數(shù)量。
圖2 碼元頻數(shù)統(tǒng)計檢測值分布Fig.2 The distribution of symbol frequency statistics detection values
從圖2 中可以看出:對于ECB 模式,密文文件數(shù)量隨著特征值增大而減少,且在特征值0.0~0.2 區(qū)間內(nèi)密文文件數(shù)量較多;對于CBC、CFB 模式,各特征值對應(yīng)的密文文件數(shù)量分布較為平均;對于OFB模式,個別特征值對應(yīng)的密文文件數(shù)量遠(yuǎn)大于平均值。
從圖3 中可以看出:對于ECB 模式,特征值分布不均勻,在特征值0.0~0.2 區(qū)間內(nèi)密文文件數(shù)量較多,在特征值0.5 附近的密文文件數(shù)量明顯少于兩側(cè)密文文件數(shù)量;對于另外4 種工作模式,各特征值對應(yīng)的密文文件數(shù)量分布較為平均,其中CBC模式與OFB 模式在特征值0.5 處的密文文件數(shù)量較多。
圖3 游程頻數(shù)統(tǒng)計檢測值分布Fig.3 The distribution of run-length frequency statistical detection values
從圖4 中可以看出:對于ECB 模式,特征值分布不均勻,在特征值0.0~0.2 區(qū)間內(nèi)的密文文件數(shù)量較多,在特征值0.5 附近的密文文件數(shù)量明顯少于兩側(cè)密文文件數(shù)量;對于另外4 種模式,特征值分布基本相同,無明顯特征。
圖4 塊內(nèi)頻數(shù)統(tǒng)計檢測值分布Fig.4 The distribution of intra-block frequency statistical detection values
通過基于隨機性檢測的SM4 算法工作模式分類實驗結(jié)果可以明顯發(fā)現(xiàn),ECB 模式下的密文與其他模式下的密文進行兩兩識別時,識別準(zhǔn)確率較高。
從圖2~圖4 的隨機性檢測值分布來看,ECB 模式下密文隨機性表現(xiàn)較差,故被認(rèn)為具有一定規(guī)律性,其他工作模式下的密文隨機性都表現(xiàn)良好,檢測值分布均勻,可認(rèn)為加密效果良好。當(dāng)其他模式下密文之間兩兩識別或5 種模式混合識別時,其余4 種模式在隨機性檢測值上分布均勻,造成了識別準(zhǔn)確率與隨機猜測準(zhǔn)確率持平,因此利用現(xiàn)有方案中應(yīng)用廣泛的隨機性檢測特征難以對SM4 算法ECB 模式之外的其他工作模式進行高效識別。
文獻[17]將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于文本分類任務(wù)之中,并取得了較好的實驗結(jié)果。本節(jié)通過引入深度學(xué)習(xí)技術(shù),利用二維卷積神經(jīng)網(wǎng)絡(luò)對SM4 算法工作模式進行分類,證明深度學(xué)習(xí)方案的可行性以及提出的數(shù)據(jù)處理方式的有效性。
2.2.1 實驗方案
本文針對SM4 密碼算法5 種工作模式混合的情況,提出一種基于深度學(xué)習(xí)的分類方案。首先為驗證深度學(xué)習(xí)方案應(yīng)用于SM4 算法工作模式分類問題的可行性,將密文視為序列型文本,將其加密模式作為標(biāo)簽,利用卷積神經(jīng)網(wǎng)絡(luò)模型提取密文內(nèi)部特征,實現(xiàn)對密文所屬加密模式較高的分類準(zhǔn)確率。由于傳統(tǒng)的一維卷積神經(jīng)網(wǎng)絡(luò)在相同卷積核情況下獲得的感受野較少,在訓(xùn)練過程中容易出現(xiàn)過擬合現(xiàn)象[18],因此本文采用二維卷積神經(jīng)網(wǎng)絡(luò)對密文特征圖進行特征提取及分類。
本文采用4 000 kb 大小的文本文件進行實驗,利用GMSSL 國密算法模塊調(diào)用SM4 算法5 種工作模式對該文本文件進行加密。加密后得到的5 份密文文件大小均為4 000 kb,將5 份密文文件分別分割為1 000 份,每份4 kb。對于每份密文,以十六進制讀取密文文件,經(jīng)歸一化形成4 096 個像素值,而后轉(zhuǎn)化為64×64 像素的灰度圖,用于二維卷積神經(jīng)網(wǎng)絡(luò)輸入,該數(shù)據(jù)集稱為數(shù)據(jù)集A。數(shù)據(jù)集A 獲取流程如圖5 所示。訓(xùn)練集、測試集分布及神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)分布見表5 和表6。
圖5 數(shù)據(jù)集A 獲取流程圖Fig.5 Flowchart of dataset A acquisition
表5 數(shù)據(jù)集分布 Table 5 The distribution of dataset 單位:個
表6 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) Table 6 Neural network structure
文獻[6]指出密文組織形式對密碼算法識別準(zhǔn)確率有較大影響。因此,本文利用Python 編寫數(shù)據(jù)處理工具,實現(xiàn)將密文以十六進制讀取并轉(zhuǎn)換為二進制比特串,然后按照指定位數(shù)進行累加,將結(jié)果形成相應(yīng)大小的灰度圖用于神經(jīng)網(wǎng)絡(luò)輸入,該數(shù)據(jù)集稱為數(shù)據(jù)集B。數(shù)據(jù)集B 獲取流程如圖6 所示。本文將原始4 kb(4 096 Byte)密文按32 bit 進行累加,后轉(zhuǎn)換為32×32 像素的樣本灰度圖輸入二維卷積神經(jīng)網(wǎng)絡(luò)進行識別分類,數(shù)據(jù)集分布與表4 保持一致,在此基礎(chǔ)上計算識別準(zhǔn)確率。
圖6 數(shù)據(jù)集B 獲取流程圖Fig.6 Flowchart of dataset B acquisition
2.2.2 實驗結(jié)果分析
如表7 所示,通過改變訓(xùn)練迭代次數(shù),該二維卷積神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練迭代100 輪過程中出現(xiàn)最高識別準(zhǔn)確率53.64%,顯著優(yōu)于隨機猜測準(zhǔn)確率25%,從總體結(jié)果可以看出,將原始密文轉(zhuǎn)換為特征灰度圖后,采用深度學(xué)習(xí)的方法可以更好地提升在SM4算法5 種工作模式下的密文五分類問題中的識別準(zhǔn)確率,證明利用深度學(xué)習(xí)可以從密文中獲取細(xì)粒度特征,有效提升識別準(zhǔn)確率。
表7 CNN 識別結(jié)果(數(shù)據(jù)集A)Table 7 The recognition result of CNN(dataset A)
將數(shù)據(jù)集B 輸入該二維卷積神經(jīng)網(wǎng)絡(luò)中,實驗結(jié)果如表8 所示。通過對比表7 與表8 可以看出,將數(shù)據(jù)集A 和數(shù)據(jù)集B 分別輸入2-CNN 中,后者的識別準(zhǔn)確率較前者有顯著提升,證明了該密文數(shù)據(jù)處理方式的有效性。
表8 CNN 識別結(jié)果(數(shù)據(jù)集B)Table 8 The recognition results of CNN(dataset B)
第2.2 節(jié)證明了利用深度學(xué)習(xí)可以有效提升SM4 算法工作模式識別準(zhǔn)確率。在自然語言處理任務(wù)中,Google 提出的Transformer 模型[19]被廣泛應(yīng)用并取得了很好的效果,該模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)不同,其包含的自注意力機制可兼顧上下文特征與局部細(xì)微特征,避免文本上下文語義特征[20]的缺失,具有出色的序列細(xì)粒度特征提取能力。因此,本文提出一種基于Transformer 的SM4 算法工作模式識別方案。
2.3.1 Transformer 模型
Transformer 模型整個網(wǎng)絡(luò)結(jié)構(gòu)由注意力機制組成,把輸入的一張圖片分成N個無重疊固定大小的Patch,然后將每個Patch 全部拉成一維向量,合并得到N維矩陣。使用Linear Projection 規(guī)整矩陣長度和位置信息,再融入全局信息,將它們輸入Transformer 編碼器進行全局注意力計算和特征提取,通過MLP 分類后,輸出多分類結(jié)果。
Transformer 模型的計算復(fù)雜度主要由多頭注意力模塊決定,這也是模型的突出特點。注意力計算公式為Softmax(QKT)V,當(dāng)序列長度為N、輸入維度為H時,由于每個token 都需要與所有token 計算相似性,因此QKT這項做矩陣乘的復(fù)雜度為N×H×H×N,即平方復(fù)雜度O(N2)。
2.3.2 識別方案
基于Transformer 的SM4 算法工作模式識別方案流程如圖7 所示,由于數(shù)據(jù)集B 被證明用于神經(jīng)網(wǎng)絡(luò)輸入后分類效果更好,因此將數(shù)據(jù)集B 輸入該Transformer 模型中分類并計算準(zhǔn)確率。
圖7 基于Transformer 分類方案流程圖Fig.7 Flowchart of classification scheme based on Transformer
2.3.3 實驗結(jié)果分析
為驗證本文將Transformer 模型應(yīng)用于該問題的有效性,將數(shù)據(jù)集B 分別輸入循環(huán)神經(jīng)網(wǎng)絡(luò)、殘差神經(jīng)網(wǎng)絡(luò)進行分類,并與文獻[12]中實驗結(jié)果進行對比。Transformer 模型識別準(zhǔn)確率如表9 所示,不同神經(jīng)網(wǎng)絡(luò)的識別準(zhǔn)確率隨著訓(xùn)練輪數(shù)的變化曲線如圖8 所示,其中,2-CNN、RNN、ResNet 均使用SGD(Stochastic Gradient Descent)作為優(yōu)化器,Transformer 模型使 用 Adam(Adaptive Moment Estimation)作為優(yōu)化器??梢钥闯?,Transformer 模型經(jīng)過較少輪數(shù)的模型訓(xùn)練,就可以達到非常高的識別準(zhǔn)確率。
圖8 不同神經(jīng)網(wǎng)絡(luò)模型識別準(zhǔn)確率Fig.8 Recognition accuracy of different neural network models
表9 Transformer 識別結(jié)果 Table 9 The recognition result of Transformer
不同神經(jīng)網(wǎng)絡(luò)模型的識別準(zhǔn)確率如表10 所示,一方面證明了將密文所屬加密模式分類問題視為文本分類任務(wù)進行處理,而后利用深度學(xué)習(xí)模型自主挖掘密文特征可以有效對密文所屬加密模式進行區(qū)分,另一方面也證明了Transformer 模型在此類問題上的優(yōu)勢。
表10 不同模型實驗結(jié)果對比 Table 10 Comparison of experimental results by different models %
本文通過隨機性檢測值結(jié)合KNN 算法實驗分析,指出現(xiàn)有密碼算法識別方案應(yīng)用于SM4 算法工作模式識別工作的不足,證明深度學(xué)習(xí)技術(shù)解決該問題的可行性。在此基礎(chǔ)上,提出一種基于Transformer 模型的SM4 算法工作模式識別方案,并通過對比不同神經(jīng)網(wǎng)絡(luò)模型和當(dāng)前工作的最新文獻實驗結(jié)果,證明該方案的有效性?,F(xiàn)有密碼算法識別方案大多基于傳統(tǒng)機器學(xué)習(xí)或構(gòu)建復(fù)雜的密文特征工程,耗時費力。本文方案避免了構(gòu)建復(fù)雜特征工程,且樣本文件大小均為4 kb,其引入深度學(xué)習(xí)技術(shù),較現(xiàn)有其他密碼算法識別方案中使用的密文樣本文件顯著減小。
未來可探索更新穎高效的密文處理方式和神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),不斷提升模型泛化性,對小眾密碼算法[21-22]進行識別。由于不同算法結(jié)構(gòu)之間存在密文特征分布上的差異性[23-24],因此可針對特定結(jié)構(gòu)算法展開進一步識別與研究。另外,密文在現(xiàn)實中被包裹在各類網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包中,因此,還需要結(jié)合加密流量分析[25]領(lǐng)域相關(guān)內(nèi)容進行研究。