论文部分内容阅读
1991年,RSA的发明者之一Rivest在亚密会上发表了一个关于密码学和机器学习异同点的演讲,机器学习和密码分析目标相似,机器学习的目标是在巨大的解决方案空间中找到合适的解决方案,密码分析的目标是在巨大的搜索空间中找到正确密钥,实际上,口令猜测也是在巨大的口令空间寻找正确口令,自此之后机器学习和密码学的交叉研究发展为一个新的研究范畴。Gohr在2019年的美密会上提出了利用单差分神经网络区分器进行密钥恢复攻击的方法,将深度学习应用到了密码分析领域。本文对深度学习在密码分析及在口令猜测领域的应用进行了探索。首先,结合多面体差分思想提出了一种精度更高的多面体差分神经网络区分器,并以SIMECK32/64算法为实例,训练了一个8轮三面体差分神经网络区分器,其精度可以从单差分的89.0%提升到96.7%。进一步,利用多面体差分神经网络区分器,改进了13轮的实际密钥恢复攻击,数据复杂度和时间复杂度分别为217.7和232.8,与已有的攻击结果相比,复杂度分别减少为原来的1/212和1/23。本文提出的多面体差分神经网络区分器也可应用到其它分组密码算法分析中。其次,提出了一类多差分神经网络区分器,它是相对于Gohr的单差分神经网络区分器提出的。相较于传统差分区分器和单差分神经网络区分器,利用该多差分神经网络区分器可以大幅降低密钥恢复的数据复杂度和计算复杂度。以RC5算法为例,训练了一个多差分和一个单差分神经网络区分器,之后利用它们对密钥进行了恢复。在数据和计算复杂度相同条件下,恢复11个半轮的密钥时,单差分神经网络区分器的成功率为26%,多差分神经网络区分器的成功率为36%,恢复12个半轮的密钥时,单差分神经网络区分器的成功率为5%,多差分神经网络区分器的成功率为17%。第三,对深度学习与线性攻击和积分攻击的结合进行了探索,提出了一种将深度学习与线性攻击和积分攻击相结合的一种方法,训练了一个线性和积分神经网络区分器,受限于硬件资源,没有进行实际密钥恢复攻击。目前,利用深度学习开展线性攻击的研究,学术界还处在起步阶段,利用深度学习开展积分攻击的研究尚属空白。第四,提出了一种利用Dense Net思想对Pass GAN网络模型进行结构创新的方法,并利用该方法创建了两个Dense GAN类型的口令猜测模型。Pass GAN是2017年美国斯蒂文斯理工学院开发的口令猜测模型,具有较好性能。在口令长度为1至10时,本文模型生成的口令字典与测试集的碰撞率略优于Pass GAN;在口令长度为1至15时,本文模型生成的口令字典与测试集的碰撞率比Pass GAN高6%至13%。最后,将密码分析与深度学习相结合的技术还远未成熟,但将深度学习作为工具应用于密码分析潜力巨大,值得继续探索。在口令猜测领域,随着深度学习的应用,口令的人为特征被越来越多的发掘,给口令安全带来了新的挑战,同时也激励着安全人员不断创新安全策略。