第1章 引言 1
1.1 攻击、服务和机制 2
1.1.1 服务 3
1.1.2 机制 4
1.1.3 攻击 4
1.2 对安全的攻击 5
1.2.1 被动攻击 6
1.2.2 主动攻击 6
1.3.2 鉴别 7
1.3.3 完整性 7
1.3 安全服务 7
1.3.1 机密性 7
1.3.4 不可抵赖 8
1.3.5 访问控制 8
1.3.6 可用性 8
1.4 网络安全模型 8
1.5 本书概要 10
本书的Web站点 12
其他Web站点 12
附录1A Internet和Web资源 12
1.6 推荐读物 12
USENEF新闻组 13
第一部分 常规加密 14
第2章 常规加密的经典技术 16
2.1 常规加密模型 16
2.1.1 密码编码学 17
2.1.2 密码分析 18
2.2 隐写术 20
2.3 经典加密技术 21
2.3.1 替代技术 22
2.3.2 置换技术 32
2.3.3 转子机(Rotor Machine) 33
2.4 推荐读物 34
2.5 习题 35
第3章 常规加密的现代技术 38
3.1 简化的DES 38
3.1.1 概述 38
3.1.2 S-DES密钥的产生 39
3.1.3 S-DES的加密操作 41
3.1.4 对简化版DES的分析 43
3.1.5 与DES的关系 43
3.2.2 Feistel密码结构的设计动机 44
3.2.1 流密码和分组密码 44
3.2 分组密码的原理 44
3.2.3 Feistel密码 46
3.3 数据加密标准 51
3.3.1 DES加密 52
3.3.2 DES的解密 57
3.3.3 雪崩效应 57
3.4 DES的强度 58
3.4.1 56 bit密钥的使用 58
3.4.2 DES算法的性质 59
3.5.1 差分密码分析 60
3.5 差分与线性密码分析 60
3.5.2 线性密码分析 61
3.6 分组密码设计原理 62
3.6.1 DES的设计准则 62
3.6.2 循环次数 63
3.6.3 函数F的设计 64
3.6.4 密钥调度算法 65
3.7 分组密码的操作方式 65
3.7.1 电子密码本方式 66
3.7.2 密码分组链接方式 66
3.7.3 密码反馈方式 68
3.7.4 输出反馈方式 70
3.8 推荐读物 71
3.9 习题 71
附录3A 曲折函数(bent function) 73
第4章 常规加密的算法 75
4.1 三重DES 75
4.1.1 双重DES 75
4.1.2 两个密钥的三重DES 77
4.1.3 使用三个密钥的三重DES 79
4.2 国际数据加密算法 79
4.2.1 设计原理 79
4.2.2 IDEA加密 82
4.2.3 IDEA的解密 85
4.3 Blowfish 87
4.3.1 子密钥和S盒子的产生 87
4.3.2 加密和解密 89
4.3.3 讨论 90
4.4 RC5 91
4.4.1 RC5的参数 92
4.4.2 密钥扩展 92
4.4.3 加密 94
4.4.5 RC5的操作方式 95
4.4.4 解密 95
4.5.1 CAST-128的加密 96
4.5 CAST-128 96
4.5.2 替代盒子 97
4.5.3 子密钥产生 98
4.5.4 讨论 98
4.6 RC2 99
4.6.1 密钥扩展 100
4.6.2 加密 100
4.7 先进对称分组密码的特点 101
4.8 习题 102
5.1.1 窃密攻击的可能位置 105
第5章 使用常规加密进行保密通信 105
5.1 加密功能的位置 105
5.1.2 链路加密与端到端加密 107
5.2 通信量的机密性 111
5.2.1 链路加密方式 112
5.2.2 端到端加密方式 112
5.3 密钥分配 112
5.3.1 一个密钥分配方案 114
5.3.2 层次式密钥控制 115
5.3.4 一种透明的密钥控制方案 116
5.3.3 会话密钥的使用寿命 116
5.3.5 分散式密钥控制 117
5.3.6 控制密钥的使用方式 118
5.4 随机数的产生 119
5.4.1 随机数的用途 119
5.4.2 随机数的来源 120
5.4.3 伪随机数产生器 121
5.4.4 密码编码方式产生的随机数 122
5.4.5 Blum Blum Shub产生器 124
5.5 推荐读物 125
5.6 习题 126
第二部分 公开密钥加密和散列函数 129
第6章 公开密钥密码编码学 130
6.1 公开密钥密码系统的原理 131
6.1.1 公开密钥密码系统 131
6.1.2 公开密钥密码系统的应用 135
6.1.3 对公开密钥密码编码学的要求 136
6.1.4 公开密钥密码分析 137
6.2 RSA算法 137
6.2.1 对算法的描述 138
6.2.2 计算方面 139
6.2.3 RSA的安全性 142
6.3 密钥管理 145
6.3.1 公开密钥的分配 145
6.3.2 秘密密钥的公开密钥加密分配 149
6.4 Diffie-Hellman密钥交换 151
6.5 椭圆曲线密码编码学 154
6.5.1 椭圆曲线 154
6.5.2 有限域上的椭圆曲线 156
6.5.3 使用椭圆曲线的密码编码学 157
6.5.4 椭圆曲线密码编码学的安全性 159
6.6 推荐读物 159
6.7 习题 160
附录6A 算法的复杂性 164
第7章 数论导引 167
7.1 素数和互为素数 167
7.1.1 因子 167
7.1.2 素数 168
7.1.3 互为素数 169
7.2 模运算 170
7.2.1 模运算操作 171
7.2.2 模运算的性质 172
7.3.1 费马定理 174
7.3 费马定理和欧拉定理 174
7.3.2 欧拉函数 175
7.3.3 欧拉定理 176
7.4 检测素数 177
7.5 欧几里德算法 178
7.5.1 寻找最大公因子 179
7.5.2 寻找乘法逆元 180
7.6 中国余数定理 181
7.7 离散对数 183
7.7.1 整数幂,模n 183
7.7.2 指数 184
7.7.3 离散对数的计算 186
7.8 推荐读物 186
7.9 习题 187
第8章 报文鉴别与散列函数 190
8.1 鉴别的需求 190
8.2 鉴别函数 190
8.2.1 报文加密 191
8.2.2 报文鉴别码 195
8.2.3 散列函数 197
8.3.1 MAC的需求 200
8.3 报文鉴别码 200
8.3.2 基于DES的报文鉴别码 201
8.4 散列函数 202
8.4.1 散列函数的需求 203
8.4.2 简单的散列函数 203
8.4.3 生日攻击 205
8.4.4 分组链接技术 207
8.5 散列函数和MAC的安全性 207
8.5.1 强行攻击 208
8.5.2 密码分析 209
8.6 推荐读物 210
附录8A 生日攻击的数学基础 211
8.7 习题 211
8A.1 相关问题 212
8A.2 生日悖论 212
8A.3 有用的不等式 213
8A.4 重复问题的一般性例子 213
8A.5 两个相交的集合 215
第9章 散列算法 216
9.1 MD5报文摘要算法 216
9.1.1 MD5逻辑 216
9.1.2 MD5压缩函数 219
9.1.3 MD4 222
9.2 安全的散列算法 223
9.2.1 SHA-1逻辑 223
9.1.4 MD5的强度 223
9.2.2 SHA-1压缩函数 225
9.2.3 SHA-1与MD5的比较 227
9.3 RIPEMD-160 228
9.3.1 RIPEMD-160逻辑 228
9.3.2 RIPEMD-160压缩函数 230
9.3.3 RIPEMD-160设计思想 232
9.3.4 与MD5和SHA-1的比较 233
9.4.1 HMAC设计目标 234
9.4 HMAC 234
9.4.2 HMAC算法 235
9.4.3 HMAC的安全性 236
9.5 习题 237
第10章 数字签名和鉴别协议 239
10.1 数字签名 239
10.1.1 需求 239
10.1.2 直接数字签名 240
10.1.3 需仲裁的数字签名 240
10.2.1 相互鉴别 242
10.2 鉴别协议 242
10.2.2 单向鉴别 246
10.3 数字签名标准 248
10.3.1 DSS方法 248
10.3.2 数字签名算法 249
10.4 推荐读物 250
10.5 习题 251
附录10A 数字签名算法的证明 253
第三部分 网络安全实践 255
11.1.1 动机 256
11.1 Kerberos 256
第11章 鉴别应用 256
11.1.2 Kerberos第4版 257
11.1.3 Kerberos第5版 266
11.2 X.509鉴别服务 270
11.2.1 证书 270
11.2.2 鉴别过程 274
11.2.3 X.509第3版 275
11.3 推荐读物 277
11.4 习题 277
11A.1 口令到密钥的转换 278
附录11A Kerberos加密技术 278
11A.2 传播密码分组链接模式 279
第12章 电子邮件的安全性 281
12.1 PGP加密软件 281
12.1.1 符号 281
12.1.2 操作描述 282
12.1.3 加密密钥和密钥环 286
12.1.4 公开密钥管理 292
12.2.1 RFC 822 296
12.2.2 通用Internet邮件扩充MIME 296
12.2 S/MIME 296
12.2.3 S/MIME的功能 302
12.2.4 S/MIME报文 304
12.2.5 S/MIME证书的处理 307
12.2.6 增强的安全服务 309
12.3 推荐读物 310
12.4 习题 310
附录12A 使用ZIP的数据压缩 310
12A.1 压缩算法 311
12A.2 解压算法 312
附录12B Radix-64转换 312
12C.1 真随机数 314
附录12C PGP随机数的产生 314
12C.2 伪随机数 315
第13章 IP的安全性 317
13.1 IP安全概述 317
13.1.1 IPSec应用 317
13.1.2 IPSec的好处 319
13.1.3 路由选择应用 319
13.2 IP安全体系结构 319
13.2.1 IPSec文档 319
13.2.2 IPSec的服务 320
13.2.3 安全关联 321
13.2.4 运输和隧道方式 323
13.3 鉴别首部 324
13.1.1 反重放服务 325
13.3.2 完整性检查值 326
13.3.3 运输方式和隧道方式 326
13.4 封装安全有效载荷 328
13.4.1 ESP的格式 328
13.4.2 加密与鉴别算法 329
13.4.3 填充 329
13.4.4 运输方式和隧道方式 330
13.5 合并安全关联 332
13.5.1 鉴别加上机密性 333
13.5.2 安全关联的基本组合 334
13.6 密钥管理 335
13.6.1 Oakley密钥确定协议 335
13.6.2 ISAKMP 338
13.7 推荐读物 343
13.8 习题 343
附录13A 网际互联和网际协议 344
13A.1 网际协议的作用 344
13A.2 IPv4 345
13A.3 IPv6 347
第14章 Web安全 351
14.1 Web的安全需求 351
14.1.1 对Web安全的威胁 351
14.1.2 实现Web通信量安全性的方法 352
14.2 安全套接层与传输层的安全 353
14.2.1 SSL的体系结构 353
14.2.2 SSL记录协议 354
14.2.3 修改密文规约协议 356
14.2.4 告警协议 356
14.2.5 握手协议 358
14.2.6 密码的计算 362
14.2.7 运输层安全 363
14.3 安全电子交易(Security Electronic Transaction:SET) 367
14.3.1 SET概述 367
14.3.2 双向签名 370
14.3.3 支付处理 371
14.4 推荐读物 375
14.5 习题 376
15.1 入侵者 378
第15章 入侵者与病毒 378
第四部分 系统安全 378
15.1.1 入侵技术 379
15.1.2 口令保护 380
15.1.3 口令选择策略 384
15.1.4 入侵检测 388
15.2 病毒及其相关的威胁 396
15.2.1 恶意程序 397
15.2.2 病毒的性质 399
15.2.3 病毒的类型 401
15.2.4 宏病毒 402
15.2.5 反病毒的方法 403
15.2.6 先进的反病毒技术 404
15.3 推荐读物 406
15.4 习题 406
第16章 防火墙 408
16.1 防火墙的设计原理 408
16.1.1 防火墙的特征 408
16.1.2 防火墙的类型 409
16.1.3 防火墙的配置 414
16.2 可信系统 415
16.2.1 数据访问控制 415
16.2.2 可信系统的概念 417
16.2.3 特洛伊木马防卫 418
16.3 推荐读物 419
16.4 习题 420
附录 讲授密码编码学与网络安全的有关项目 421
A.1 研究项目 421
A.2 编程项目 421
A.3 指定的阅读/报告 422
词汇表 423
英文缩写词 426
参考文献 427