本書主要介紹密碼學領(lǐng)域的基本概念、理論和應用,全書分為四部分,共計14章。第一部分是基礎(chǔ)背景知識,介紹密碼學的應用場景、數(shù)學基礎(chǔ),以及密碼學理論與實踐的區(qū)別。第二部分講述對稱密碼學,介紹古典密碼學、流密碼和分組密碼。第三部分講述非對稱密碼學,以RSA、ElGamal、ECC和格密碼為代表的非對稱密碼也稱公鑰密碼,是現(xiàn)代密碼學的重要分支。第四部分講述數(shù)據(jù)完整性,現(xiàn)代密碼學也非常注重數(shù)據(jù)完整性,介紹哈希函數(shù)、消息驗證碼及數(shù)字簽名技術(shù)。
第 一部分 基礎(chǔ)背景知識
第 1 章 密碼學簡介 2
1.1 密碼學簡史 2
1.1.1 古代密碼學發(fā)展 2
1.1.2 近代密碼學發(fā)展 5
1.1.3 現(xiàn)代密碼學發(fā)展 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 章 數(shù)學基礎(chǔ) 19
2.1 集合 19
2.2 除法定理 21
2.3 歐幾里得算法 22
2.4 模運算 25
2.4.1 模運算定義 25
2.4.2 身份證校驗碼 27
2.5 歐拉函數(shù) 29
2.6 默比烏斯函數(shù) 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 代數(shù)基礎(chǔ) 42
2.9.1 群 42
2.9.2 環(huán) 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 費斯妥密碼結(jié)構(gòu) 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 為何使用素數(shù) 204
7.3 RSA 加密和解密 208
7.4 密碼分析 212
7.5 素數(shù)檢驗 219
7.6 本章習題 234
第 8 章 ElGamal 加密算法 236
8.1 迪菲-赫爾曼密鑰交換 236
8.2 離散對數(shù)問題 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 格基規(guī)約算法 314
10.4 GGH 公鑰密碼系統(tǒng) 322
10.5 NTRU 328
10.6 本章習題 338
第 11 章 全同態(tài)加密 341
11.1 容錯學習問題 341
11.2 同態(tài)加密 349
11.3 全同態(tài)加密 351
11.4 BGV 全同態(tài)加密算法 354
11.5 DGHV 全同態(tài)加密算法 361
11.6 其他全同態(tài)加密算法 367
11.7 本章習題 367
第四部分 數(shù)據(jù)完整性
第 12 章 哈希函數(shù) 370
12.1 什么是哈希函數(shù) 370
12.2 哈希函數(shù)的實例 372
12.3 哈希函數(shù)的安全性 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 隨機數(shù)的產(chǎn)生 402
13.6 本章習題 411
第 14 章 數(shù)字簽名技術(shù) 413
14.1 數(shù)字簽名的發(fā)展 413
14.2 RSA 數(shù)字簽名方案 417
14.3 ElGamal 數(shù)字簽名方案 418
14.4 Schnorr 數(shù)字簽名方案 420
14.5 DSA 數(shù)字簽名方案 421
14.6 橢圓曲線數(shù)字簽名方案 422
14.7 GGH 數(shù)字簽名方案 425
14.8 數(shù)字簽名安全分析 427
14.9 證書 431
14.10 本章習題 435
參考文獻 437