自动化密码分析

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

一、自动化密码分析概要

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问题的一小部分;②密码算法的迭代结构导致图的相似性。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值