本書主要介紹密碼學(xué)領(lǐng)域的基本概念、理論和應(yīng)用,全書分為四部分,共計(jì)14章。第一部分是基礎(chǔ)背景知識(shí),介紹密碼學(xué)的應(yīng)用場(chǎng)景、數(shù)學(xué)基礎(chǔ),以及密碼學(xué)理論與實(shí)踐的區(qū)別。第二部分講述對(duì)稱密碼學(xué),介紹古典密碼學(xué)、流密碼和分組密碼。第三部分講述非對(duì)稱密碼學(xué),以RSA、ElGamal、ECC和格密碼為代表的非對(duì)稱密碼也稱公鑰密碼,是現(xiàn)代密碼學(xué)的重要分支。第四部分講述數(shù)據(jù)完整性,現(xiàn)代密碼學(xué)也非常注重?cái)?shù)據(jù)完整性,介紹哈希函數(shù)、消息驗(yàn)證碼及數(shù)字簽名技術(shù)。
第 一部分 基礎(chǔ)背景知識(shí)
第 1 章 密碼學(xué)簡(jiǎn)介 2
1.1 密碼學(xué)簡(jiǎn)史 2
1.1.1 古代密碼學(xué)發(fā)展 2
1.1.2 近代密碼學(xué)發(fā)展 5
1.1.3 現(xiàn)代密碼學(xué)發(fā)展 9
1.2 密碼學(xué)概念 10
1.2.1 密碼學(xué)的基本要素 10
1.2.2 密碼學(xué)的基本原則 10
1.2.3 密碼分析方式 13
1.2.4 對(duì)稱/非對(duì)稱加密 15
1.3 編碼 16
1.3.1 ASCII 編碼 16
1.3.2 異或運(yùn)算 18
第 2 章 數(shù)學(xué)基礎(chǔ) 19
2.1 集合 19
2.2 除法定理 21
2.3 歐幾里得算法 22
2.4 模運(yùn)算 25
2.4.1 模運(yùn)算定義 25
2.4.2 身份證校驗(yàn)碼 27
2.5 歐拉函數(shù) 29
2.6 默比烏斯函數(shù) 31
2.7 模的冪運(yùn)算 33
2.7.1 歐拉定理 33
2.7.2 快速模冪運(yùn)算 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 多項(xiàng)式運(yùn)算 49
2.12 GF(2n) 52
2.13 本章習(xí)題 54
第 3 章 密碼學(xué)中的信息理論 57
3.1 熵 57
3.1.1 熵的定義 57
3.1.2 一些重要不等式 64
3.1.3 英語(yǔ)的熵 66
3.1.4 中文的熵 68
3.1.5 摩斯電碼 69
3.2 霍夫曼編碼 70
3.3 一次一密/Vernam 密碼 75
3.3.1 加密步驟 76
3.3.2 重復(fù)使用密鑰的后果 77
3.4 完善保密性 77
3.4.1 理論安全性 77
3.4.2 唯一解距離 79
3.4.3 實(shí)際保密性 81
3.5 多項(xiàng)式時(shí)間 81
3.6 本章習(xí)題 85
第二部分 對(duì)稱密碼學(xué)
第 4 章 古典密碼學(xué) 88
4.1 凱撒密碼/移位密碼 88
4.2 反切碼 92
4.3 維吉尼亞密碼 93
4.4 仿射密碼 103
4.5 希爾密碼 106
4.6 默克爾-赫爾曼背包密碼 112
4.7 其他密碼 119
4.8 本章習(xí)題 135
第 5 章 流密碼 138
5.1 RC4 138
5.2 祖沖之密碼 143
5.3 無(wú)線通信應(yīng)用 148
5.4 本章習(xí)題 150
第 6 章 分組密碼 151
6.1 分組密碼模式 152
6.2 費(fèi)斯妥密碼結(jié)構(gòu) 157
6.3 DES 159
6.4 AES 172
6.5 SM4 191
6.6 本章習(xí)題 198
第三部分 非對(duì)稱密碼學(xué)
第 7 章 RSA 加密算法 202
7.1 RSA 簡(jiǎn)介 202
7.2 為何使用素?cái)?shù) 204
7.3 RSA 加密和解密 208
7.4 密碼分析 212
7.5 素?cái)?shù)檢驗(yàn) 219
7.6 本章習(xí)題 234
第 8 章 ElGamal 加密算法 236
8.1 迪菲-赫爾曼密鑰交換 236
8.2 離散對(duì)數(shù)問(wèn)題 240
8.3 ElGamal 密碼 247
8.4 密碼分析 249
8.5 本章習(xí)題 261
第 9 章 橢圓曲線密碼 264
9.1 橢圓曲線 264
9.2 橢圓曲線 ElGamal 279
9.3 SM2 284
9.4 標(biāo)量乘法的快速算法 288
9.5 密碼分析 294
9.6 本章習(xí)題 300
第 10 章 格密碼 303
10.1 格 303
10.2 格距離問(wèn)題 307
10.3 格基規(guī)約算法 314
10.4 GGH 公鑰密碼系統(tǒng) 322
10.5 NTRU 328
10.6 本章習(xí)題 338
第 11 章 全同態(tài)加密 341
11.1 容錯(cuò)學(xué)習(xí)問(wèn)題 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 本章習(xí)題 367
第四部分 數(shù)據(jù)完整性
第 12 章 哈希函數(shù) 370
12.1 什么是哈希函數(shù) 370
12.2 哈希函數(shù)的實(shí)例 372
12.3 哈希函數(shù)的安全性 387
12.4 本章習(xí)題 392
第 13 章 消息驗(yàn)證碼 393
13.1 MAC 393
13.2 MAC 安全性分析 395
13.3 HMAC 397
13.4 CBC-MAC 399
13.5 隨機(jī)數(shù)的產(chǎn)生 402
13.6 本章習(xí)題 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 本章習(xí)題 435
參考文獻(xiàn) 437