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