密碼學概論
魏普文,王美琴
相關主題
商品描述
本書是新一代信息技術網絡空間安全高等教育系列教材之一,系統介紹了現代密碼學設計、分析及實現的基本理論與技術,主要內容包括對稱密碼、公鑰密碼與密碼協議三部分。對稱密碼部分涉及對稱加密、雜湊函數、消息認證碼等,公鑰密碼部分涉及公鑰加密、數字簽名等,作為對稱密碼與公鑰密碼的綜合應用,密碼協議部分介紹密鑰建立、零知識證明、電子支付等。本書精選密碼學典型理論技術,註重闡述密碼方案的研究動機與研究思路,探討方案所蘊含的安全性(隱患),強調對稱密碼、公鑰密碼和密碼協議在設計、分析與應用上的內在關聯,引導讀者抽絲剝繭,把握各類技術發展的繼承關系,理解密碼學理論體系。同時,密碼實現技術相關章節介紹經典的密碼快速實現技術,幫助讀者初步掌握密碼應用方法。通過掃描二維碼,即可訪問配套電子課件和關鍵知識點的教學視頻,方便廣大教師和同學們參考。
目錄大綱
目錄
叢書序
序一
序二
前言
第1章 密碼學概述 1
1.1 密碼學發展史 1
1.1.1 第一階段:古代到 1949年 1
1.1.2 第二階段:1949年~1975年 3
1.1.3 第三階段:1976年至今 3
1.2 現代密碼學基本概念與觀點 4
1.2.1 基本概念 4
1.2.2 安全性與攻擊 5
1.3 練習題 10
參考文獻 11
第2章 古典密碼 12
2.1 凱撒密碼 12
2.1.1 凱撒密碼方案描述 12
2.1.2 移位密碼與單表代換 15
2.1.3 安全性分析 15
2.2 維吉尼亞密碼.16
2.2.1 維吉尼亞密碼方案描述 16
2.2.2 多表代換 17
2.2.3 安全性分析 18
2.3 希爾密碼 18
2.3.1 希爾密碼方案描述 18
2.3.2 安全性分析 20
2.4 破解維吉尼亞密碼 20
2.4.1 窮舉搜索 20
2.4.2 頻率分析 20
2.4.3 維吉尼亞密碼破解方法 22
2.4.4 破解維吉尼亞密碼的啟示 28
2.5 推薦閱讀 29
2.6 練習題 29
參考文獻 31
第3章 密碼學信息理論基礎32
3.1 香農保密系統的數學模型 32
3.2 熵 35
3.2.1 熵的定義 36
3.2.2 熵的基本性質 36
3.3 完美保密性 39
3.3.1 完美保密性的定義 40
3.3.2 一次一密 41
3.4 練習題 43
參考文獻 43
第4章 分組密碼 44
4.1 分組密碼概述 44
4.1.1 對稱加密 44
4.1.2 分組密碼 45
4.2 安全要求與設計原理 46
4.2.1 理想分組密碼 46
4.2.2 分組密碼的設計原則 47
4.2.3 分組密碼的典型結構 48
4.3 數據加密標準 DES 52
4.3.1 加密算法 52
4.3.2 輪密鑰生成方案 57
4.3.3 解密算法 58
4.3.4 DES 的安全強度 59
4.4 分組密碼的安全性分析.61
4.4.1 基本概念 61
4.4.2 強力攻擊 62
4.4.3 專用分析技術 67
4.5 高級加密標準 AES 78
4.5.1 加密算法 78
4.5.2 輪密鑰生成方案 84
4.5.3 解密算法 86
4.5.4 AES的安全強度 88
4.6 國密標準 SM4 88
4.6.1 加密算法 88
4.6.2 輪密鑰生成方案 90
4.6.3 解密算法 91
4.6.4 SM4 的安全強度 91
4.7 其他分組密碼算法 92
4.7.1 二重與三重加密 92
4.7.2 IDEA 分組密碼算法 94
4.8 輕量級分組密碼 95
4.8.1 輕量級密碼的應用場景 96
4.8.2 輕量級分組密碼的性能指標 96
4.8.3 輕量級分組密碼算法實現性能優勢的常見策略 97
4.8.4 輕量級分組密碼算法的分類 98
4.9 分組密碼的工作模式 100
4.9.1 電碼本模式 100
4.9.2 密文分組鏈接模式 102
4.9.3 密文反饋模式 104
4.9.4 輸出反饋模式 106
4.9.5 計數器模式 107
4.10 對稱密碼的軟件實現 108
4.10.1 基於查找表的方法 109
4.10.2 比特切片的方法 111
4.11 練習題 115
參考文獻 118
第5章 流密碼 124
5.1 流密碼概述 124
5.2 安全要求與設計原理125
5.2.1 流密碼的典型結構 125
5.2.2 密鑰流生成器 127
5.3 RC4流密碼 132
5.3.1 初始化階段 132
5.3.2 密鑰流生成階段 133
5.4 流密碼標準Trivium 133
5.5 國密標準ZUC 135
5.5.1 初始化階段 136
5.5.2 密鑰流生成階段 139
5.6 練習題 140
參考文獻 141
第6章 密碼雜湊函數 143
6.1 雜湊函數概述 143
6.1.1 雜湊函數的應用 144
6.1.2 雜湊函數的安全屬性 145
6.2 雜湊函數的設計 148
6.2.1 迭代結構的設計 149
6.2.2 壓縮函數的設計 153
6.3 雜湊函數的安全性分析 155
6.3.1 強力攻擊 156
6.3.2 專用分析技術 159
6.4 雜湊函數標準 SHA-2 160
6.4.1 預處理階段 161
6.4.2 雜湊值計算階段 162
6.5 國密標準SM3 164
6.5.1 預處理階段 164
6.5.2 雜湊值計算階段 165
6.5.3 密碼雜湊算法SM3的特點 168
6.6 雜湊函數標準SHA-3 168
6.6.1 填充規則pad 168
6.6.2 置換函數f 169
6.7 練習題 173
參考文獻 174
第7章 消息認證碼.177
7.1 消息認證碼概述 177
7.1.1 消息認證 177
7.1.2 消息認證碼 179
7.2 安全要求與設計原理 180
7.2.1 消息認證碼的安全要求 180
7.2.2 安全性的形式化定義 182
7.2.3 消息認證碼的通用攻擊 182
7.2.4 消息認證碼的設計 184
7.3 基於雜湊函數的消息認證碼 184
7.3.1 密鑰前綴的MAC 184
7.3.2 消息認證碼標準 HMAC 185
7.4 基於分組密碼的消息認證碼 188
7.4.1 數據認證算法DAA 188
7.4.2 消息認證碼標準 CMAC 189
7.5 認證加密 191
7.5.1 認證加密的通用構造 191
7.5.2 認證加密標準CCM 193
7.5.3 認證加密標準GCM 195
7.5.4 輕量級認證加密 198
7.6 練習題 202
參考文獻 202
第8章 密碼學的復雜性理論基礎 205
8.1 計算模型及問題復雜性 205
8.1.1 計算模型 205
8.1.2 問題復雜性分類 210
8.2 量子計算模型 213
8.2.1 量子計算 214
8.2.2 量子電路 215
8.3 密碼學復雜性理論假設 218
8.3.1 單向函數 218
8.3.2 偽隨機數生成器 219
8.3.3 偽隨機函數 225
8.3.4 相關結論 228
8.4 練習題 228
參考文獻 229
第9章 公鑰加密 231
9.1 公鑰密碼概述 231
9.2 安全要求與設計原理 233
9.3 RSA加密 235
9.3.1 RSA數學基礎 235
9.3.2 RSA加密方案 239
9.3.3 相關計算問題 242
9.4 RSA 加密的安全性(1) 245
9.4.1 因子分解與 RSA 問題 245
9.4.2 典型攻擊與防範方法 247
9.4.3 RSA安全的參數設置 251
9.5 RSA加密的安全性(2) 251
9.5.1 φ(n)與因子分解 251
9.5.2 解密指數d與因子分解 252
9.5.3 RSA比特安全性 256
9.6 素性檢測與因子分解 260
9.6.1 素性檢測 260
9.6.2 因子分解 264
9.7 ElGamal加密 268
9.7.1 ElGamal加密數學基礎 268
9.7.2 ElGamal加密方案 269
9.7.3 相關計算問題 272
9.8 ElGamal加密安全性證明 272
9.9 密鑰封裝機制/數據封裝機制 275
9.9.1 混合加密 275
9.9.2 KEM/DEM 275
9.10 橢圓曲線密碼學 277
9.10.1 基本概念 278
9.10.2 標量乘 281
9.10.3 橢圓曲線ElGamal加密方案 282
9.11 國密標準SM2加密 283
9.12 求解離散對數問題 286
9.12.1 Shanks算法 286
9.12.2 Pohlig-Hellman算法 287
9.12.3 Pollardρ算法 289
9.12.4 指數演算算法 290
9.12.5 離散對數的比特安全性 292
9.13 後量子公鑰加密 294
9.13.1 後量子密碼概述 294
9.13.2 Kyber加密 298
9.14 公鑰密碼的軟件實現——大數運算 302
9.14.1 大數加法 302
9.14.2 大數乘法 302
9.14.3 大數模乘 304
9.14.4 大數模冪 308
9.15 練習題 309
參考文獻 311
第10章 數字簽名 314
10.1 數字簽名概述 314
10.2 安全要求與設計原理 316
10.3 RSA數字簽名 317
10.4 ElGamal數字簽名 320
10.5 Schnorr數字簽名 322
10.6 DSA數字簽名 324
10.7 國密標準SM2數字簽名 326
10.8 後量子數字簽名 327
10.8.1 後量子數字簽名概述 327
10.8.2 Dilithium數字簽名 329
10.9 練習題 333
參考文獻 335
第11章 其他公鑰密碼體制 337
11.1 基於身份的密碼 337
11.1.1 雙線性群和相關困難假設 337
11.1.2 基於身份的加密 338
11.1.3 基於身份的簽名 340
11.1.4 基於身份的非交互密鑰交換 342
11.2 同態密碼 344
11.2.1 同態加密基本概念 345
11.2.2 ElGamal同態加密方案 347
11.2.3 CKKS同態加密方案 348
11.3 門限密碼 349
11.3.1 門限簽名基本概念 350
11.3.2 秘密分享 351
11.3.3 可驗證秘密分享 353
11.3.4 分佈式密鑰生成 355
11.3.5 FROST門限簽名方案 356
11.4 簽密 359
11.4.1 簽密基本概念 360
11.4.2 Zheng簽密方案 361
11.5 練習題 361
參考文獻 363
第12章 密鑰建立協議 365
12.1 密鑰建立概述 365
12.2 安全要求 366
12.3 密鑰傳輸 367
12.3.1 基於對稱密碼的密鑰傳輸 367
12.3.2 基於公鑰密碼的密鑰傳輸 376
12.4 密鑰協商 377
12.4.1 Diffie-Hellman密鑰協商協議 377
12.4.2 認證密鑰協商協議 379
12.4.3 口令認證密鑰協商協議 381
12.5 公鑰分發 383
12.5.1 PKI 383
12.5.2 基於證書的公鑰分發 385
12.6 傳輸層安全協議標準TLS 1.3 386
12.7 量子密鑰分發 389
12.7.1 量子密鑰分發基礎知識 390
12.7.2 BB84協議 391
12.8 練習題 395
參考文獻 397
第13章 零知識證明 398
13.1 交互式證明系統 398
13.2 零知識證明系統 399
13.3 對所有NP語言的零知識證明系統 402
13.4 Σ協議 405
13.4.1 知識的證明 405
13.4.2 Σ協議的定義 405
13.4.3 Σ協議示例 406
13.4.4 Fiat-Shamir範式 409
13.5 練習題 410
參考文獻 411
第14章 電子支付與數字貨幣 412
14.1 電子支付與數字貨幣概述 412
14.2 安全要求與設計原理.413
14.3 SET協議 414
14.4 eCash協議 420
14.4.1 盲簽名 421
14.4.2 eCash協議的構造 422
14.5 比特幣與區塊鏈 424
14.5.1 比特幣 425
14.5.2 基於PoS的區塊鏈共識協議 433
14.6 拜占庭共識協議 436
14.6.1 拜占庭將軍問題 436
14.6.2 拜占庭容錯協議 438
14.6.3 相關工作與進展 440
14.7 練習題 440
參考文獻 441
第15章 數學基礎 443
15.1 初等數論 443
15.1.1 整除理論.443
15.1.2 同餘和模運算 445
15.2 群、環、域 449
15.2.1 群 450
15.2.2 環 453
15.2.3 域 454
15.3 模和線性空間 458
15.4 概率論 461
參考文獻 464
叢書序
序一
序二
前言
第1章 密碼學概述 1
1.1 密碼學發展史 1
1.1.1 第一階段:古代到 1949年 1
1.1.2 第二階段:1949年~1975年 3
1.1.3 第三階段:1976年至今 3
1.2 現代密碼學基本概念與觀點 4
1.2.1 基本概念 4
1.2.2 安全性與攻擊 5
1.3 練習題 10
參考文獻 11
第2章 古典密碼 12
2.1 凱撒密碼 12
2.1.1 凱撒密碼方案描述 12
2.1.2 移位密碼與單表代換 15
2.1.3 安全性分析 15
2.2 維吉尼亞密碼.16
2.2.1 維吉尼亞密碼方案描述 16
2.2.2 多表代換 17
2.2.3 安全性分析 18
2.3 希爾密碼 18
2.3.1 希爾密碼方案描述 18
2.3.2 安全性分析 20
2.4 破解維吉尼亞密碼 20
2.4.1 窮舉搜索 20
2.4.2 頻率分析 20
2.4.3 維吉尼亞密碼破解方法 22
2.4.4 破解維吉尼亞密碼的啟示 28
2.5 推薦閱讀 29
2.6 練習題 29
參考文獻 31
第3章 密碼學信息理論基礎32
3.1 香農保密系統的數學模型 32
3.2 熵 35
3.2.1 熵的定義 36
3.2.2 熵的基本性質 36
3.3 完美保密性 39
3.3.1 完美保密性的定義 40
3.3.2 一次一密 41
3.4 練習題 43
參考文獻 43
第4章 分組密碼 44
4.1 分組密碼概述 44
4.1.1 對稱加密 44
4.1.2 分組密碼 45
4.2 安全要求與設計原理 46
4.2.1 理想分組密碼 46
4.2.2 分組密碼的設計原則 47
4.2.3 分組密碼的典型結構 48
4.3 數據加密標準 DES 52
4.3.1 加密算法 52
4.3.2 輪密鑰生成方案 57
4.3.3 解密算法 58
4.3.4 DES 的安全強度 59
4.4 分組密碼的安全性分析.61
4.4.1 基本概念 61
4.4.2 強力攻擊 62
4.4.3 專用分析技術 67
4.5 高級加密標準 AES 78
4.5.1 加密算法 78
4.5.2 輪密鑰生成方案 84
4.5.3 解密算法 86
4.5.4 AES的安全強度 88
4.6 國密標準 SM4 88
4.6.1 加密算法 88
4.6.2 輪密鑰生成方案 90
4.6.3 解密算法 91
4.6.4 SM4 的安全強度 91
4.7 其他分組密碼算法 92
4.7.1 二重與三重加密 92
4.7.2 IDEA 分組密碼算法 94
4.8 輕量級分組密碼 95
4.8.1 輕量級密碼的應用場景 96
4.8.2 輕量級分組密碼的性能指標 96
4.8.3 輕量級分組密碼算法實現性能優勢的常見策略 97
4.8.4 輕量級分組密碼算法的分類 98
4.9 分組密碼的工作模式 100
4.9.1 電碼本模式 100
4.9.2 密文分組鏈接模式 102
4.9.3 密文反饋模式 104
4.9.4 輸出反饋模式 106
4.9.5 計數器模式 107
4.10 對稱密碼的軟件實現 108
4.10.1 基於查找表的方法 109
4.10.2 比特切片的方法 111
4.11 練習題 115
參考文獻 118
第5章 流密碼 124
5.1 流密碼概述 124
5.2 安全要求與設計原理125
5.2.1 流密碼的典型結構 125
5.2.2 密鑰流生成器 127
5.3 RC4流密碼 132
5.3.1 初始化階段 132
5.3.2 密鑰流生成階段 133
5.4 流密碼標準Trivium 133
5.5 國密標準ZUC 135
5.5.1 初始化階段 136
5.5.2 密鑰流生成階段 139
5.6 練習題 140
參考文獻 141
第6章 密碼雜湊函數 143
6.1 雜湊函數概述 143
6.1.1 雜湊函數的應用 144
6.1.2 雜湊函數的安全屬性 145
6.2 雜湊函數的設計 148
6.2.1 迭代結構的設計 149
6.2.2 壓縮函數的設計 153
6.3 雜湊函數的安全性分析 155
6.3.1 強力攻擊 156
6.3.2 專用分析技術 159
6.4 雜湊函數標準 SHA-2 160
6.4.1 預處理階段 161
6.4.2 雜湊值計算階段 162
6.5 國密標準SM3 164
6.5.1 預處理階段 164
6.5.2 雜湊值計算階段 165
6.5.3 密碼雜湊算法SM3的特點 168
6.6 雜湊函數標準SHA-3 168
6.6.1 填充規則pad 168
6.6.2 置換函數f 169
6.7 練習題 173
參考文獻 174
第7章 消息認證碼.177
7.1 消息認證碼概述 177
7.1.1 消息認證 177
7.1.2 消息認證碼 179
7.2 安全要求與設計原理 180
7.2.1 消息認證碼的安全要求 180
7.2.2 安全性的形式化定義 182
7.2.3 消息認證碼的通用攻擊 182
7.2.4 消息認證碼的設計 184
7.3 基於雜湊函數的消息認證碼 184
7.3.1 密鑰前綴的MAC 184
7.3.2 消息認證碼標準 HMAC 185
7.4 基於分組密碼的消息認證碼 188
7.4.1 數據認證算法DAA 188
7.4.2 消息認證碼標準 CMAC 189
7.5 認證加密 191
7.5.1 認證加密的通用構造 191
7.5.2 認證加密標準CCM 193
7.5.3 認證加密標準GCM 195
7.5.4 輕量級認證加密 198
7.6 練習題 202
參考文獻 202
第8章 密碼學的復雜性理論基礎 205
8.1 計算模型及問題復雜性 205
8.1.1 計算模型 205
8.1.2 問題復雜性分類 210
8.2 量子計算模型 213
8.2.1 量子計算 214
8.2.2 量子電路 215
8.3 密碼學復雜性理論假設 218
8.3.1 單向函數 218
8.3.2 偽隨機數生成器 219
8.3.3 偽隨機函數 225
8.3.4 相關結論 228
8.4 練習題 228
參考文獻 229
第9章 公鑰加密 231
9.1 公鑰密碼概述 231
9.2 安全要求與設計原理 233
9.3 RSA加密 235
9.3.1 RSA數學基礎 235
9.3.2 RSA加密方案 239
9.3.3 相關計算問題 242
9.4 RSA 加密的安全性(1) 245
9.4.1 因子分解與 RSA 問題 245
9.4.2 典型攻擊與防範方法 247
9.4.3 RSA安全的參數設置 251
9.5 RSA加密的安全性(2) 251
9.5.1 φ(n)與因子分解 251
9.5.2 解密指數d與因子分解 252
9.5.3 RSA比特安全性 256
9.6 素性檢測與因子分解 260
9.6.1 素性檢測 260
9.6.2 因子分解 264
9.7 ElGamal加密 268
9.7.1 ElGamal加密數學基礎 268
9.7.2 ElGamal加密方案 269
9.7.3 相關計算問題 272
9.8 ElGamal加密安全性證明 272
9.9 密鑰封裝機制/數據封裝機制 275
9.9.1 混合加密 275
9.9.2 KEM/DEM 275
9.10 橢圓曲線密碼學 277
9.10.1 基本概念 278
9.10.2 標量乘 281
9.10.3 橢圓曲線ElGamal加密方案 282
9.11 國密標準SM2加密 283
9.12 求解離散對數問題 286
9.12.1 Shanks算法 286
9.12.2 Pohlig-Hellman算法 287
9.12.3 Pollardρ算法 289
9.12.4 指數演算算法 290
9.12.5 離散對數的比特安全性 292
9.13 後量子公鑰加密 294
9.13.1 後量子密碼概述 294
9.13.2 Kyber加密 298
9.14 公鑰密碼的軟件實現——大數運算 302
9.14.1 大數加法 302
9.14.2 大數乘法 302
9.14.3 大數模乘 304
9.14.4 大數模冪 308
9.15 練習題 309
參考文獻 311
第10章 數字簽名 314
10.1 數字簽名概述 314
10.2 安全要求與設計原理 316
10.3 RSA數字簽名 317
10.4 ElGamal數字簽名 320
10.5 Schnorr數字簽名 322
10.6 DSA數字簽名 324
10.7 國密標準SM2數字簽名 326
10.8 後量子數字簽名 327
10.8.1 後量子數字簽名概述 327
10.8.2 Dilithium數字簽名 329
10.9 練習題 333
參考文獻 335
第11章 其他公鑰密碼體制 337
11.1 基於身份的密碼 337
11.1.1 雙線性群和相關困難假設 337
11.1.2 基於身份的加密 338
11.1.3 基於身份的簽名 340
11.1.4 基於身份的非交互密鑰交換 342
11.2 同態密碼 344
11.2.1 同態加密基本概念 345
11.2.2 ElGamal同態加密方案 347
11.2.3 CKKS同態加密方案 348
11.3 門限密碼 349
11.3.1 門限簽名基本概念 350
11.3.2 秘密分享 351
11.3.3 可驗證秘密分享 353
11.3.4 分佈式密鑰生成 355
11.3.5 FROST門限簽名方案 356
11.4 簽密 359
11.4.1 簽密基本概念 360
11.4.2 Zheng簽密方案 361
11.5 練習題 361
參考文獻 363
第12章 密鑰建立協議 365
12.1 密鑰建立概述 365
12.2 安全要求 366
12.3 密鑰傳輸 367
12.3.1 基於對稱密碼的密鑰傳輸 367
12.3.2 基於公鑰密碼的密鑰傳輸 376
12.4 密鑰協商 377
12.4.1 Diffie-Hellman密鑰協商協議 377
12.4.2 認證密鑰協商協議 379
12.4.3 口令認證密鑰協商協議 381
12.5 公鑰分發 383
12.5.1 PKI 383
12.5.2 基於證書的公鑰分發 385
12.6 傳輸層安全協議標準TLS 1.3 386
12.7 量子密鑰分發 389
12.7.1 量子密鑰分發基礎知識 390
12.7.2 BB84協議 391
12.8 練習題 395
參考文獻 397
第13章 零知識證明 398
13.1 交互式證明系統 398
13.2 零知識證明系統 399
13.3 對所有NP語言的零知識證明系統 402
13.4 Σ協議 405
13.4.1 知識的證明 405
13.4.2 Σ協議的定義 405
13.4.3 Σ協議示例 406
13.4.4 Fiat-Shamir範式 409
13.5 練習題 410
參考文獻 411
第14章 電子支付與數字貨幣 412
14.1 電子支付與數字貨幣概述 412
14.2 安全要求與設計原理.413
14.3 SET協議 414
14.4 eCash協議 420
14.4.1 盲簽名 421
14.4.2 eCash協議的構造 422
14.5 比特幣與區塊鏈 424
14.5.1 比特幣 425
14.5.2 基於PoS的區塊鏈共識協議 433
14.6 拜占庭共識協議 436
14.6.1 拜占庭將軍問題 436
14.6.2 拜占庭容錯協議 438
14.6.3 相關工作與進展 440
14.7 練習題 440
參考文獻 441
第15章 數學基礎 443
15.1 初等數論 443
15.1.1 整除理論.443
15.1.2 同餘和模運算 445
15.2 群、環、域 449
15.2.1 群 450
15.2.2 環 453
15.2.3 域 454
15.3 模和線性空間 458
15.4 概率論 461
參考文獻 464