本书以美国AES计划和欧洲NESSIE计划等推出的著名分组密码算法为背景,系统地介绍分组密码的攻击方法和实例分析,包括差分密码攻击、线性密码攻击、高阶差分密码攻击、截断差分密码攻击、不可能差分密码攻击、积分攻击、插值攻击和相关密钥攻击等主要攻击方法的基本原理及其应用实例。
样章试读
目录
- 目录
序
前言
第1章 分组密码的基本概念 1
1.1 分组密码概述 1
1.2 分组密码的设计原理 2
1.2.1 分组密码的设计原则 3
1.2.2 分组密码的结构 3
1.3 分组密码的分析方法 5
1.3.1 密码分析中常见的假设和原则 5
1.3.2 强力攻击 6
1.3.3 基于数学方法研究算法的安全性 7
1.3.4 结合物理实现方式研究算法的安全性 10
1.3.5 不同使用模式下的算法安全性 10
1.4 本书的内容安排 10
参考文献 11
第2章 典型分组密码算法 14
2.1 数据加密标准DES 14
2.1.1 加密流程 15
2.1.2 解密流程 18
2.1.3 密钥扩展方案 19
2.2 国际数据加密算法IDEA 20
2.2.1 加密流程 21
2.2.2 解密流程 22
2.2.3 密钥扩展方案 25
2.3 高级加密标准AES 25
2.3.1 加密流程 26
2.3.2 解密流程 30
2.3.3 密钥扩展方案 32
2.4 Camellia算法 33
2.4.1 加密流程 34
2.4.2 解密流程 37
2.4.3 密钥扩展方案 38
2.5 ARIA算法 40
2.5.1 加密流程 40
2.5.2 解密流程 44
2.5.3 密钥扩展方案 45
2.6 FOX算法 47
2.6.1 加密流程 47
2.6.2 解密流程 50
2.6.3 密钥扩展方案 51
2.7 SMS4算法 54
2.7.1 加密流程 54
2.7.2 解密流程 56
2.7.3 密钥扩展方案 56
2.8 CLEFIA算法 57
2.8.1 加密流程 57
2.8.2 解密流程 59
2.8.3 密钥扩展方案 60
2.9 进一步阅读建议 61
参考文献 62
第3章 差分密码分析的原理与实例分析 64
3.1 差分密码分析的基本原理 64
3.2 DES算法的差分密码分析 72
3.2.1 S盒的差分分布表 72
3.2.2 DES算法的差分分析 77
3.3 Camellia算法的差分密码分析 84
3.4 SMS4算法的差分密码分析 87
3.5 进一步阅读建议 88
参考文献 89
第4章 线性密码分析的原理与实例分析 93
4.1 线性密码分析的基本原理 93
4.2 DES算法的线性密码分析 98
4.2.1 S盒的线性逼近表 99
4.2.2 DES算法的线性分析 101
4.3 Camellia算法的线性密码分析 110
4.4 SMS4算法的线性密码分析 113
4.5 进一步阅读建议 114
参考文献 116
第5章 高阶差分密码分析的原理与实例分析 119
5.1 高阶差分密码分析的基本原理 119
5.1.1 基本概念 119
5.1.2 高阶差分密码分析的一般流程 123
5.1.3 对Feistel结构算法的高阶差分密码分析 123
5.2 KN算法的高阶差分密码分析 126
5.2.1 KN算法简介 126
5.2.2 对6轮KN算法的高阶差分密码分析 127
5.3 Camellia算法的高阶差分密码分析 128
5.3.1 对6轮Camellia算法的基本攻击 128
5.3.2 对7轮Camellia算法的高阶差分密码分析 130
5.4 进一步阅读建议 131
参考文献 132
第6章 截断差分密码分析的原理与实例分析 134
6.1 截断差分密码分析的基本原理 134
6.1.1 基本概念 134
6.1.2 截断差分分析的一般流程 135
6.2 Camellia算法的截断差分密码分析 137
6.2.1 Camellia算法的5轮截断差分 137
6.2.2 对6轮Camellia算法的截断差分密码分析 139
6.3 ARIA算法的截断差分密码分析 140
6.3.1 ARIA算法7轮截断差分 140
6.3.2 对7轮ARIA算法的截断差分密码攻击 141
6.4 进一步阅读建议 142
参考文献 143
第7章 不可能差分密码分析的原理与实例分析 144
7.1 不可能差分密码分析的基本原理 144
7.1.1 基本概念 144
7.1.2 不可能差分密码分析的基本过程 145
7.2 寻找不可能差分的一般方法 148
7.2.1 DEAL算法5轮不可能差分 148
7.2.2 Zodiac算法16轮不可能差分 149
7.2.3 FOX算法4轮不可能差分 151
7.2.4 ARIA算法4轮不可能差分 152
7.2.5 n-Cell结构n2+n-2轮不可能差分 157
7.3 AES算法的不可能差分密码分析 158
7.3.1 AES算法4轮不可能差分 158
7.3.2 对6轮AES算法的不可能差分密码分析 159
7.4 Camellia算法的不可能差分密码分析 161
7.4.1 Camellia算法8轮不可能差分 161
7.4.2 对12轮Camellia算法的不可能差分密码分析 163
7.5 CLEFIA算法的不可能差分密码分析 166
7.5.1 CLEFIA算法9轮不可能差分 166
7.5.2 对12轮CLEFIA算法的不可能差分密码分析 169
7.6 进一步阅读建议 170
参考文献 172
第8章 积分攻击的原理与实例分析 175
8.1 积分攻击的基本原理 176
8.1.1 基本概念 176
8.1.2 积分攻击的基本过程 179
8.2 寻找积分区分器的一般方法 180
8.2.1 Rijndael-256算法3轮积分区分器(I) 180
8.2.2 SMS4算法8积分区分器 181
8.2.3 Zodiac算法9轮积分区分器 183
8.2.4 n-Cell结构n2轮积分区分器 183
8.2.5 Rijndael-256算法3轮积分区分器(II) 185
8.2.6 ARIA算法3轮积分区分器 186
8.3 AES算法的积分攻击 189
8.3.1 AES算法3轮积分区分器 189
8.3.2 对4轮AES算法的积分攻击 191
8.3.3 对5轮AES算法的积分攻击 193
8.4 Camellia算法的积分攻击 196
8.4.1 Feistel密码的等价结构 196
8.4.2 对5轮Camellia算法的积分攻击 199
8.4.3 对6轮Camellia算法基于等价结构的积分攻击 200
8.5 进一步阅读建议 202
参考文献 204
第9章 插值攻击的原理与实例分析 207
9.1 插值攻击的基本原理 207
9.1.1 基本概念和数学基础 207
9.1.2 插值攻击的步骤 210
9.2 PUR*算法的插值攻击 211
9.2.1 PUR*算法简介 211
9.2.2 对PUR*算法的插值攻击 211
9.2.3 对PUR*算法的改进插值攻击 213
9.3 Rijndael算法的插值攻击 215
9.3.1 简化Rijndael算法介绍 215
9.3.2 有理分式插值攻击 215
9.4 高次积分攻击 218
9.4.1 高次积分 218
9.4.2 对PUR*算法的插值高次积分攻击 219
9.5 进一步阅读建议 220
参考文献 221
第10章 相关密钥攻击的原理与实例分析 223
10.1 相关密钥攻击的基本原理 223
10.2 LOKI算法的相关密钥攻击 223
10.3 AES算法的相关密钥攻击 230
10.4 进一步阅读建议 231
参考文献 232