密码分析
了解密码攻击并将这些知识应用于设计安全的密码原语。
我(Hosein Hadipour)于2021年为密码分析课程创建了这个仓库。 欢迎任何觉得这个仓库有用的人使用它。 非常感谢任何评论或修改。
目标和内容
本课程旨在为您提供有关密码攻击的深入知识,重点关注对称和非对称密码的密码分析。 更准确地说,本课程涵盖以下主题:
- 密码分析简介
- 克克霍夫原则
- 安全概念:保密性、完整性、真实性等
- 攻击模型
- 攻击目标
- 理论攻击与实际攻击
- 从经典密码中吸取的教训
- 分组密码的密码分析
- 中间相遇攻击和时间-存储权衡
- 基本差分分析
- 基本线性分析
- 宽迹策略和AES
- 更多(可选)
- 积分密码分析
- 截断差分攻击
- 高阶差分攻击
- 回旋镖和矩形攻击
- 不可能差分攻击
- 多维线性攻击
- 零相关线性攻击
- 划分性质
- Demirci-Selcuk中间相遇攻击
- 子空间轨迹密码分析
- 流密码的密码分析
- 对流密码的猜测-确定攻击
- 时间-存储-数据权衡攻击
- 线性区分器和相关攻击
- 哈希函数的密码分析
- 生日攻击
- MD和海绵结构
- 差分密码分析和碰撞攻击
- 中间相遇原像攻击
- 计算机辅助密码分析
- 基于混合整数线性规划的密码分析
- 基于SAT的密码分析
- 代数密码分析
- 插值攻击
- 立方攻击和高阶差分攻击
- 线性化
- Merkle-Hellman背包问题
- Diffie-Hellman密钥交换和中间人攻击
- 离散对数算法
- 小步大步法
- 因子分解算法
- Dixon算法
- 二次筛法
- 量子算法
- 基础格密码学
资料
幻灯片
- 第1讲 (布尔函数)
- 第2讲 (中间相遇和时间-存储权衡)
- 第3讲 (差分和线性密码分析)
- 第4讲 (AES宽迹策略)
- 第5讲 (密码分析工具)
- 第6讲 (代数密码分析)
- 第7讲 (哈希函数)
- 第8讲 (MD4和碰撞攻击)
- 第9讲 (基于置换的密码学)
- 第10讲 (Keccak的密码分析)
- 第11讲 (NTRU公钥密码系统简介)
- 第12讲 (RSA和Coppersmith方法)
练习
- 每节课后的练习
建议的项目主题(选择一个)
- 使用CP/MILP/SMT/SAT求解器搜索最佳差分区分器/攻击
- 使用CP/MILP/SMT/SAT求解器搜索最佳线性区分器/攻击
- 基于单项式预测使用CP/MILP/SMT/SAT求解器搜索最佳积分区分器
- 使用CP/MILP/SMT/SAT求解器搜索回旋镖和矩形区分器/攻击
- 使用CP/MILP/SMT/SAT求解器搜索差分-线性区分器/攻击
- 使用CP/MILP/SMT/SAT求解器搜索不可能差分区分器/攻击
- 使用CP/MILP/SMT/SAT求解器搜索零相关区分器/攻击
- 使用CP/MILP/SMT/SAT求解器搜索猜测-确定攻击
- 使用Groebner基的代数密码分析
- 使用Groebner基搜索猜测-确定攻击
- 使用CP/MILP/SMT/SAT求解器搜索流密码的立方攻击
- 搜索Keccak的立方
- 使用带符号的差分特征找出SHA-2简化版本的碰撞攻击
- 使用高度偏差的差分-线性区分器找出SHA-3简化版本的原像攻击
- 实现针对RSA的维纳攻击
研讨会建议主题(选择一个)
- 低延迟分组密码的设计
- 小分组大小的分组密码设计
- 小状态流密码的设计
- RSA和Shor算法
- 无密钥置换的差分分析
- 使用CP/MILP/SMT/SAT求解器搜索SPN密码的差分/线性路径
- 使用CP/MILP/SMT/SAT求解器搜索ARX密码的差分/线性路径
- 基于机器学习的对称密码分析
- 混合方法包括:
- 差分-线性攻击
- 回旋镖攻击
- 代数-差分攻击
教科书
在密码分析领域编写一本书是一项具有挑战性的任务,因为这个领域在不断发展。然而,有一些书籍解释了密码分析的基础知识,为初学者提供了一个良好的起点。学习密码分析的最佳方法是阅读科学论文并尝试自己实现攻击。
在开始阅读以下书籍之前,建议对密码学和数学有良好的理解,包括基本概率论、离散数学、组合数学、数论、抽象代数和线性代数。
现代密码学导论
应用密码分析:破解现实世界中的密码
算法密码分析
分组密码密码分析技术
分组密码指南
数学密码学导论
密码学:理论与实践
理解密码学
分组密码大杂烩
可在密码学电子出版档案中获取:
https://eprint.iacr.org/2016/1171
分组密码密码分析自学课程
学习密码分析很困难,因为没有标准教材,也无法知道哪些密码分析问题适合不同水平的学生。本文试图以学生可以用来学习密码分析技术和破解新算法方法的方式组织现有的分组密码密码分析文献。
可通过以下链接公开获取:
https://www.schneier.com/wp-content/uploads/2016/02/paper-self-study.pdf