引言 1
第1章 古典密码系统 5
1.1 密码系统基本概念 5
1.2 移位密码系统 7
1.3 欧几里德扩展算法 8
1.4 单表代换密码分析 12
1.5 Vigenère密码系统 16
1.6 Hill密码系统 20
1.7 流密码系统 21
1.8 习题 24
第2章 对称密码系统 26
2.1 基于LFSR的流密码系统 26
2.2 DES 30
2.3 AES 36
2.4 加密模式 44
2.5 习题 49
第3章 基于因式分解的公钥密码系统 51
3.1 欧拉函数与循环群 51
3.2 RSA原理 54
3.3 RSA实现的问题 58
3.4 大数因式分解问题 66
3.5 Rabin公钥密码系统 67
3.6 习题 71
第4章 基于离散对数问题的公钥密码系统 73
4.1 ElGamal公钥密码系统 73
4.2 椭圆曲线密码体制 74
4.3 椭圆曲线标量乘法 79
4.3.1 二进制法 79
4.3.2 带符号二进制法 80
4.3.3 Comb标量乘算法 81
4.4 椭圆曲线的阶和基点 82
4.5 GF(2m)域的椭圆曲线 84
4.6 离散对数问题的求解 86
4.7 习题 89
第5章 其他公钥密码系统 91
5.1 背包公钥系统 91
5.2 McEliece公钥密码系统 93
5.3 NTRU公钥密码系统 103
5.4 概率公钥密码系统 106
5.5 习题 109
第6章 数字签名 111
6.1 数字签名方案 111
6.1.1 数字签名方案的定义 111
6.1.2 RSA签名方案 112
6.2 ElGamal签名方案与DSA 113
6.3 ECDSA 118
6.4 一次签名方案 120
6.5 不可抵赖签名方案 122
6.6 Fail-stop签名方案 125
6.7 其他特殊签名方案简介 129
6.8 习题 132
第7章 Hash函数与消息认证码 134
7.1 Hash函数的基本概念 134
7.2 Hash函数的构造 137
7.3 具有迭代结构的Hash算法 142
7.4 消息认证码 153
7.5 习题 155
第8章 密钥管理与公钥基础设施 157
8.1 密钥预分发方案 157
8.2 密钥在线分发方案 159
8.3 密钥协商方案 161
8.4 公钥基础设施 166
8.5 数字证书 168
8.6 信任模型 178
8.7 习题 180
第9章 计算机安全专题 182
9.1 操作系统口令保护 182
9.1.1 UNIX系统口令保护 182
9.1.2 Windows系统口令保护 183
9.2 PGP与电子邮件安全 185
9.3 虚拟专用网 193
9.3.1 VPN基本概念 193
9.3.2 隧道与封装 195
9.3.3 认证协议 198
9.3.4 安全关联 202
9.3.5 PPTP协议与L2TP协议 203
9.3.6 IPSec协议 208
9.4 安全套接层 210
9.4.1 SSL的体系结构 210
9.4.2 记录协议 211
9.4.3 修改密码协议和报警协议 212
9.4.4 握手协议 212
9.4.5 SSL应用 213
9.5 安全电子交易 214
9.5.1 SET协议 215
9.5.2 数字信封和双重签名 216
9.6 习题 217
第10章 密码学与安全编程 219
10.1 JCA 219
10.1.1 消息摘要 220
10.1.2 密钥生成与数字签名 221
10.1.3 数字证书 225
10.2 JCE 228
10.2.1 对称密码算法 228
10.2.2 公钥密码算法 230
10.2.3 消息验证码 234
10.2.4 Diffie-Hellman密钥协商协议 235
10.3 JSSE 238
10.3.1 SSL 238
10.3.2 HTTPS 241
10.4 JAAS 244
10.5 习题 246
附录A Shannon理论 247
A.1 概率论基础 247
A.2 完善保密性 248
A.3 熵的概念 251
A.4 熵的性质 252
A.5 伪密钥和唯一解距离 254
附录B AES实例 258
参考文献 265