• 自动化密码分析


            目前机器学习跟使用数学工具的密码分析差别还比较远。超越数学分析方法的难度比较大。

    一、自动化密码分析概要

    1.对称密码分析理论框架

            上世纪九十年代,Biham和Shamir在美密会上提出差分分析,标志着对称密码分析初步入正轨。算法→数学模型,数学模型→高效算法。以差分分析、线性分析、积分分析等具代表性的经典分析方法为基础。
            组合类方法:
            差分差分:不可能差分分析,飞去来器攻击,矩形攻击(适合于nesNes)
            差分线性:差分线性分析,高阶差分线性分析
            线性线性

    2.自动化密码分析出现前区分器的搜索

            手工+编程语言(C、C++、Python);
            分支定界法:先找到第一轮的最优路线,再找第二轮,搜索速度快;
            缺点:耗时费力,容易出错,定制化优化策略门槛高;
            自动化密码分析方法应运而生。

    3.区分器搜索问题

            把区分器搜索问题刻画成数学问题:MILP问题,SAT/SMT问题、CP问题。

    (1)混合整数线性规划MILP问题
            ①目标函数和约束条件是线性的
            ②某些变量不是离散的
            ③NP完全问题
            常用求解器:GUROBI,CPLEX、MATLAB

    (2)布尔可满足性问题和可满足性模理论
             SAT问题:变量只能是布尔变量;
                              运算:AND,OR,NOT;
            SMT问题:更多变量模型(向量、数组);
                              更多运算(加减乘除、逻辑)。

    (3)约束规划CP
            变量+变量取值范围+约束条件;
            支持三种约束:枚举、算术、逻辑;
            可解决找到一个解、所有解、证明问题的不可满足性;
            NP问题。

    4.自动化密码分析的特点

    (1)陆续覆盖更多密码分析方法;
    (2)逐步实现算法密码特性的更精细刻画;
    (3)不断优化自动化密码分析方法性能。

    5.基于SMT和CP搜索方法的注意事项

            常见的SMT求解器STP、Boolector均为SAT-solver based。
            支持CP的开源语言minizine在求解前首先将模型为求解器输入语言flatzinc预编译过程相对不可控。
            首个集安全性和软硬件性能为一体的对称密码自动化评估系统。
            安全性自动化评测:
            ①差分分析;
            ②线性分析;
            ③不可能差分分析;
            ④零相关线性分析;
            ⑤基于可分性的积分分析;
            ⑥相关密钥差分分析。
            密码算法描述形式统一,简单易用,对使用人员要求低;通用性好,适用绝大多数分组密码算法;可以给出可证明的最优路线或最优界。

    二、系列模型的构建与使用

    1.构建模型:

            ①目标算法→基本运算(分支运算,异或运算,轮函数等);
            ②针对基本运算建模,刻画密码特性在运算中的传递规律;必要时引入中间变量,迭代使用基本运算模型,刻画密码特性在算法中的传递规律;
            ③根据所关心的特征设置目标函数,若有必要,针对某些固定值,设置额外约束条件,对目标函数和约束条件建模。

    2.差分&线性活跃S盒搜索的适用性与局限性

    (1)适用性:模型简单、搜索效率高、适用于大状态算法的分析、结果可作为初步评估。

    (2)局限性:模型对算法的刻画机器粗糙、有时候搜索结果无法分析为真实路线、无法反映真实的密码特性、无法用于ARX类算法。

    3.差分路线搜索

    (1)适用性:模型精确刻画可能的差分路线、可用于不超过5-bit S盒算法的搜索、可用于SIMON差分路线的搜索、可用于相关密钥差分路线搜索。

    (2)局限性:长轮数算法效率问题、大S盒算法、大状态算法适用性问题、ARX类算法、不是面向概率的优化。

    4.ARX类算法差分路线搜索

    (1)适用性:适用于ARX类算法、模型直观、使用方便、给出算法差分概率的初步估计。

    (2)局限性:STP求解器预编译为CNF,长轮数、大状态算法效率问题,依赖马尔可夫假设。

    5.基于分离特性的积分区分器搜索

    (1)适用性:解决了比特级分离特性的自动化搜索、支持AND-RX算法。

    (2)局限性:没有用于复杂线形层算法、不支持ARX类算法。

    三、未来发展方向预测

    NeuroSAT无法直接应用于密码分析中的SAT问题。

    研究动机:①密码分析中考虑的SAT问题仅占据所有SAT问题的一小部分;②密码算法的迭代结构导致图的相似性。

  • 相关阅读:
    容器云平台监控告警体系(三)—— 使用Prometheus Operator部署并管理Prometheus Server
    gulp打包vue3+jsx+less插件
    [山东科技大学OJ]2678 Problem E: 递归求e的近似值
    2.MySQL 基础知识
    深度学习10——卷积神经网络
    【】第8章 微服务程序设计
    自动化测试的生命周期是什么?
    CMU15445 (Fall 2020) 数据库系统 Project#2 - B+ Tree 详解(上篇)
    Arrays类
    猿创征文 第二季| #「笔耕不辍」--生命不息,写作不止#
  • 原文地址:https://blog.csdn.net/YSL_Lsy_/article/details/126471164