当前位置:   article > 正文

阅读A Deeper Look at Machine Learning-Based Cryptanalysis

a deeper look at machine learning-based cryptanalysis

摘要

在2019年美密会中,Gohr提出利用深度神经网络构造区分器,该密码分析超越了在Speck上最先进的密码分析工作,为机器学习辅助密码分析开辟了可能性。但作者并未解释该区分器的实际工作方式,以及机器学习算法推导出的信息,从而难以说明算法存在的弱点。在本文中,我们对这种新的神经识别器的内在工作原理进行了详细分析和彻底解释。通过研究分类集并进行实验,表明神经区分器通常依赖于密文对的差分分布,但也依赖于倒数第二轮和倒数第二轮的差分分布。并且我们提供了一个基于机器学习的区分器,将Gohr的深度神经网络精简到最低限度。我们表明Gohr的神经区分器实际上在学习阶段就固有地构建了密码的差分分布表 (DDT) 的非常好的近似值,并使用该信息直接对密文对进行分类。


1.介绍

本节主要介绍Gohr的工作,以及本文贡献。
在Gohr的工作中,在由密文对组成的标记数据上训练了一个深度神经网络:一半的数据来自加密明文对,与所研究的密码有固定的输入差异,一半来自随机值。然后他检查训练的神经网络是否能够从真实的密文对中准确地随机分类。当将他的框架应用到分组密码SPECK-32/64(32位/64位密钥版本的SPECK)时,在几轮中获得了良好的准确性,并在区分器上安装了密钥恢复过程,实现密钥恢复攻击。作者提出了几个公开问题:

  1. 区分器的可解释性;
  2. 将神经区分器/密钥恢复与经典密码分析工具相匹配;
  3. 神经区分器利用的未知属性是什么;
  4. 能否提高区分器的准确性?

本文分析了Gohr神经区分器在处理SPECK-32/64密码时的行为。分析过程如下:

  1. 首先详细研究分类的真实/随机密文对集,获得区分器的分类标准;
  2. 为了寻找模式,我们观察到神经区分器很可能在倒数第二轮或倒数第一轮上推断出一些差分条件;
  3. 进行一些实验,验证假设。

验证过程如下:

为5、6和7轮简化SPECK-32/64构建了一个完全基于密码分析的新区分器,与Gohr的区分器进行对比。该新区分器依赖于选择性部分解密,为了攻击n轮时,对最后一轮子密钥部分假设并进行解密,最终在n-1轮被预先计算的近似差分分布表过滤。
由于深度学习模型自己学习高级特征,为了达到完全可解释性,我们需要发现这些特征是什么。 通过分析Gohr神经网络的组成部分,我们设法确定了对这些特征进行建模的程序,同时保持了与Gohr神经区分器几乎相同的准确性。
在保持相同实验条件的前提下,采用批量密文代替成对密文,可以显著提高识别器的准确性。

论文结构如下:


2.预备知识

⊕异或;∧按位与࿱

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/827406
推荐阅读
相关标签
  

闽ICP备14008679号