CN112702157A - 一种基于改进随机森林算法的分组密码体制识别方法 - Google Patents

一种基于改进随机森林算法的分组密码体制识别方法 Download PDF

Info

Publication number
CN112702157A
CN112702157A CN202011406581.0A CN202011406581A CN112702157A CN 112702157 A CN112702157 A CN 112702157A CN 202011406581 A CN202011406581 A CN 202011406581A CN 112702157 A CN112702157 A CN 112702157A
Authority
CN
China
Prior art keywords
ciphertext
random forest
feature
features
cryptosystem
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011406581.0A
Other languages
English (en)
Other versions
CN112702157B (zh
Inventor
袁科
黄雅冰
李家保
周素芳
杜展飞
张文超
戴琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Henan University
Original Assignee
Henan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Henan University filed Critical Henan University
Priority to CN202011406581.0A priority Critical patent/CN112702157B/zh
Publication of CN112702157A publication Critical patent/CN112702157A/zh
Application granted granted Critical
Publication of CN112702157B publication Critical patent/CN112702157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种基于改进随机森林算法的分组密码体制识别方法。该方法包括:基于随机性检测方法对已知对应密码体制的一组密文文件F1,F2,...,Fn的内容进行密文特征提取,得到一组特征集
Figure DDA0002818664760000011
其中任一密文特征
Figure DDA0002818664760000012
均是维数为d的向量,i=1,2,...,n;根据所述特征集FeaF构建一组基分类器,通过对每个基分类器预测进行投票以进行分类,得到随机森林模型,然后利用随机森林模型学习到的树构造新特征集;对新特征集中的特征进行one‑hot编码;采用逻辑回归算法对编码后的新特征集进行分类训练,得到训练好的分类模型;基于随机性检测方法对待识别密文文件FT1,FT2,...,FTs的内容进行特征提取,得到特征集
Figure DDA0002818664760000013
将特征集
Figure DDA0002818664760000014
Figure DDA0002818664760000015
输入到训练好的分类模型中,输出待识别密文的密码体制标签。

Description

一种基于改进随机森林算法的分组密码体制识别方法
技术领域
本发明涉及密码体制识别技术领域,尤其涉及一种唯密文场景下基于改进随机森林算法的分组密码体制识别方法。
背景技术
随着密码算法的广泛应用,密码体制的安全性备受关注。密码研究学者和网络安全研究人员也都对现有的密码体系进行了更深入地研究。但现有的大多数密码分析技术均是在假设密文所属密码体制已知的条件下展开相关的分析工作。但在实际情况中面对所得到的密文数据,研究者通常并不知道其所属的加密算法,且当前各类加密算法层出不穷,为了针对性地制定出密文数据分析的解决方案,识别密文所属的密码体制成为密文数据分析者面临的首要任务。因此开展密码体制识别研究具有重要的理论意义和实际应用价值。
机器学习是开展密码体制识别的重要方法之一。2016年,Tan和Ji提出一种基于SVM的密码体制识别方案,对五种常见的分组密码算法进行识别,分别为AES、Blowfish、3DES、RC5和DES。对这五种算法在四种不同的情况下进行实验,即训练和测试密文的密钥是否相同,在此基础上,用其他四种加密算法与AES进行一一识别,当模型训练阶段和测试阶段所使用的加密密钥相同时,识别率较高。2017年,黄良韬等人提出基于随机森林的密码体制分层识别方案,并介绍了三种簇分方式:CM-簇分、CSN-簇分和CSBP-簇分。结果表明,加入分层的识别方案较单分的密码体制识别效果更佳。2018年,Tan等人提出基于CBC模式的密码体制识别方案。该方案用五种算法进行多类识别和一对一识别,在此基础上考虑了训练和测试时使用的密钥及初始向量是否相同的情况。2019年,赵志诚等人(“赵志诚,赵亚群,刘凤梅.基于随机性测试的分组密码体制识别方案[J].密码学报,2019,6(2):177-190.”)采用随机性测试进行密文特征提取,提出了基于随机森林的识别方案。该方案中对六种分组密码进行两两识别,在不同的特征下其识别率各有差异,部分特征下其识别率能达到80%以上。
虽然越来越多的研究者将机器学习方法应用到密码体制识别领域,但目前的研究仅仅是模式化地把密码体制识别任务套入机器学习分类任务的框架,忽略了密码体制和密文的特殊性,所以需要从密文特征提取和单分识别两个部分考虑。然而,目前大部分研究仍仅从密文特征提取部分展开,如上述提到的“基于随机性测试的分组密码体制识别方案”就是如此,这样就导致密码体制识别的准确率有待提高。
发明内容
针对传统的密码体制识别方法因仅考虑密文特征提取而忽略了密码体制和密文特殊性造成识别准确率低的问题,本发明提供一种基于改进随机森林算法的分组密码体制识别方法。
本发明提供一种基于改进随机森林算法的分组密码体制识别方法,包括:
步骤1、基于随机性检测方法对已知对应密码体制的一组密文文件F1,F2,...,Fn的内容进行密文特征提取,得到一组特征集
Figure BDA0002818664740000021
其中任一密文特征
Figure BDA0002818664740000022
均是维数为d的向量,i=1,2,...,n,d为特征维数;
步骤2、根据所述特征集FeaF构建一组基分类器,通过对每个基分类器的预测进行投票以进行分类,得到随机森林模型,然后利用随机森林模型学习到的树构造新特征集;
步骤3、对所述新特征集中的特征进行one-hot编码;
步骤4、采用逻辑回归算法对编码后的新特征集进行分类训练,得到训练好的分类模型;
步骤5、基于随机性检测方法对待识别密文文件FT1,FT2,...,FTs的内容进行特征提取,得到特征集
Figure BDA0002818664740000023
将特征集
Figure BDA0002818664740000024
Figure BDA0002818664740000025
输入到训练好的分类模型中,输出的识别结果即为所述待识别密文的密码体制标签。
进一步地,待识别密文文件的分组密码体制包括AES、3DES、Blowfish、CAST和RC2中的至少一种。
进一步地,将所述特征集中的密文特征表示为如公式(1)所示的四元组:
fea=(C,orga,NIST,d), (1)
其中,C为密文数据的表示方式,NIST=(nist1,nist2,...,nist15)为SP 800-22标准中的15种随机性测试程序,orga为nistt要求的密文数据组织形式,t=1,2,3,...,15。
进一步地,所述步骤2包括:
步骤2.1:将步骤1中的n个密文文件的密码体制标签形成一个n维向量Lab=(lab11,lab2,...,labn),记由FeaF和Lab组成的二元组为原始数据集T;
步骤2.2:设定随机森林中树的数量为k,并将原始数据集T作为输入;其中,每个密文文件的密文特征表示一个样本;
步骤2.3:采用有放回取样,随机在原始数据集T中抽取M个样本,形成Bootstrap样本集T*
步骤2.4:在Bootstrap样本集T*中随机地从d个特征中选取m个属性作为候选属性,并计算最佳***属性;
步骤2.5:基于最佳***属性的每种取值类型,对本次放回抽样所产生的样本集T*进行水平分割得到数据集P1,P2,...,Pj
步骤2.6:对数据集P1,P2,...,Pj中的每个子数据集,随机选取m个属性,并从中选取最佳***属性,然后再次水平分割当前子数据集;
步骤2.7:重复步骤2.3至步骤2.6以建立k棵决策树,构建得到随机森林模型,进而利用所述随机森林模型得到分类数据集D(R(P1),R(P2),...,R(Pj));
步骤2.8:根据特征的重要性对所述分类数据集D(R(P1),R(P2),...,R(Pj))中的特征进行排序,并筛选出重要性强的特征组成新特征集F(P1,P2,...,Pj)。
本发明的有益效果:
相较于传统的分类算法模型,随机森林集成学习模型虽然在很大程度上提高了分类精度,而且具有较强的稳定性,但在某些噪音比较大的样本集上容易陷入过拟合,此外取值划分比较多的特征容易对随机森林的决策产生更大的影响,从而影响拟合模型的效果。本发明通过使用逻辑回归对随机森林分类器进行改进,先用原始特征训练随机森林模型,然后利用随机森林模型学习到的树来构造新特征,再将新特征做one-hot编码,最后把这些新特征加入原有特征一起训练分类模型,从而可以解决随机森林在某些噪音比较大的样本集上容易陷入过拟合的问题。
并且,相比于传统的密码体制识别方法,本发明通过混合随机森林和逻辑回归算法,其二分类的识别精度最高可达到77.8%,五分类精度为38%,高于单一随机森林分类器的58%和28.8%,显著优于二分类50%以及11分类20%的随机猜测正确率。
附图说明
图1为本发明实施例提供的一种基于改进随机森林算法的分组密码体制识别方法的流程示意图;
图2为本发明实施例提供的密文特征间的关系热度图;
图3为本发明实施例提供的八种分类模型对不同文件大小的密文做密码体制识别得到的ROC图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于改进随机森林算法的分组密码体制识别方法,包括:
S101、基于随机性检测方法对已知对应密码体制的一组密文文件F1,F2,...,Fn的内容进行密文特征提取,得到一组特征集
Figure BDA0002818664740000041
其中任一密文特征
Figure BDA0002818664740000042
均是维数为d的向量,i=1,2,...,n,d为特征维数;
具体地,将所述特征集中的密文特征表示为如公式(1)所示的四元组:
fea=(C,orga,NIST,d), (1)
其中,C为密文数据的表示方式,NIST=(nist1,nist2,...,nist15)为SP800-22标准中的15种随机性测试程序,orga为nistt要求的以将密文分块、各块内相同位置再组合、不同类型字符组合为例的密文数据组织形式,t=1,2,3,...,15。
作为一种可实施方式,本发明实施例在由python编写的开源工具sp80022tests-master基础上进行改进以实现密文特征提取。主程序负责从磁盘读取密文文件,每种随机性测试程序被封装成一个子模块,各子模块间相互独立,互不干扰,在做特征提取时各模块并行执行。基于上述方法选择有意义的10种随机性检测开展密文特征提取,得到10组返回值。
其中,15种不同的随机性测试程序具体为:
(1)频率测试:测试的重点是整个序列中0和1的比例。此测试的目的是确定一个序列中的1和0的数量是否与真实随机序列的预期数量大致相同。测试的目的是评估1在序列中的占比与1/2的接近程度,即,一个序列中的1和0的数量应该大致相同。该测试有一个返回值,要求待检测序列的长度不小于100。
(2)块内频数检验:测试的重点是M比特块中0和1的比例。测试的目的是确定一个M位块的频率是否约为M/2。该测试有一个返回值,要求待测序列长度不小于100,分组比特长度至少为20且分组比特长度大于二元序列比特长度的1%。
(3)游程测试:测试的重点是待检测序列中0游程和1游程的总数。长度为k的游程由k个相同的二进制单位组成,游程检验展示了二元序列中0游程和1游程之间的距离(即振幅)与真随机序列相比是否太大或太小。运行测试的目的是确定各种长度的1和0的运行次数是否符合随机序列的预期。该测试有一个返回值,要求待测序列长度不小于100。
(4)块内最长游程检验:测试的重点是M位块中最长的运行时间。该测试的目的是确定被测序列中最长序列的长度与随机序列中预期的最长序列的长度是否一致。该测试返回1个值,要求待检测序列长度最少为128。
(5)随机二进制矩阵秩检验:测试的重点是整个序列的不相交子矩阵的等级。该测试的目的是检查原始序列的固定长度子串之间的线性相关性。该测试返回1个值,要求待检测序列长度n>M×N,其中M和N分别为矩阵的行列数(NIST默认M=N=32)
(6)离散傅立叶变换(频谱)测试:该测试的重点是离散快速傅立叶变换中的峰值数目。该测试的目的是检测被测序列中的周期性特征(即彼此接近的重复模式),这些特征将指示与随机性假设的偏差。该测试返回1个值,要求待检测序列长度最少为1000。
(7)非重叠(非周期性)模板匹配测试:该测试的重点是待测序列中预定义目标子序列的出现次数。该测试的目的是拒绝显示给定的非周期性(非周期性)模式出现过多的序列。该测试对待测序列未给出明确规定。
(8)重叠(定期)模板匹配测试:该测试与非重叠模板匹配检测相似,重点是待测序列中预定义目标子序列的出现次数,其目的也是检测待测试序列中匹配预设模板的次数是否符合随机性的要求。不同之处在于,该测试不论当前子块是否与模板匹配,检测窗口都只向前移动一个比特。测试返回1个值,要求待检测序列长度不小于106
(9)Maurer通用检验:该测试的重点是匹配模式之间的位数。该测试的目的是检测序列是否可以显著压缩而不会丢失信息,过度压缩的序列被认为是非随机的。该测试返回1个值,要求待检测序列长度大于等于387840。
(10)线性复杂度测试:该测试的重点是生成反馈寄存器的长度。该测试的目的是确定序列是否足够复杂以至于不能认为是随机的。该测试返回1个值,要求待检测序列长度至少为106,且子序列长度在500到5000范围内。
(11)重叠子序列测试:该测试的重点是整个序列中每个重叠的m位模式的频率。该测试的目的是检测序列中所有m位组合子串出现的次数是否与真随机序列中的情况近似相同,如果是则序列符合随机性要求。该测试返回1个值,要求待检测序列长度小于
Figure BDA0002818664740000061
(12)近似熵检验:此测试的重点是每个重叠的m位模式的频率。该测试的目的是将两个长度分别为m位与(m-1)位的重叠块的频率与随机序列的预期结果进行比较。该测试返回1个值,要求待检测序列长度小于
Figure BDA0002818664740000062
(13)累积总和(Cusum)测试:该测试的重点是由序列中调整后的(-1,+1)位数字的累加和所定义的随机游动的最大偏移(从零开始)。该测试的目的是检测序列中的部分和是否太大或太小,太大或太小均被认为是非随机的。该测试返回2个值。该测试要求待检测序列长度至少为100。
(14)随机游动检验:该测试的重点是在累积总和随机游动中恰好有K次访问的周期数。该测试的目的是确定对随机游走状态的访问次数是否超过对随机序列的访问次数。该测试返回8个值,要求待检测序列长度大于等于106
(15)随机游动状态频数检验:该测试的重点是特定状态在累积总和随机游动中发生的次数。该测试的目的是检测与随机游走中各种状态的预期出现次数之间的偏差。该测试返回8个值,要求待检测序列长度大于等于106
S102、根据所述特征集构建一组基分类器,通过对每个基分类器的预测进行投票以进行分类,得到随机森林模型,然后利用随机森林模型学习到的树构造新特征集;
S103、对所述新特征集中的特征进行one-hot编码;
S104、采用逻辑回归算法对编码后的新特征集进行分类训练,得到训练好的分类模型;
S105、基于随机性检测方法对待识别密文文件FT1,FT2,...,FTs的内容进行特征提取,得到特征集
Figure BDA0002818664740000071
将特征集
Figure BDA0002818664740000072
Figure BDA0002818664740000073
输入到训练好的分类模型中,输出的识别结果即为所述待识别密文的密码体制标签。
具体地,待识别的密文文件的分组密码体制包括AES、3DES、Blowfish、CAST和RC2中的至少一种。
相较于传统的分类算法模型,随机森林集成学习模型虽然很大程度上提高了分类精度,而且具有较强的稳定性,但在某些噪音较大的样本集上容易陷入过拟合,此外取值划分比较多的特征容易对随机森林的决策产生更大的影响,从而影响拟合模型的效果。本发明实施例通过使用逻辑回归对随机森林分类器进行改进,先用原始特征训练随机森林模型,然后利用随机森林模型学习而得的树来构造新特征,再将新特征进行one-hot编码,最后把这些新特征加入原有特征一起训练分类模型,从而可以解决随机森林在某些噪音比较大的样本集上容易陷入过拟合的问题。
在上述实施例的基础上,本发明实施例对上述的步骤S102进一步优化,具体包括:
S1021:将步骤S101中的n个密文文件的密码体制标签形成一个n维向量Lab=(lab1,lab2,...,labn),记由FeaF和Lab组成的二元组为原始数据集T;
S1022:设定随机森林中树的数量为k,并将原始数据集T作为输入;其中,每个密文文件的密文特征表示一个样本;
S1023:采用有放回取样,随机在原始数据集T中抽取M个样本,形成Bootstrap样本集T*,将Bootstrap样本集T*作为决策树根节点处的样本;
S1024:在Bootstrap样本集T*中随机地从d个特征中选取m个属性作为候选属性,并计算最佳***属性;
S1025:基于最佳***属性的每种取值类型,对本次放回抽样所产生的样本集T*进行水平分割得到数据集P1,P2,...,Pj
S1026:对数据集P1,P2,...,Pj中的每个子数据集,随机选取m个属性,并从中选取最佳***属性,然后再次水平分割当前子数据集;
S1027:重复步骤S1023至步骤S1026以建立k棵决策树,构建得到随机森林模型,进而利用所述随机森林模型得到分类数据集D(R(P1),R(P2),...,R(Pj));
S1028:根据特征的重要性对所述分类数据集D(R(P1),R(P2),...,R(Pj))中的特征进行排序,并筛选出重要性强的特征组成新特征集F(P1,P2...,Pj)
具体地,随机森林的基本单元是决策树,分类器构建多个决策树,并将其进行整合以获得最佳的决策结果。对于树模型的集成学习,主要采用bootstrap、aggregating或bagging。当输入待分类样本时,随机森林输出的分类结果由每个决策树的分类结果进行多数投票决定,每棵决策树并行处理且不需要剪枝。因此其速度不慢于普通的CART决策树,适用于密码体制识别中的分类任务。
本发明采用改进随机森林算法构造分类器,并以提取到的各类密文特征数据作为分类器的输入,经分类模型的训练与测试,最终完成对密码体制的识别任务。
为了验证本发明提供的基于改进随机森林算法的分组密码体制识别方法的有效性,提供以下验证实验。
(一)数据准备
本发明实验选择以由python的Crypto密码算法库进行加密。实验所用到的明文是由Python的Crypto加密模块,使用FortunaAccumulator方法生成的随机数据。明文大小包括1kb、8kb、64kb、256kb和512kb,共500个文件。加密密钥和初始化向量使用Crypto的Cipher加密模块生成,密文使用AES、3DES、Blowfish、CAST和RC2这5种分组密码体制的ECB模式加密。实验过程中,每种密码算法加密的密文样本量均为500份。使用本发明中介绍的密文特征提取方法,计算所有密文的特征值,每个密文样本对应一组特征,将这些数值保存下来。对实验数据(即对密文文件提取特征所得到的数据,如表1所示)进行重复随机子抽样验证,随机抽样80%作为训练集,其余20%作为测试集。如图2所示,为随机性检测提取到的密文特征之间的关系热度图,从该热度图可以看出随机性检测提取到的密文特征之间相关性较低,各特征相互独立。以十折重复随机子抽样验证测试集识别的平均准确率作为识别效果的度量。对5种分组密码体制的二分类与五分类分别进行了分类实验。表2为进行密文数据采集的5种分组密码体制的具体参数列表。
表1根据特征的重要性降序排列选出的10组特征
序号 特征 重要性
(1) revt 0.13801613
(2) runs 0.13581399
(3) aet 0.10710113
(4) dft 0.1029428
(5) ft 0.10193625
(6) lrobt 0.09278933
(7) ret 0.08530066
(8) fwbt 0.08430448
(9) st 0.07669906
(10) cust 0.07509615
表2 5种分组密码体制的具体参数列表
标记 结构 密钥 工作模式 参数规模 实现方式
AES SP 选定 ECB 固定参数 Crypto
3DES Feistel 选定 ECB 固定参数 Crypto
Blowfish Feistel 选定 ECB 固定参数 Crypto
CAST Feistel 选定 ECB 固定参数 Crypto
RC2 Feistel 选定 ECB 固定参数 Crypto
(二)分类结果评价标准
在本发明所研究的密码体制识别任务中,注重的是分类器对所有密码体制识别的准确率,本发明以查准率/查全率和F1作为评价分类器性能的标准。
查准率/查全率和F1,利用混淆矩阵对模型进行评价,其目的是通过显示每个加密算法的正确分类数和预测分类数来获得分类模型的有效度量。混淆矩阵总共产生四种结果如表3所示,TP(真正例)、TN(真反例)、FP(假正例)和FN(假反例)。
表3分类混淆矩阵
Figure BDA0002818664740000091
Sensitivity、Specificity及精度分别定义为:
Figure BDA0002818664740000101
Figure BDA0002818664740000102
Figure BDA0002818664740000103
Figure BDA0002818664740000104
为了平衡查准率和查全率,可以使用F1分数评价分类器的性能
Figure BDA0002818664740000105
(三)实验结果
表4密文特征二分类识别结果
Figure BDA0002818664740000106
基于十折重复随机子抽样验证使用支持向量机(Support Vector Machine,简称SVM)、高斯朴素贝叶斯(Gaussian Naive Bayes,简称GNB)、随机森林(LogisticRegression,简称RF)、逻辑回归(Logistic Regression,简称LR)、决策树(Decision Tree,简称DT)、K最近邻(k-Nearest Neighbor,简称KNN)、AdaBoost及本发明方法(简称HRFLR)对AES和3DES加密的密文文件做二分类的测试结果如表4所示。
四种分类评价指标中,Accuracy表示十折重复随机子抽样验证测试集识别的平均准确率,precision为测试集识别精度,recall为测试集的召回率,f1-score为测试集的F1得分。从表4可以看出,在AES与3DES两密码体制加密得到文件大小不同的密文文件二分类问题上,SVM分类模型的准确率平均值为0.552,GNB分类模型的准确率平均值为0.556,RF分类模型的准确率平均值为0.536,LR分类模型的准确率平均值为0.516,DT分类模型的准确率平均值为0.552,KNN分类模型的准确率平均值为0.492,Adaboost分类模型的准确率平均值为0.512,HRFLR分类模型的准确率平均值为0.712。此外,HRFLR模型的识别准确率受密文大小影响,在大小为512kb的密文文件上准确率最高,但其对密文文件的识别率均不低于70%。
图3为实验中使用的八种分类模型在AES和3DES密码体制识别中的接受者操作特性曲线(Receiver Operating Characteristic curve,简称ROC)。如图3所示,在二分类问题上,由于密文文件大小不同,不同分类模型表现不同。如图3中(a)所示,在密文文件大小1kb的密码体制分类任务中除HRFLR外,其余分类模型的AUC(Area UnderCharacteristic)值均低于0.5;如图3中(b)所示,在密文文件大小8kb的密码体制分类任务中除HRFLR和GNB模型外,其余模型的AUC值低于0.5;如图3中(c)所示,在密文文件大小256kb的密码体制分类任务中除HRFLR和DT模型外,其余模型的AUC值低于0.5;分别如图3中(d)、(e)所示,在64kb、512kb的密码体制分类任务中,八种模型AUC值均高于0.5。除此之外,HRFLR模型在五种不同文件大小的密码体制识别任务中均有意义(AUC>0.5)且AUC值最高;
基于十折重复随机子抽样验证使用支持向量机(Support Vector Machine,简称SVM)、高斯朴素贝叶斯(Gaussian Naive Bayes,简称GNB)、随机森林(LogisticRegression,简称RF)、逻辑回归(Logistic Regression,简称LR)、决策树(Decision Tree,简称DT)、K最近邻(k-Nearest Neighbor,简称KNN)、AdaBoost及本发明方法对AES、3DES、Blowfish、CAST和RC2共五种加密算法的密文文件做五分类的测试结果如表5所示。
表5密文特征五分类识别结果
Figure BDA0002818664740000121
从表5可以看出,在AES、3DES、Blowfish、CAST和RC2五种密码体制五分类问题上,HRFLR模型的识别准确率受密文大小影响,但其对密文文件的识别率均不低于30%,在大小为1kb的密文文件上精度最高,达到38%。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (4)

1.一种基于改进随机森林算法的分组密码体制识别方法,其特征在于,包括:
步骤1、基于随机性检测方法对已知对应密码体制的一组密文文件F1,F2,…,Fn的内容进行密文特征提取,得到一组特征集
Figure FDA0002818664730000011
其中任一密文特征
Figure FDA0002818664730000012
均是维数为d的向量,i=1,2,…,n,d为特征维数;
步骤2、根据所述特征集FeaF构建一组基分类器,通过对每个基分类器的预测进行投票以进行分类,得到随机森林模型,然后利用随机森林模型学习到的树构造新特征集;
步骤3、对所述新特征集中的特征进行one-hot编码;
步骤4、采用逻辑回归算法对编码后的新特征集进行分类训练,得到训练好的分类模型;
步骤5、基于随机性检测方法对待识别密文文件FT1,FT2,…,FTs的内容进行特征提取,得到特征集
Figure FDA0002818664730000013
将特征集
Figure FDA0002818664730000014
Figure FDA0002818664730000015
输入到训练好的分类模型中,输出的识别结果即为所述待识别密文的密码体制标签。
2.根据权利要求1所述的方法,其特征在于,待识别密文文件的分组密码体制包括AES、3DES、Blowfish、CAST和RC2中的至少一种。
3.根据权利要求1所述的方法,其特征在于,将所述特征集中的密文特征表示为如公式(1)所示的四元组:
fea=(C,orga,NIST,d), (1)
其中,C为密文数据的表示方式,NIST=(nist1,nist2,…,nist15)为SP 800-22标准中的15种随机性测试程序,orga为istt要求的密文数据组织形式,t=1,2,3,…,15。
4.根据权利要求1所述的方法,其特征在于,所述步骤2包括:
步骤2.1:将步骤1中的n个密文文件的密码体制标签形成一个n维向量Lab=(lab1,lab2,…,labn),记由FeaF和Lab组成的二元组为原始数据集T;
步骤2.2:设定随机森林中树的数量为k,并将原始数据集T作为输入;其中,每个密文文件的密文特征表示一个样本;
步骤2.3:采用有放回取样,随机在原始数据集T中抽取M个样本,形成Bootstrap样本集T*;
步骤2.4:在Bootstrap样本集T*中随机地从d个特征中选取m个属性作为候选属性,并计算最佳***属性;
步骤2.5:基于最佳***属性的每种取值类型,对本次放回抽样所产生的样本集T*进行水平分割得到数据集P1,P2,…,Pj
步骤2.6:对数据集P1,P2,…,Pj中的每个子数据集,随机选取m个属性,并从中选取最佳***属性,然后再次水平分割当前子数据集;
步骤2.7:重复步骤2.3至步骤2.6以建立k棵决策树,构建得到随机森林模型,进而利用所述随机森林模型得到分类数据集D(R(P1),R(P2),…,R(Pj));
步骤2.8:根据特征的重要性对所述分类数据集D(R(P1),R(P2),…,R(Pj))中的特征进行排序,并筛选出重要性强的特征组成新特征集F(P1,P2,…,Pj)。
CN202011406581.0A 2020-12-04 2020-12-04 一种基于改进随机森林算法的分组密码体制识别方法 Active CN112702157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011406581.0A CN112702157B (zh) 2020-12-04 2020-12-04 一种基于改进随机森林算法的分组密码体制识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011406581.0A CN112702157B (zh) 2020-12-04 2020-12-04 一种基于改进随机森林算法的分组密码体制识别方法

Publications (2)

Publication Number Publication Date
CN112702157A true CN112702157A (zh) 2021-04-23
CN112702157B CN112702157B (zh) 2022-05-24

Family

ID=75506801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011406581.0A Active CN112702157B (zh) 2020-12-04 2020-12-04 一种基于改进随机森林算法的分组密码体制识别方法

Country Status (1)

Country Link
CN (1) CN112702157B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070547A (zh) * 2021-11-16 2022-02-18 河南大学 基于集成学习的密码算法多层复合识别方法
CN114338015A (zh) * 2022-01-05 2022-04-12 北京华云安信息技术有限公司 一种密码字典生成方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647497A (zh) * 2018-04-28 2018-10-12 四川大学 一种基于特征提取的api密钥自动识别***
US20190318248A1 (en) * 2018-04-13 2019-10-17 NEC Laboratories Europe GmbH Automated feature generation, selection and hyperparameter tuning from structured data for supervised learning problems
CN110956316A (zh) * 2019-11-21 2020-04-03 国网安徽省电力有限公司黄山供电公司 一种基于随机森林的人员等级预测模型
US10637715B1 (en) * 2017-05-02 2020-04-28 Conviva Inc. Fault isolation in over-the-top content (OTT) broadband networks
US20200175391A1 (en) * 2018-11-29 2020-06-04 Paypal, Inc. Detecting Incorrect Field Values of User Submissions Using Machine Learning Techniques
CN111368076A (zh) * 2020-02-27 2020-07-03 中国地质大学(武汉) 一种基于随机森林的伯努利朴素贝叶斯文本分类方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10637715B1 (en) * 2017-05-02 2020-04-28 Conviva Inc. Fault isolation in over-the-top content (OTT) broadband networks
US20190318248A1 (en) * 2018-04-13 2019-10-17 NEC Laboratories Europe GmbH Automated feature generation, selection and hyperparameter tuning from structured data for supervised learning problems
CN108647497A (zh) * 2018-04-28 2018-10-12 四川大学 一种基于特征提取的api密钥自动识别***
US20200175391A1 (en) * 2018-11-29 2020-06-04 Paypal, Inc. Detecting Incorrect Field Values of User Submissions Using Machine Learning Techniques
CN110956316A (zh) * 2019-11-21 2020-04-03 国网安徽省电力有限公司黄山供电公司 一种基于随机森林的人员等级预测模型
CN111368076A (zh) * 2020-02-27 2020-07-03 中国地质大学(武汉) 一种基于随机森林的伯努利朴素贝叶斯文本分类方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070547A (zh) * 2021-11-16 2022-02-18 河南大学 基于集成学习的密码算法多层复合识别方法
CN114338015A (zh) * 2022-01-05 2022-04-12 北京华云安信息技术有限公司 一种密码字典生成方法、装置、设备及存储介质
CN114338015B (zh) * 2022-01-05 2024-03-29 北京华云安信息技术有限公司 一种密码字典生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112702157B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN112702157B (zh) 一种基于改进随机森林算法的分组密码体制识别方法
Chaganti et al. Image-based malware representation approach with EfficientNet convolutional neural networks for effective malware classification
Savenko et al. Metamorphic Viruses' Detection Technique Based on the Equivalent Functional Block Search.
CN113489685B (zh) 一种基于核主成分分析的二次特征提取及恶意攻击识别方法
Sharif et al. Classifying encryption algorithms using pattern recognition techniques
Ashraf et al. Ransomware analysis using feature engineering and deep neural networks
Sarraf Analysis and detection of ddos attacks using machine learning techniques
Wang et al. Deep and broad learning based detection of android malware via network traffic
Raza et al. Novel class probability features for optimizing network attack detection with machine learning
Barbosa et al. Machine learning for cryptographic algorithm identification
Sivakumar et al. Malware Detection Using The Machine Learning Based Modified Partial Swarm Optimization Approach
Leierzopf et al. A massive machine-learning approach for classical cipher type detection using feature engineering
Ali et al. A generic machine learning approach for IoT device identification
Chen et al. Ride: Real-time intrusion detection via explainable machine learning implemented in a memristor hardware architecture
Harbola et al. Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set
Zolotukhin et al. Support vector machine integrated with game-theoretic approach and genetic algorithm for the detection and classification of malware
Sharif et al. Performance evaluation of classifiers used for identification of encryption algorithms
Zhang et al. An uncertainty-based traffic training approach to efficiently identifying encrypted proxies
Balega et al. IoT Anomaly Detection Using a Multitude of Machine Learning Algorithms
CN113159181B (zh) 基于改进的深度森林的工业控制***异常检测方法和***
CN112769540B (zh) 一种侧信道信息泄露的诊断方法、***、设备及存储介质
Dotter et al. Adversarial attack attribution: discovering attributable signals in adversarial ML attacks
CN114722933A (zh) 一种基于LeNet5-SVM的商用密码算法识别方法、***及计算机设备
Kaur et al. A comparison of two blending-based ensemble techniques for network anomaly detection in Spark distributed environment
Juvonen et al. Anomaly detection framework using rule extraction for efficient intrusion detection

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant