本書兼顧傳統(tǒng)密碼學(xué)的原理知識和現(xiàn)代密碼學(xué)中的新思想,并能通過在科研項目中的實踐經(jīng)驗增加應(yīng)用密碼學(xué)中的部分內(nèi)容,幫助學(xué)生在夯實理論的基礎(chǔ)上能熟練運用密碼學(xué)相關(guān)技術(shù),在實踐能力提高的基礎(chǔ)上又能促進理論知識的理解。主要內(nèi)容:密碼學(xué)算法的設(shè)計理論和思想以及相關(guān)協(xié)議,具體內(nèi)容包括古典密碼、香農(nóng)理論、分組對稱密碼的設(shè)計和分析、非對稱密碼算法設(shè)計和分析、hash函數(shù)的設(shè)計和分析、簽名算法和協(xié)議、密鑰分配和管理、偽隨機數(shù)生成原理和安全、基本身份認(rèn)證方案和協(xié)議、PKI、現(xiàn)代密碼學(xué)中的可證明安全性等。
特點:國內(nèi)教材大部分比較偏重算法的講解,原理和思想的分析比較不足,對于現(xiàn)代密碼學(xué)中的可證明安全等內(nèi)容有所缺欠,有的又過于艱深不適合作為本科教材,所以希望編寫教材能夠全面地反映密碼學(xué)的*新研究方向、研究內(nèi)容和知識框架,重難點突出,著重分析算法設(shè)計和實現(xiàn)的原理和思想,同時兼顧學(xué)生的實踐能力的培養(yǎng)。
本教材依托華中科技大學(xué)密碼學(xué)原理課程講授內(nèi)容和所建設(shè)密碼學(xué)原理慕課內(nèi)容編纂而成。密碼學(xué)涵蓋內(nèi)容豐富,且涉及一定的數(shù)學(xué)基礎(chǔ)知識,本教材著重于講解密碼學(xué)的基本原理和方法,相關(guān)的數(shù)學(xué)背景知識請參考本校信息安全數(shù)學(xué)基礎(chǔ)課程的內(nèi)容。通過學(xué)習(xí)本教材,學(xué)生應(yīng)掌握密碼學(xué)基本原語的設(shè)計思想和構(gòu)造方法,能夠利用所學(xué)構(gòu)造方法提出滿足實踐安全需求的密碼方案。本教材適合網(wǎng)絡(luò)空間安全專業(yè)及相關(guān)專業(yè)的本科生使用。第1章通過介紹簡單古典密碼,引出密碼學(xué)基本術(shù)語、基本的構(gòu)造技術(shù)等內(nèi)容。第2章介紹了香農(nóng)對密碼學(xué)的基本貢獻、信息論在密碼學(xué)中的應(yīng)用、完善保密性相關(guān)知識。密碼學(xué)中的熵可以揭示加密的本質(zhì),乘積密碼體制是迭代密碼的基本思想。第3章介紹了分組密碼的基本設(shè)計思想、使用原則、結(jié)構(gòu),以及典型的分組密碼算法,同時介紹了分組密碼實踐中的工作模式和短塊處理。為了易于理解差分密碼分析和線性密碼分析的思想,選擇通過簡單的SPN示例來進行介紹。第4章介紹了序列密碼及其相關(guān)內(nèi)容。第5章對Hash函數(shù)和消息認(rèn)證碼MAC進行了介紹,包括通用的生日攻擊、基本結(jié)構(gòu)和構(gòu)造方法。同時還介紹了利用Hash函數(shù)構(gòu)造密鑰派生函數(shù)KDF的過程。第6章主要介紹基于大整數(shù)分解和離散對數(shù)問題的公鑰密碼體制,并討論了相關(guān)數(shù)學(xué)問題的求解算法。第7章介紹了常用的及特殊類型的數(shù)字簽名方案。第8章介紹了計算復(fù)雜性理論下的可證明安全,包括形式化地定義攻擊模型、密碼方案的安全性,以及形式化定義下的安全性證明。第9章和第10章主要介紹了密鑰分配、協(xié)商的相關(guān)知識,以及身份認(rèn)證的密碼學(xué)安全協(xié)議,同時也介紹了公鑰基礎(chǔ)設(shè)施PKI。第11章主要介紹了我國的標(biāo)識算法SM9和屬性加密算法。教材每章均附有適量習(xí)題,幫助學(xué)生學(xué)習(xí)和鞏固章節(jié)重點內(nèi)容。由于編者水平有限,編寫內(nèi)容可能存在疏漏和錯誤,敬請批評和指正。*后,衷心感謝所有為本書付出時間和精力的人們,特別感謝邢光林、許映沙、汪凱和李金璠。編者2023年11月于武漢
1996畢業(yè)于原華中理工大學(xué) 獲工學(xué)學(xué)士學(xué)位1999畢業(yè)于原華中理工大學(xué) 獲工學(xué)碩士學(xué)位2010 畢業(yè)于華中科技大學(xué) 獲工學(xué)博士學(xué)位曾合作出版《編譯原理》,電子工業(yè)出版社,現(xiàn)已修訂至第四版
1古典密碼(1)
1.1安全需求和基本術(shù)語(1)
1.2代換與置換(4)
1.3古典密碼分析(11)
習(xí)題(22)
2Shannon理論(25)
2.1密碼體制安全性(25)
2.2概率論和信息論基礎(chǔ)(27)
2.3完善保密性(37)
2.4密碼學(xué)中的熵(41)
2.5偽密鑰和唯一解距離(43)
2.6乘積密碼體制(45)
習(xí)題(47)
3分組密碼(49)
3.1分組密碼設(shè)計思想(49)
3.2代換置換網(wǎng)絡(luò)(51)
3.3線性密碼分析(54)
3.4差分密碼分析(59)
3.5Feistel結(jié)構(gòu)和數(shù)據(jù)加密標(biāo)準(zhǔn)DES(65)
3.6高級加密標(biāo)準(zhǔn)AES(72)
3.7SM4(82)
3.8工作模式和短塊處理(85)
習(xí)題(90)
4序列密碼(93)
4.1序列密碼概述(93)
4.2基于線性反饋移位寄存器的序列密碼(94)
4.3基于非線性移位寄存器的序列密碼(106)
4.4基于表驅(qū)動的序列密碼(108)
4.5基于分組密碼的序列密碼(112)
4.6祖沖之算法(116)
習(xí)題(120)
5Hash函數(shù)(122)
5.1Hash函數(shù)和數(shù)據(jù)完整性(122)
5.2Hash函數(shù)的安全性(123)
5.3Hash函數(shù)的迭代結(jié)構(gòu)(127)
5.4消息認(rèn)證碼(133)
5.5SM3和密鑰派生函數(shù)(136)
5.6海綿結(jié)構(gòu)和SHA3(138)
5.7彩虹表(143)
習(xí)題(146)
密碼學(xué)原理目錄6公鑰密碼體制(148)
6.1公鑰密碼體制和單向陷門函數(shù)(148)
6.2RSA(149)
6.3Rabin密碼體制(163)
6.4基于離散對數(shù)問題的密碼體制(165)
6.5離散對數(shù)問題的算法(167)
6.6橢圓曲線密碼(171)
習(xí)題(181)
7數(shù)字簽名(183)
7.1數(shù)字簽名的安全性需求(183)
7.2數(shù)字簽名體制(184)
7.3具有特殊用途的數(shù)字簽名(188)
7.4NTRUSign(192)
習(xí)題(195)
8可證明安全(196)
8.1計算安全性(196)
8.2對稱密碼體制(200)
8.3公鑰密碼體制 (222)
習(xí)題(234)
9密鑰管理(236)
9.1密鑰管理(236)
9.2密鑰分配(239)
9.3公鑰基礎(chǔ)設(shè)施PKI(247)
習(xí)題(258)
10身份認(rèn)證(259)
10.1基于口令的身份認(rèn)證(259)
10.2對稱體制下的認(rèn)證協(xié)議(260)
10.3公鑰體制下的認(rèn)證協(xié)議(265)
10.4零知識證明(265)
10.5SSL協(xié)議(268)
10.6PGP協(xié)議(273)
習(xí)題(275)
11高級密碼算法(277)
11.1SM9(277)
11.2屬性加密算法(294)
習(xí)題(300)
參考文獻(301)