密碼學(xué)——密碼算法與協(xié)議(第3版)
定 價:69 元
- 作者:鄭東 等
- 出版時間:2022/6/1
- ISBN:9787121434174
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TN918.1
- 頁碼:304
- 紙張:
- 版次:01
- 開本:16開
本書共10章,主要介紹密碼學(xué)的基本原理與設(shè)計方法,其中包括對稱密碼算法與非對稱密碼算法、數(shù)字簽名算法及哈希函數(shù)的設(shè)計原理、密鑰管理體制的設(shè)計方法,以及主流密碼庫的使用說明等。本次修訂的內(nèi)容體現(xiàn)在第2章至第10章,特別新增了中國流密碼、國產(chǎn)分組密碼、認(rèn)證加密、基于屬性的加密、國產(chǎn)公鑰加密、國產(chǎn)哈希算法、基于屬性的數(shù)字簽名、國產(chǎn)數(shù)字簽名、后量子簽名、國產(chǎn)密鑰交換協(xié)議、聚合簽名、旁路攻擊和掩碼防護技術(shù),以及全同態(tài)運算密碼庫和雙線性對運算密碼庫等內(nèi)容。本書涵蓋了傳統(tǒng)密碼體制、基于屬性的密碼體制、后量子密碼、抗泄露對稱密碼、主要的國產(chǎn)密碼算法和主流密碼庫,體現(xiàn)了經(jīng)典與前沿?zé)狳c相融合、理論與應(yīng)用相結(jié)合的特色。本書可作為高等院校計算機、信息安全和網(wǎng)絡(luò)空間安全等專業(yè)本科生的教材,也可作為電子信息與通信和信息管理等專業(yè)研究生的選讀教材,還可供信息安全、計算機及通信等領(lǐng)域的工程技術(shù)人員和管理人員參考。
鄭東,教授,西安郵電大學(xué)網(wǎng)絡(luò)安全學(xué)院副院長(主持工作)。任中國密碼學(xué)會理事、中國密碼學(xué)會教育與科普委員會副主任委員、陜西省百人計劃特聘專家。主持國家級項目多項。
第1章 密碼學(xué)引論 1
1.1 密碼學(xué)在信息安全中的作用 2
1.1.1 信息安全面臨的威脅 2
1.1.2 信息安全需要的基本安全服務(wù) 3
1.2 密碼學(xué)導(dǎo)引 3
1.2.1 密碼學(xué)歷史 3
1.2.2 密碼學(xué)基本概念 4
1.2.3 密碼體制的分類 4
1.3 信息論基本概念 5
1.4 計算復(fù)雜性 7
本章小結(jié) 8
參考文獻 8
問題討論 9
第2章 流密碼 10
2.1 概述 11
2.2 流密碼的結(jié)構(gòu) 12
2.2.1 同步流密碼 12
2.2.2 自同步流密碼 13
2.3 反饋移位寄存器與線性反饋移位寄存器 13
2.3.1 反饋移位寄存器 13
2.3.2 線性反饋移位寄存器 14
2.3.3 LFSR示例 15
2.3.4 m序列與最長移位寄存器 17
2.3.5 m序列的破譯 18
2.3.6 最新研究方向 19
2.4 偽隨機序列的性質(zhì) 20
2.4.1 隨機序列 20
2.4.2 Golomb隨機性公設(shè) 21
2.4.3 m序列的偽隨機性 21
2.4.4 線性復(fù)雜度 22
2.5 基于LFSR的偽隨機序列生成器 23
2.5.1 濾波生成器 23
2.5.2 組合生成器 23
2.5.3 鐘控生成器 24
2.6 其他構(gòu)造方法 24
2.6.1 勒讓德序列 25
2.6.2 橢圓曲線序列 25
2.7 實用流密碼 26
2.7.1 A5算法 27
2.7.2 RC4算法 29
2.7.3 中國流密碼 31
2.7.4 歐洲序列密碼計劃(eStream) 34
本章小結(jié) 36
參考文獻 36
問題討論 37
第3章 分組密碼 38
3.1 分組密碼概述 39
3.2 分組密碼的研究現(xiàn)狀 39
3.3 分組密碼的設(shè)計原理 40
3.3.1 乘積組合 40
3.3.2 擴散 40
3.3.3 混淆 40
3.4 數(shù)據(jù)加密標(biāo)準(zhǔn)DES 41
3.4.1 DES簡介 41
3.4.2 DES加密算法 41
3.4.3 初始置換IP和逆序置換 43
3.4.4 輪函數(shù) 43
3.4.5 擴展E變換 44
3.4.6 S盒 44
3.4.7 P盒 46
3.4.8 子密鑰的產(chǎn)生 47
3.4.9 DES解密算法 48
3.4.10 DES的弱密鑰 49
3.4.11 DES示例 49
3.4.12 三重DES的變形 50
3.5 國際數(shù)據(jù)加密算法 51
3.5.1 IDEA算法的特點 51
3.5.2 基本運算單元 52
3.5.3 IDEA的速度 53
3.5.4 IDEA加密過程 53
3.5.5 IDEA的每一輪迭代 54
3.5.6 輸出變換 55
3.5.7 子密鑰的生成 56
3.5.8 IDEA解密過程 56
3.6 AES算法Rijindael 56
3.6.1 算法結(jié)構(gòu) 57
3.6.2 Rijindael加密過程 58
3.6.3 輪函數(shù) 59
3.6.4 字節(jié)替換 59
3.6.5 行移位 60
3.6.6 列混合 61
3.6.7 輪密鑰加 62
3.6.8 子密鑰的產(chǎn)生 62
3.6.9 Rijindael解密過程 63
3.6.10 小結(jié) 64
3.7 SM4算法 64
3.8 分組密碼工作模式 67
3.8.1 電子密碼本模式 67
3.8.2 密文塊鏈接模式 67
3.8.3 密文反饋模式 68
3.8.4 輸出反饋模式 69
3.8.5 AES CTR 70
3.8.6 AES GCM 71
3.8.7 XTS-AES 72
3.9 認(rèn)證加密 73
3.9.1 概述 73
3.9.2 HMAC 74
3.9.3 OCB認(rèn)證加密模式 75
3.9.4 Ascon 77
3.9.5 帶相關(guān)數(shù)據(jù)的認(rèn)證加密之由來 80
3.10 差分密碼分析 81
3.11 線性分析 83
本章小結(jié) 88
參考文獻 88
問題討論 89
第4章 公鑰密碼 90
4.1 普通公鑰加密 91
4.1.1 公鑰密碼概念的提出 91
4.1.2 基于大整數(shù)分解問題的公鑰密碼體制—RSA公鑰密碼體制 93
4.1.3 基于二次剩余問題的公鑰密碼體制 94
4.1.4 基于離散對數(shù)問題的公鑰密碼體制 94
4.1.5 基于背包問題的公鑰密碼體制 95
4.1.6 橢圓曲線公鑰密碼體制 96
4.2 基于身份的加密 98
4.2.1 雙線性Diffie-Hellman假設(shè) 98
4.2.2 Boneh和Franklin的IDB密碼體制 98
4.3 基于屬性的加密 99
4.3.1 樹形訪問結(jié)構(gòu) 99
4.3.2 密文策略的屬性基加密方案的定義 100
4.3.3 密文策略的屬性基加密方案的安全模型 100
4.3.4 密文策略的屬性基加密方案的設(shè)計 101
4.4 后量子公鑰加密 102
4.4.1 NTRU公鑰密碼體制 102
4.4.2 基于編碼的公鑰密碼體制 103
4.4.3 基于解碼問題的公鑰密碼—McEliece公鑰密碼 104
4.4.4 多變量公鑰密碼體制 105
4.4.5 基于格的公鑰密碼體制 107
4.5 SM2公鑰加密 109
4.5.1 SM2公鑰加密算法 109
4.5.2 相關(guān)符號 109
4.5.3 加密算法及流程 110
4.5.4 解密算法及流程 111
4.6 SM9公鑰加密 112
4.6.1 SM9公鑰加密算法 112
4.6.2 相關(guān)符號 112
4.6.3 加密算法及流程 113
4.6.4 解密算法及流程 113
本章小結(jié) 115
參考文獻 116
問題討論 116
第5章 認(rèn)證和哈希函數(shù) 117
5.1 消息認(rèn)證 118
5.2 消息認(rèn)證方法 118
5.2.1 消息加密 118
5.2.2 消息認(rèn)證碼 119
5.2.3 哈希函數(shù) 120
5.3 MD5 122
5.3.1 MD5的整體描述 122
5.3.2 單個512比特的HMD5處理過程 123
5.4 SHA-1 127
5.4.1 SHA-1的整體描述 127
5.4.2 單個512比特的HSHA處理過程 128
5.5 MD5與SHA-1的比較 131
5.6 對哈希函數(shù)的攻擊現(xiàn)狀 131
5.6.1 直接攻擊 131
5.6.2 生日攻擊 131
5.6.3 差分攻擊 132
5.7 SHA-256算法 134
5.7.1 SHA-256算法描述 135
5.7.2 SHA-256算法在區(qū)塊鏈中的應(yīng)用 137
5.8 SHA-3(Keccak算法) 137
5.9 SM3算法 141
5.9.1 常量和函數(shù) 141
5.9.2 SM3算法描述 142
本章小結(jié) 143
參考文獻 143
問題討論 144
第6章 數(shù)字簽名 145
6.1 數(shù)字簽名體制 146
6.2 RSA數(shù)字簽名體制 146
6.3 Rabin簽名體制 147
6.4 基于離散對數(shù)問題的簽名體制 147
6.4.1 ElGamal簽名體制 147
6.4.2 Schnorr簽名體制 148
6.4.3 數(shù)字簽名標(biāo)準(zhǔn) 149
6.5 基于解碼問題的數(shù)字簽名 149
6.6 基于橢圓曲線的數(shù)字簽名體制 150
6.7 基于身份的數(shù)字簽名體制 150
6.7.1 基于身份的數(shù)字簽名體制的定義 151
6.7.2 基于身份的數(shù)字簽名體制的安全性需求 152
6.7.3 使用雙線性對技術(shù)的IBS 152
6.7.4 不使用雙線性對技術(shù)的IBS 153
6.8 基于屬性的數(shù)字簽名算法 154
6.8.1 基于屬性的數(shù)字簽名體制的定義 154
6.8.2 基于屬性的數(shù)字簽名體制的安全性需求 155
6.8.3 使用雙線性對技術(shù)的ABS 156
6.9 后量子簽名算法 156
6.9.1 基于格的后量子簽名算法 157
6.9.2 基于哈希函數(shù)的后量子簽名算法 160
6.9.3 基于安全多方計算的后量子簽名算法 162
6.10 SM2數(shù)字簽名算法 163
6.10.1 相關(guān)符號 164
6.10.2 數(shù)字簽名的生成算法及流程 164
6.10.3 數(shù)字簽名的驗證算法及流程 165
6.11 SM9數(shù)字簽名算法 166
6.11.1 相關(guān)符號 167
6.11.2 數(shù)字簽名的生成算法及流程 168
6.11.3 數(shù)字簽名的驗證算法及流程 168
本章小結(jié) 169
參考文獻 170
問題討論 171
第7章 密鑰管理 172
7.1 概述 173
7.2 基本概念 173
7.2.1 密鑰分類 173
7.2.2 密鑰生命周期 174
7.2.3 密鑰產(chǎn)生 175
7.2.4 密鑰生命期 175
7.2.5 密鑰建立 175
7.2.6 密鑰的層次結(jié)構(gòu) 176
7.2.7 密鑰管理生命周期 176
7.3 密鑰建立模型 178
7.3.1 點對點的密鑰建立模型 178
7.3.2 同一信任域中的密鑰建立模型 178
7.3.3 多個信任域中的密鑰建立模型 179
7.4 公鑰傳輸機制 181
7.4.1 鑒別樹 181
7.4.2 公鑰證書 183
7.4.3 基于身份的系統(tǒng) 183
7.5 密鑰傳輸機制 184
7.5.1 使用對稱密碼技術(shù)的密鑰傳輸機制 185
7.5.2 使用對稱密碼技術(shù)和可信第三方的密鑰傳輸機制 186
7.5.3 使用公鑰密碼技術(shù)的點到點的密鑰傳輸機制 186
7.5.4 同時使用公鑰密碼技術(shù)和對稱密碼技術(shù)的密鑰傳輸機制 187
7.6 密鑰導(dǎo)出機制 188
7.6.1 基本密鑰導(dǎo)出機制 188
7.6.2 密鑰計算函數(shù) 188
7.6.3 可鑒別的密鑰導(dǎo)出機制 189
7.6.4 線性密鑰導(dǎo)出機制 189
7.6.5 樹狀密鑰導(dǎo)出機制 190
7.7 密鑰協(xié)商機制 191
7.7.1 Diffie-Hellman密鑰協(xié)商機制 192
7.7.2 端到端的協(xié)議 193
7.7.3 使用對稱密碼技術(shù)的密鑰協(xié)商機制 193
7.8 基于SM2的密鑰交換協(xié)議 194
7.9 基于SM9的密鑰交換協(xié)議 196
7.10 密鑰的托管/恢復(fù) 198
7.11 現(xiàn)實中的密鑰管理方案 199
7.12 硬件輔助的密鑰管理 200
本章小結(jié) 201
參考文獻 201
問題討論 201
第8章 高級簽名 202
8.1 數(shù)字簽名概述 203
8.2 盲簽名 204
8.2.1 盲簽名的基本概念 204
8.2.2 盲簽名的安全性需求 204
8.2.3 盲簽名的基本設(shè)計思路 204
8.2.4 基于RSA問題的盲簽名 205
8.2.5 基于離散對數(shù)問題的盲簽名 206
8.2.6 部分盲簽名 207
8.3 群簽名 208
8.3.1 群簽名的基本概念 209
8.3.2 群簽名的安全性需求 209
8.3.3 一個簡單的群簽名體制 210
8.3.4 另一個簡單的群簽名體制 210
8.3.5 短的群簽名體制 211
8.3.6 成員撤銷 213
8.4 環(huán)簽名 214
8.4.1 環(huán)簽名的基本概念 215
8.4.2 環(huán)簽名的安全性需求 215
8.4.3 不具有可鏈接性的環(huán)簽名 216
8.4.4 具有可鏈接性的環(huán)簽名 217
8.5 民主群簽名 218
8.5.1 民主群簽名的定義 218
8.5.2 民主群簽名的安全性需求 220
8.5.3 Manulis民主群簽名 220
8.6 具有門限追蹤性的民主群簽名 222
8.6.1 群體初始化 223
8.6.2 密鑰生成 223
8.6.3 簽名生成 223
8.6.4 簽名驗證 224
8.6.5 簽名人追蹤 225
8.7 多重簽名 225
8.7.1 流氓密鑰攻擊 226
8.7.2 安全模型 226
8.7.3 多重簽名的不可偽造性 227
8.7.4 一種多簽名體制 228
8.7.5 具有更緊歸約的多重簽名體制 230
8.8 聚合簽名 231
8.8.1 聚合簽名的定義 231
8.8.2 復(fù)雜度假設(shè) 231
8.8.3 具有指定驗證者的聚合簽名方案 232
8.8.4 具有常數(shù)個雙線性對運算的聚合簽名方案 233
8.8.5 基于身份的聚合簽名方案 233
8.9 數(shù)字簽密 234
8.9.1 研究現(xiàn)狀 234
8.9.2 SC-KEM與SC-tKEM 235
8.9.3 SC-KEM與SC-tKEM的保密性模型 235
8.9.4 新的SC-KEM與SC-tKEM保密性模型 237
8.9.5 SC-KEM與SC-tKEM的不可偽造性模型 239
8.9.6 具體方案設(shè)計 240
本章小結(jié) 242
參考文獻 242
問題討論 245
第9章 抗泄露對稱密碼 246
9.1 概述 247
9.2 抗泄露密碼的基本概念、定義與引理 248
9.2.1 最小熵、Metric熵、HILL熵與不可預(yù)測熵 248
9.2.2 最小熵的鏈?zhǔn)揭?guī)則與密集模型定理 249
9.2.3 隨機數(shù)提取器、通用哈希函數(shù)族及剩余哈希引理 250
9.3 抗泄露流密碼算法的設(shè)計 251
9.3.1 FOCS 2008/Eurocrypt 2009抗泄露流密碼 252
9.3.2 CCS 2010/CHES 2012/CT-RSA 2013抗泄露流密碼 255
9.4 旁路攻擊 257
9.4.1 簡單功耗分析 257
9.4.2 差分功耗分析 259
9.5 掩碼防護技術(shù) 260
9.5.1 基本定義 261
9.5.2 掩碼方案 262
9.6 抗泄露密碼的未來發(fā)展趨勢 263
本章小結(jié) 264
參考文獻 264
問題討論 266
第10章 OpenSSL與其他相關(guān)密碼庫 267
10.1 OpenSSL背景 268
10.1.1 SSL/TLS協(xié)議背景 268
10.1.2 OpenSSL開源項目 268
10.2 OpenSSL在Linux平臺上的快速安裝 269
10.3 OpenSSL密碼算法庫 270
10.3.1 對稱加密算法 270
10.3.2 非對稱加密算法 270
10.3.3 摘要算法 271
10.3.4 密鑰分發(fā)和有關(guān)PKI的編碼算法 271
10.3.5 其他自定義功能 271
10.4 SSL/TLS協(xié)議庫 272
10.5 OpenSSL中的應(yīng)用程序 278
10.5.1 指令 278
10.5.2 基于指令的應(yīng)用 280
10.5.3 基于函數(shù)的應(yīng)用 280
10.6 NTL 280
10.7 GmSSL 281
10.8 全同態(tài)運算密碼庫 282
10.8.1 SEAL密碼庫簡介 282
10.8.2 BFV方案的使用 283
10.8.3 CKKS方案的使用 286
10.9 雙線性對運算密碼庫 289
10.9.1 JPBC庫簡介 289
10.9.2 BLS簽名算法使用示例 290
本章小結(jié) 292
問題討論 292