论文部分内容阅读
密码技术可以有效地保护敏感和私有信息不被一些恶意攻击者获取。密码技术的核心是密码算法。密码算法的安全性对密码技术应用的安全性起着决定性的作用。在对未知的密文进行密码分析时,首要任务是识别其加密采用的密码算法,然后才能针对性地开展破译工作。为了实现对密码算法的识别,研究者需要先对这些未知的密码算法进行分类。密码算法识别是指在密文数据已知前提下,对密文数据中潜在的特征信息进行分析,属于密码分析学范畴。随着应用场景和通信环境日趋复杂,密码算法识别任务需考虑更广范围的密码算法集合。本文针对密码算法识别任务,围绕密码算法识别定义,从基本要素出发,展开基于集成学习思想的密码算法识别研究。使用随机性检测算法实现密文特征提取;提出了新的密码算法识别工作流程;改进了识别任务中的识别算法以提高密码算法识别效率。论文的创新点如下:(1)对密码算法识别任务中的识别模型做出改进。基于集成学习思想提出混合梯度上升决策树和逻辑回归(Hybrid Gradient Boosting Decision Tree and Logistic Regression,HGDBTLR)模型、混合随机森林和逻辑回归(Hybrid Random Forest and Logistic Regression,HRFLR)模型。集成学习模型可以在一定程度上提升分类精度,同时对抗单一分类器在噪声较大的数据集上容易产生过拟合的问题。(2)对密码算法单层识别任务的工作流程做出改进。提出了基于HGDBTLR模型和HRFLR模型的密码算法识别方案。从密码算法识别的基本要素出发,完善了密码算法单层识别定义,并将其扩充为基于NIST随机性测试和HRFLR识别模型的四元组。在八种现有方案和HRFLR分类模型的基础上构建识别模型,分别完成了针对AES、3DES、Blowfish、CAST和RC2这五种分组密码算法的二分类和五分类识别。其中AES和3DES二分类识别的精度均不低于70%;二分类识别精度最高可达到77.5%;五分类精度最高为38%。高于基于随机森林分类方案的54%和28.8%分类精度,显著优于随机猜测二分类50%以及5分类20%的正确率。以HGDBTLR算法为识别模型,构建密码算法识别方案,分别完成了针对AES、3DES、Blowfish、CAST和RC2这五种分组密码算法二分类和五分类识别,其二分类的识别精度最高可达70%,五分类精度最高达32%;高于基于单一梯度提升决策树分类方案的52.5%和27.2%分类精度,以及单一逻辑回归模型分类方案的45%和25.6%分类精度。(3)对密码算法分层识别任务的工作流程做出改进。以已有方案为参考,探讨了在包含多种密码体制背景下密码算法分层识别方案的设计方法。提出了一种新的簇分方式CMSSBAM-簇分,进一步提出了密码体制CMSSBAM-簇分识别方案。以NIST随机性测试算法作为特征提取的依据,提取了40种簇分特征用于密码算法的分层识别。进一步提出了一种包含密码体制簇分和具体密码算法单分的复合式结构识别方案——基于集成学习的密码算法多层复合识别(Multi-layer Compound Identification of Cryptographic Algorithm based on Ensemble Learning,MCICAEL)方案。针对不同密码体制的17种密码算法进行识别实验。结果表明,基于集成学习的密码算法多层复合识别在多密码算法识别问题上存在显著优势。本研究从密码算法识别的三个要素出发,在识别模型、特征提取和识别方案上作出改进和完善。实验结果表明,本研究提出的方案,在单一密码体制和多种密码体制的密码算法识别任务中,均有较好的识别结果。基于集成学习的密码算法识别方案作为一种新思路值得进一步去探索,对未来密码算法识别具有一定积极意义。