[论文解读] Parallel algorithms for SAT in application to inversion problems of some discrete functions
本文提出了一种基于并行SAT的科技,用于求解多项式时间可计算离散函数的逆问题,尤其在密码分析中应用。通过将逆问题归约为SAT问题,并利用预测函数实现粗粒度并行化,作者成功地使用自定义的Grid系统,首次完整地对A5/1密钥流生成器进行了密码分析,仅用144比特密钥流在16天的计算时间内恢复了秘密密钥。
In this article we consider the inversion problem for polynomially computable discrete functions. These functions describe behavior of many discrete systems and are used in model checking, hardware verification, cryptanalysis, computer biology and other domains. Quite often it is necessary to invert these functions, i.e. to find an unknown preimage if an image and algorithm of function computation are given. In general case this problem is computationally intractable. However, many of it's special cases are very important in practical applications. Thus development of algorithms that are applicable to these special cases is of importance. The practical applicability of such algorithms can be validated by their ability to solve the problems that are considered to be computationally hard (for example cryptanalysis problems). In this article we propose the technology of solving the inversion problem for polynomially computable discrete functions. This technology was implemented in distributed computing environments (parallel clusters and Grid-systems). It is based on reducing the inversion problem for the considered function to some SAT problem. We describe a general approach to coarse-grained parallelization for obtained SAT problems. Efficiency of each parallelization scheme is determined by the means of a special predictive function. The proposed technology was validated by successful solving of cryptanalysis problems for some keystream generators. The main practical result of this work is a complete cryptanalysis of keystream generator A5/1 which was performed in a Grid system specially built for this task.
研究动机与目标
- 开发一种可扩展的、分布式的计算方法,用于求解多项式时间可计算离散函数的困难逆问题。
- 利用通用计算基础设施,实现对A5/1等流密码的实用密码分析。
- 证明可通过SAT归约与并行化,从极小的密钥流片段中恢复秘密密钥。
- 通过在低性能集群和专用Grid系统上的实现,验证该方法的效率。
提出的方法
- 通过函数计算的逻辑编码,将离散函数的逆问题归约为布尔可满足性(SAT)问题。
- 在SAT公式中识别输入变量,以实现问题空间的分解,形成低维子问题。
- 利用预测函数优化分解策略,以最小化整体计算时间。
- 通过将子问题分发到集群或Grid环境中的计算节点,实现粗粒度并行化。
- 使用BNB(分支定界)SAT求解器,在分解后的问题空间中搜索满足赋值。
- 构建专用的Grid系统(BNB-Grid),以处理A5/1密码分析所需的大量计算负载。
实验结果
研究问题
- RQ1多项式时间可计算离散函数的逆问题能否有效归约为SAT问题?
- RQ2从此类函数导出的SAT问题如何实现高效分解,以支持分布式并行执行?
- RQ3预测函数能否引导分解过程,以最小化粗粒度并行化中的总计算时间?
- RQ4在公共访问的Grid环境中,仅使用少量密钥流片段是否可行实现A5/1的完整密码分析?
- RQ5对于给定的A5/1密钥流片段,存在多少个等价密钥(碰撞)?能否对其进行穷举枚举?
主要发现
- 首次仅使用144比特密钥流,成功完成对A5/1密钥流生成器的完整密码分析,秘密密钥在Grid系统上用56小时恢复。
- 该方法成功识别出三个不同的秘密密钥,均能生成相同的144比特密钥流片段,证实了A5/1中存在碰撞。
- 对A5/1前144比特密钥流的所有碰撞进行穷举搜索,耗时16天的Grid系统计算,共找到恰好三个解。
- 计算负载在0至5,568个核心之间波动,实验期间平均使用2,000至3,000个核心。
- 该方法在低性能集群上成功实现了对其他生成器(阈值、求和、Gifford)的密码分析,验证了该方法的通用适用性。
- 结果表明,A5/1可在无专用硬件的公共计算环境中实现密码分析,挑战了其安全假设。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。