第一部分 密码学发展史 1
第1章 引言 1
1.1 克尔克霍夫 1
1.2 法国人的影响 2
1.3 罗西尼奥尔 2
1.4 沃利斯 3
1.5 路易吉·萨科将军 3
1.6 转变观念 3
1.7 小结 5
第2章 第一原则和概论 6
2.1 古典密码系统 6
2.2 加密的目的 6
2.3 商用密码技术一览 7
2.4 密码标准 8
2.4.1 密码标准在商业市场上的重要性 8
2.4.2 开放系统互连(OSI)模型 8
2.4.3 OSI的安全性 10
2.5.3 公钥密码术 13
2.5.2 对称密钥密码术 13
2.5 安全网络的鉴别系统的组件 13
2.5.1 单向哈希函数 13
2.5.4 鉴别系统 14
2.5.5 密钥管理和分发 15
2.5.6 密钥恢复 15
2.5.7 数字签名和有关符号 18
2.5.8 离散对数签名方案 18
2.5.9 简单密码网络 19
2.5.10 对实现的考虑 20
2.5.11 密码算法 20
2.5.12 协议 21
2.5.13 ISO的一致性测试 21
2.6 国际标准化轮廓 21
2.7 特殊问题:Web安全的应对措施 22
2.8 展望——集成的网络安全 23
2.9 小结 23
3.3 密码分析的四个基本步骤 24
3.2 简单代替 24
第3章 历史上的密码系统Ⅰ 24
3.1 代替和换位密码的比较 24
3.4 英语的自然特性 25
3.5 字母特征和交互 27
3.5.1 目测和简单代替 27
3.5.2 对A-1的分析 27
3.6 使用单个等价密码表的多字母代替 29
3.7 双字母但非双向 32
3.7.1 Trithemian密码 32
3.7.2 培根密码 32
3.7.3 Hayes密码 33
3.7.4 蓝灰密码 35
3.7.5 数字密码 36
3.8 一次一密密码本 37
3.8.1 密钥更新的缺陷 38
3.8.2 随机性 38
3.9 语言结构 38
3.9.1 音素和语音 39
3.9.2 历史语言学 40
3.9.3 死亡的语言 40
3.10 密码线索 40
3.11 书写系统 41
3.12 Xenocrypt——语言密码 42
3.13 德国的约简密码——流量分析 43
3.13.1 组成要素 44
3.13.2 用于密码分析 44
3.13.3 ADFGVX 44
3.13.4 对ADFGVX密码的分析 45
3.14 阿拉伯人对密码学的贡献 46
3.15 Nihilist代替 47
3.16 Nihilist换位 48
3.17 中国的密码技术 49
3.18 小结 50
4.2 简单的线路换位(TRAMPS) 51
4.1 Zen密码 51
第4章 历史上的密码系统Ⅱ 51
4.3 内战期间的报文 53
4.4 AMSCO密码 55
4.5 多表代替 55
4.6 分解的原则 57
4.7 维吉利亚密码族 59
4.7.1 维吉利亚密码 60
4.8 用可能的字解密 61
4.7.2 哪种方式 61
4.9 主要的组件 62
4.10 博福特密码 64
4.11 波尔塔密码(即拿破仑表) 65
4.12 双字母密码:Playfair 68
4.12.1 加密过程 69
4.12.2 Playfair密码的标识 70
4.12.3 特别之处 71
4.13 Delastelle系统——四方密码 71
4.13.3 单元频率 72
4.13.1 四方密码的标识 72
4.13.2 四方密码的特性 72
4.13.4 观察结果 73
4.14 Delastelle系统——二分密码 73
4.14.1 二分密码的加密方法 73
4.14.2 已知元素的二分密码解密 74
4.14.3 二分密码的标识 75
4.14.4 二分密码的特性 75
4.15 Delastelle系统——三分密码 76
4.15.1 加密的方法 77
4.15.2 解密 77
4.15.3 三分密码的标识 77
4.15.4 三分密码的特性 77
4.16 小结 78
第5章 代码和机器密码 79
5.1 代码系统 79
5.1.1 Tritheim密本 79
5.1.2 从劳埃德到马可尼 80
5.1.3 ABC代码 81
5.1.4 摩尔斯代码 82
5.2 早期商用代码 84
5.2.1 马可尼代码 84
5.2.2 非秘密的代码 86
5.2.3 简洁的代码 86
5.2.4 视频、声音和无线电通信的国际信号代码(INTERCO) 87
5.3.1 并联代码集合 90
5.3 古典代码构造的基础 90
5.3.2 两字母差别 91
5.3.3 代码的类型 91
5.3.4 加密的代码系统 93
5.3.5 字典代码 94
5.3.6 简单字典代码的密码分析 95
5.3.7 外交代码 97
5.4 机器密码编码的历史 98
5.5 密码机的分类 100
5.6.1 Hagelin的C-38密码机家族 101
5.6 三种典型的密码机 101
5.5.1 换位密码机 101
5.5.2 代替密码机 101
5.6.2 Enigma密码机 105
5.6.3 电子密码机MARK Ⅱ型(ECMMARK Ⅱ型,SIGABA) 106
5.7 小结 107
第6章 数据加密标准(DES)和信息论 108
6.1 可逆变换 108
6.2 对密码系统的敌对攻击 109
6.3 丹宁模型 110
6.4 针对存储在计算机系统中数据的威胁 110
6.5 信息论——香农的概念 111
6.6 熵和疑义度 112
6.7 对称算法——乘积密码 114
6.8 复合变换 114
6.9 迭代密码系统 115
6.10 数据加密标准 115
6.10.1 DEA概述 116
6.10.2 解密算法的组件 118
6.11 密钥表的计算 118
6.12 加密函数 121
6.13 S盒 122
6.14 初始置换 127
6.15 逆初始置换(IP?) 127
6.16 加密过程 127
6.18 雪崩效应 129
6.17 解密过程 129
6.19 弱密钥 130
6.20 DES的模式 131
6.20.1 ECB模式 131
6.20.2 CBC模式 131
6.20.3 CFB模式 133
6.20.4 OFB模式 134
6.20.5 二重DES 135
6.20.8 DES集 136
6.20.6 三重DES 136
6.20.7 具有两组密钥的三重DES(3DES) 136
6.20.9 差分密码分析与线性密码分析 137
6.20.10 EFF DES破译机 138
6.21 小结 139
第二部分 商用密码系统 141
第7章 公钥(非对称)密码术 141
7.1 单向函数 141
7.2 难处理性 142
7.3 背包问题 143
7.4 警告 147
7.5 通用原则 147
7.6 工作因子 148
7.7 密码系统的生存期 149
7.8 公钥密码术的优势——密钥管理 150
7.9 小结 150
8.1 数学方法的难点 152
8.2 密码功能 152
第8章 算法 152
8.3 整数因子分解系统 153
8.3.1 安全性 153
8.3.2 实现 153
8.4 离散对数系统 154
8.4.1 安全性 154
8.4.2 实现 154
8.5 椭圆曲线密码系统(ECC) 154
8.6 公钥密码系统的比较 155
8.5.1 安全性 155
8.5.2 实现 155
8.6.1 安全性 156
8.6.2 效率 159
8.6.3 比较总结 161
8.6.4 ECC标准 161
8.7 密码目的/功用 162
8.8 对称算法 162
8.8.1 IDEA 162
8.8.2 Blowfish 164
8.8.3 RC5 166
8.9 非对称算法 167
8.9.1 RSA算法 167
8.9.2 Diffie-Hellman密钥协商算法(DH) 172
8.9.3 Raike公钥(RPK)密码系统 175
8.10 鉴别系统 181
8.11 鉴别的目的 181
8.11.1 消息加密 182
8.11.2 密码校验和 183
8.11.3 哈希函数 184
8.12 数字签名算法(DSA) 188
8.12.1 DSA密钥生成 188
8.12.2 DSA签名生成 188
8.12.3 DSA签名验证 188
8.13 椭圆曲线数字签名算法(ECDSA) 189
8.14 小结 189
第9章 万维网中的标识、鉴别和授权 191
9.1.1 标识 192
9.1 标识、鉴别和授权 192
9.1.3 授权 193
9.1.2 鉴别 193
9.2 加密的作用 194
9.2.1 对称加密算法 194
9.2.2 非对称加密算法:公钥密码系统 195
9.2.3 在PKC中使用哈希函数 197
9.3 安全电子商务的框架 198
9.3.1 保密性 199
9.3.2 标识 199
9.3.3 鉴别 200
9.4 第三方证书机构 200
9.4.1 SET——授权和认可 200
9.5 授权和单点登录 201
9.5.1 Kerberos 201
9.5.2 开放框架标准(OPS) 201
9.4.2 OFX——开放性金融交换 201
9.4.3 黄金标准 201
9.6 互用性 202
9.7 产品 202
9.7.1 VeriSign的数字ID 202
9.7.2 DigiCash 203
9.7.3 CyberCash 203
9.7.4 Xcert Sentry CA 203
9.7.8 因特网商场 204
9.8.1 VeriSign数字证书 204
9.8 扩展证书的用途 204
9.7.6 Security Dynamics的SecurID和ACE/Server 204
9.7.7 Bellcore的S/KEY 204
9.7.5 Auric系统的ASA 204
9.8.2 NCR TrustedPASS 205
9.9 网站 206
9.10 小结 207
第10章 数字签名 209
10.1 什么是数字签名 209
10.3 如何给文件签名 210
10.2 我们为什么需要数字签名 210
10.4 证书 212
10.5 攻击数字签名 214
10.5.1 问题 214
10.5.2 攻击和成功的评估 215
10.5.3 对策 215
10.6 可证明的安全数字签名方案 215
10.9 美国政府的立场 216
10.10 小结 216
10.8 其他方法 216
10.7 可信赖的数字签名文档 216
第11章 硬件实现 218
11.1 定义 218
11.2 性能、安全性、经济性和人类工程学之间的折衷 219
11.3 安全性 219
11.3.1 安全存储 219
11.3.4 安全的密钥管理 220
11.3.3 安全执行 220
11.3.2 安全的密钥存储 220
11.4 红/黑边界 221
11.5 协议集成问题 221
11.6 策略执行 222
11.7 物理安全 222
11.7.1 篡改检测 223
11.10 如何击败硬件安全 224
11.9 数字版权管理 224
11.8 随机数生成 224
11.7.2 扰乱设备 224
11.11 性能 225
11.12 度量 225
11.12.1 硬件对公钥密码技术的影响 226
11.12.2 硬件对批量数据密码处理的影响 226
11.13 小结 227
第12章 证书机构 228
12.1 公钥证书的概念/目的 228
12.2.5 有效期 229
12.2.4 发行者的惟一名称 229
12.2.6 主体的惟一名称 229
12.2.1 版本 229
12.2.3 发行者的签名算法 229
12.2.2 序列号 229
12.2 版本1证书 229
12.2.7 主体公钥信息 230
12.2.8 发行者的签名 230
12.3 版本2证书 230
12.4 版本3证书 230
12.5 公钥和其指定属主间的关联 231
12.6 信任建立时的证书角色 231
12.7 请求者信息的验证 231
12.8 证书机构的工作 233
12.9 证书层次 233
12.9.1 策略批准机构(PAA) 233
12.11 CA中信任的建立 234
12.10 谁可以成为CA 234
12.9.5 用户 234
12.9.4 注册机构(RA) 234
12.9.3 证书机构(CA) 234
12.9.2 策略创建机构(PCA) 234
12.12 证书策略 235
12.13 认证实践声明 235
12.14 潜在的责任 235
12.18 证书撤销列表 236
12.17 证书撤销 236
12.16 证书的策略失效 236
12.15 CA和证书请求者之间的信任级别 236
12.19 对攻击的防护 237
12.20 可选的CA服务 237
12.20.1 生成公/私钥对 238
12.20.2 存档密钥 238
12.20.3 数据恢复服务 238
12.20.4 硬件安全令牌的编程 239
12.21 证书发布的需求 240
12.22 证书目录 240
12.20.6 另外一种交叉认证 240
12.20.5 交叉认证 240
12.23 目录访问协议(DAP) 242
12.24 轻便目录访问协议(LDAP) 242
12.25 用户之间共享证书 242
12.26 用户的本地缓存 243
12.27 小结 243
13.1 难题 245
第13章 实现错误 245
第三部分 实现和产品认证 245
13.2 对产品连接和安装的攻击 247
13.3 对随机数生成和种子值的攻击 247
13.4 对算法的攻击 252
13.5 “好”密码算法的性质 253
13.6 对密码设计的攻击 253
13.7 红/黑分离 254
13.8 对密钥的攻击 254
13.11 对协议服务的攻击 255
13.10 泄漏 255
13.9 对口令的攻击 255
13.12 测试基准信息 256
13.13 小结 256
第14章 ICSA产品认证 258
14.1 ICSA的通用认证框架 258
14.1.1 认证框架声明 259
14.1.2 认证框架的原则 259
14.1.3 框架 259
14.1.5 框架的特征 260
14.1.4 框架组件 260
14.2 风险减小 261
14.3 风险度量的确认 262
14.4 ICSA认证方法:信息安全的一个崭新范例 262
14.4.1 全新的范例 263
14.4.2 过程启动 264
14.5 认证标准的开发过程 265
14.6 获得ICSA认证的目的 265
14.7.2 黑箱测试 266
14.7.1 标准的要点 266
14.7 密码产品认证(CPCe)过程 266
14.7.3 一般情况 267
14.7.4 审查 268
14.7.5 测试 268
14.7.6 厂商的参与 268
14.7.7 对厂商的要求 268
14.8 小结 269
14.7.10 认证结果的公布 269
14.7.9 标准的更新 269
14.7.8 认证有效期 269
第四部分 实用密码学 271
第15章 因特网密码学 271
15.1 协议层和网络产品 271
15.2 管理和策略问题 273
15.2.1 保密风险 273
15.2.2 个人责任 273
15.2.3 访问公共站点 274
15.3 密钥管理的选择 275
15.2.4 连接拓扑 275
15.3.1 共享人工密钥 276
15.3.2 具有再分配能力的预共享密钥 276
15.3.3 密钥分配中心 277
15.3.4 公钥 278
15.4 自动加密 279
15.4.1 链路加密 280
15.4.2 网络加密 281
15.5.1 安全套接字层(SSL) 283
15.5 密码学应用 283
15.5.2 加密的电子邮件 285
15.6 小结 286
第16章 安全:策略、隐私权与协议 287
16.1 安全策略 287
16.2 关于隐私权 288
16.3 隐私权法 289
16.3.1 1974年的联邦隐私权法案 290
16.3.3 国际隐私 291
16.3.2 各州的法律 291
16.4 国际商务法律 292
16.5 安全协议的一般特性 293
16.5.1 协议 293
16.5.2 协议标准 293
16.6 OSI层协议的考察 294
16.6.1 物理层 294
16.6.2 数据链路层 295
16.6.3 网络层 295
16.6.4 传输层 296
16.6.5 应用层协议 297
16.7 各层中产品的策略和配置 297
16.8 关于IPv6以及未来的讨论 298
16.9 小结 298
第17章 智能卡 300
17.1 历史 300
17.2.4 微处理器卡 301
17.2.3 存贮卡 301
17.2.1 凸字卡 301
17.2.2 磁条卡 301
17.2 卡类型 301
17.2.5 密码协处理器卡 302
17.2.6 非接触智能卡 302
17.2.7 光存贮卡 302
17.3 智能卡的特性 303
17.3.1 物理和电特性 303
17.3.2 操作系统 304
17.3.3 密码能力 305
17.3.4 数据传输 306
17.4 指令集 307
17.5 智能卡读设备(终端) 307
17.6 有关计算机安全的标准 308
17.7 著名的智能卡规范和标准 308
17.7.1 PKCS#11:密码令牌接口标准 308
17.7.6 微软的密码API 309
17.7.5 公共数据安全结构 309
17.8 智能卡在计算机网络设计机制中的重要性 309
17.7.3 OpenCard 309
17.7.4 JavaCard 309
17.7.2 PC/SC 309
17.8.1 根本的安全挑战 310
17.8.2 智能卡的安全优势 310
17.9 合法性 311
17.10 可使用智能卡的产品 311
17.10.1 Web浏览器(SSL、TLS) 311
17.10.2 安全电子邮件(S/MIME、OpenPGP) 312
17.10.3 表单签名 312
17.10.4 对象签名 312
17.10.5 Kiosk/可移植配置 312
17.10.6 文件加密 312
17.10.7 工作站登录 312
17.12 攻击智能卡 313
17.11 智能卡存在的问题 313
17.10.11 进入建筑物 313
17.10.10 数字现金 313
17.10.9 支付协议(SET) 313
17.10.8 拨号访问(RAS、PPTP、RADIUS、TACACS) 313
17.13 小结 314
第18章 IP安全与安全的VPN 315
18.1 IPSec标准的必要性 315
18.2 IPSec的应用 316
18.5 IPSec的功能 317
18.4 IPSec是正确的选择吗 317
18.3 IPSec的好处 317
18.6 传输模式和隧道模式 318
18.7 密钥管理 319
18.8 安全关联 320
18.9 鉴别 320
18.10 抗重放服务 321
18.11 报文鉴别码 321
18.12.1 ESP格式 322
18.12.2 加密和鉴别算法 322
18.12 保密性与鉴别 322
18.12.3 填充字段 323
18.13 小结 323
第19章 电子商务系统中的密码学 325
19.1 密码学在电子商务中的重要性 325
19.2 用于电子商务的密码学 325
19.2.1 对称密码系统 325
19.3 哈希法 326
19.2.2 公钥(PK)密码学 326
19.4 鉴别 327
19.5 不采用密码术的访问控制 327
19.6 访问控制机制 327
19.6.1 SSL 327
19.6.2 SET 328
19.7 密码术与访问控制的结合 328
19.8 软商品的传输安全性 329
19.8.1 无保护 329
19.8.3 在解密前利用密钥进行保护 330
19.8.2 仅在传输时进行保护 330
19.8.4 利用用户定义的密钥进行保护 331
19.8.5 利用用户相关的密钥进行保护 331
19.8.6 利用持久权限管理系统的保护 332
19.8.7 比较 333
19.9 用户对电子商务模型的观点(浏览、下载、购买和使用模型) 334
19.9.1 第1步——浏览 334
19.9.2 第2步——下载软商品 334
19.9.3 第3步——购买 334
19.9.4 第4步——使用 334
19.10 发行商的观点 335
19.10.1 第1步——选择 335
19.10.2 第2步——展示 335
19.10.3 第3步——支付机制 335
19.10.4 第4步——准备可供下载的内容 335
19.11 动态用户相关的商务系统的预演 336
19.12 小结 337
20.1 基于角色安全性与密码学的概念/目的 338
第20章 基于角色的密码学 338
20.2 基于角色安全的重要性 339
20.3 基于角色的密码学 341
20.4 基于角色的密码学操作 343
20.5 基于角色的密码过程 343
20.5.1 基于角色的加密过程 343
20.5.2 基本角色的解密过程 343
20.6 用户鉴别和安全特征 343
20.6.1 角色和标签 344
20.6.2 RBC的优点 345
20.6.3 用户概况 346
20.6.4 刚好及时的密钥管理 346
20.6.5 其他安全问题 348
20.6.6 密钥恢复 349
20.7 基于角色的密码学与智能卡 350
20.8 基于角色的密码学与数字签名 351
20.9 公开密钥与基于角色加密的权衡 351
20.10 小结 353
第五部分 密码学的发展方向 355
第21章 密码分析与系统识别 355
21.1 密码分析策略 355
21.2 密码分析的四个基本步骤 356
21.3 Chi检验 357
21.4 重合的基本理论——Kappa检验 360
21.5 随机性检验方法的推导——Psi和I.C.的计算 364
21.6.1 评估准则 370
21.6 使用古典参数的密码系统的纵向区别 370
21.6.2 讨论 371
21.7 压缩 375
21.8 熵 375
21.9 随机性与单表/多表代替方法 375
21.10 口令的脆弱性 383
21.11 窃取口令的逆向工程 385
21.12 系统识别——用于密码系统纵向分类的新工具 388
21.12.1 模式识别 389
21.12.2 邻近性度量 390
21.13 开发一种多类别方法 391
21.14 无参数的线性判别函数(LDF) 392
21.15 类Ⅰ与类Ⅱ的区别 393
21.16 分段线性判别函数与封闭系统结构 395
21.17 参数分类方法——概率结果 396
21.18 根据密文聚类密钥 400
21.19 密文交互作用 401
21.20 小结 402
22.1 生物统计学 404
第22章 生物特征加密 404
22.2 生物统计学与密码学的结合 405
22.3 图像处理 406
22.4 相关性 407
22.5 系统要求 407
22.6 滤波函数的设计 408
22.7 滤波函数的安全性 409
22.8 过渡滤波器 410
22.9 安全的滤波器设计 411
22.10 生物特征加密算法的实现:注册与验证 412
22.10.1 注册 414
22.10.2 验证 416
22.11 使用其他生物特征模板的生物特征加密 419
22.12 小结 420
第六部分 附录 421
附录A 标准 421
附录B 外国加密数据 425
附录C 复杂度理论的简要指南 430
附录D 数论的简短指南 434
附录E ICSA采用的算法清单 438
附录F 椭圆曲线及密码学(ECC) 441
附录G 密码机的发展 445
附录H 美国法定和政府控制密码技术的政策 447
密码术语和互用性词汇表 454
参考资料目录和资源 481
关于原书光盘 528