密碼學實驗教程
內容描述
本書共14章:第1章和第2章為密碼學數學基礎的相關實驗;第3章為古典密碼算法相關實驗;第4章和第5章為對稱密碼算法相關實驗;第6章為偽隨機數算法相關實驗,其內容服務於第7章和第8章的公鑰密碼算法實驗;第9章為Diffie-Hellman密鑰交換協議相關實驗;第10章為橢圓曲線密碼算法相關實驗;第11章為SHA-1算法相關實驗;第12章為數字簽名算法相關實驗;第13章和第14章為國產密碼算法相關實驗。本書不但可以作為網絡空間安全、密碼學、信息安全、信息對抗等專業的本科生、碩士生和博士生專業課程的配套實驗教材,而且可以作為信息安全工程師的培訓教材,為密碼學算法的實際部署提供一定指導。
目錄大綱
第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密鑰交換協議
9.1算法原理
9.1.1 DH密鑰交換協議
9.1.2基於ECC的DH密鑰交換協議
9.2算法實現
9.3算法測試
9.3.1 DH密鑰交換協議測試
9.3.2基於ECC的DH密鑰交換協議測試
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思考題
作者介紹
郭華,博士,副教授,北京航空航天大學安全工程系主任。
中國密碼學會會員、中國計算機學會會員。
曾獲北京航空航天大學"藍天新秀獎”、教學成果三等獎、優秀論文指導教師獎等。
科研方面,緊緊圍繞國家網絡安全的戰略需求,圍繞區塊鏈、數字貨幣、密鑰管理、認證協議等當前熱點問題展開研究,主持相關課題多項。