第1章引言1
1.1信息安全面臨的威脅1
1.1.1安全威脅1
1.1.2入侵者和病毒2
1.1.3安全業(yè)務(wù)3
1.2信息安全模型4
1.3密碼學(xué)基本概念5
1.3.1保密通信系統(tǒng)5
1.3.2密碼體制分類7
1.3.3密碼攻擊概述7
1.4幾種古典密碼8
1.4.1單表代換密碼9
1.4.2多表代換密碼10
習(xí)題11
第2章流密碼13
2.1流密碼的基本概念13
2.1.1同步流密碼13
2.1.2有限狀態(tài)自動機14
2.1.3密鑰流生成器15
2.2線性反饋移位寄存器16
2.3線性移位寄存器的一元多項式表示18
2.4m序列的偽隨機性21
2.5m序列密碼的破譯23
2.6非線性序列26
2.6.1Geffe序列生成器26
2.6.2JK觸發(fā)器27
2.6.3Pless生成器28現(xiàn)代密碼學(xué)(第5版)目錄2.6.4鐘控序列生成器28
習(xí)題30
第3章分組密碼體制32
3.1分組密碼概述32
3.1.1代換33
3.1.2擴散和混淆34
3.1.3Feistel密碼結(jié)構(gòu)35
3.2數(shù)據(jù)加密標準38
3.2.1DES描述38
3.2.2二重DES43
3.2.3兩個密鑰的三重DES44
3.2.43個密鑰的三重DES44
3.3差分密碼分析與線性密碼分析45
3.3.1差分密碼分析45
3.3.2線性密碼分析46
3.4分組密碼的運行模式47
3.4.1電碼本模式47
3.4.2密碼分組鏈接模式48
3.4.3密碼反饋模式49
3.4.4輸出反饋模式51
3.5IDEA52
3.5.1設(shè)計原理52
3.5.2加密過程54
3.6AES 算法Rijndael58
3.6.1Rijndael的數(shù)學(xué)基礎(chǔ)和設(shè)計思想58
3.6.2算法說明61
3.7中國商用密碼算法SM469
3.8祖沖之密碼73
3.8.1算法中的符號及含義73
3.8.2祖沖之密碼的算法結(jié)構(gòu)74
3.8.3祖沖之密碼的運行79
3.8.4基于祖沖之密碼的機密性算法 128EEA379
習(xí)題81第4章公鑰密碼83
4.1密碼學(xué)中一些常用的數(shù)學(xué)知識83
4.1.1群、環(huán)、域83
4.1.2素數(shù)和互素數(shù)85
4.1.3模運算86
4.1.4模指數(shù)運算88
4.1.5費爾馬定理、歐拉定理、卡米歇爾定理89
4.1.6素性檢驗92
4.1.7歐幾里得算法95
4.1.8中國剩余定理98
4.1.9離散對數(shù)101
4.1.10平方剩余102
4.1.11循環(huán)群106
4.1.12循環(huán)群的選取106
4.1.13雙線性映射107
4.1.14計算復(fù)雜性108
4.2公鑰密碼體制的基本概念109
4.2.1公鑰密碼體制的原理110
4.2.2公鑰密碼算法應(yīng)滿足的要求111
4.2.3對公鑰密碼體制的攻擊112
4.3RSA算法113
4.3.1算法描述113
4.3.2RSA算法中的計算問題115
4.3.3一種改進的RSA實現(xiàn)方法116
4.3.4RSA的安全性116
4.3.5對RSA的攻擊118
4.4背包密碼體制119
4.5Rabin密碼體制121
4.6NTRU公鑰密碼系統(tǒng)123
4.7橢圓曲線密碼體制124
4.7.1橢圓曲線124
4.7.2有限域上的橢圓曲線125
4.7.3橢圓曲線上的點數(shù)127
4.7.4明文消息到橢圓曲線上的嵌入127
4.7.5橢圓曲線上的密碼128
4.8SM2橢圓曲線公鑰密碼加密算法130
習(xí)題133
第5章密鑰分配與密鑰管理135
5.1單鑰加密體制的密鑰分配135
5.1.1密鑰分配的基本方法135
5.1.2一個實例135
5.1.3密鑰的分層控制137
5.1.4會話密鑰的有效期137
5.1.5無中心的密鑰分配137
5.1.6密鑰的控制使用138
5.2公鑰加密體制的密鑰管理139
5.2.1公鑰的分配139
5.2.2用公鑰加密分配單鑰密碼體制的密鑰141
5.2.3DiffieHellman密鑰交換143
5.3隨機數(shù)的產(chǎn)生144
5.3.1隨機數(shù)的使用144
5.3.2隨機數(shù)源145
5.3.3偽隨機數(shù)產(chǎn)生器145
5.3.4基于密碼算法的隨機數(shù)產(chǎn)生器147
5.3.5隨機比特產(chǎn)生器149
5.4秘密分割150
5.4.1秘密分割門限方案150
5.4.2Shamir門限方案151
5.4.3基于中國剩余定理的門限方案152
習(xí)題154
第6章消息認證和哈希函數(shù)156
6.1消息認證碼156
6.1.1消息認證碼的定義及使用方式156
6.1.2產(chǎn)生MAC的函數(shù)應(yīng)滿足的要求157
6.1.3數(shù)據(jù)認證算法158
6.1.4基于祖沖之密碼的完整性算法128EIA3159
6.2哈希函數(shù)161
6.2.1哈希函數(shù)的定義及使用方式161
6.2.2哈希函數(shù)應(yīng)滿足的條件162
6.2.3生日攻擊164
6.2.4迭代型哈希函數(shù)的一般結(jié)構(gòu)165
6.3MD5哈希算法166
6.3.1算法描述166
6.3.2MD5的壓縮函數(shù)169
6.3.3MD5的安全性170
6.4安全哈希算法171
6.4.1算法描述171
6.4.2SHA的壓縮函數(shù)172
6.4.3SHA與MD5的比較174
6.4.4對SHA的攻擊現(xiàn)狀174
6.5HMAC175
6.5.1HMAC的設(shè)計目標175
6.5.2算法描述175
6.5.3HMAC的安全性177
6.6SM3哈希算法178
6.6.1SM3哈希算法的描述178
6.6.2SM3哈希算法的安全性179
習(xí)題181
第7章數(shù)字簽名和認證協(xié)議182
7.1數(shù)字簽名的基本概念182
7.1.1數(shù)字簽名應(yīng)滿足的要求182
7.1.2數(shù)字簽名的產(chǎn)生方式183
7.1.3數(shù)字簽名的執(zhí)行方式184
7.2數(shù)字簽名標準186
7.2.1DSS的基本方式186
7.2.2數(shù)字簽名算法DSA187
7.3其他簽名方案188
7.3.1基于離散對數(shù)問題的數(shù)字簽名體制188
7.3.2基于大數(shù)分解問題的數(shù)字簽名體制192
7.3.3基于身份的數(shù)字簽名體制193
7.4SM2橢圓曲線公鑰密碼簽名算法194
7.5認證協(xié)議196
7.5.1相互認證196
7.5.2單向認證200
習(xí)題201
第8章密碼協(xié)議202
8.1一些基本協(xié)議202
8.1.1智力撲克202
8.1.2擲硬幣協(xié)議203
8.1.3數(shù)字承諾協(xié)議204
8.1.4不經(jīng)意傳輸協(xié)議205
8.2零知識證明208
8.2.1交互式證明系統(tǒng)208
8.2.2交互式證明系統(tǒng)的定義209
8.2.3交互式證明系統(tǒng)的零知識性209
8.2.4零知識證明協(xié)議的組合212
8.2.5圖的三色問題的零知識證明213
8.2.6知識證明214
8.2.7簡化的FiatShamir身份識別方案217
8.2.8FiatShamir身份識別方案218
8.3非交互式證明系統(tǒng)219
8.3.1非適應(yīng)性安全的非交互式零知識證明219
8.3.2適應(yīng)性安全的非交互式零知識證明220
8.3.3BGN密碼系統(tǒng)221
8.3.4BGN密碼系統(tǒng)的非交互式零知識證明222
8.4zkSNARK224
8.4.1高級語言轉(zhuǎn)化為電路舉例224
8.4.2算術(shù)電路224
8.4.3QAP225
8.4.4從QAP到zkSNARK228
8.5安全多方計算協(xié)議231
8.5.1安全多方計算問題231
8.5.2半誠實敵手模型231
8.5.3惡意敵手模型235
習(xí)題238
第9章可證明安全240
9.1語義安全的公鑰密碼體制的定義240
9.1.1選擇明文攻擊下的不可區(qū)分性240
9.1.2公鑰加密方案在選擇密文攻擊下的不可區(qū)分性244
9.1.3公鑰加密方案在適應(yīng)性選擇密文攻擊下的不可區(qū)分性246
9.1.4歸約247
9.2語義安全的RSA加密方案248
9.2.1RSA問題和RSA假設(shè)248
9.2.2選擇明文安全的RSA加密248
9.2.3選擇密文安全的RSA加密251
9.3Paillier公鑰密碼系統(tǒng)254
9.3.1合數(shù)冪剩余類的判定254
9.3.2合數(shù)冪剩余類的計算255
9.3.3基于合數(shù)冪剩余類問題的概率加密方案257
9.3.4基于合數(shù)冪剩余類問題的單向陷門置換258
9.3.5Paillier密碼系統(tǒng)的性質(zhì)259
9.4CramerShoup密碼系統(tǒng)260
9.4.1CramerShoup密碼系統(tǒng)的基本機制260
9.4.2CramerShoup密碼系統(tǒng)的安全性證明261
9.5RSAFDH簽名方案263
9.5.1RSA簽名方案263
9.5.2RSAFDH簽名方案的描述264
9.5.3RSAFDH簽名方案的改進266
9.6BLS短簽名方案268
9.6.1BLS短簽名方案所基于的安全性假設(shè)268
9.6.2BLS短簽名方案描述268
9.6.3BLS短簽名方案的改進一270
9.6.4BLS短簽名方案的改進二270
9.7基于身份的密碼體制271
9.7.1基于身份的密碼體制定義和安全模型271
9.7.2隨機諭言機模型下的基于身份的密碼體制274
9.8分叉引理284
習(xí)題286
第10章網(wǎng)絡(luò)加密與認證288
10.1網(wǎng)絡(luò)通信加密288
10.1.1開放系統(tǒng)互連和TCP/IP分層模型288
10.1.2網(wǎng)絡(luò)加密方式289
10.2Kerberos認證系統(tǒng)292
10.2.1Kerberos V4292
10.2.2Kerberos區(qū)域與多區(qū)域的Kerberos295
10.3X.509認證業(yè)務(wù)296
10.3.1證書296
10.3.2認證過程299
10.4PGP300
10.4.1運行方式300
10.4.2密鑰和密鑰環(huán)304
10.4.3公鑰管理309
習(xí)題312
第11章區(qū)塊鏈313
11.1區(qū)塊鏈的基本概念、構(gòu)造及實現(xiàn)313
11.1.1區(qū)塊鏈要解決的問題313
11.1.2區(qū)塊鏈的建立過程317
11.1.3區(qū)塊鏈的實現(xiàn)319
11.2zerocoin320
11.2.1zerocoin使用的密碼工具321
11.2.2zerocoin的構(gòu)造322
11.3zerocash323
11.3.1基本版的zerocash323
11.3.2增強版zerocash324
習(xí)題325
參考文獻326