第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密碼體制分類(lèi)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)自動(dòng)機(jī)14
2.1.3密鑰流生成器15
2.2線性反饋移位寄存器16
2.3線性移位寄存器的一元多項(xiàng)式表示18
2.4m序列的偽隨機(jī)性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擴(kuò)散和混淆34
3.1.3Feistel密碼結(jié)構(gòu)35
3.2數(shù)據(jù)加密標(biāo)準(zhǔn)38
3.2.1DES描述38
3.2.2二重DES43
3.2.3兩個(gè)密鑰的三重DES44
3.2.43個(gè)密鑰的三重DES44
3.3差分密碼分析與線性密碼分析45
3.3.1差分密碼分析45
3.3.2線性密碼分析46
3.4分組密碼的運(yùn)行模式47
3.4.1電碼本模式47
3.4.2密碼分組鏈接模式48
3.4.3密碼反饋模式49
3.4.4輸出反饋模式51
3.5IDEA52
3.5.1設(shè)計(jì)原理52
3.5.2加密過(guò)程54
3.6AES 算法Rijndael58
3.6.1Rijndael的數(shù)學(xué)基礎(chǔ)和設(shè)計(jì)思想58
3.6.2算法說(shuō)明61
3.7中國(guó)商用密碼算法SM469
3.8祖沖之密碼73
3.8.1算法中的符號(hào)及含義73
3.8.2祖沖之密碼的算法結(jié)構(gòu)74
3.8.3祖沖之密碼的運(yùn)行79
3.8.4基于祖沖之密碼的機(jī)密性算法 128EEA379
習(xí)題81第4章公鑰密碼83
4.1密碼學(xué)中一些常用的數(shù)學(xué)知識(shí)83
4.1.1群、環(huán)、域83
4.1.2素?cái)?shù)和互素?cái)?shù)85
4.1.3模運(yùn)算86
4.1.4模指數(shù)運(yùn)算88
4.1.5費(fèi)爾馬定理、歐拉定理、卡米歇爾定理89
4.1.6素性檢驗(yàn)92
4.1.7歐幾里得算法95
4.1.8中國(guó)剩余定理98
4.1.9離散對(duì)數(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計(jì)算復(fù)雜性108
4.2公鑰密碼體制的基本概念109
4.2.1公鑰密碼體制的原理110
4.2.2公鑰密碼算法應(yīng)滿(mǎn)足的要求111
4.2.3對(duì)公鑰密碼體制的攻擊112
4.3RSA算法113
4.3.1算法描述113
4.3.2RSA算法中的計(jì)算問(wèn)題115
4.3.3一種改進(jìn)的RSA實(shí)現(xiàn)方法116
4.3.4RSA的安全性116
4.3.5對(duì)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橢圓曲線上的點(diǎn)數(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一個(gè)實(shí)例135
5.1.3密鑰的分層控制137
5.1.4會(huì)話密鑰的有效期137
5.1.5無(wú)中心的密鑰分配137
5.1.6密鑰的控制使用138
5.2公鑰加密體制的密鑰管理139
5.2.1公鑰的分配139
5.2.2用公鑰加密分配單鑰密碼體制的密鑰141
5.2.3DiffieHellman密鑰交換143
5.3隨機(jī)數(shù)的產(chǎn)生144
5.3.1隨機(jī)數(shù)的使用144
5.3.2隨機(jī)數(shù)源145
5.3.3偽隨機(jī)數(shù)產(chǎn)生器145
5.3.4基于密碼算法的隨機(jī)數(shù)產(chǎn)生器147
5.3.5隨機(jī)比特產(chǎn)生器149
5.4秘密分割150
5.4.1秘密分割門(mén)限方案150
5.4.2Shamir門(mén)限方案151
5.4.3基于中國(guó)剩余定理的門(mén)限方案152
習(xí)題154
第6章消息認(rèn)證和哈希函數(shù)156
6.1消息認(rèn)證碼156
6.1.1消息認(rèn)證碼的定義及使用方式156
6.1.2產(chǎn)生MAC的函數(shù)應(yīng)滿(mǎn)足的要求157
6.1.3數(shù)據(jù)認(rèn)證算法158
6.1.4基于祖沖之密碼的完整性算法128EIA3159
6.2哈希函數(shù)161
6.2.1哈希函數(shù)的定義及使用方式161
6.2.2哈希函數(shù)應(yīng)滿(mǎn)足的條件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對(duì)SHA的攻擊現(xiàn)狀174
6.5HMAC175
6.5.1HMAC的設(shè)計(jì)目標(biāo)175
6.5.2算法描述175
6.5.3HMAC的安全性177
6.6SM3哈希算法178
6.6.1SM3哈希算法的描述178
6.6.2SM3哈希算法的安全性179
習(xí)題181
第7章數(shù)字簽名和認(rèn)證協(xié)議182
7.1數(shù)字簽名的基本概念182
7.1.1數(shù)字簽名應(yīng)滿(mǎn)足的要求182
7.1.2數(shù)字簽名的產(chǎn)生方式183
7.1.3數(shù)字簽名的執(zhí)行方式184
7.2數(shù)字簽名標(biāo)準(zhǔn)186
7.2.1DSS的基本方式186
7.2.2數(shù)字簽名算法DSA187
7.3其他簽名方案188
7.3.1基于離散對(duì)數(shù)問(wèn)題的數(shù)字簽名體制188
7.3.2基于大數(shù)分解問(wèn)題的數(shù)字簽名體制192
7.3.3基于身份的數(shù)字簽名體制193
7.4SM2橢圓曲線公鑰密碼簽名算法194
7.5認(rèn)證協(xié)議196
7.5.1相互認(rèn)證196
7.5.2單向認(rèn)證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零知識(shí)證明208
8.2.1交互式證明系統(tǒng)208
8.2.2交互式證明系統(tǒng)的定義209
8.2.3交互式證明系統(tǒng)的零知識(shí)性209
8.2.4零知識(shí)證明協(xié)議的組合212
8.2.5圖的三色問(wèn)題的零知識(shí)證明213
8.2.6知識(shí)證明214
8.2.7簡(jiǎn)化的FiatShamir身份識(shí)別方案217
8.2.8FiatShamir身份識(shí)別方案218
8.3非交互式證明系統(tǒng)219
8.3.1非適應(yīng)性安全的非交互式零知識(shí)證明219
8.3.2適應(yīng)性安全的非交互式零知識(shí)證明220
8.3.3BGN密碼系統(tǒng)221
8.3.4BGN密碼系統(tǒng)的非交互式零知識(shí)證明222
8.4zkSNARK224
8.4.1高級(jí)語(yǔ)言轉(zhuǎn)化為電路舉例224
8.4.2算術(shù)電路224
8.4.3QAP225
8.4.4從QAP到zkSNARK228
8.5安全多方計(jì)算協(xié)議231
8.5.1安全多方計(jì)算問(wèn)題231
8.5.2半誠(chéng)實(shí)敵手模型231
8.5.3惡意敵手模型235
習(xí)題238
第9章可證明安全240
9.1語(yǔ)義安全的公鑰密碼體制的定義240
9.1.1選擇明文攻擊下的不可區(qū)分性240
9.1.2公鑰加密方案在選擇密文攻擊下的不可區(qū)分性244
9.1.3公鑰加密方案在適應(yīng)性選擇密文攻擊下的不可區(qū)分性246
9.1.4歸約247
9.2語(yǔ)義安全的RSA加密方案248
9.2.1RSA問(wèn)題和RSA假設(shè)248
9.2.2選擇明文安全的RSA加密248
9.2.3選擇密文安全的RSA加密251
9.3Paillier公鑰密碼系統(tǒng)254
9.3.1合數(shù)冪剩余類(lèi)的判定254
9.3.2合數(shù)冪剩余類(lèi)的計(jì)算255
9.3.3基于合數(shù)冪剩余類(lèi)問(wèn)題的概率加密方案257
9.3.4基于合數(shù)冪剩余類(lèi)問(wèn)題的單向陷門(mén)置換258
9.3.5Paillier密碼系統(tǒng)的性質(zhì)259
9.4CramerShoup密碼系統(tǒng)260
9.4.1CramerShoup密碼系統(tǒng)的基本機(jī)制260
9.4.2CramerShoup密碼系統(tǒng)的安全性證明261
9.5RSAFDH簽名方案263
9.5.1RSA簽名方案263
9.5.2RSAFDH簽名方案的描述264
9.5.3RSAFDH簽名方案的改進(jìn)266
9.6BLS短簽名方案268
9.6.1BLS短簽名方案所基于的安全性假設(shè)268
9.6.2BLS短簽名方案描述268
9.6.3BLS短簽名方案的改進(jìn)一270
9.6.4BLS短簽名方案的改進(jìn)二270
9.7基于身份的密碼體制271
9.7.1基于身份的密碼體制定義和安全模型271
9.7.2隨機(jī)諭言機(jī)模型下的基于身份的密碼體制274
9.8分叉引理284
習(xí)題286
第10章網(wǎng)絡(luò)加密與認(rèn)證288
10.1網(wǎng)絡(luò)通信加密288
10.1.1開(kāi)放系統(tǒng)互連和TCP/IP分層模型288
10.1.2網(wǎng)絡(luò)加密方式289
10.2Kerberos認(rèn)證系統(tǒng)292
10.2.1Kerberos V4292
10.2.2Kerberos區(qū)域與多區(qū)域的Kerberos295
10.3X.509認(rèn)證業(yè)務(wù)296
10.3.1證書(shū)296
10.3.2認(rèn)證過(guò)程299
10.4PGP300
10.4.1運(yùn)行方式300
10.4.2密鑰和密鑰環(huán)304
10.4.3公鑰管理309
習(xí)題312
第11章區(qū)塊鏈313
11.1區(qū)塊鏈的基本概念、構(gòu)造及實(shí)現(xiàn)313
11.1.1區(qū)塊鏈要解決的問(wèn)題313
11.1.2區(qū)塊鏈的建立過(guò)程317
11.1.3區(qū)塊鏈的實(shí)現(xiàn)319
11.2zerocoin320
11.2.1zerocoin使用的密碼工具321
11.2.2zerocoin的構(gòu)造322
11.3zerocash323
11.3.1基本版的zerocash323
11.3.2增強(qiáng)版zerocash324
習(xí)題325
參考文獻(xiàn)326