第1章 密码学概论 1
1.1密码学的目标与知识构成 1
1.2密码学的发展简史 3
1.3对加密体制的攻击 7
小结 7
扩展阅读建议 8
第2章 古典密码体制 9
2.1密码系统的基本概念模型 9
2.2置换加密体制 10
2.3代换加密体制 11
2.3.1单表代换密码 11
2.3.2多表代换密码 13
2.3.3多表代换密码的统计分析 16
2.3.4转轮密码机 18
小结 20
扩展阅读建议 21
第3章 信息理论安全 22
3.1基本信息论概念 22
3.1.1信息量和熵 22
3.1.2联合熵、条件熵、平均互信息 24
3.2保密系统的数学模型 26
3.3完善保密性 31
3.4冗余度、唯一解距离 34
3.5乘积密码体制 37
小结 38
扩展阅读建议 39
第4章 序列密码 40
4.1序列密码的基本原理 40
4.1.1序列密码的核心问题 41
4.1.2序列密码的一般模型 41
4.1.3伪随机序列的要求 44
4.2密钥流生成器 45
4.2.1密钥流生成器的架构 45
4.2.2线性反馈移位寄存器 46
4.2.3非线性序列生成器 48
4.2.4案例学习:A5算法 50
4.3伪随机序列生成器的其他方法 51
4.3.1基于软件实现的方法(RC4算法) 51
4.3.2基于混沌的方法简介 52
小结 52
扩展阅读建议 53
第5章 分组密码 54
5.1分组密码的原理 54
5.1.1分组密码的一般模型 54
5.1.2分组密码的基本设计原理 56
5.1.3分组密码的基本设计结构 56
5.1.4分组密码的设计准则 59
5.1.5分组密码的实现原则 60
5.2案例学习:DES 61
5.2.1 DES的总体结构和局部设计 61
5.2.2 DES的安全性 68
5.2.3多重DES 71
5.3案例学习:AES 73
5.3.1 AES的设计思想 73
5.3.2 AES的设计结构 74
5.4其他分组密码简介 84
5.4.1 SMS4简介 84
5.4.2 RC6简介 86
5.4.3 IDEA简介 88
5.5分组密码的工作模式 89
5.5.1 ECB模式 89
5.5.2 CBC模式 90
5.5.3 CFB模式 91
5.5.4 OFB模式 92
5.5.5 CTR模式 93
小结 93
扩展阅读建议 95
第6章 Hash函数和消息鉴别 96
6.1 Hash函数 96
6.1.1 Hash函数的概念 96
6.1.2 Hash函数的一般模型 98
6.1.3 Hash函数的一般结构(Merkle-Damgard变换) 99
6.1.4 Hash函数的应用 100
6.1.5 Hash函数的安全性(生日攻击) 101
6.2 Hash函数的构造 102
6.2.1直接构造法举例SHA-1 102
6.2.2基于分组密码构造 104
6.2.3基于计算复杂性方法的构造 107
6.3消息鉴别码 109
6.3.1认证系统的模型 109
6.3.2 MAC的安全性 110
6.3.3案例学习:CBC-MAC 111
6.3.4嵌套MAC及其安全性证明 113
6.3.5案例学习:HMAC 114
6.4对称密钥加密和Hash函数应用小综合 116
小结 118
扩展阅读建议 119
第7章 公钥加密(基础) 120
7.1公钥密码体制概述 120
7.1.1公钥密码体制的提出 120
7.1.2公钥密码学的基本模型 121
7.1.3公钥加密体制的一般模型 121
7.1.4公钥加密体制的设计原理 123
7.2一个故事和三个案例体会 124
7.2.1 Merkle谜题(Puzzle) 124
7.2.2 Pohlig-Hellman对称密钥分组加密 125
7.2.3 Merkle-Hellman背包公钥密码方案 125
7.2.4 Rabin公钥密码体制 127
7.3 RSA密码体制 130
7.3.1 RSA方案描述 131
7.3.2 RSA方案的安全性 133
小结 136
扩展阅读建议 137
第8章 公钥加密(扩展) 139
8.1 ElGamal密码体制 139
8.1.1离散对数问题与Diffie-Hellman问题 139
8.1.2 Diffie-Hellman密钥交换协议 140
8.1.3 ElGamal方案描述 141
8.1.4 ElGamal方案的设计思路 141
8.1.5 ElGamal方案的安全性 143
8.2椭圆曲线密码系统 144
8.2.1 ECDLP以及ECDHP 145
8.2.2 ElGamal的椭圆曲线版本 145
8.2.3 Manezes-Vanstone椭圆曲线密码体制 146
8.2.4 ECC密码体制 147
8.3概率公钥密码体制 149
8.3.1语义安全 149
8.3.2 Gold wasser-Micali加密体制 150
8.4 NTRU密码体制 153
8.4.1 NTRU加密方案 153
8.4.2 NTRU的安全性和效率 155
小结 156
扩展阅读建议 156
第9章 数字签名 158
9.1数字签名概述 158
9.1.1数字签名的一般模型 158
9.1.2数字签名的分类 159
9.1.3数字签名的设计原理 159
9.1.4数字签名的安全性 160
9.2体会4个经典方案 161
9.2.1基于单向函数的一次性签名 161
9.2.2基于对称加密的一次性签名 163
9.2.3 Rabin数字签名 164
9.2.4 RSA数字签名及其安全性分析 165
9.3基于离散对数的数字签名 168
9.3.1 ELGamal签名 168
9.3.2 ElGamal签名的设计机理与安全性分析 169
9.3.3 Schnorr签名 172
9.3.4数字签名标准 173
9.3.5 Neberg-Rueppel签名体制 176
9.4离散对数签名的设计原理 177
9.4.1基于离散对数问题的一般签名方案 177
9.4.2签名多个消息 178
9.4.3 GOST签名 179
9.4.4 Okamoto签名 179
9.4.5椭圆曲线签名ECDSA 180
9.5基于身份识别协议的签名 181
9.5.1 Feige-Fiat-Shamir签名方案 182
9.5.2 Guillou-Quisquater签名方案 183
9.5.3知识签名 184
9.6特殊签名案例学习:盲签名 185
9.6.1基于RSA构造的Chaum盲签名 185
9.6.2基于ElGamal构造的盲签名 187
9.6.3 ElGamal型盲签名方案的一般构造方法 187
9.6.4盲签名的应用 188
小结 189
扩展阅读建议 190
第10章 实体认证与身份识别 191
10.1实体认证与身份识别概述 191
10.1.1实体认证的基本概念 191
10.1.2身份识别的基本概念 192
10.1.3对身份识别协议的攻击 193
10.2基于口令的实体认证 193
10.2.1基于口令的认证协议 194
10.2.2基于Hash链的认证协议 195
10.2.3基于口令的实体认证连同加密的密钥交换协议 196
10.3基于“挑战应答”协议的实体认证 197
10.3.1基于对称密码的实体认证 197
10.3.2基于公钥密码的实体认证 199
10.3.3基于散列函数的实体认证 200
10.4身份识别协议 201
10.4.1 Fiat-Shamir身份识别协议 201
10.4.2 Feige-Fiat-Shamir身份识别协议 203
10.4.3 Guillou-Quisquater身份识别协议 204
10.4.4 Schnorr身份识别协议 205
10.4.5 Okamoto身份识别协议 206
小结 207
扩展阅读建议 207
第11章 密钥管理 208
11.1密钥管理概述 208
11.1.1密钥管理的内容 208
11.1.2密钥的种类 209
11.1.3密钥长度的选取 210
11.2密钥生成 211
11.2.1伪随机数生成器的概念 211
11.2.2密码学上安全的伪随机比特生成器 212
11.2.3标准化的伪随机数生成器 214
11.3密钥分配 215
11.3.1公钥的分发 215
11.3.2无中心对称密钥的分发 215
11.3.3有中心对称密钥的分发 216
11.3.4 Blom密钥分配协议 221
11.4 PKI技术 222
11.4.1 PKI的组成 222
11.4.2 X.509认证业务 223
11.4.3 PKI中的信任模型 226
小结 228
扩展阅读建议 229
参考文献 230