第1章 概论 1
1.1什么是密码学 1
1.1.1密码体制与密码系统 1
1.1.2密码系统的安全性 3
1.1.3密码学的概念 5
1.2传统密码学概述 7
1.2.1古老的密码术 7
1.2.2由手工到机械的近代密码 9
1.3现代密码学概述 16
1.3.1现代密码学的兴起 16
1.3.2现代密码学的若干基本概念 18
1.3.3现代密码学的飞速发展 20
1.3.4现代密码学的特点 21
1.4本书的内容与组织 22
1.5注记 23
习题一 24
第2章 对称分组算法 25
2.1分组密码简介 25
2.1.1分组密码的概念 25
2.1.2关于分组密码的安全性 26
2.1.3分组密码的设计原则 27
2.1.4分组密码的一般结构 28
2.2DES算法和3-DES算法 30
2.2.1DES概述 30
2.2.2DES的算法结构 32
2.2.3DES中的变换 33
2.2.4DES的子密钥生成 38
2.2.5DES的安全性 41
2.2.63-DES算法及其安全性 43
2.3AES算法 45
2.3.1AES概述 45
2.3.2AES中的基本运算 47
2.3.3AES中的基本变换 48
2.3.4AES的子密钥生成 52
2.3.5AES的算法结构 54
2.3.6AES的性能 57
2.4分组密码的操作模式 58
2.5注记 62
习题二 63
第3章 非对称算法 65
3.1非对称算法概述 65
3.2RSA算法 67
3.2.1RSA加解密算法 67
3.2.2RSA中的模幂运算 68
3.2.3RSA的安全性 69
3.3ElGamal算法 71
3.3.1ElGamal加解密算法 71
3.3.2ElGamal的安全性 73
3.4ECC算法 74
3.4.1椭圆曲线密码概述 74
3.4.2有限域上的椭圆曲线密码体制 75
3.4.3Menezes-Vanstones椭圆曲线密码体制 77
3.4.4椭圆曲线密码的安全性 78
3.5基于身份的公钥体制 80
3.5.1双线性映射 80
3.5.2IBC简介 80
3.6注记 82
习题三 83
第4章 散列算法 84
4.1单向Hash函数 84
4.1.1单向Hash函数的产生背景 84
4.1.2Hash函数的概念 85
4.1.3Hash函数的迭代结构 87
4.1.4对Hash函数的攻击 88
4.1.5安全单向Hash函数的设计 91
4.2MD5算法 93
4.2.1MD5算法描述 94
4.2.2MD5的安全性 98
4.3安全Hash算法 99
4.3.1SHA-1算法描述 99
4.3.2SHA-1的安全性 101
4.4注记 101
习题四 102
第5章 数字签名 103
5.1数字签名简介 103
5.1.1数字签名的产生背景 103
5.1.2数字签名的概念 104
5.1.3数字签名的安全性 106
5.2普通数字签名方案 107
5.2.1RSA数字签名方案 107
5.2.2EIGamal数字签名方案 109
5.2.3Schnorr数字签名方案 110
5.2.4数字签名标准DSS 110
5.2.5基于椭圆曲线的数字签名方案 111
5.3盲签名 112
5.3.1盲签名简介 112
5.3.2基于RSA的盲签名方案 113
5.3.3基于离散对数的盲签名方案 114
5.3.4盲签名方案的应用 115
5.4注记 116
习题五 117
第6章 密钥管理的基本技术 118
6.1密钥管理的概念和原则 118
6.1.1密钥管理的概念 118
6.1.2密钥管理的原则和手段 119
6.2密钥管理的基本要求 120
6.2.1密钥的生成与分发 120
6.2.2密钥的存储与备份 122
6.2.3密钥的使用和更新 123
6.2.4密钥的销毁和归档 124
6.3随机数与伪随机数生成 125
6.3.1随机数生成 125
6.3.2伪随机数生成器的概念 127
6.3.3标准化的伪随机数生成器 128
6.3.4密码学上安全的伪随机比特生成器 131
6.4注记 132
习题六 133
第7章 非对称密钥的管理 134
7.1非对称密钥管理的特点 134
7.2素数生成 136
7.2.1素数生成简介 136
7.2.2概率素性测试与真素性测试 137
7.2.3强素数生成 139
7.3公钥参数的生成 140
7.3.1RSA公钥参数的生成 140
7.3.2ElGamal公钥参数的生成 143
7.4公钥基础设施PKI简介 144
7.4.1PKI的体系结构 144
7.4.2PKI证书 146
7.4.3PKI的证书管理与安全服务 149
7.5注记 152
习题七 152
第8章 对称密钥的管理 154
8.1对称密钥的种类与管理结构 154
8.1.1对称密钥的种类 154
8.1.2对称密钥的管理结构 155
8.2基于KDC和KTC的会话密钥建立 157
8.2.1Otway-Rees协议 157
8.2.2基于对称算法的NS协议 159
8.2.3Yahalom协议 160
8.2.4简化的Kerberos协议 161
8.2.5Big-mouth-frog协议 162
8.2.6Syverson双方密钥分配协议 164
8.3基于公钥的会话密钥建立 165
8.3.1Denning-Sacco协议 165
8.3.2PGP协议 167
8.4密钥协商 168
8.4.1DH密钥协商 168
8.4.2Aziz-Diffie密钥协商协议 169
8.4.3SSL V3.0中的密钥协商 170
8.5注记 171
习题八 172
第9章 认证技术 173
9.1几种不同的认证 173
9.1.1认证的概念和种类 173
9.1.2身份认证的概念 174
9.1.3非否认的概念 174
9.2完整性认证 176
9.2.1基于Hash算法的完整性认证 176
9.2.2基于对称分组算法的完整性认证 178
9.2.3基于非对称算法的完整性认证 179
9.2.4基于完整性认证的电子选举协议 180
9.3对称环境中的身份认证 181
9.3.1询问-应答协议 181
9.3.2Woo-Lam协议 182
9.3.3KryptoKnight认证协议 183
9.4非对称环境中的身份认证 184
9.4.1基于非对称算法的NS认证协议 184
9.4.2Schnorr识别方案 186
9.4.3Okamoto识别方案 187
9.4.4Guillou-Quisquater识别方案 188
9.5基于零知识证明的身份认证 189
9.5.1零知识证明的概念 189
9.5.2FFS识别方案 190
9.6注记 192
习题九 193
第10章 密码学在防伪识别中的应用 194
10.1二维条码的防伪技术 194
10.1.1二维条码简介 194
10.1.2二维条码标签中的保密和防伪技术 199
10.2基于RFID的自动识别技术 202
10.2.1RFID技术简介 202
10.2.2Hash-Lock自动识别协议 205
10.2.3随机Hash-Lock自动识别协议 206
10.2.4Hash链自动识别协议 206
10.3注记 208
习题十 209
第11章 数论基础 210
11.1整数的因子分解 210
11.1.1整除与素数 210
11.1.2最大公因数与最小公倍数 213
11.2同余与同余式 218
11.2.1同余和剩余系 219
11.2.2Euler定理和Fermat定理 221
11.2.3同余式 223
11.3二次同余式与平方剩余 226
11.3.1二次同余式与平方剩余 226
11.3.2Legendre符号与Jacobi符号 227
11.4注记 232
习题十一 232
第12章 代数学基础 234
12.1群 234
12.1.1群的概念和基本性质 234
12.1.2子群和商群 239
12.1.3群的同态和同构 242
12.1.4循环群 245
12.2环 247
12.2.1环的概念 247
12.2.2环的子环和理想 251
12.2.3环的同态与同构 254
12.3域和域上的一元多项式 256
12.3.1域的概念和若干基本性质 256
12.3.2域上的一元多项式 259
12.4注记 265
习题十二 266
第13章 有限域与椭圆曲线基础 270
13.1有限域基础 270
13.1.1有限域的概念和基本性质 270
13.1.2有限域的结构 272
13.1.3有限域中元素的表示和运算 274
13.2有限域上的椭圆曲线简介 280
13.2.1椭圆曲线简介 280
13.2.2有限域上的椭圆曲线 282
13.3注记 286
习题十三 287
第14章 计算复杂性理论的若干基本概念 289
14.1算法与计算复杂性 289
14.1.1问题与算法 289
14.1.2确定型图灵机 294
14.1.3算法的计算复杂性 298
14.2NP完全性理论简介 301
14.2.1问题的复杂性 301
14.2.2非确定性图灵机与概率图灵机 304
14.2.3问题的复杂性分类和NP完全问题 307
14.3注记 310
习题十四 311
参考文献 312