摘要
在2019年美密会议上, Gohr提出了第一个基于深度学习的密钥恢复攻击,并应用于11轮、12轮Speck32/64.本文从时间复杂度的角度对该攻击进行分析和改进.发现Gohr所提攻击的运行时间主要受解密、访问神经区分器、通过贝叶斯优化推荐密钥等三个操作的影响,后两个操作几乎占据了全部运行时间; Gohr采用的强化学习机制导致错误密文结构占据了过多计算资源.提出了以下改进:(1)攻击只采用在部分密文比特上建立的神经区分器,并用查找表代替神经区分器,使得攻击运行时可以完全摆脱对神经网络的依赖.(2)放弃强化学习机制,使用新的“Guess-and-Filter”策略.通过贝叶斯优化推荐部分密钥的思想和“Guess-and-Filter”策略有冲突,所以也放弃使用贝叶斯优化.基于上述改进,提出了新的密钥恢复攻击,使得时间复杂度显著降低.为了验证新的密钥恢复攻击在时间复杂度上的优势,在11轮、12轮Speck32/64上进行了实际密钥恢复攻击,时间复杂度分别为226.68和232.25.与已有的最优攻击相比,复杂度分别减少为原来的1/211.32和1/211.1.此前没有研究从运行时间角度分析对基于深度学习的密钥恢复攻击,本文工作有助于推动基于深度学习的密码分析的研究.
- 单位