教育部高等學(xué)校網(wǎng)絡(luò)空間安全專業(yè)教學(xué)指導(dǎo)委員會(huì)發(fā)布的第二版信息安全專業(yè)規(guī)范對(duì)研究教學(xué)類大學(xué)和技術(shù)應(yīng)用類大學(xué)的密碼學(xué)課程分別提出了不同的要求。本書覆蓋了信息安全專業(yè)指導(dǎo)性專業(yè)規(guī)范所要求的密碼學(xué)全部九個(gè)知識(shí)模塊,并在此基礎(chǔ)上進(jìn)行了適當(dāng)?shù)臄U(kuò)充。本書具體內(nèi)容包括密碼學(xué)的基本概念、分組密碼、流密碼、公鑰密碼、數(shù)字簽名、雜湊函數(shù)和完整性校驗(yàn)、認(rèn)證、密鑰管理、密碼協(xié)議,重點(diǎn)介紹國(guó)家商用密碼算法和目前國(guó)際上廣泛應(yīng)用的典型密碼算法,并對(duì)一些新的密碼技術(shù)進(jìn)行了簡(jiǎn)要介紹。本書適合用作各類大學(xué)網(wǎng)絡(luò)空間安全、信息安全及相關(guān)專業(yè)本科教材,也可作為計(jì)算機(jī)、通信、電子工程專業(yè)的選修課教材和研究生相關(guān)課程的參考教材,還可作為信息安全相關(guān)領(lǐng)域科技人員從事可信研究和技術(shù)開(kāi)發(fā)的參考書。
陳運(yùn),電子科技大學(xué)信息與通信工程學(xué)院,教授,組織編寫的《信息論與編碼》,先后列選普通高等教育“十一五”“十二五”國(guó)家級(jí)規(guī)劃教材。
第1章 概論 (1)
1.1 密碼學(xué)發(fā)展歷史 (1)
1.2 密碼學(xué)基本知識(shí)體系 (10)
1.3 密碼學(xué)與信息安全 (12)
習(xí)題 (14)
第2章 古典密碼 (15)
2.1 基本定義和概念 (15)
2.2 代替密碼 (16)
2.2.1 單表代替密碼 (16)
2.2.2 單表代替密碼的統(tǒng)計(jì)分析 (24)
2.2.3 多表代替密碼 (26)
2.2.4 多表代替密碼的統(tǒng)計(jì)分析 (30)
2.3 換位密碼 (33)
2.4 密碼分析的唯一解距離 (34)
習(xí)題 (39)
第3章 分組密碼 (41)
3.1 分組密碼的概念、設(shè)計(jì)原則和
應(yīng)用準(zhǔn)則 (41)
3.2 分組密碼的結(jié)構(gòu) (42)
3.2.1 Feistel網(wǎng)絡(luò) (42)
3.2.2 SPN網(wǎng)絡(luò) (44)
3.3 數(shù)據(jù)加密標(biāo)準(zhǔn) (44)
3.3.1 DES概述 (44)
3.3.2 初始置換和末置換 (44)
3.3.3 子密鑰產(chǎn)生 (46)
3.3.4 乘積變換 (50)
3.3.5 DES的加密和解密原理 (53)
3.3.6 DES的安全性 (54)
3.4 SM4分組密碼算法 (55)
3.4.1 SM4算法概述 (56)
3.4.2 初始變量算法 (56)
3.4.3 密鑰擴(kuò)展算法 (59)
3.4.4 SM4算法安全性分析 (61)
3.5 高級(jí)加密標(biāo)準(zhǔn) (61)
3.5.1 AES的產(chǎn)生背景 (61)
3.5.2 AES算法概述 (62)
3.5.3 AES加密和解密輪變換 (63)
3.5.4 密鑰擴(kuò)展 (73)
3.5.5 AES-128加解密范例 (75)
3.6 分組密碼的工作模式 (78)
3.6.1 ECB模式 (78)
3.6.2 CBC模式 (79)
3.6.3 OFB模式 (80)
3.6.4 CFB模式 (82)
3.6.5 CTR模式 (82)
3.7 分組密碼的常用分析方法 (83)
3.7.1 差分分析 (83)
3.7.2 線性分析 (90)
3.7.3 邊信道攻擊 (91)
習(xí)題 (92)
第4章 流密碼 (93)
4.1 流密碼的概念 (93)
4.2 線性反饋移位寄存器 (94)
4.3 偽隨機(jī)序列及密鑰生成 (96)
4.3.1 偽隨機(jī)序列 (96)
4.3.2 基于LFSR的密鑰生成器 (99)
4.4 祖沖之流密碼算法 (101)
4.4.1 祖沖之算法結(jié)構(gòu) (102)
4.4.2 祖沖之算法各層次功能 (102)
4.4.3 祖沖之算法運(yùn)行過(guò)程 (107)
4.4.4 基于祖沖之算法的加密算法 (110)
4.5 RC4算法及其他 (111)
習(xí)題 (113)
第5章 雜湊函數(shù) (114)
5.1 雜湊函數(shù)的概念 (114)
5.1.1 雜湊函數(shù)的基本概念 (114)
5.1.2 雜湊函數(shù)的工作方式 (115)
5.1.3 雜湊函數(shù)的分類 (115)
5.2 SM3密碼雜湊算法 (116)
5.2.1 SM3算法常數(shù)與函數(shù)的定義 (116)
5.2.2 SM3算法描述 (117)
5.3 安全散列算法SHA (123)
5.3.1 SHA-1算法 (124)
5.3.2 SHA-1雜湊實(shí)例 (126)
5.4 利用密碼算法構(gòu)造雜湊函數(shù) (128)
5.4.1 基于分組密碼的雜湊函數(shù) (129)
5.4.2 基于ZUC算法的雜湊函數(shù) (129)
5.5 HMAC算法 (130)
5.5.1 消息認(rèn)證碼 (130)
5.5.2 基于雜湊函數(shù)的消息認(rèn)證碼 (132)
5.5.3 HMAC算法 (133)
習(xí)題 (134)
第6章 公鑰密碼 (135)
6.1 公鑰密碼體制的基本原理 (137)
6.2 RSA公鑰密碼體制 (139)
6.2.1 數(shù)論基本知識(shí) (139)
6.2.2 RSA公鑰密碼體制的加密和
解密 (144)
6.2.3 RSA算法密鑰選擇及設(shè)計(jì)
舉例 (145)
6.2.4 RSA快速算法 (146)
6.2.5 RSA公鑰密碼體制的安全性 (151)
6.3 SM2算法 (153)
6.3.1 橢圓曲線基本概念及運(yùn)算
規(guī)則 (154)
6.3.2 SM2公鑰密碼加解密算法 (157)
6.3.3 推薦參數(shù) (158)
6.4 ElGamal體制 (159)
習(xí)題 (160)
第7章 數(shù)字簽名 (161)
7.1 數(shù)字簽名的概念 (161)
7.2 基于RSA算法的數(shù)字簽名 (163)
7.3 基于SM2算法的數(shù)字簽名 (166)
7.4 基于ElGamal算法的數(shù)字
簽名 (168)
7.5 數(shù)字簽名算法DSA (168)
習(xí)題 (171)
第8章 身份認(rèn)證 (172)
8.1 身份認(rèn)證基礎(chǔ) (172)
8.2 身份認(rèn)證技術(shù) (173)
8.2.1 基于口令的身份認(rèn)證 (173)
8.2.2 基于對(duì)稱密碼的身份認(rèn)證 (174)
8.2.3 基于公鑰密碼的身份認(rèn)證 (176)
8.2.4 基于生物特征識(shí)別的身份
認(rèn)證 (177)
8.3 認(rèn)證協(xié)議 (178)
8.3.1 零知識(shí)證明原理 (178)
8.3.2 Feige-Fiat-Shamir零知識(shí)身份
認(rèn)證協(xié)議 (179)
8.3.3 Kerberos認(rèn)證協(xié)議 (180)
習(xí)題 (181)
第9章 密鑰管理 (182)
9.1 密鑰管理的概念 (182)
9.1.1 密鑰的種類與層次結(jié)構(gòu) (182)
9.1.2 密鑰管理生命周期 (184)
9.2 密鑰的生成和安全存儲(chǔ) (186)
9.2.1 密鑰產(chǎn)生方法 (186)
9.2.2 密鑰的安全存儲(chǔ) (186)
9.3 密鑰分發(fā) (187)
9.4 密鑰交換協(xié)議 (188)
9.4.1 Diffie-Hellman體制 (188)
9.4.2 基于SM2的密鑰交換協(xié)議 (189)
9.5 公鑰基礎(chǔ)設(shè)施PKI (192)
9.5.1 PKI組成 (193)
9.5.2 X.509數(shù)字證書 (194)
9.5.3 數(shù)字證書驗(yàn)證 (195)
9.5.4 數(shù)字證書管理 (195)
習(xí)題 (196)
第10章 密碼協(xié)議 (197)
10.1 密碼協(xié)議的概念 (197)
10.2 密碼協(xié)議的安全問(wèn)題 (198)
10.3 SSL/TLS協(xié)議 (199)
10.3.1 SSL協(xié)議組成 (200)
10.3.2 SSL握手協(xié)議 (201)
10.3.3 更改密碼規(guī)格協(xié)議 (203)
10.3.4 警告協(xié)議 (204)
10.3.5 記錄協(xié)議 (204)
10.3.6 TLS協(xié)議 (205)
習(xí)題 (208)
參考文獻(xiàn) (209)