第1章引言1
1.1信息安全面臨的威脅1
1.1.1安全威脅1
1.1.2入侵者和病毒2
1.1.3安全業(yè)務3
1.2信息安全模型4
1.3密碼學基本概念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
習題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)代密碼學(第5版)目錄2.6.4鐘控序列生成器28
習題30
第3章分組密碼體制32
3.1分組密碼概述32
3.1.1代換33
3.1.2擴散和混淆34
3.1.3Feistel密碼結構35
3.2數據加密標準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設計原理52
3.5.2加密過程54
3.6AES 算法Rijndael58
3.6.1Rijndael的數學基礎和設計思想58
3.6.2算法說明61
3.7中國商用密碼算法SM469
3.8祖沖之密碼73
3.8.1算法中的符號及含義73
3.8.2祖沖之密碼的算法結構74
3.8.3祖沖之密碼的運行79
3.8.4基于祖沖之密碼的機密性算法 128EEA379
習題81第4章公鑰密碼83
4.1密碼學中一些常用的數學知識83
4.1.1群、環(huán)、域83
4.1.2素數和互素數85
4.1.3模運算86
4.1.4模指數運算88
4.1.5費爾馬定理、歐拉定理、卡米歇爾定理89
4.1.6素性檢驗92
4.1.7歐幾里得算法95
4.1.8中國剩余定理98
4.1.9離散對數101
4.1.10平方剩余102
4.1.11循環(huán)群106
4.1.12循環(huán)群的選取106
4.1.13雙線性映射107
4.1.14計算復雜性108
4.2公鑰密碼體制的基本概念109
4.2.1公鑰密碼體制的原理110
4.2.2公鑰密碼算法應滿足的要求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橢圓曲線上的點數127
4.7.4明文消息到橢圓曲線上的嵌入127
4.7.5橢圓曲線上的密碼128
4.8SM2橢圓曲線公鑰密碼加密算法130
習題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隨機數的產生144
5.3.1隨機數的使用144
5.3.2隨機數源145
5.3.3偽隨機數產生器145
5.3.4基于密碼算法的隨機數產生器147
5.3.5隨機比特產生器149
5.4秘密分割150
5.4.1秘密分割門限方案150
5.4.2Shamir門限方案151
5.4.3基于中國剩余定理的門限方案152
習題154
第6章消息認證和哈希函數156
6.1消息認證碼156
6.1.1消息認證碼的定義及使用方式156
6.1.2產生MAC的函數應滿足的要求157
6.1.3數據認證算法158
6.1.4基于祖沖之密碼的完整性算法128EIA3159
6.2哈希函數161
6.2.1哈希函數的定義及使用方式161
6.2.2哈希函數應滿足的條件162
6.2.3生日攻擊164
6.2.4迭代型哈希函數的一般結構165
6.3MD5哈希算法166
6.3.1算法描述166
6.3.2MD5的壓縮函數169
6.3.3MD5的安全性170
6.4安全哈希算法171
6.4.1算法描述171
6.4.2SHA的壓縮函數172
6.4.3SHA與MD5的比較174
6.4.4對SHA的攻擊現(xiàn)狀174
6.5HMAC175
6.5.1HMAC的設計目標175
6.5.2算法描述175
6.5.3HMAC的安全性177
6.6SM3哈希算法178
6.6.1SM3哈希算法的描述178
6.6.2SM3哈希算法的安全性179
習題181
第7章數字簽名和認證協(xié)議182
7.1數字簽名的基本概念182
7.1.1數字簽名應滿足的要求182
7.1.2數字簽名的產生方式183
7.1.3數字簽名的執(zhí)行方式184
7.2數字簽名標準186
7.2.1DSS的基本方式186
7.2.2數字簽名算法DSA187
7.3其他簽名方案188
7.3.1基于離散對數問題的數字簽名體制188
7.3.2基于大數分解問題的數字簽名體制192
7.3.3基于身份的數字簽名體制193
7.4SM2橢圓曲線公鑰密碼簽名算法194
7.5認證協(xié)議196
7.5.1相互認證196
7.5.2單向認證200
習題201
第8章密碼協(xié)議202
8.1一些基本協(xié)議202
8.1.1智力撲克202
8.1.2擲硬幣協(xié)議203
8.1.3數字承諾協(xié)議204
8.1.4不經意傳輸協(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非適應性安全的非交互式零知識證明219
8.3.2適應性安全的非交互式零知識證明220
8.3.3BGN密碼系統(tǒng)221
8.3.4BGN密碼系統(tǒng)的非交互式零知識證明222
8.4zkSNARK224
8.4.1高級語言轉化為電路舉例224
8.4.2算術電路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
習題238
第9章可證明安全240
9.1語義安全的公鑰密碼體制的定義240
9.1.1選擇明文攻擊下的不可區(qū)分性240
9.1.2公鑰加密方案在選擇密文攻擊下的不可區(qū)分性244
9.1.3公鑰加密方案在適應性選擇密文攻擊下的不可區(qū)分性246
9.1.4歸約247
9.2語義安全的RSA加密方案248
9.2.1RSA問題和RSA假設248
9.2.2選擇明文安全的RSA加密248
9.2.3選擇密文安全的RSA加密251
9.3Paillier公鑰密碼系統(tǒng)254
9.3.1合數冪剩余類的判定254
9.3.2合數冪剩余類的計算255
9.3.3基于合數冪剩余類問題的概率加密方案257
9.3.4基于合數冪剩余類問題的單向陷門置換258
9.3.5Paillier密碼系統(tǒng)的性質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短簽名方案所基于的安全性假設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
習題286
第10章網絡加密與認證288
10.1網絡通信加密288
10.1.1開放系統(tǒng)互連和TCP/IP分層模型288
10.1.2網絡加密方式289
10.2Kerberos認證系統(tǒng)292
10.2.1Kerberos V4292
10.2.2Kerberos區(qū)域與多區(qū)域的Kerberos295
10.3X.509認證業(yè)務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
習題312
第11章區(qū)塊鏈313
11.1區(qū)塊鏈的基本概念、構造及實現(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的構造322
11.3zerocash323
11.3.1基本版的zerocash323
11.3.2增強版zerocash324
習題325
參考文獻326