袁 科,黃雅冰,杜展飛*,李家保,賈春福,3
(1.河南大學(xué) 計算機與信息工程學(xué)院,河南 開封 475004;2.河南省空間信息處理工程研究中心,河南 開封 475004;3.南開大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,天津 300350)
隨著密碼算法的廣泛應(yīng)用,密碼算法的安全性受到人們的廣泛關(guān)注。目前大多數(shù)的密碼分析技術(shù)都是基于密碼算法已知的前提下,開展對各種密碼算法的分析。然而在實際工作中,密碼分析者通常僅能獲取密文數(shù)據(jù),而不知道所采用的具體密碼算法。在這種情況下,密碼破譯時只能進行唯密文分析。同時,隨著應(yīng)用場景和通信環(huán)境的日益復(fù)雜,各種加密算法層出不窮,實際應(yīng)用中獲得的密文長度不同,密鑰不同,密碼算法的識別需考慮更廣范圍的密碼算法集合。因此,高效地識別密文所使用的密碼算法成為密碼分析的先決條件,開展密碼算法識別研究具有非常重要的理論意義和實用價值。
密碼算法識別最初的研究對象是古典密碼算法。隨著現(xiàn)代密碼技術(shù)的飛速發(fā)展,傳統(tǒng)的基于統(tǒng)計學(xué)方法的密碼算法識別技術(shù)逐漸失效,研究者們提出了一系列基于機器學(xué)習(xí)方法的密碼算法識別方案,這些方案具有以下兩個特點:
1)識別方案主要圍繞分組密碼算法識別展開。如趙志誠利用隨機森林模型對隨機生成的圖片使用AES、DES、3DES、IDEA、Blowfish和Camellia 6種密碼體制在ECB工作模式下加密產(chǎn)生的密文進行區(qū)分。
2)識別方案主要在ECB及CBC模式下對密文進行區(qū)分。如Dileep等提出了一種利用支持向量機識別分組密碼加密算法的方法,對AES、DES、TDES、RC5和Blowfish密碼算法在ECB與CBC模式下的加密密文進行了區(qū)分實驗,結(jié)果表明使用高斯核函數(shù)的支持向量機模型有最好的性能。此外,ECB模式相較于CBC有更好的識別準(zhǔn)確率;de Mello等分析了在ECB和CBC兩種模式下由ARC4、Blowfish、DES、Rijdael、RSA、Serpent和Twofish等7種密碼算法加密得到的密文文件,ECB在幾乎所有密碼算法上都能實現(xiàn)完全識別。
結(jié)合模式識別和機器學(xué)習(xí)的密碼算法識別也受到越來越多研究者的關(guān)注。de Souza等提出了一種基于自組織神經(jīng)網(wǎng)絡(luò)借助語言和信息檢索方法的分組密碼識別方案,通過聚類和分類過程,實現(xiàn)對密文所屬密碼體制的分類識別。吳楊等提出了一種基于密文隨機性度量值分布特征的兩層識別方案,上層由K均值聚類算法對密碼算法進行聚類劃分,下層基于聚類的結(jié)果,通過進一步優(yōu)化特征向量來區(qū)分密碼算法,達到接近90%的分類準(zhǔn)確率。在分層識別方案中,黃良韜等結(jié)合已有的密碼算法識別研究成果,提出了CM-簇分、CSN-簇分和CSBP-簇分3種簇分定義,其研究結(jié)果表明,加入分層的識別方案的密碼算法識別效果更佳。Arvind等提出了一種利用位平面圖像特征和模糊決策準(zhǔn)則的方法,實現(xiàn)了識別和隔離用相同密鑰加密的圖像。但是,目前密碼算法識別方案仍然存在以下3個問題:
1)識別方案大多基于經(jīng)典的單一分類器模型。de Mello等使用單一的支持向量機分類器識別方案對密碼算法進行識別;Sharif等比較了在分組密碼體制識別過程中不同分類模型的識別效果,認為Rotation Forest模型效果更好。
2)識別方案穩(wěn)定性不好。Fan等使用隨機森林、邏輯回歸和支持向量機3種分類模型對8種分組密碼體制開展識別任務(wù)。但以決策樹和支持向量機為例,單一的決策樹分類器在處理分類問題時由于數(shù)據(jù)集中存在噪聲或隨機錯誤,容易出現(xiàn)過擬合的狀況,導(dǎo)致分類結(jié)果只能達到局部最優(yōu);而支持向量機分類器雖然泛化能力強,但其訓(xùn)練代價較大,參數(shù)的調(diào)整和核函數(shù)的選擇都會極大地影響分類結(jié)果;趙志誠等提出了基于隨機性檢測的密碼算法識別方案,最高識別準(zhǔn)確率可達80%以上,證明了隨機性檢測可有效地提取密文特征,但其方案相對復(fù)雜,且隨著分類對象的改變,所需的最優(yōu)特征不斷改變,需要提前分別訓(xùn)練不同類別特征以此得到最優(yōu)特征,效率較低。
3)識別方案涉及因素較為單一,僅考慮加密模式對密碼算法識別效果的影響是不全面的。如丁偉等對5種分組密碼算法進行兩兩識別,提出了在訓(xùn)練和測試過程中所使用的密鑰是否相同會對識別準(zhǔn)確率有一定的影響。
為解決以上問題,本文基于集成學(xué)習(xí)思想提出一種混合梯度提升決策樹和邏輯回歸(hybrid gradient boosting decision tree and logistic regression,HGBDTLR)模型,并基于該模型構(gòu)造出一種分組密碼算法識別方案(block cipher algorithm identification scheme based on HGBDTLR model,HGLBIS),旨在提高密碼算法識別的準(zhǔn)確率與穩(wěn)定性。
目前,密碼算法識別方案的設(shè)計思想主要來源于統(tǒng)計方法和機器學(xué)習(xí)技術(shù)。不同的密碼算法進行加密產(chǎn)生的密文空間都存在一定的差異,由此可以提取出刻畫相應(yīng)差異的特征,作為密碼算法識別的基礎(chǔ)。
密碼算法識別的任務(wù)是區(qū)分這些具有細小差異的特征,從而識別出特定的密文對應(yīng)的密碼算法。由于密碼學(xué)的不斷發(fā)展,各種密碼算法不斷增多,各種特征之間存在著更為復(fù)雜與細微的差異,所以目前更多的是使用設(shè)計簡單、性能穩(wěn)定、能夠處理復(fù)雜數(shù)據(jù)關(guān)系的基于機器學(xué)習(xí)的密碼算法識別方案。
下文給出密碼算法識別的基本要素:密文、密文特征、密碼算法識別和密碼算法識別方案的形式化定義。
h
被認為是對評價密碼算法辨認技術(shù)和識別方案的自然度量。定義4(密碼算法識別方案) 在密碼算法識別R
=(A
,J
,h
)中,密碼算法識別方案用三元組表示:O
為直接對具體密碼算法進行識別的工作流程;F
為對密文文件F
進行特征提取得到的一組特征;M
為密碼算法識別方案P
采用的識別模型,在本文中即為HGBDTLR模型。其工作流程如圖1所示。圖1 密碼算法識別工作流程Fig. 1 Workflow of cryptographic algorithm identification
在機器學(xué)習(xí)領(lǐng)域,特征的選擇將直接影響分類器的識別結(jié)果。對密文進行隨機性檢測是評判密碼算法是否安全的一個重要標(biāo)準(zhǔn),文獻[6,11]中均采用隨機性檢測提取密文特征且具有較好的效果,說明隨機性檢測能夠反映密文中存在的差異。
在常用的隨機性檢測標(biāo)準(zhǔn)中,美國國家標(biāo)準(zhǔn)與技術(shù)研究所(National Institute of Standards and Technology,NIST)制定的SP 800–22標(biāo)準(zhǔn),具有較廣泛的檢測覆蓋率,對密文序列各個方面和序列分段方式都有全面且針對性的測試方法,受到許多研究人員的青睞。
依照現(xiàn)有研究及NIST隨機性檢測要求,對定義2進行擴充,給出定義5。
定義 5(基于NIST隨機性檢測提取密文特征) 密文特征可表示為四元組:
梯度提升決策樹(gradient boosting decision tree,GBDT)模型是一種應(yīng)用很廣泛的機器學(xué)習(xí)模型,可以用于分類與回歸。該模型通過Boosting方式逐步構(gòu)建一系列單個決策樹,再進行多輪迭代,每輪迭代產(chǎn)生一個弱分類器,而每個分類器在上一輪分類器的殘差基礎(chǔ)上進行訓(xùn)練。由多棵決策樹組成,所有樹的結(jié)論累加起來作為最終結(jié)果。該模型能靈活地處理多個變量和目標(biāo)之間的非線性關(guān)系,且擁有較高的預(yù)測準(zhǔn)確度。當(dāng)使用損失函數(shù)健壯時,模型魯棒性非常強,受異常值影響小。
邏輯回歸(logistic regression,LR)模型是一種形式簡單,可解釋性好的機器學(xué)習(xí)模型。該模型通過在線性回歸的基礎(chǔ)上增加一個sigmoid函數(shù)(非線形)映射,使其成為一個優(yōu)秀的分類算法。其計算代價不高,易于理解和實現(xiàn),并且分類時計算量非常小,速度很快,存儲資源低。
本文基于HGBDTLR模型構(gòu)造分類器,進而提出HGLBIS方案,所提的HGLBIS方案分為訓(xùn)練和測試兩個階段。
基于若干弱分類器組合成的集成學(xué)習(xí)模型在分類問題上穩(wěn)定性更強、識別效率更高、參數(shù)設(shè)置更靈活;其Stacking的自動化集成策略既可有效對抗過擬合問題,又可有效提升單一分類器的泛化能力和魯棒性。許多研究表明,集成學(xué)習(xí)分類器比單一的分類器擁有更好的預(yù)測性能,并已在許多不同的問題場景得到廣泛應(yīng)用。
相較于傳統(tǒng)的分類模型,GBDT模型雖然能靈活地處理各種類型的數(shù)據(jù),包括連續(xù)值和離散值,且魯棒性較強,但是該模型的分類效率受參數(shù)設(shè)置影響較大,不合適的參數(shù)設(shè)置會導(dǎo)致模型更加復(fù)雜,進而使模型陷入過擬合;LR模型雖然簡單且易于實現(xiàn),但其容易欠擬合,一般準(zhǔn)確度不太高,不能很好地處理大量多類特征或變量。針對該問題,本文基于集成學(xué)習(xí)思想提出混合梯度決策樹和邏輯回歸模型,簡稱HGBDTLR模型。下面詳細介紹HGBDTLR模型的框架和具體算法流程。
2.1.1 HGBDTLR模型的框架
HGBDTLR模型的主要思想是集成學(xué)習(xí)中的疊加法,將多個基分類器分布在多層上,每一層分類器的預(yù)測結(jié)果作為下一層的輸入,以此類推,通過多層訓(xùn)練實現(xiàn)集成,從而得到最終的分類預(yù)測結(jié)果。HGBDTLR模型是將GBDT模型和LR模型進行集成,首先,用原始10組特征訓(xùn)練GBDT模型;然后,利用GBDT模型學(xué)習(xí)到的樹來構(gòu)造新特征;之后,將新特征做one-hot編碼;最后,將這些新特征加入到原有特征中,用這11組特征訓(xùn)練LR模型,并進行預(yù)測。
2.1.2 HGBDTLR模型的算法流程
HGBDTLR模型的具體算法流程如算法所示。
算 法 HGBDTLR模型算法
基于HGBDTLR模型構(gòu)造HGLBIS密碼算法識別方案,該方案可分為密文特征提取和密碼算法識別分類器的構(gòu)造兩個主要部分。1)密文特征提取?;诘?.2節(jié)定義5給出的NIST隨機性檢測提取密文特征,總共得到15種特征,選定有意義的10種作為分類需要的密文特征。2)密碼算法識別分類器的構(gòu)造?;诘?.1.1節(jié)提出的HGBDTLR模型框架,使用第2.1.2節(jié)給出的HGBDTLR模型算法構(gòu)造密碼算法識別分類器。HGLBIS方案以提取到的各類密文特征數(shù)據(jù)作為分類器的輸入,經(jīng)過數(shù)據(jù)的訓(xùn)練與測試階段,從而完成對具體密碼算法地識別?;贖GLBIS方案的識別流程如圖2所示。
圖2 HGLBIS方案識別流程Fig. 2 Identification process based on HGLBIS
選取定義4的密碼算法識別方案P
=(O
,F
,HGBDTLR),其中,HGBDTLR表示本文方案采用的識別模型,即混合梯度提升決策樹和邏輯回歸模型,基于該模型構(gòu)造的HGLBIS密碼算法識別方案工作流程如下,分為訓(xùn)練和測試兩個部分。1)訓(xùn)練階段包括如下8個步驟:
輸入:密碼算法已知的一組測試密文文件C
={C
,C
,···,C
},其中,n
=k
×F
,k
為密碼算法集合A
={a
,a
,···,a
}中的密碼算法數(shù)量,F
為每種密碼算法加密的密文數(shù)量。輸出:訓(xùn)練好的HGBDTLR模型。
①輸入總共n
個密文文件,根據(jù)文獻[8]中的隨機性檢測方法對每一個密文文件提取特征,得到n
組密文特征集S
={|i
=1,2,···,n
,j
=1,2,···,d
},其中為第i
個訓(xùn)練密文文件的第j
個特征。②將特征集和密文標(biāo)簽組成樣本二元組(S
,L
)作為原始數(shù)據(jù)集,記為T
。③以十折重復(fù)隨機子抽樣挑選T
中的75%用于進行有監(jiān)督學(xué)習(xí),記為T
,另外25%用于驗證訓(xùn)練得到的模型性能,記為T
。④輸入特征集T
,共有n
×75%個密文文件,每個密文文件表示一個樣本,每個樣本有d
個特征。⑤輸入回歸樹的個數(shù)M
。⑥使用GBDT算法默認的損失函數(shù)L
(y
,f
(x
))=(y
-f
(x
))作為第2.1.2節(jié)給出的HGBDTLR算法的輸入損失函數(shù),從而訓(xùn)練出一個HGBDTLR分類模型。⑦將特征集T
輸入到訓(xùn)練好的模型中進行預(yù)測,并將預(yù)測結(jié)果與原始標(biāo)簽進行比較,得到模型識別準(zhǔn)確率,從而對模型性能進行評判。⑧修改步驟⑤中回歸樹的個數(shù),重復(fù)步驟⑤~⑦,直至找到能使準(zhǔn)確率達到最高的模型,即為最終訓(xùn)練好的HGBDTLR模型。
2)測試階段包括如下2個步驟:
輸入:密碼算法未知的一組測試密文文件C
={C
|i
=1,2,···,n
},其中n
為待測密文文件的個數(shù)。輸出:待測密文文件分類結(jié)果即加密使用的密碼算法A
={A
|A
∈A
,i
=1,2,···,n
}。①對待識別密文文件C
,C
,···,C
的內(nèi)容進行特征提取,得到密文特征S
={=1,2,···,n
,j
=1,2,···,d
}。②將密文特征S
輸入到已訓(xùn)練好的HGBDTLR分類模型中,輸出識別結(jié)果,即與該密文對應(yīng)的密碼算法標(biāo)簽A
。在由Python編寫的開源工具sp800_22_tests-master基礎(chǔ)上進行改進以實現(xiàn)密文特征提取。主程序負責(zé)從磁盤讀取密文文件,每種隨機性檢測算法被封裝成一個子模塊,各子模塊間相互獨立,互不干擾,特征提取時各模塊并行執(zhí)行,并將結(jié)果保存到不同的文件中。
實驗選擇用Python的Crypto密碼算法庫進行加密。所用的明文是通過Python的Crypto加密模塊使用Fortuna Accumulator方法生成的隨機數(shù)據(jù),明文文件大小為1、8、64、256和512 kB的500個文件。加密密鑰和初始化向量使用Crypto的Cipher加密模塊生成。密文由AES、3DES、Blowfish、CAST和RC2這5種分組密碼算法的ECB模式和固定16位字符串密鑰加密生成。使用這5種分組密碼算法分別對5種不同大小的明文進行加密,每種密碼算法加密的密文樣本量均為500份,總共產(chǎn)生2 500個密文文件。利用NIST隨機性測試程序中的15種隨機性測試方法對2 500個密文文件分別進行特征提取,并選定有意義的10種特征值作為輸入分類器的實驗數(shù)據(jù)。對該實驗數(shù)據(jù)進行重復(fù)隨機子抽樣驗證,隨機抽取75%的樣本作為訓(xùn)練集,其余25%作為測試集,用于后文對5種密碼算法的二分類與五分類識別實驗。5種密碼算法具體參數(shù)如表1所示。
表1 5種分組密碼算法的具體參數(shù)
Tab. 1 Specific parameters of five block cipher algorithms
標(biāo)記結(jié)構(gòu)密鑰 工作模式 參數(shù)規(guī)模 實現(xiàn)方式AESSP選定ECB固定參數(shù)Crypto 3DESFeistel 選定ECB固定參數(shù)Crypto Blowfish Feistel 選定ECB固定參數(shù)Crypto CASTFeistel 選定ECB固定參數(shù)Crypto RC2Feistel 選定ECB固定參數(shù)Crypto
F
度量、“受試者工作特征”曲線(receiver operating characteristic curve,ROC)與ROC曲線下的面積(area under roc curve,AUC)作為評價方案識別效果好壞的標(biāo)準(zhǔn)。利用混淆矩陣得到以上標(biāo)準(zhǔn)對應(yīng)的數(shù)值或圖象,混淆矩陣共產(chǎn)生4種結(jié)果,即真陽性、真陰性、假陽性和假陰性。令X
、X
、X
、X
分別表示其對應(yīng)的樣本數(shù),式(6)~(8)分別用于計算方案的準(zhǔn)確率、查準(zhǔn)率、查全率:ROC曲線以假陽性率為橫坐標(biāo),真陽性率為縱坐標(biāo)生成,當(dāng)正負樣本的分布發(fā)生變化時,其形狀能夠基本保持不變,因此,該評估指標(biāo)能降低不同測試集帶來的干擾,更加客觀地衡量模型本身的性能。根據(jù)ROC曲線位置,將整幅圖劃分成了兩部分,曲線下方部分的面積被稱為AUC,用于表示預(yù)測準(zhǔn)確性,AUC值越高,也就是曲線下方面積越大,說明預(yù)測準(zhǔn)確率越高。
F
度量、ROC曲線和AUC值6個方面開展識別實驗。其中,預(yù)測模型建立在利用文獻[11]給出的特征提取方法提取的10個特征的基礎(chǔ)上。本文基于十折重復(fù)隨機子抽樣,首先,使用8種分類模型,即支持向量機(support vector machines,SVM)、隨機森林(random forest,RF)、高斯樸素貝葉斯(Gaussian naive Bayes,GNB)、決策樹(decision tree,DT)、K-近鄰(K-neighbors,KNN)、Ada-Boost、GBDT和LR分別構(gòu)造8種分組密碼算法識別方案,即SVMBIS方案、RFBIS方案、GNBBIS方案、DTBIS方案、KNNBIS方案、ABBIS方案、GBDTBIS方案和LRBIS方案,作為與本文提出的HGBDTLR模型所構(gòu)造的HGLBIS方案的對比方案;然后,選擇5種分組密碼算法中最典型的2種AES和3DES加密算法加密的5種不同大?。?、8、64、256和512 kB)的密文文件進行二分類測試,結(jié)果如表2所示。
由表2可以看出:在同一密文大小文件下,本文所提的HGLBIS方案的識別準(zhǔn)確率均顯著高于其他8種單一分類方案。在512 kB大小的密文文件上,HGLBIS方案的準(zhǔn)確率相對較低為65%,相較于單一GBDTBIS方案52.5%的識別準(zhǔn)確率提升了12.5%,相較于單一LRBIS方案50%的識別準(zhǔn)確率提升了15%。在8和256 kB的密文文件上,HGLBIS方案的識別準(zhǔn)確率高達70%,相較于單一GBDTBIS方案52.5%和47.5%的識別準(zhǔn)確率提升了17.5%和22.5%,相較于單一LRBIS方案45%和42.5%的識別準(zhǔn)確率提升了25%和27.5%。通過比較9種分類方案的查準(zhǔn)率,查全率以及F
度量,可以發(fā)現(xiàn),在密文文件大小相同的情況下,本文所提的HGLBIS方案的這3種指標(biāo)同樣高于其他8種單一分類方案,進一步說明了HGLBIS方案分類效果最好。表2 9種分組密碼算法識別方案二分類識別結(jié)果
Tab. 2 Binary classification identification results of nine block cipher algorithm identification schemes
評估指標(biāo)文件大小/kB分類器SVMBIS方案RFBIS方案GNBBIS方案DTBIS方案KNNBIS方案ABBIS方案GBDTBIS方案LRBIS方案HGLBIS方案35.040.047.540.040.037.547.542.567.5 8 37.547.555.045.045.047.552.545.070.0 1準(zhǔn)確率/%6460.056.064.042.046.044.048.056.067.5 25640.050.042.557.550.035.047.542.570.0 51250.055.047.550.050.055.052.550.065.0 1 35.740.948.240.940.037.849.643.667.4 8 38.249.155.545.944.448.253.945.972.8查準(zhǔn)率/%6462.757.665.942.347.945.649.958.469.8 25640.953.043.560.151.035.248.743.770.2 51250.055.047.849.550.00. 5551.850.064.8 1 35.040.047.540.040.037.547.542.567.5 8 37.547.555.045.045.047.552.545.070.0查全率/%6460.056.064.042.046.044.048.056.067.5 25640.050.042.557.550.035.047.542.570.0 51250.055.047.550.050.055.052.550.065.0 1 35.040.047.540.040.037.547.542.567.5 8 37.547.555.045.045.047.552.545.070.0 F1度量/%6460.056.064.042.046.044.048.056.067.5 25640.050.042.557.550.035.047.542.570.0 512 kB50.055.047.550.050.055.052.550.065.0
為更直觀地表現(xiàn)不同方案之間的識別結(jié)果的差異,將二分類識別中9種分類方案在5種大小的密文下的識別準(zhǔn)確率以2維折線圖展示,如圖3所示。由圖3可以看出:經(jīng)典分類方案的識別準(zhǔn)確率較低,基本維持在30%~60%之間波動;而本文提出的HGLBIS方案具有最高的識別準(zhǔn)確率,并且不低于65%;同時,隨著密文長度的變化,識別準(zhǔn)確率曲線呈波動性變化,說明密文文件大小對識別準(zhǔn)確率具有一定的影響,但相較于其他8種分類方案,本文提出的HGLBIS方案的識別準(zhǔn)確率波動性最小,基本不受文件大小的影響,即HGLBIS方案具有更強的穩(wěn)定性。
圖3 二分類識別中9種分類方案在5種大小密文文件下的識別準(zhǔn)確率Fig. 3 Identification accuracy of nine classification schemes in binary classification under five sizes of ciphertext files
9種分類方案對5種大小的密文在AES和3DES二分類識別中的接受者操作特性ROC曲線如圖4所示。由圖4可知:密文文件大小不同,得到的分類模型結(jié)果不同,除了64 kB以外的其他4種文件大小情況下,本文所提的HGLBIS方案的ROC曲線顯著靠近左上角,其AUC值最高,并且能夠?qū)⑵渌?種方案的曲線完全包含起來,表明HGLBIS方案的分類效果最好。對于密文文件大小為64 kB的ROC曲線,除了SVMBIS和LRBIS方案外,HGLBIS方案同樣具有最高的AUC值;SVMBIS和LRBIS方案的AUC值也與本文所提的HGLBIS方案基本相近。表明HGLBIS方案在絕大多數(shù)情況下均具有最高的識別準(zhǔn)確率,只有在極少數(shù)情況下優(yōu)勢無法體現(xiàn)。
圖4 9種分類方案對5種大小的密文在AES和3DES二分類識別中的ROC曲線Fig. 4 ROC curves of nine classification schemes for five sizes of ciphertext in AES and 3DES
使用9種分組密碼算法識別方案對AES、3DES、Blowfish、CAST和RC2這5種分組密碼算法加密得到5種不同大小的密文文件,在9種分類方案上進行五分類實驗,其識別結(jié)果如表3所示。
表3 9種分組密碼算法識別方案五分類識別結(jié)果
Tab. 3 Five classification identification results of nine block cipher algorithm identification schemes
評估指標(biāo)文件大小/kB分類器SVMBIS方案RFBIS方案GNBBIS方案DTBIS方案KNNBIS方案ABBIS方案GBDTBIS方案LRBIS方案HGLBIS方案17.625.026.425.619.225.627.225.632.0 8 17.622.420.820.019.215.214.418.429.0 1準(zhǔn)確率/%6415.216.817.622.424.012.015.216.028.0 25618.419.213.622.421.621.618.416.830.0 51231.024.017.020.017.021.024.019.028.0 13.927.324.928.916.230.127.521.133.3 8 20.028.624.421.626.221.217.224.030.3 1查準(zhǔn)率/%6414.417.519.328.026.413.419.414.729.2 25618.420.813.425.121.024.718.619.030.9 51231.526.517.625.719.620.027.319.928.3 17.625.026.425.619.225.627.225.632.0 8 17.622.420.820.019.215.214.418.429.0 1查全率/%6415.216.817.622.424.012.015.216.028.0 25618.419.213.622.421.621.618.416.830.0 51231.024.017.020.017.021.024.019.028.0 17.625.026.425.619.225.627.225.632.0 8 17.622.420.820.019.215.214.418.429.0 1 F1度量/%6415.216.817.622.424.012.015.216.028.0 25618.419.213.622.421.621.618.416.830.0 51231.024.017.020.017.021.024.019.028.0
由表3可知:相比于其他8種分類方案,在密文文件大小相同的情況下,本文提出的HGLBIS方案的識別準(zhǔn)確率僅在文件大小為512 kB時比SVMBIS方案的識別準(zhǔn)確率略低3%,在另外4種文件大小時均高于其他分類方案。HGLBIS方案的識別準(zhǔn)確率在30%左右波動(最高為32%,最低為28%),高于其他方案多在20%左右波動的識別準(zhǔn)確率,也高于隨機猜測20%的識別準(zhǔn)確率。查準(zhǔn)率、查全率和F
度量與準(zhǔn)確率具有相似的規(guī)律,僅在文件大小為512 kB時比SVMBIS方案的3種指標(biāo)值略低,進一步說明HGLBIS分類方案在絕大多數(shù)情況下分類效果最好??傮w來說,本文提出的HGLBIS分類方案的分類效果最優(yōu)。同時,隨著密文文件大小的變化,9種方案的識別率呈波動變化,其中,HGLBIS分類方案波動幅度最小,模型穩(wěn)定性最高。本文基于集成學(xué)習(xí)的思想提出了一種混合梯度提升決策樹和邏輯回歸(HGBDTLR)模型,并在此基礎(chǔ)上提出了一種基于集成學(xué)習(xí)的分組密碼算法識別方案HGLBIS。實驗結(jié)果表明:基于集成學(xué)習(xí)的密碼算法識別方案與傳統(tǒng)的密碼算法識別方案相比,在分類問題上有更強的穩(wěn)定性、更高的識別效率,能在一定程度上改善密碼算法識別工作中因密碼算法數(shù)量的增多、密文數(shù)據(jù)復(fù)雜化以及數(shù)據(jù)間干擾的增加,導(dǎo)致的識別準(zhǔn)確率及識別穩(wěn)定性變差等問題。
但是,本方案在極個別情況下相對于單一識別方案識別效果不佳,在包含分組密碼、公鑰密碼體制場景下的識別效果等方面,仍有進一步思考與實驗之處。在下一步研究工作中,將考慮加入如RSA、El-Gamal、ECC等經(jīng)典公鑰密碼作為實驗對象,擴展應(yīng)用場景,同時,嘗試從不同的分類算法內(nèi)部結(jié)構(gòu)入手,進一步提升所提方案的識別準(zhǔn)確率和穩(wěn)定性??傊诩蓪W(xué)習(xí)的密碼算法識別方案作為一種新思路,值得進一步探索,對未來密碼算法識別工作具有積極意義。