第1章 緒論
1.1 概述
1.2 保密通信的基本模型
1.3 密碼學的基本概念
習題
第2章 基礎知識
2.1 數論
2.1.1 素數與互素
2.1.2 同餘與模運算
2.1.3 歐拉定理
2.1.4 幾個有用的算法
2.1.5 中國剩餘定理
2.1.6 模為素數的二次剩餘
2.1.7 Zp上的離散對數
2.2 計算複雜性問題
2.2.1 確定性多項式時間
2.2.2 非確定性多項式時間
2.2.3 概率多項式時間
2.2.4 多項式時間不可區分性
習題
第3章 古典密碼
3.1 古典密碼體制
3.1.1 棋盤密碼
3.1.2 移位密碼
3.1.3 仿射密碼
3.1.4 代換密碼
3.1.5 維吉尼亞密碼
3.1.6 置換密碼
3.1.7 Hill密碼
3.2 密碼分析技術
習題
第4章 分組密碼
4.1 分組密碼的設計準則
4.1.1 Feistel分組密碼的基本結構
4.1.2 F函數的設計準則
4.2 數據加密標準(DES)
4.2.1 DES的描述
4.2.2 DES的分析
4.2.3 多重DES
4.3 高級數據加密標準(AES)
4.3.1 AES數學基礎
4.3.2 AES的描述
4.3.3 AES的金鑰生成
4.3.4 AES的分析
4.4 IDEA算法
4.5 SM4分組加密算法
4.5.1 SM4算法的描述
4.5.2 SM4算法的分析
4.6 分組密碼的工作模式
4.7 分組密碼的安全性
習題
第5章 序列密碼
5.1 序列密碼的基本原理
5.1.1 序列密碼的設計思想
5.1.2 序列隨機性能評價
5.2 回饋移位暫存器
5.2.1 線性回饋移位暫存器
5.2.2 LFSR輸出序列的週期與隨機性
5.3 基於LFSR的生成器
5.4 非線性回饋移位暫存器
5.5 序列密碼的攻擊法
5.5.1 插入攻擊法
5.5.2 位串匹配攻擊法
5.6 RC4算法
5.7 祖沖之算法
5.7.1 祖沖之算法的描述
5.7.2 祖沖之算法的分析與應用
習題
第6章 Hash函數
6.1 Hash函數的基本概念
6.2 反覆運算的Hash函數
6.3 MD5算法與SHA-1算法
6.3.1 MD5算法的描述
6.3.2 SHA-1算法的描述
6.3.3 MD5與SHA-1的比較
6.4 SM3算法
6.4.1 SM3算法的描述
6.4.2 SM3算法的分析
習題
第7章 公開金鑰密碼
7.1 公開金鑰密碼體制的基本原理
7.1.1 公開金鑰密碼的基本思想
7.1.2 公開金鑰密碼算法應滿足的要求
7.2 背包算法
7.2.1 背包問題
7.2.2 背包算法的描述
7.2.3 背包算法的安全性
7.3 RSA算法
7.3.1 RSA算法的描述
7.3.2 RSA算法的安全性
7.3.3 RSA算法的參數選擇
7.4 Rabin算法
7.4.1 求解數模下的平方根問題
7.4.2 Rabin算法的描述
7.5 ElGamal算法
7.5.1 離散對數問題
7.5.2 ElGamal算法的描述
7.5.3 ElGamal算法的安全性
7.6 橢圓曲線密碼
7.6.1 橢圓曲線的定義與性質
7.6.2 橢圓曲線上的密碼體制
7.6.3 橢圓曲線密碼算法的特性
7.7 SM2公開金鑰加密算法
7.7.1 SM2算法的描述
7.7.2 SM2加密算法的分析
7.8 基於身份的公開金鑰密碼體制
7.8.1 概述
7.8.2 雙線性Diffie-Hellman假設
7.8.3 Boneh和Franklin的IBE密碼體制
習題
第8章 數字簽名與身份認證
8.1 數字簽名原理
8.1.1 數字簽名的基本概念
8.1.2 數字簽名的特性
8.1.3 數字簽名的實現方法
8.2 RSA數字簽名
8.2.1 RSA數字簽名算法
8.2.2 RSA數字簽名的安全問題
8.3 ElGamal數字簽名
8.3.1 ElGamal數字簽名算法
8.3.2 針對ElGamal簽名算法的可能攻擊
8.4 數字簽名標準(DSS)
8.4.1 DSS的數字簽名算法
8.4.2 DSA算法的安全問題
8.5 SM2數字簽名算法
8.5.1 SM2數字簽名基礎
8.5.2 SM2數字簽名的分析
8.6 身份認證
8.6.1 Schnorr身份認證協定
8.6.2 Okamoto身份認證協定
8.6.3 Guillou-Quisquater身份認證協定
習題
第9章 金鑰管理
9.1 金鑰管理的生命週期
9.2 單鑰體制的金鑰管理
9.2.1 金鑰的分類
9.2.2 金鑰分配的基本方法
9.2.3 層次式金鑰控制
9.2.4 分散式金鑰控制
9.3 公開金鑰體制的金鑰管理
9.3.1 公開金鑰的分發
9.3.2 用公開金鑰加密分配單鑰體制的工作階段金鑰
9.3.3 Diffie-Hellman金鑰交換與中間人攻擊
9.4 秘密共用
9.4.1 Lagrange插值多項式算法
9.4.2 向量算法
9.4.3 高級門限方案
9.4.4 有騙子情況下的金鑰共用方案
習題
參考文獻