本书主要介绍密码学领域的基本概念、理论和应用,全书分为四部分,共计14章。第一部分是基础背景知识,介绍密码学的应用场景、数学基础,以及密码学理论与实践的区别。第二部分讲述对称密码学,介绍古典密码学、流密码和分组密码。第三部分讲述非对称密码学,以RSA、ElGamal、ECC和格密码为代表的非对称密码也称公钥密码,是现代密码学的重要分支。第四部分讲述数据完整性,现代密码学也非常注重数据完整性,介绍哈希函数、消息验证码及数字签名技术。
第 一部分 基础背景知识
第 1 章 密码学简介 2
1.1 密码学简史 2
1.1.1 古代密码学发展 2
1.1.2 近代密码学发展 5
1.1.3 现代密码学发展 9
1.2 密码学概念 10
1.2.1 密码学的基本要素 10
1.2.2 密码学的基本原则 10
1.2.3 密码分析方式 13
1.2.4 对称/非对称加密 15
1.3 编码 16
1.3.1 ASCII 编码 16
1.3.2 异或运算 18
第 2 章 数学基础 19
2.1 集合 19
2.2 除法定理 21
2.3 欧几里得算法 22
2.4 模运算 25
2.4.1 模运算定义 25
2.4.2 身份证校验码 27
2.5 欧拉函数 29
2.6 默比乌斯函数 31
2.7 模的幂运算 33
2.7.1 欧拉定理 33
2.7.2 快速模幂运算 34
2.7.3 方程 xe ≡ c (mod N) 求解 37
2.8 二次剩余 38
2.9 代数基础 42
2.9.1 群 42
2.9.2 环 44
2.9.3 域 44
2.10 有限域 45
2.11 多项式运算 49
2.12 GF(2n) 52
2.13 本章习题 54
第 3 章 密码学中的信息理论 57
3.1 熵 57
3.1.1 熵的定义 57
3.1.2 一些重要不等式 64
3.1.3 英语的熵 66
3.1.4 中文的熵 68
3.1.5 摩斯电码 69
3.2 霍夫曼编码 70
3.3 一次一密/Vernam 密码 75
3.3.1 加密步骤 76
3.3.2 重复使用密钥的后果 77
3.4 完善保密性 77
3.4.1 理论安全性 77
3.4.2 唯一解距离 79
3.4.3 实际保密性 81
3.5 多项式时间 81
3.6 本章习题 85
第二部分 对称密码学
第 4 章 古典密码学 88
4.1 凯撒密码/移位密码 88
4.2 反切码 92
4.3 维吉尼亚密码 93
4.4 仿射密码 103
4.5 希尔密码 106
4.6 默克尔-赫尔曼背包密码 112
4.7 其他密码 119
4.8 本章习题 135
第 5 章 流密码 138
5.1 RC4 138
5.2 祖冲之密码 143
5.3 无线通信应用 148
5.4 本章习题 150
第 6 章 分组密码 151
6.1 分组密码模式 152
6.2 费斯妥密码结构 157
6.3 DES 159
6.4 AES 172
6.5 SM4 191
6.6 本章习题 198
第三部分 非对称密码学
第 7 章 RSA 加密算法 202
7.1 RSA 简介 202
7.2 为何使用素数 204
7.3 RSA 加密和解密 208
7.4 密码分析 212
7.5 素数检验 219
7.6 本章习题 234
第 8 章 ElGamal 加密算法 236
8.1 迪菲-赫尔曼密钥交换 236
8.2 离散对数问题 240
8.3 ElGamal 密码 247
8.4 密码分析 249
8.5 本章习题 261
第 9 章 椭圆曲线密码 264
9.1 椭圆曲线 264
9.2 椭圆曲线 ElGamal 279
9.3 SM2 284
9.4 标量乘法的快速算法 288
9.5 密码分析 294
9.6 本章习题 300
第 10 章 格密码 303
10.1 格 303
10.2 格距离问题 307
10.3 格基规约算法 314
10.4 GGH 公钥密码系统 322
10.5 NTRU 328
10.6 本章习题 338
第 11 章 全同态加密 341
11.1 容错学习问题 341
11.2 同态加密 349
11.3 全同态加密 351
11.4 BGV 全同态加密算法 354
11.5 DGHV 全同态加密算法 361
11.6 其他全同态加密算法 367
11.7 本章习题 367
第四部分 数据完整性
第 12 章 哈希函数 370
12.1 什么是哈希函数 370
12.2 哈希函数的实例 372
12.3 哈希函数的安全性 387
12.4 本章习题 392
第 13 章 消息验证码 393
13.1 MAC 393
13.2 MAC 安全性分析 395
13.3 HMAC 397
13.4 CBC-MAC 399
13.5 随机数的产生 402
13.6 本章习题 411
第 14 章 数字签名技术 413
14.1 数字签名的发展 413
14.2 RSA 数字签名方案 417
14.3 ElGamal 数字签名方案 418
14.4 Schnorr 数字签名方案 420
14.5 DSA 数字签名方案 421
14.6 椭圆曲线数字签名方案 422
14.7 GGH 数字签名方案 425
14.8 数字签名安全分析 427
14.9 证书 431
14.10 本章习题 435
参考文献 437