本書是密碼學(xué)領(lǐng)域的經(jīng)典著作,被世界上的多所大學(xué)用做指定教科書。本書在第二版的基礎(chǔ)上增加了7章內(nèi)容,不僅包括一些典型的密碼算法,而且還包括一些典型的密碼協(xié)議和密碼應(yīng)用。全書共分14章,從古典密碼學(xué)開始,繼而介紹了Shannon信息論在密碼學(xué)中的應(yīng)用,然后進(jìn)入現(xiàn)代密碼學(xué)部分,先后介紹了分組密碼的一般原理、數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)和高級加密標(biāo)準(zhǔn)(AES)、Hash函數(shù)和MAC算法、公鑰密碼算法和數(shù)字簽名、偽隨機(jī)數(shù)生成器、身份識別方案、密鑰分配和密鑰協(xié)商協(xié)議、秘密共享方案,同時也關(guān)注了密碼應(yīng)用與實踐方面的一些進(jìn)展,包括公開密鑰基礎(chǔ)設(shè)施、組播安全和版權(quán)保護(hù)等。在內(nèi)容的選擇上,全書既突出了廣泛性,又注重對要點的深入探討。書中每一章后都附有大量的習(xí)題,這既利于讀者對書中內(nèi)容的總結(jié)和應(yīng)用,又是對興趣、思維和智力的挑戰(zhàn)。
馮登國
本書譯者馮登國博士:中國科學(xué)院軟件所研究員、博士生導(dǎo)師,信息安全國家重點實驗室主任,國家計算機(jī)網(wǎng)絡(luò)入侵防范中心主任,國家信息化專家咨詢委員會委員。目前主要從事信息與網(wǎng)絡(luò)安全方面的研究與開發(fā)工作。
目 錄
第1章 古典密碼學(xué)1
1.1 幾個簡單的密碼體制1
1.1.1 移位密碼2
1.1.2 代換密碼5
1.1.3 仿射密碼6
1.1.4 維吉尼亞密碼9
1.1.5 希爾密碼10
1.1.6 置換密碼14
1.1.7 流密碼16
1.2 密碼分析19
1.2.1 仿射密碼的密碼分析21
1.2.2 代換密碼的密碼分析22
1.2.3 維吉尼亞密碼的密碼分析24
1.2.4 希爾密碼的密碼分析27
1.2.5 LFSR流密碼的密碼分析28
1.3 注釋與參考文獻(xiàn)29
習(xí)題30
第2章 Shannon理論36
2.1 引言36
2.2 概率論基礎(chǔ)37
2.3 完善保密性38
2.4 熵42
2.4.1 Huffman編碼43
2.5 熵的性質(zhì)46
2.6 偽密鑰和唯一解距離48
2.7 乘積密碼體制52
習(xí)題54
第3章 分組密碼與高級加密標(biāo)準(zhǔn)57
3.1 引言57
3.2 代換-置換網(wǎng)絡(luò)58
3.3 線性密碼分析61
3.3.1 堆積引理61
3.3.2 S盒的線性逼近63
3.3.3 SPN的線性密碼分析66
3.4 差分密碼分析69
3.5 數(shù)據(jù)加密標(biāo)準(zhǔn)74
3.5.1 DES的描述74
3.5.2 DES的分析78
3.6 高級加密標(biāo)準(zhǔn)79
3.6.1 AES的描述80
3.6.2 AES的分析84
3.7 工作模式84
3.8 注釋與參考文獻(xiàn)87
習(xí)題88
第4章 Hash函數(shù)92
4.1 Hash函數(shù)與數(shù)據(jù)完整性92
4.2 Hash函數(shù)的安全性93
4.2.1 隨機(jī)諭示模型94
4.2.2 隨機(jī)諭示模型中的算法95
4.2.3 安全性準(zhǔn)則的比較98
4.3 迭代Hash函數(shù)100
4.3.1 Merkle-Damg?rd 結(jié)構(gòu)101
4.3.2 安全Hash算法106
4.4 消息認(rèn)證碼108
4.4.1 嵌套MAC和HMAC109
4.4.2 CBC-MAC111
4.5 無條件安全消息認(rèn)證碼113
4.5.1 強(qiáng)泛Hash函數(shù)族115
4.5.2 欺騙概率的優(yōu)化117
4.6 注釋與參考文獻(xiàn)119
習(xí)題120
第5章 RSA密碼體制和整數(shù)因子分解126
5.1 公鑰密碼學(xué)簡介126
5.2 更多的數(shù)論知識127
5.2.1 Euclidean算法127
5.2.2 中國剩余定理131
5.2.3 其他有用的事實133
5.3 RSA密碼體制135
5.3.1 實現(xiàn)RSA136
5.4 素性檢測139
5.4.1 Legendre和Jacobi符號140
5.4.2 Solovay-Strassen算法142
5.4.3 Miller-Rabin算法146
5.5 模n的平方根147
5.6 分解因子算法148
5.6.1 Pollard p?1算法148
5.6.2 Pollard ?算法150
5.6.3 Dixon的隨機(jī)平方算法152
5.6.4 實際中的分解因子算法156
5.7 對RSA的其他攻擊157
5.7.1 計算?(n)157
5.7.2 解密指數(shù)158
5.7.3 Wiener的低解密指數(shù)攻擊162
5.8 Rabin密碼體制165
5.8.1 Rabin密碼體制的安全性167
5.9 RSA的語義安全性168
5.9.1 與明文比特相關(guān)的部分信息169
5.9.2 最優(yōu)非對稱加密填充171
5.10 注釋與參考文獻(xiàn)176
習(xí)題177
第6章 公鑰密碼學(xué)和離散對數(shù)184
6.1 ElGamal密碼體制184
6.2 離散對數(shù)問題的算法186
6.2.1 Shanks算法186
6.2.2 Pollard ?離散對數(shù)算法188
6.2.3 Pohlig-Hellman算法190
6.2.4 指數(shù)演算法193
6.3 通用算法的復(fù)雜度下界194
6.4 有限域197
6.5 橢圓曲線201
6.5.1 實數(shù)上的橢圓曲線201
6.5.2 模素數(shù)的橢圓曲線203
6.5.3 橢圓曲線的性質(zhì)206
6.5.4 點壓縮與ECIES206
6.5.5 計算橢圓曲線上的乘積208
6.6 實際中的離散對數(shù)算法210
6.7 ElGamal體制的安全性211
6.7.1 離散對數(shù)的比特安全性211
6.7.2 ElGamal體制的語義安全性214
6.7.3 Diffie-Hellman問題215
6.8 注釋與參考文獻(xiàn)216
習(xí)題217
第7章 簽名方案222
7.1 引言222
7.2 簽名方案的安全性需求224
7.2.1 簽名和Hash函數(shù)225
7.3 ElGamal簽名方案226
7.3.1 ElGamal簽名方案的安全性228
7.4 ElGamal簽名方案的變形230
7.4.1 Schnorr簽名方案230
7.4.2 數(shù)字簽名算法(DSA)232
7.4.3 橢圓曲線DSA234
7.5 可證明安全的簽名方案235
7.5.1 一次簽名235
7.5.2 全域Hash238
7.6 不可否認(rèn)的簽名241
7.7 fail-stop簽名245
7.8 注釋與參考文獻(xiàn)248
習(xí)題249
第8章 偽隨機(jī)數(shù)的生成252
8.1 引言與示例252
8.2 概率分布的不可區(qū)分性255
8.2.1 下一比特預(yù)測器257
8.3 Blum-Blum-Shub生成器262
8.3.1 BBS生成器的安全性264
8.4 概率加密268
8.5 注釋與參考文獻(xiàn)272
習(xí)題272
第9章 身份識別方案與實體認(rèn)證275
9.1 引言275
9.2 對稱密鑰環(huán)境下的挑戰(zhàn)-響應(yīng)方案277
9.2.1 攻擊模型和敵手目標(biāo)281
9.2.2 交互認(rèn)證282
9.3 公鑰環(huán)境下的挑戰(zhàn)-響應(yīng)方案284
9.3.1 證書285
9.3.2 公鑰身份識別方案285
9.4 Schnorr身份識別方案287
9.4.1 Schnorr身份識別方案的安全性290
9.5 Okamoto身份識別方案293
9.6 Guillou-Quisquater身份識別方案296
9.6.1 基于身份的身份識別方案298
9.7 注釋與參考文獻(xiàn)299
習(xí)題299
第10章 密鑰分配303
10.1 引言303
10.2 Diffie-Hellman密鑰預(yù)分配306
10.3 無條件安全的密鑰預(yù)分配307
10.3.1 Blom密鑰預(yù)分配方案307
10.4 密鑰分配模式313
10.4.1 Fiat-Naor密鑰分配模式315
10.4.2 Mitchell-Piper密鑰分配模式316
10.5 會話密鑰分配方案319
10.5.1 Needham-Schroeder方案320
10.5.2 針對NS方案的Denning-Sacco攻擊321
10.5.3 Kerberos321
10.5.4 Bellare-Rogaway方案324
10.6 注釋與參考文獻(xiàn)326
習(xí)題327
第11章 密鑰協(xié)商方案330
11.1 引言330
11.2 Diffie-Hellman密鑰協(xié)商330
11.2.1 端-端密鑰協(xié)商方案332
11.2.2 STS的安全性332
11.2.3 已知會話密鑰攻擊335
11.3 MTI 密鑰協(xié)商方案336
11.3.1 關(guān)于MTI/A0的已知會話密鑰攻擊339
11.4 使用自認(rèn)證密鑰的密鑰協(xié)商341
11.5 加密密鑰交換344
11.6 會議密鑰協(xié)商方案346
11.7 注釋與參考文獻(xiàn)348
習(xí)題349
第12章 公開密鑰基礎(chǔ)設(shè)施351
12.1 引言:PKI簡介351
12.1.1 一個實際協(xié)議:安全套接層SSL353
12.2 證書354
12.2.1 證書生命周期管理355
12.3 信任模型356
12.3.1 嚴(yán)格層次模型356
12.3.2 網(wǎng)絡(luò)化PKI模型357
12.3.3 Web瀏覽器模型359
12.3.4 Pretty Good Privacy(PGP)359
12.4 PKI的未來361
12.4.1 PKI的替代方案361
12.5 基于身份的密碼體制362
12.5.1 基于身份的Cock加密方案363
12.6 注釋與參考文獻(xiàn)367
習(xí)題368
第13章 秘密共享方案370
13.1 引言:Shamir門限方案370
13.1.1 簡化的(t, t)門限方案373
13.2 訪問結(jié)構(gòu)和一般的秘密共享374
13.2.1 單調(diào)電路構(gòu)造375
13.2.2 正式定義379
13.3 信息率和高效方案的構(gòu)造382
13.3.1 向量空間構(gòu)造383
13.3.2 信息率上界389
13.3.3 分解構(gòu)造392
13.4 注釋與參考文獻(xiàn)395
習(xí)題396
第14章 組播安全和版權(quán)保護(hù)398
14.1 組播安全簡介398
14.2 廣播加密398
14.2.1 利用Ramp方案的一種改進(jìn)406
14.3 組播密鑰重建409
14.3.1 “黑名單”方案410
14.3.2 Naor-Pinkas 密鑰重建方案412
14.3.3 邏輯密鑰層次體系方案414
14.4 版權(quán)保護(hù)416
14.4.1 指紋技術(shù)416
14.4.2 可識別父碼的性質(zhì)418
14.4.3 2-IPP碼419
14.5 追蹤非法分發(fā)的密鑰422
14.6 注釋與參考文獻(xiàn)426
習(xí)題426
進(jìn)一步閱讀430
參考文獻(xiàn)433