本書共14章:第1章和第2章為密碼學數學基礎的相關實驗;第3章為古典密碼算法相關實驗;第4章和第5章為對稱密碼算法相關實驗;第6章為偽隨機數算法相關實驗,其內容服務于第7章和第8章的公鑰密碼算法實驗;第9章為Diffie-Hellman密鑰交換協(xié)議相關實驗;第10章為橢圓曲線密碼算法相關實驗;第11章為SHA-1算法相關實驗;第12章為數字簽名算法相關實驗;第13章和第14章為國產密碼算法相關實驗。本書不但可以作為網絡空間安全、密碼學、信息安全、信息對抗等專業(yè)的本科生、碩士生和博士生專業(yè)課程的配套實驗教材,而且可以作為信息安全工程師的培訓教材,為密碼學算法的實際部署提供一定指導。
郭華,博士,副教授,北京航空航天大學安全工程系主任。中國密碼學會會員、中國計算機學會會員。曾獲北京航空航天大學"藍天新秀獎”、教學成果三等獎、優(yōu)秀論文指導教師獎等?蒲蟹矫妫o緊圍繞國家網絡安全的戰(zhàn)略需求,圍繞區(qū)塊鏈、數字貨幣、密鑰管理、認證協(xié)議等當前熱點問題展開研究,主持相關課題多項。
第1章 數論基礎算法
1.1 算法原理
1.1.1 厄拉多塞篩算法
1.1.2 歐幾里得算法
1.1.3 快速冪取模算法
1.1.4 中國剩余定理
1.1.5 Miller-Rabin素性檢測算法
1.2 算法實現
1.2.1 厄拉多塞篩算法實現
1.2.2 歐幾里得算法實現
1.2.3 快速冪取模算法實現
1.2.4 中國剩余定理實現
1.2.5 Miller-Rabin素性檢測算法實現
1.3 算法測試
1.3.1 厄拉多塞篩算法測試
1.3.2 歐幾里得算法測試
1.3.3 快速冪取模算法測試
1.3.4 中國剩余定理測試
1.3.5 Miller-Rabin素性檢測算法測試
1.4 思考題
第2章 有限域算法
2.1 算法原理
2.1.1 有限域四則運算算法
2.1.2 有限域歐幾里得算法
2.1.3 有限域求乘法逆元算法
2.2 算法實現
2.2.1 有限域四則運算算法實現
2.2.2 有限域歐幾里得算法實現
2.2.3 有限域求乘法逆元算法實現
2.3 算法測試
2.3.1 有限域四則運算算法測試
2.3.2 有限域歐幾里得算法測試
2.3.3 有限域求乘法逆元算法測試
2.4 思考題
第3章 古典密碼算法
3.1 算法原理
3.1.1 置換密碼
3.1.2 代替密碼
3.2 算法實現
3.2.1 柵欄密碼實現
3.2.2 矩陣密碼實現
3.2.3 單表代替密碼實現
3.2.4 仿射密碼實現
3.2.5 維吉尼亞密碼實現
3.2.6 弗納姆密碼實現
3.2.7 Hill密碼實現
3.3 算法測試
3.3.1 柵欄密碼測試
3.3.2 矩陣密碼測試
3.3.3 單表代替密碼測試
3.3.4 仿射密碼測試
3.3.5 維吉尼亞密碼測試
3.3.6 弗納姆密碼測試
3.3.7 Hill密碼測試
3.4 思考題
第4章 DES算法
4.1 算法原理
4.1.1 DES算法整體結構
4.1.2 DES算法詳細結構
4.1.3 密鑰選擇
4.2 算法實現
4.2.1 密鑰生成函數
4.2.2 加密函數
4.2.3 解密函數
4.2.4 基本變換函數
4.3 算法測試
4.3.1 輸入和輸出
4.3.2 中間數據
4.4 思考題
第5章 AES算法
5.1 算法原理
5.1.1 AES算法整體結構
5.1.2 AES算法詳細結構
5.1.3 AES-192與AES-256
5.2 算法實現
5.2.1 密鑰生成函數
5.2.2 加密函數
5.2.3 解密函數
5.2.4 基本變換函數
5.3 算法測試
5.3.1 輸入和輸出
5.3.2 中間數據
5.4 思考題
第6章 偽隨機數算法
6.1 算法原理
6.1.1 BBS偽隨機數算法
6.1.2 梅森旋轉算法
6.2 算法實現
6.2.1 BBS偽隨機數算法實現
6.2.2 梅森旋轉算法實現
6.3 算法測試
6.3.1 BBS偽隨機數算法測試
6.3.2 梅森旋轉算法測試
6.4 思考題
第7章 RC4算法
7.1 算法原理
7.1.1 流密碼
7.1.2 RC4算法詳細結構
7.2 算法實現
7.3 算法測試
7.3.1 輸入和輸出
7.3.2 中間數據
7.3.3 無效置換和弱密鑰問題
7.4 思考題
第8章 RSA算法
8.1 算法原理
8.1.1 RSA算法整體結構
8.1.2 RSA-OAEP算法
8.2 算法實現
8.2.1 RSA算法實現
8.2.2 RSA-OAEP算法實現
8.3 算法測試
8.3.1 RSA算法測試
8.3.2 RSA-OAEP算法測試
8.4 思考題
第9章 Diffie-Hellman密鑰交換協(xié)議
9.1 算法原理
9.1.1 DH密鑰交換協(xié)議
9.1.2 基于ECC的DH密鑰交換協(xié)議
9.2 算法實現
9.3 算法測試
9.3.1 DH密鑰交換協(xié)議測試
9.3.2 基于ECC的DH密鑰交換協(xié)議測試
9.4 思考題
第10章 橢圓曲線密碼算法
10.1 算法原理
10.1.1 基于ECC的加密算法
10.1.2 基于ECC的數字簽名算法
10.2 算法實現
10.2.1 密鑰生成算法實現
10.2.2 基于ECC的加密算法實現
10.2.3 基于ECC的數字簽名算法實現
10.3 算法測試
10.3.1 基于ECC的加密算法測試
10.3.2 基于ECC的數字簽名算法測試
10.4 思考題
第11章 SHA-1算法
11.1 算法原理
11.1.1 SHA-1算法整體結構
11.1.2 SHA-1算法詳細結構
11.2 算法實現
11.3 算法測試
11.4 思考題
第12章 數字簽名算法
12.1 算法原理
12.1.1 不帶消息恢復的RSA數字簽名算法
12.1.2 RSA-PSS數字簽名算法
12.1.3 ElGamal數字簽名算法
12.2 算法實現
12.2.1 不帶消息恢復的RSA數字簽名算法實現
12.2.2 RSA-PSS數字簽名算法實現
12.2.3 ElGamal數字簽名算法實現
12.3 算法測試
12.3.1 不帶消息恢復的RSA數字簽名算法測試
12.3.2 RSA-PSS數字簽名算法測試
12.3.3 ElGamal數字簽名算法測試
12.4 思考題
第13章 SM2算法
13.1 算法原理
13.2 算法實現
13.3 算法測試
13.3.1 輸入和輸出
13.3.2 中間數據
13.4 思考題
第14章 SM4算法
14.1 算法原理
14.1.1 SM4算法整體結構
14.1.2 SM4算法詳細結構
14.2 算法實現
14.3 算法測試
14.4 思考題