第1章 密码学概论 1
1.1 信息安全与密码学 1
1.1.1 信息安全的目标 2
1.1.2 攻击的主要形式和分类 3
1.1.3 密码学在信息安全中的作用 5
1.2 密码学发展史 6
1.2.1 传统密码 6
1.2.2 现代密码学 9
1.3 标准及法律法规 10
1.3.1 密码标准 10
1.3.2 政策法规 11
1.4 习题 12
第2章 密码学基础 14
2.1 密码学分类 14
2.1.1 密码编码学 14
2.1.2 密码分析学 16
2.1.3 保密体制模型 17
2.1.4 保密体制的安全性 18
2.1.5 认证体制模型 19
2.1.6 认证体制的安全性 20
2.2 香农理论 21
2.2.1 熵及其性质 21
2.2.2 完全保密性 25
2.2.3 冗余度、唯一解距离与理想保密性 28
2.3 认证系统的信息理论 31
2.3.1 认证系统的攻击 32
2.3.2 完善认证系统 34
2.4 复杂度理论 36
2.4.1 算法的复杂度 36
2.4.2 问题的复杂度 38
2.4.3 计算安全性 39
2.5 习题 42
第3章 古典密码体制 45
3.1 置换密码 45
3.1.1 列置换密码 46
3.1.2 周期置换密码 47
3.2 代换密码 47
3.2.1 单表代换密码 48
3.2.2 多表代换密码 49
3.2.3 转轮密码机 53
3.3 古典密码的分析 55
3.3.1 统计分析法 55
3.3.2 明文-密文对分析法 61
3.4 习题 63
第4章 分组密码 66
4.1 分组密码概述 66
4.1.1 分组密码 66
4.1.2 理想分组密码 67
4.1.3 分组密码的设计原则 68
4.1.4 分组密码的迭代结构 70
4.2 数据加密标准(DES) 73
4.2.1 DES的历史 73
4.2.2 DES的基本结构 74
4.2.3 DES的初始置换和逆初始置换 75
4.2.4 DES的F函数 76
4.2.5 DES的密钥编排 80
4.2.6 DES的安全性 81
4.2.7 三重DES 83
4.2.8 DES的分析方法 85
4.3 AES算法 90
4.3.1 AES的基本结构 90
4.3.2 字节代换 92
4.3.3 行移位 96
4.3.4 列混合 96
4.3.5 轮密钥加 98
4.3.6 密钥扩展 99
4.3.7 AES的解密 101
4.3.8 AES的安全性和可用性 102
4.3.9 AES和DES的对比 104
4.4 典型分组密码 104
4.4.1 IDEA算法 104
4.4.2 RC6算法 107
4.4.3 Skipjack算法 108
4.4.4 Camellia算法 111
4.5 分组密码的工作模式 115
4.5.1 电子密码本模式(ECB) 115
4.5.2 密码分组链接模式(CBC) 116
4.5.3 密码反馈模式(CFB) 118
4.5.4 输出反馈模式(OFB) 119
4.5.5 计数器模式(CTR) 120
4.6 习题 121
第5章 序列密码 125
5.1 序列密码简介 125
5.1.1 起源 125
5.1.2 序列密码定义 125
5.1.3 序列密码分类 126
5.1.4 序列密码原理 128
5.2 线性反馈移位寄存器 129
5.2.1 移位寄存器 129
5.2.2 线性反馈移位寄存器 130
5.2.3 LFSR周期分析 132
5.2.4 伪随机性测试 133
5.2.5 m序列密码的破译 134
5.2.6 带进位的反馈移位寄存器 135
5.3 非线性序列 136
5.3.1 Geffe发生器 137
5.3.2 J-K触发器 137
5.3.3 Pless生成器 138
5.3.4 钟控序列生成器 138
5.3.5 门限发生器 139
5.4 典型序列密码算法 139
5.4.1 RC4算法 139
5.4.2 A5算法 142
5.4.3 HC算法 143
5.4.4 Rabbit 145
5.4.5 Salsa20 146
5.4.6 Sosemanuk 148
5.4.7 Grain v1 149
5.4.8 MICKEY 2.0 151
5.4.9 Trivium 153
5.5 习题 154
第6章 Hash函数和消息认证 157
6.1 Hash函数 157
6.1.1 Hash函数的概念 157
6.1.2 Hash函数结构 158
6.1.3 Hash函数应用 158
6.2 Hash算法 159
6.2.1 MD5算法 159
6.2.2 SHA1算法 165
6.2.3 SHA256算法 170
6.2.4 SHA512算法 173
6.3 Hash函数的攻击 179
6.3.1 生日悖论 180
6.3.2 两个集合相交问题 180
6.3.3 Hash函数的攻击方法 180
6.3.4 Hash攻击新进展 181
6.4 消息认证 183
6.4.1 消息认证码 183
6.4.2 基于DES的消息认证码 184
6.4.3 基于Hash的认证码 184
6.5 习题 186
第7章 公钥密码体制 190
7.1 公钥密码体制概述 190
7.1.1 公钥密码体制的提出 190
7.1.2 公钥加密体制的思想 191
7.1.3 公钥密码体制的分类 191
7.2 RSA公钥加密体制 192
7.2.1 RSA密钥生成算法 192
7.2.2 RSA加解密算法 192
7.2.3 RSA公钥密码安全性 195
7.3 ElGamal公钥加密体制 197
7.3.1 ElGamal密钥生成算法 198
7.3.2 ElGamal加解密算法 198
7.3.3 ElGamal公钥密码安全性 199
7.4 椭圆曲线公钥加密体制 201
7.4.1 椭圆曲线 202
7.4.2 ECC密钥生成算法 204
7.4.3 椭圆曲线加密体制加解密算法 205
7.4.4 ECC安全性 206
7.4.5 ECC的优势 207
7.5 其他公钥密码 208
7.5.1 MH背包公钥加密体制 208
7.5.2 Rabin公钥加密体制 210
7.5.3 Goldwasser-Micali概率公钥加密体制 211
7.5.4 NTRU公钥加密体制 212
7.5.5 McEliece公钥加密体制 214
7.6 习题 216
第8章 数字签名技术 220
8.1 数字签名概述 220
8.1.1 数字签名简介 220
8.1.2 数字签名原理 221
8.2 数字签名的实现方案 222
8.2.1 基于RSA的签名方案 222
8.2.2 基于离散对数的签名方案 223
8.2.3 基于椭圆曲线的签名方案 230
8.3 特殊数字签名 231
8.3.1 代理签名 231
8.3.2 盲签名 233
8.3.3 一次签名 236
8.3.4 群签名 237
8.3.5 不可否认签名 239
8.3.6 其他数字签名 240
8.4 习题 243
第9章 密码协议 248
9.1 密码协议概述 248
9.2 零知识证明 249
9.2.1 Quisquater-Guillou零知识协议 250
9.2.2 Hamilton零知识协议 250
9.2.3 身份的零知识证明 251
9.3 比特承诺 253
9.3.1 基于对称密码算法的比特承诺方案 253
9.3.2 基于散列函数的比特承诺方案 254
9.3.3 Pedersen比特承诺协议 254
9.4 不经意传送协议 255
9.4.1 Blum不经意传送协议 255
9.4.2 公平掷币协议 257
9.5 安全多方计算 258
9.5.1 百万富翁问题 259
9.5.2 平均薪水问题 261
9.6 电子商务中密码协议 262
9.6.1 电子货币 262
9.6.2 电子投票 266
9.6.3 电子拍卖 270
9.7 习题 273
第10章 密钥管理 278
10.1 密钥管理概述 278
10.1.1 密钥管理的原则 278
10.1.2 密钥管理的层次结构 279
10.2 密钥生命周期 281
10.3 密钥建立 282
10.3.1 密钥分配 283
10.3.2 密钥协商 285
10.4 公钥管理及公钥基础设施 287
10.4.1 数字证书 287
10.4.2 公钥证书管理 288
10.4.3 公钥基础设施相关标准 290
10.5 密钥托管技术 291
10.5.1 密钥托管简介 291
10.5.2 密钥托管主要技术 292
10.6 秘密共享技术 295
10.6.1 Shamir门限方案 295
10.6.2 Asmuth-Bloom门限方案 297
10.7 习题 299
第11章 网络安全协议 304
11.1 网络安全协议概述 304
11.2 SSL协议 304
11.2.1 SSL协议简介 304
11.2.2 SSL协议的体系结构 305
11.2.3 SSL协议的安全实现 306
11.2.4 SSL协议应用模式 310
11.3 SET协议 311
11.3.1 SET协议简介 311
11.3.2 SET协议的体系结构 311
11.3.3 SET协议的安全实现 312
11.3.4 SET协议应用模式 316
11.4 IPSec协议 317
11.4.1 IPSec协议简介 317
11.4.2 IPSec协议的体系结构 318
11.4.3 IPSec协议的安全实现 320
11.4.4 IPSec协议应用模式 327
11.5 习题 328
第12章 密码学新进展 332
12.1 后量子密码 332
12.1.1 格密码 332
12.1.2 基于编码的密码体制 334
12.1.3 基于多变量的密码体制 334
12.1.4 非交换密码 336
12.2 量子密码学 337
12.2.1 量子密码学的物理学基础 337
12.2.2 量子密钥分配 338
12.2.3 量子密码的实现 339
12.2.4 量子密码的其他研究 339
12.2.5 量子密码面临的问题 340
12.3 混沌密码学 341
12.3.1 混沌学的历史发展与现状 341
12.3.2 混沌学基本原理 342
12.3.3 混沌密码学原理 343
12.3.4 混沌密码目前存在的主要问题 344
12.4 DNA密码 344
12.4.1 背景与问题的提出 344
12.4.2 相关生物学背景 345
12.4.3 DNA计算的原理及抽象模型 346
12.4.4 DNA密码 347
12.4.5 DNA十算及DNA密码所遇到的问题 348
12.5 习题 348
参考文献 350