摘 要: | 加密算法的识别与区分是密码分析领域的重要组成部分,是密钥恢复技术的前提条件之一,随着人工智能技术的不断发展,利用机器学习、神经网络等技术研究密码分析问题日趋成熟,这为实现以加密算法为代表的密码体制识别技术提供了有效的思路与启发。通过研究机器学习的基本原理,从理论和实验两个角度对Feistel和SPN结构的多种常见分组密码算法进行了识别实验,解决了随机密钥条件下利用未知密文识别分组密码加密结构的问题。引入游程分布指标、特征分布函数和KL散度等概念,通过分析两种分组密码结构加密后的密文特征分布,推导随机密钥条件下两种结构密文游程分布表达式,利用KL散度计算分布的差异性,证明两种结构密文间存在差异性,论证了实验的可行性;根据理论结果,建立了随机森林和Adaboosting2种机器学习模型,对12种分组密码算法在随机密钥条件下全轮加密后的密文提取密文游程分布指标,按照同种结构单一算法和同种结构混合算法两种标准对不同结构分组密码算法进行了识别。实验结果显示,两组实验中对各个具体算法的结构识别准确率高于80%,较已有工作提高40%左右,有效解决了随机密钥情况下分组密码结构识别问题,严格证明了两种分...
|