第1篇 基础知识 3
第1章 信息安全概论 3
1.1 信息安全是信息时代永恒的需求 3
1.2 网络空间安全学科的内涵 8
1.3 网络空间安全学科的主要研究方向和研究内容 11
1.4 网络空间安全学科的理论基础 12
1.5 网络空间安全学科的方法论基础 15
1.6 密码是网络空间安全的关键技术 16
习题 21
第2章 密码学的基本概念 23
2.1 密码学的基本概念 23
2.1.1 密码体制 24
2.1.2 密码分析 27
2.1.3 密码学的理论基础 29
2.2 古典密码 31
2.2.1 置换密码 32
2.2.2 代替密码 33
2.2.3 代数密码 39
2.3 古典密码的统计分析 41
2.3.1 语言的统计特性 41
2.3.2 古典密码分析 43
2.4 SuperBase密码的破译 45
习题 48
第2篇 对称密码 51
第3章 分组密码 51
3.1 数据加密标准(DES) 51
3.1.1 DES的加密过程 51
3.1.2 DES的算法细节 53
3.1.3 DES的解密过程 58
3.1.4 DES的可逆性和对合性 59
3.1.5 DES的安全性 60
3.1.6 3DES 62
3.1.7 DES的历史回顾 62
3.1.8 示例 64
3.2 IDEA密码 75
3.2.1 IDEA密码算法 75
3.2.2 IDEA算法的对合性 79
3.2.3 IDEA的安全性 81
3.2.4 示例 81
3.3 高级数据加密标准(AES) 82
3.3.1 数学基础 83
3.3.2 RIJNDAEL加密算法 84
3.3.3 RIJNDAEL解密算法 89
3.3.4 算法的实现 91
3.3.5 RIJNDAEL的安全性 95
3.3.6 示例 97
3.4 中国商用密码算法SM4 101
3.4.1 SM4算法描述 101
3.4.2 SM4的可逆性和对合性 106
3.4.3 SM4的实现 108
3.4.4 SM4的安全性 111
3.4.5 示例 111
3.5 KASUMI密码 112
3.5.1 KASUMI密码算法 113
3.5.2 KASUMI密码的应用 121
3.6 分组密码的应用技术 124
3.6.1 分组密码的工作模式 124
3.6.2 分组密码的短块加密 129
习题 131
第4章 分组密码分析 133
4.1 密码分析的概念 133
4.2 差分分析 134
4.2.1 差分密码分析的基本原理 134
4.2.2 DES的差分密码分析 135
4.3 侧信道分析 142
4.3.1 功耗分析 143
4.3.2 时间分析 145
4.3.3 故障分析 147
习题 148
第5章 序列密码 149
5.1 序列密码的概念 149
5.2 随机序列的安全性 150
5.3 线性移位寄存器序列 153
5.4 非线性序列 156
5.5 祖冲之密码 160
5.5.1 祖冲之密码的算法结构 160
5.5.2 基于祖冲之密码的机密性算法128-EEA3 166
5.5.3 基于祖冲之密码的完整性算法128-EIA3 168
5.5.4 示例 171
5.6 RC4序列密码 174
习题 176
第6章 Hash函数 177
6.1 Hash函数的概念 177
6.2 Hash函数的安全性 178
6.3 Hash函数的一般结构 180
6.3.1 Hash函数的一般结构 181
6.3.2 Hash函数的类型 181
6.4 中国商用密码:SM3密码杂凑算法 182
6.4.1 SM3密码杂凑算法 182
6.4.2 SM3示例 185
6.5 美国NIST的Hash函数标准算法 191
6.5.1 SHA系列Hash函数 191
6.5.2 SHA-3 192
习题 204
第3篇 公开密钥密码 209
第7章 公开密钥密码 209
7.1 公开密钥密码的基本概念 209
7.1.1 公开密钥密码的基本思想 209
7.1.2 公开密钥密码的基本工作方式 210
7.2 RSA密码 212
7.2.1 RSA加解密算法 212
7.2.2 RSA密码的安全性 214
7.2.3 RSA的应用 216
7.2.4 示例 217
7.3 ELGamal密码 218
7.3.1 离散对数问题 218
7.3.2 ELGamal密码 219
7.3.3 实现技术 220
7.3.4 ELGamal密码的应用 223
7.4 椭圆曲线密码 224
7.4.1 椭圆曲线 224
7.4.2 椭圆曲线密码 234
7.4.3 中国商用密码:SM2椭圆曲线公钥密码加密算法 239
7.4.4 示例 243
习题 245
第8章 数字签名 247
8.1 数字签名的概念 248
8.2 利用公开密钥密码实现数字签名 251
8.2.1 利用RSA密码实现数字签名 251
8.2.2 利用ELGamal密码实现数字签名 252
8.2.3 利用椭圆曲线密码实现数字签名 255
8.3 中国商用密码:SM2椭圆曲线公钥密码数字签名算法 256
8.3.1 数字签名的生成算法 257
8.3.2 数字签名的验证算法 257
8.3.3 示例 260
8.4 美国数字签名标准(DSS) 262
8.4.1 算法描述 262
8.4.2 算法证明 263
8.4.3 参数产生 264
8.4.4 示例 267
8.5 俄罗斯数字签名标准(GOST) 268
习题 269
第4篇 密码应用 273
第9章 密码协议 273
9.1 密码协议的基本概念 273
9.2 密码协议的设计与分析 275
习题 280
第10章 认证 281
10.1 认证的概念 281
10.2 身份认证 282
10.2.1 口令 282
10.2.2 磁卡、智能卡和USB-Key 285
10.2.3 生理特征识别 286
10.2.4 零知识证明 288
10.3 站点认证 291
10.3.1 单向认证 291
10.3.2 双向认证 292
10.4 报文认证 292
10.4.1 报文源的认证 293
10.4.2 报文宿的认证 293
10.4.3 报文内容的认证与消息认证码 295
10.4.4 报文时间性的认证 301
10.5 Kerberos认证系统 303
习题 306
第11章 密钥管理 308
11.1 密钥管理的原则 308
11.2 传统密码体制的密钥管理 309
11.2.1 密钥组织 310
11.2.2 密钥产生 310
11.2.3 密钥分配 317
11.2.4 密钥的存储与备份 323
11.2.5 密钥更新 325
11.2.6 密钥的终止和销毁 325
11.2.7 专用密码装置 326
11.3 公开密钥密码体制的密钥管理 327
11.3.1 公开密钥密码的密钥产生 327
11.3.2 公开密钥的分配 329
11.3.3 X.5 09证书 331
11.3.4 公开密钥基础设施PKI 333
11.3.5 组合公钥CPK 344
习题 350
第12章 密码在可信计算中的应用 351
12.1 可信计算的概念 351
12.2 可信计算的发展历程 352
12.2.1 可信计算的出现 352
12.2.2 可信计算的高潮 353
12.2.3 中国的可信计算事业 354
12.3 可信计算的主要技术路线 356
12.3.1 信任根 356
12.3.2 信任度量模型与信任链 356
12.3.3 可信计算平台 358
12.3.4 可信平台模块TPM 359
12.3.5 可信软件栈TSS 361
12.3.6 可信网络连接TNC 362
12.3.7 远程证明 364
12.4 TCG TPM 1.2中的密码 365
12.4.1 TPM 1.2中的密码配置 365
12.4.2 TPM 1.2中的密钥管理 366
12.4.3 TPM 1.2密码方面的不足 373
12.5 中国的可信平台模块及其密码 374
12.5.1 J2810芯片和嵌入式安全模块(ESM)及其密码 374
12.5.2 J3210芯片及其密码 378
12.6 TCG TPM 2.0中的密码 380
12.7 小结 381
习题 382
参考文献 383