前言 1
第1章 引论 1
1.1 密码学的基本概念 1
1.2 古典密码学 4
1.2.1 古典密码体制 4
1.2.2 古典密码体制分析 8
1.3 注记和文献 12
第2章 密码学的信息理论基础 15
2.1 Shannon的保密系统的信息理论 15
2.1.1 保密系统的数学模型 15
2.1.2 熵及其基本性质 16
2.1.3 完善保密性 19
2.1.4 伪密钥和唯一解距离 20
2.2 Simmons的认证系统的信息理论 23
2.2.1 认证系统的数学模型 24
2.2.2 认证码的信息论下界 27
2.3 注记和文献 29
第3章 密码学的复杂性理论基础 33
3.1 算法与问题复杂性理论 33
3.1.1 算法与问题 33
3.1.2 算法复杂性 34
3.1.3 问题复杂性 35
3.2 零知识证明理论 36
3.2.1 交互零知识证明理论 37
3.2.2 非交互零知识证明理论 48
3.3 注记和文献 54
第4章 私钥密码算法--流密码 56
4.1 流密码的分类及其工作模式 56
4.2 线性反馈移位寄存器和B-M算法 59
4.3 随机性、线性复杂度和Blahut定理 66
4.4 布尔函数的非线性准则 71
4.4.1 布尔函数的表示和Walsh谱 72
4.4.2 非线性度 75
4.4.3 线性结构和退化性 77
4.4.4 严格雪崩准则和扩散准则 81
4.4.5 相关免疫性 82
4.5 构作流密码的四种方法 86
4.5.1 信息论方法 87
4.5.2 系统论方法 88
4.5.3 复杂度理论方法 95
4.5.4 随机化方法 99
4.6 注记和文献 100
第5章 私钥密码算法--分组密码 107
5.1 分组密码的设计原则 107
5.2 数据加密标准(DES) 108
5.2.1 DES的描述 109
5.2.2 DES的实现 113
5.2.3 DES的安全性 114
5.3 其它分组密码 116
5.3.1 IDEA 116
5.3.2 RC5 118
5.3.3 子密钥分组密码 120
5.4 分组密码的工作模式 121
5.5 攻击分组密码的一些典型方法 124
5.5.1 时间-存贮权衡分析方法 125
5.5.2 差分分析方法 126
5.5.3 线性分析方法 132
5.6 注记和文献 136
第6章 公钥密码算法 141
6.1 公钥密码的观点 141
6.2 RSA算法 142
6.2.1 RSA算法的描述 142
6.2.2 RSA算法的实现 143
6.2.3 RSA的安全性分析 145
6.2.4 关于明文比特的部分信息 149
6.3 素性检测和因子分解 150
6.3.1 素性检测 151
6.3.2 因子分解 152
6.4 ElGamal算法和离散对数 155
6.4.1 ElGamal算法 155
6.4.2 求离散对数问题的算法 155
6.4.3 离散对数的比特安全性 159
6.5 其它公钥密码算法 160
6.5.1 Rabin算法 160
6.5.2 Merkle-Hellman背包算法 162
6.5.3 McEliece算法 164
6.5.4 二次剩余算法(概率加密) 165
6.5.5 椭圆曲线密码算法 166
6.6 注记和文献 167
第7章 数字签名方案 171
7.1 RSA数字签名方案和加密 172
7.1.1 RSA数字签名方案 172
7.1.2 加密和签名的结合 173
7.2 ElGamal型数字签名方案和数字签名标准(DSS) 173
7.2.1 ElGamal数字签名方案 174
7.2.2数字签名标准(DSS) 175
7.3 一次数字签名方案 178
7.4 不可否认的数字签名方案 179
7.5 Fail-Stop数字签名方案 182
7.6 群数字签名方案和盲数字签名方案 184
7.6.1 群数字签名方案 184
7.6.2 盲数字签名方案 185
7.7 注记和文献 187
第8章 杂凑(Hash)函数 191
8.1 Hash函数的分类 192
8.2 Hash函数的延拓准则 194
8.3 Hash函数的攻击方法 196
8.3.1 生日攻击 197
8.3.2 特殊攻击 198
8.4 Hash函数的构造 199
8.4.1 一个基于离散对数问题的Hash函数 199
8.4.2 基于私钥密码算法的Hash函数 200
8.4.3 直接构造法 200
8.5 安全Hash标准(SHS) 204
8.6 时戳 205
8.7 注记和文献 206
第9章 识别协议 209
9.1 Feige-Fiat-Shamir识别协议和识别协议向签名方案的转化 210
9.1.1 Feige-Fiat-Shamir识别协议 210
9.1.2 识别协议向签名方案的转化 210
9.2 Schnorr识别协议 211
9.3 Okamoto识别协议 214
9.4 Guillou-Quisquater识别协议 216
9.5 基于身份的识别方案 217
9.5.1 Shamir的基于身份的密码方案的基本思想 217
9.5.2 Guillou-Quisquater的基于身份的识别协议 220
9.6 注记和文献 221
第10章 密钥管理技术 223
10.1 密钥的种类和密钥的生成、装入 223
10.1.1 密钥的种类 223
10.1.2 密钥的生成 224
10.1.3 密钥的装入 224
10.2 密钥的分配协议 225
10.2.1 Blom方案 225
10.2.2 Diffie-Hellman密钥预分配方案 227
10.2.3 Kerboros协议 228
10.3 密钥协定 230
10.3.1 端-端协议 230
10.3.2 MTI密钥协定协议 231
10.3.3 Girault密钥协定协议 232
10.4 密钥的保护和秘密共享 233
10.4.1 密钥的保护 233
10.4.2 秘密共享 235
10.5 密钥托管技术 237
10.5.1 Clipper芯片的构成 237
10.5.2 Clipper芯片的编程 237
10.5.3 LEAF和Clipper芯片的加解密过程 238
10.5.4 授权机构的监听 239
10.5.5 LEAF反馈攻击 239
10..6 注记和文献 239
第11章 电子货币及其它 243
11.1 电子货币的分类及其特点 243
11.2 在线电子货币 244
11.3 离线电子货币 247
11.4 电子货币和完全犯罪 249
11.5 电子选举协议 249
11.5.1 比特承诺 250
11.5.2 FOO选举协议 251
11.6 潜信道 252
11.7 智力扑克协议 253
11.8 健忘传输协议 254
11.9 注记和文献 254
附录 259
1 数学基础 259
1.1 概率论 259
1.2 数论 260
1.3 代数基础 266
2 AES侯选算法简介 271
3 注记和文献 292