密碼學 — 密碼算法與協議, 3/e

密碼學 — 密碼算法與協議, 3/e

作者: 鄭東 等
出版社: 電子工業
出版在: 2022-06-01
ISBN-13: 9787121434174
ISBN-10: 7121434172
總頁數: 304 頁





內容描述


本書共10章,主要介紹密碼學的基本原理與設計方法,其中包括對稱密碼算法與非對稱密碼算法、數字簽名算法及哈希函數的設計原理、密鑰管理體制的設計方法,以及主流密碼庫的使用說明等。本次修訂的內容體現在第2章至第10章,特別新增了中國流密碼、國產分組密碼、認證加密、基於屬性的加密、國產公鑰加密、國產哈希算法、基於屬性的數字簽名、國產數字簽名、後量子簽名、國產密鑰交換協議、聚合簽名、旁路攻擊和掩碼防護技術,以及全同態運算密碼庫和雙線性對運算密碼庫等內容。本書涵蓋了傳統密碼體制、基於屬性的密碼體制、後量子密碼、抗泄露對稱密碼、主要的國產密碼算法和主流密碼庫,體現了經典與前沿熱點相融合、理論與應用相結合的特色。本書可作為高等院校電腦、信息安全和網絡空間安全等專業本科生的教材,也可作為電子信息與通信和信息管理等專業研究生的選讀教材,還可供信息安全、電腦及通信等領域的工程技術人員和管理人員參考。


目錄大綱


1章密碼學引論1  
1.1 密碼學在信息安全中的作用2  
1.1.1 信息安全面臨的威脅2  
1.1.2 信息安全需要的基本安全服務3  
1.2 密碼學導引3  
1.2.1 密碼學歷史3  
1.2.2 密碼學基本概念4  
1.2.3 密碼體制的分類4  
1.3 信息論基本概念5  
1.4 計算複雜性7  
本章小結8  
參考文獻8  
問題討論9  
2章流密碼10  
2.1 概述11  
2.2 流密碼的結構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 偽隨機序列的性質20  
2.4.1 隨機序列20  
2.4.2 Golomb隨機性公設21  
2.4.3 m序列的偽隨機性21  
2.4.4 線性複雜度22  
2.5 基於LFSR的偽隨機序列生成器23  
2.5.1 濾波生成器23  
2.5.2 組合生成器23  
2.5.3 鐘控生成器24  
2.6 其他構造方法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  
本章小結36  
參考文獻36  
問題討論37  
3章分組密碼38  
3.1 分組密碼概述39  
3.2 分組密碼的研究現狀39  
3.3 分組密碼的設計原理40  
3.3.1 乘積組合40  
3.3.2 擴散40  
3.3.3 混淆40  
3.4 數據加密標準DES 41  
3.4.1 DES簡介41  
3.4.2 DES加密算法41  
3.4.3 初始置IP和逆序置 43  
3.4.4 輪函數43  
3.4.5 擴展E變 44  
3.4.6 S盒44  
3.4.7 P盒46  
3.4.8 子密鑰的產生47  
3.4.9 DES解密算法48  
3.4.10 DES的弱密鑰49  
3.4.11 DES示例49  
3.4.12 三重DES的變形50  
3.5 國際數據加密算法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 算法結構57  
3.6.2 Rijindael加密過程58  
3.6.3 輪函數59  
3.6.4 字節替 59  
3.6.5 行移位60  
3.6.6 列混合61  
3.6.7 輪密鑰加62  
3.6.8 子密鑰的產生62  
3.6.9 Rijindael解密過程63  
3.6.10 小結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 認證加密73  
3.9.1 概述73  
3.9.2 HMAC 74  
3.9.3 OCB認證加密模式75  
3.9.4 Ascon 77  
3.9.5 帶相關數據的認證加密之由來80  
3.10 差分密碼分析81  
3.11 線性分析83  
本章小結88  
參考文獻88  
問題討論89  
4章公鑰密碼90  
4.1 普通公鑰加密91  
4.1.1 公鑰密碼概念的提出91  
4.1.2 基於大整數分解問題的公鑰密碼體制—RSA公鑰密碼體制93  
4.1.3 基於二次剩餘問題的公鑰密碼體制94  
4.1.4 基於離散對數問題的公鑰密碼體制94  
4.1.5 基於背包問題的公鑰密碼體制95  
4.1.6 橢圓曲線公鑰密碼體制96  
4.2 基於身份的加密98  
4.2.1 雙線性Diffie-Hellman假設98  
4.2.2 Boneh和Franklin的IDB密碼體制98  
4.3 基於屬性的加密99  
4.3.1 樹形訪問結構99  
4.3.2 密文策略的屬性基加密方案的定義100  
4.3.3 密文策略的屬性基加密方案的安全模型100  
4.3.4 密文策略的屬性基加密方案的設計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 相關符號109  
4.5.3 加密算法及流程110  
4.5.4 解密算法及流程111  
4.6 SM9公鑰加密112  
4.6.1 SM9公鑰加密算法112  
4.6.2 相關符號112  
4.6.3 加密算法及流程113  
4.6.4 解密算法及流程113  
本章小結115  
參考文獻116  
問題討論116  
5章認證和哈希函數117  
5.1 消息認證118  
5.2 消息認證方法118  
5.2.1 消息加密118  
5.2.2 消息認證碼119  
5.2.3 哈希函數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 對哈希函數的攻擊現狀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算法在區塊鏈中的應用137  
5.8 SHA-3(Keccak算法) 137  
5.9 SM3算法141  
5.9.1 常量和函數141  
5.9.2 SM3算法描述142  
本章小結143  
參考文獻143  
問題討論144  
6章數字簽名145  
6.1 數字簽名體制146  
6.2 RSA數字簽名體制146  
6.3 Rabin簽名體制147  
6.4 基於離散對數問題的簽名體制147  
6.4.1 ElGamal簽名體制147  
6.4.2 Schrr簽名體制148  
6.4.3 數字簽名標準149  
6.5 基於解碼問題的數字簽名149  
6.6 基於橢圓曲線的數字簽名體制150  
6.7 基於身份的數字簽名體制150  
6.7.1 基於身份的數字簽名體制的定義151  
6.7.2 基於身份的數字簽名體制的安全性需求152  
6.7.3 使用雙線性對技術的IBS 152  
6.7.4 不使用雙線性對技術的IBS 153  
6.8 基於屬性的數字簽名算法154  
6.8.1 基於屬性的數字簽名體制的定義154  
6.8.2 基於屬性的數字簽名體制的安全性需求155  
6.8.3 使用雙線性對技術的ABS 156  
6.9 後量子簽名算法156  
6.9.1 基於格的後量子簽名算法157  
6.9.2 基於哈希函數的後量子簽名算法160  
6.9.3 基於安全多方計算的後量子簽名算法162  
6.10 SM2數字簽名算法163  
6.10.1 相關符號164  
6.10.2 數字簽名的生成算法及流程164  
6.10.3 數字簽名的驗證算法及流程165  
6.11 SM9數字簽名算法166  
6.11.1 相關符號167  
6.11.2 數字簽名的生成算法及流程168  
6.11.3 數字簽名的驗證算法及流程168  
本章小結169  
參考文獻170  
問題討論171  
7章密鑰管理172  
7.1 概述173  
7.2 基本概念173  
7.2.1 密鑰分類173  
7.2.2 密鑰生命週期174  
7.2.3 密鑰產生175  
7.2.4 密鑰生命期175  
7.2.5 密鑰建立175  
7.2.6 密鑰的層次結構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 基於身份的系統183  
7.5 密鑰傳輸機制184  
7.5.1 使用對稱密碼技術的密鑰傳輸機制185  
7.5.2 使用對稱密碼技術和可信三方的密鑰傳輸機制186  
7.5.3 使用公鑰密碼技術的點到點的密鑰傳輸機制186  
7.5.4 同時使用公鑰密碼技術和對稱密碼技術的密鑰傳輸機制187  
7.6 密鑰導出機制188  
7.6.1 基本密鑰導出機制188  
7.6.2 密鑰計算函數188  
7.6.3 可鑑別的密鑰導出機制189  
7.6.4 線性密鑰導出機制189  
7.6.5 樹狀密鑰導出機制190  
7.7 密鑰協商機制191  
7.7.1 Diffie-Hellman密鑰協商機制192  
7.7.2 端到端的協議193  
7.7.3 使用對稱密碼技術的密鑰協商機制193  
7.8 基於SM2的密鑰交
協議194  
7.9 基於SM9的密鑰交**協議196  
7.10 密鑰的託管/恢復198  
7.11 現實中的密鑰管理方案199  
7.12 硬件輔助的密鑰管理200  
本章小結201  
參考文獻201  
問題討論201  
8章高級簽名202  
8.1 數字簽名概述203  
8.2 盲簽名204  
8.2.1 盲簽名的基本概念204  
8.2.2 盲簽名的安全性需求204  
8.2.3 盲簽名的基本設計思路204  
8.2.4 基於RSA問題的盲簽名205  
8.2.5 基於離散對數問題的盲簽名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 環簽名214  
8.4.1 環簽名的基本概念215  
8.4.2 環簽名的安全性需求215  
8.4.3 不具有可鏈接性的環簽名216  
8.4.4 具有可鏈接性的環簽名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 複雜度假設231  
8.8.3 具有指定驗證者的聚合簽名方案232  
8.8.4 具有常數個雙線性對運算的聚合簽名方案233  
8.8.5 基於身份的聚合簽名方案233  
8.9 數字簽密234  
8.9.1 研究現狀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 具體方案設計240  
本章小結242  
參考文獻242  
問題討論245  
9章抗洩對稱密碼246  
9.1 概述247  
9.2 抗洩密碼的基本概念、定義與引理248  
9.2.1 小熵、Metric熵、HILL熵與不可預測熵248  
9.2.2 小熵的鍊式規則與密集模型定理249  
9.2.3 隨機數提取器、通用哈希函數族及剩餘哈希引理250  
9.3 抗洩流密碼算法的設計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 掩碼防護技術260  
9.5.1 基本定義261  
9.5.2 掩碼方案262  
9.6 抗洩密碼的未來發展趨勢263  
本章小結264  
參考文獻264  
問題討論266  
10章OpenSSL與其他相關密碼庫267  
10.1 OpenSSL背景268  
10.1.1 SSL/TLS協議背景268  
10.1.2 OpenSSL開源項目268  
10.2 OpenSSL在Linu平台上的快速安裝269  
10.3 OpenSSL密碼算法庫270  
10.3.1 對稱加密算法270  
10.3.2 非對稱加密算法270  
10.3.3 摘要算法271  
10.3.4 密鑰分發和有關PKI的編碼算法271  
10.3.5 其他自定義功能271  
10.4 SSL/TLS協議庫272  
10.5 OpenSSL中的應用程序278  
10.5.1 指令278  
10.5.2 基於指令的應用280  
10.5.3 基於函數的應用280  
10.6 NTL 280  
10.7 GmSSL 281  
10.8 全同態運算密碼庫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  
本章小結292  
問題討論292




相關書籍

Practical Aviation Security: Predicting and Preventing Future Threats

作者 Jeffrey Price Jeffrey Forrest

2022-06-01

Bash 資安管理手冊 (Cybersecurity Ops with bash)

作者 Paul Troncone Carl Albing 林班侯 譯

2022-06-01

滲透測試高手:打造固若金湯的安全網絡

作者 Wil Allsopp

2022-06-01