第1章 导言 1
1.1 安全目标 2
1.1.1 机密性 2
1.1.2 完整性 3
1.1.3 可用性 3
1.2 攻击 3
1.2.1 威胁机密性的攻击 3
1.2.2 威胁完整性的攻击 4
1.2.3 威胁可用性的攻击 5
1.2.4 被动攻击与主动攻击 5
1.3 服务和机制 6
1.3.1 安全服务 6
1.3.2 安全机制 7
1.3.3 服务和机制之间的关系 8
1.4 技术 9
1.4.1 密码术 9
1.4.2 密写术 10
1.5 本书的其余部分 12
1.6 推荐阅读 12
1.7 关键术语 13
1.8 概要 13
1.9 习题集 14
第Ⅰ部分 对称密钥加密 19
第2章 密码数学Ⅰ:模算法、同余和矩阵 19
2.1 整数算法 20
2.1.1 整数集 20
2.1.2 二进制运算 20
2.1.3 整数除法 21
2.1.4 整除性 22
2.1.5 线性丢番图方程 28
2.2 模运算 29
2.2.1 模算符 29
2.2.2 余集:Zn 30
2.2.3 同余 30
2.2.4 在集合Zn当中的运算 32
2.2.5 逆 35
2.2.6 加法表和乘法表 39
2.2.7 加法集和乘法集的不同 39
2.2.8 另外两个集合 40
2.3 矩阵 40
2.3.1 定义 40
2.3.2 运算和关系 41
2.3.3 行列式 43
2.3.4 逆 44
2.3.5 剩余阵 44
2.4 线性同余 45
2.4.1 单变量线性方程 45
2.4.2 线性方程组 46
2.5 推荐阅读 47
2.6 关键术语 47
2.7 概要 48
2.8 习题集 49
第3章 传统对称密钥密码 55
3.1 导言 56
3.1.1 Kerckhoff原理 57
3.1.2 密码分析 57
3.1.3 传统密码的分类 60
3.2 代换密码 61
3.2.1 单码代换密码 61
3.2.2 多码代换密码 69
3.3 换位密码 80
3.3.1 无密钥换位密码 81
3.3.2 有密钥的换位密码 82
3.3.3 把两种方法组合起来 83
3.4 流密码和分组密码 87
3.4.1 流密码 87
3.4.2 分组密码 89
3.4.3 组合 89
3.5 推荐阅读 90
3.6 关键术语 90
3.7 概要 91
3.8 习题集 92
第4章 密码数学Ⅱ:代数结构 97
4.1 代数结构 98
4.1.1 群 98
4.1.2 环 104
4.1.3 域 105
4.1.4 小结 107
4.2 GF(2n)域 107
4.2.1 多项式 108
4.2.2 运用一个生成器 114
4.2.3 小结 117
4.3 推荐阅读 117
4.4 关键术语 118
4.5 概要 118
4.6 习题集 119
第5章 现代对称密钥密码 123
5.1 现代分组密码 124
5.1.1 代换与换位 125
5.1.2 作为置换群的分组密码 125
5.1.3 现代分组密码的成分 128
5.1.4 换字盒 132
5.1.5 乘积密码 136
5.1.6 两类乘积密码 139
5.1.7 关于分组密码的攻击 143
5.2 现代流密码 148
5.2.1 同步流密码 149
5.2.2 异步流密码 154
5.3 推荐阅读 154
5.4 关键术语 154
5.5 概要 155
5.6 习题集 156
第6章 数据加密标准 159
6.1 导言 159
6.1.1 数据加密标准(DES)简史 159
6.1.2 概观 160
6.2 DES的结构 160
6.2.1 初始置换和最终置换 160
6.2.2 轮 163
6.2.3 密码和反向密码 167
6.2.4 示例 173
6.3 DES分析 175
6.3.1 性质 175
6.3.2 设计标准 176
6.3.3 DES的缺陷 177
6.4 多重DES 181
6.4.1 双重DES 182
6.4.2 三重DES 184
6.5 DES的安全性 185
6.5.1 蛮力攻击 185
6.5.2 差分密码分析 185
6.5.3 线性密码分析 186
6.6 推荐阅读 186
6.7 关键术语 186
6.8 概要 187
6.9 习题集 188
第7章 高级加密标准 191
7.1 导言 191
7.1.1 高级加密标准(AES)简史 191
7.1.2 标准 192
7.1.3 轮 192
7.1.4 数据单位 193
7.1.5 每一个轮的结构 195
7.2 转换 196
7.2.1 代换 196
7.2.2 置换 202
7.2.3 混合 203
7.2.4 密钥加 206
7.3 密钥扩展 207
7.3.1 在AES-128中的密钥扩展 208
7.3.2 AES-192和AES-256中的密钥扩展 212
7.3.3 密钥扩展分析 212
7.4 密码 213
7.4.1 源设计 213
7.4.2 选择性设计 214
7.5 示例 216
7.6 AES的分析 219
7.6.1 安全性 219
7.6.2 可执行性 219
7.6.3 复杂性和费用 220
7.7 推荐阅读 220
7.8 关键术语 220
7.9 概要 221
7.10 习题集 222
第8章 应用现代对称密钥密码的加密 225
8.1 现代分组密码的应用 225
8.1.1 电子密码本模式 226
8.1.2 密码分组链接(CBC)模式 228
8.1.3 密码反馈(CFB)模式 231
8.1.4 输出反馈(OFB)模式 234
8.1.5 计数器(CTR)模式 236
8.2 流密码的应用 238
8.1.1 RC4 238
8.2.2 A5/1 242
8.3 其他问题 244
8.3.1 密钥管理 244
8.3.2 密钥生成 244
8.4 推荐阅读 245
8.5 关键术语 245
8.6 概要 246
8.7 习题集 246
第Ⅲ部分 非对称密钥加密 251
第9章 密码数学Ⅲ:素数及其相关的同余方程 251
9.1 素数 251
9.1.1 定义 251
9.1.2 素数的基数 252
9.1.3 素性检验 253
9.1.4 EulerPhi-函数 254
9.1.5 Fermat(费尔马)小定理 256
9.1.6 Euler定理 257
9.1.7 生成素数 258
9.2 素性测试 260
9.2.1 确定性算法 260
9.2.2 概率算法 261
9.2.3 推荐的素性检验 266
9.3 因数分解 267
9.3.1 算术基本定理 267
9.3.2 因数分解方法 268
9.3.3 Fermat方法 269
9.3.4 Pollardp-1方法 270
9.3.5 Pollardrho方法 271
9.3.6 更有效的方法 272
9.4 中国剩余定理 274
9.5 二次同余 276
9.5.1 二次同余模一个素数 276
9.5.2 二次同余模一个复合数 277
9.6 指数与对数 278
9.6.1 指数 279
9.6.2 对数 281
9.7 推荐阅读 286
9.8 关键术语 286
9.9 概要 287
9.10 习题集 288
第10章 非对称密钥密码学 293
10.1 导言 293
10.1.1 密钥 294
10.1.2 一般概念 294
10.1.3 双方的需要 296
10.1.4 单向暗门函数 296
10.1.5 背包密码系统 298
10.2 RSA密码系统 301
10.2.1 简介 301
10.2.2 过程 301
10.2.3 一些普通的例子 304
10.2.4 针对RSA的攻击 305
10.2.5 建议 310
10.2.6 最优非对称加密填充 311
10.2.7 应用 314
10.3 RABIN密码系统 314
10.3.1 过程 315
10.3.2 Rabin系统的安全性 317
10.4 ELGAMAL密码系统 317
10.4.1 ElGama1密码系统 317
10.4.2 过程 317
10.4.3 证明 319
10.4.4 分析 319
10.4.5 ElGamal的安全性 320
10.4.6 应用 321
10.5 椭圆曲线密码系统 321
10.5.1 基于实数的椭圆曲线 321
10.5.2 基于GF(p)的椭圆曲线 324
10.5.3 基于GF(2n)的椭圆曲线 326
10.5.4 模拟ElGamal的椭圆曲线加密系统 328
10.6 推荐阅读 330
10.7 关键术语 331
10.8 概要 331
10.9 习题集 333
第Ⅲ部分 完整性、验证和密钥管理 339
第11章 信息的完整性和信息验证 339
11.1 信息完整性 339
11.1.1 文档与指纹 340
11.1.2 信息与信息摘要 340
11.1.3 区别 340
11.1.4 检验完整性 340
11.1.5 加密hash函数标准 340
11.2 随机预言模型 343
11.2.1 鸽洞原理 345
11.2.2 生日问题 345
11.2.3 针对随机预言模型的攻击 347
11.2.4 针对结构的攻击 351
11.3 信息验证 352
11.3.1 修改检测码 352
11.3.2 信息验证代码 353
11.4 推荐阅读 357
11.5 关键术语 357
11.6 概要 358
11.7 习题集 359
第12章 加密hash函数 363
12.1 导言 363
12.1.1 迭代hash函数 363
12.1.2 两组压缩函数 364
12.2 SHA-512 367
12.2.1 简介 367
12.2.2 压缩函数 372
12.23 分析 375
12.3 WHIRLPOOL 376
12.3.1 Whirlpool密码 377
12.3.2 小结 384
12.3.3 分析 384
12.4 推荐阅读 384
12.5 关键术语 385
12.6 概要 385
12.7 习题集 386
第13章 数字签名 389
13.1 对比 390
13.1.1 包含性 390
13.1.2 验证方法 390
13.1.3 关系 390
13.1.4 二重性 390
13.2 过程 390
13.2.1 密钥需求 391
13.2.2 摘要签名 392
13.3 服务 393
13.3.1 信息身份验证 393
13.3.2 信息完整性 393
13.3.3 不可否认性 393
13.3.4 机密性 394
13.4 针对数字签名的攻击 395
13.4.1 攻击类型 395
13.4.2 伪造类型 395
13.5 数字签名方案 396
13.5.1 RSA数字签名方案 396
13.5.2 ElGama1数字签名方案 400
13.5.3 Schnorr数字签名方案 403
13.5.4 数字签名标准 405
13.5.5 椭圆曲线数字签名方案 407
13.6 变化与应用 409
13.6.1 变化 409
13.6.2 应用 411
13.7 推荐阅读 411
13.8 关键术语 412
13.9 概要 412
13.10 习题集 413
第14章 实体验证 415
14.1 导言 415
14.1.1 数据源验证与实体验证 415
14.1.2 验证的类型 416
14.1.3 实体验证和密钥管理 416
14.2 口令 416
14.2.1 固定口令 416
14.2.2 一次性密码 419
14.3 挑战—应答 421
14.3.1 对称密钥密码的运用 421
14.3.2 带密钥hash函数的应用 423
14.3.3 非对称密钥密码的应用 424
14.3.4 数字签名的应用 425
14.4 零知识 426
14.4.1 Fiat-Shamir协议 427
14.4.2 Feige-Fiat-Shamir协议 429
14.4.3 Guillou-Quisquater协议 429
14.5 生物测试 430
14.5.1 设备 431
14.5.2 注册 431
14.5.3 验证 431
14.5.4 技术 432
14.5.5 准确性 433
14.5.6 应用 434
14.6 推荐阅读 434
14.7 关键术语 434
14.8 概要 435
14.9 习题集 435
第15章 密钥管理 437
15.1 对称密钥分配 438
15.1.1 密钥分配中心 438
15.1.2 会话密钥 439
15.2 KERBEROS 443
15.2.1 服务器 444
15.2.2 操作 445
15.2.3 不同服务器的运用 445
15.2.4 Kerberos第五版 447
15.2.5 领域 447
15.3 对称密钥协定 447
15.3.1 Diffie-Hellman密钥协定 447
15.3.2 站对站密钥协定 451
15.4 公钥分配 453
15.4.1 公钥公布 453
15.4.2 可信中心 453
15.4.3 可信中心的控制 454
15.4.4 认证机关 454
15.4.5 X.509 456
15.4.6 公钥基础设施 458
15.5 推荐阅读 461
15.6 关键术语 462
15.7 概要 462
15.8 习题集 463
第Ⅳ部分 网络安全 467
第16章 应用层的安全性:PGP和S/MIME 467
16.1 电子邮件 467
16.1.1 电子邮件的构造 467
16.1.2 电子邮件的安全性 469
16.2 PGP 470
16.2.1 情景 470
16.2.2 密钥环 472
16.2.3 PGP证书 475
16.2.4 密钥撤回 482
16.2.5 从环中提取消息 482
16.2.6 PGP包 484
16.2.7 PGP信息 490
16.2.8 PGP的应用 492
16.3 S/MIME 492
16.3.1 MIME 492
16.3.2 S/MIME 498
16.3.3 S/MIME的应用 502
16.4 推荐阅读 502
16.5 关键术语 502
16.6 概要 503
16.7 习题集 504
第17章 传输层的安全性:SSL和TLS 507
17.1 SSL结构 508
17.1.1 服务 508
17.1.2 密钥交换算法 509
17.1.3 加密/解密算法 511
17.1.4 散列算法 512
17.1.5 密码套件 512
17.1.6 压缩算法 513
17.1.7 加密参数的生成 513
17.1.8 会话和连接 515
17.2 4个协议 517
17.2.1 握手协议 518
17.2.2 改变密码规格协议 525
17.2.3 告警协议 526
17.2.4 记录协议 526
17.3 SSL信息构成 529
17.3.1 改变密码规格协议 530
17.3.2 告警协议 530
17.3.3 握手协议 530
17.3.4 应用数据 537
17.4 传输层安全 538
17.4.1 版本 539
17.4.2 密码套件 539
17.4.3 加密秘密的生成 539
17.4.4 告警协议 542
17.4.5 握手协议 543
17.4.6 记录协议 543
17.5 推荐阅读 545
17.6 关键术语 545
17.7 概要 546
17.8 习题集 546
第18章 网络层的安全性:IPSec 549
18.1 两种模式 550
18.2 两个安全协议 552
18.2.1 验证文件头 552
18.2.2 封装安全载荷 554
18.2.3 IPv4和IPv6 555
18.2.4 AH和ESP 555
18.2.5 IPSec提供的服务 555
18.3 安全关联 557
18.3.1 安全关联的概念 557
18.3.2 安全关联数据库 558
18.4 安全策略 560
18.5 互联网密钥交换 563
18.5.1 改进的Diffie-Hellman密钥交换 563
18.5.2 IKE阶段 566
18.5.3 阶段和模式 566
18.5.4 阶段Ⅰ:主模式 567
18.5.5 阶段Ⅰ:野蛮模式 573
18.5.6 阶段Ⅱ:快速模式 575
18.5.7 SA算法 577
18.6 ISAKMP 578
18.6.1 一般文件头 578
18.6.2 有效载荷 578
18.7 推荐阅读 588
18.8 关键术语 588
18.9 概要 589
18.10 习题集 590