MichaelHeinzLeder/spn-diff-cryptanalysis
GitHub: MichaelHeinzLeder/spn-diff-cryptanalysis
基于差分密码分析实现对 SPN 结构的选择明文攻击完整破解,涵盖差分分布表生成、差分路径构建与两阶段密钥提取。
Stars: 1 | Forks: 0
# spn-diff-cryptanalysis
## 关于
本仓库旨在通过*差分*展示 **SPN** 的具体实现与数学漏洞分析!
→ *目标是实现通过选择明文攻击的完全破解*
## 模块
该项目完全使用 Python 编写,并利用 SageMath 进行代数矩阵运算;其模块化结构如下:
→ 自动生成 16x16 差分分布表
→ *贪心*评估并构建高概率的 $R-1$ 轮差分路径的算法。
## 核心
`execute_complete_break` 通过高度优化的两阶段方法自动提取完整的主密钥:
- *阶段 1:迭代部分解密*
→ 统计提取部分子密钥,直至获取完整子密钥
- *阶段 2:代数运算*
→ 利用线性关系进行确定性破解
**注意:随附的 cryptanalysis.ipynb 笔记本中对所有内容都有详细的解释!**
标签:NoSQL, Python, SageMath, 代换置换网络, 密码学, 差分密码分析, 手动系统调用, 无后门, 逆向工具