商品描述
本書深入淺出地講解了密碼學核心知識與實戰技能。全書依循項目式教學理念,精心設計了8個項目,全面涵蓋密碼學關鍵領域,從古典密碼到現代密碼技術,循序漸進引導學生探索密碼學奧秘。力求理論與實踐 結合,每個項目配套項目背景、項目任務、項目目標、知識準備、項目計劃、項目實施與習題,助力學生夯實密碼學基礎,提升解決實際問題的能力,為未來從事網絡安全、信息安全等相關領域工作築牢根基。本書可作為高等職業院校與職業本科院校信息安全技術應用、計算機網絡技術、密碼技術應用等專業的教材,也可作為普通本科院校信息安全、網絡空間安全、計算機網絡工程、計算機科學與技術等專業的教材,還可作為從事信息安全相關工作的教學人員、科研人員及工程技術人員的參考用書。
作者簡介
楊誠,教授,主持建設 教師教學創新團隊、 專業教學資源庫、 規劃教材、省品牌特色專業(群)、省精品課程、省實訓基地、省 教學團隊、省教改課題。獲 教學成果一等獎1項,省級教學成果獎3項。指導學生獲全國職業技能大賽一等獎2項、二等獎1項。制定國賽競賽規程和命題。近年發表研究論文二十餘篇,其中5篇SCI,10篇北大中文核心,授權專利6項。具有教授職稱和 技師職業資格,曾在浙江華為公司進行企業 訪問工程師進修。
目錄大綱
前言
項目 1 古典密碼
1.1 專案背景
1.2 專案任務
1.3 專案目標
1.4 知識準備
1.4.1 凱撒密碼
1.4.2 培根密碼
1.4.3 柵欄密碼
1.4.4 棋盤密碼
1.4.5 維爾南密碼
1.4.6 莫爾斯碼
1.4.7 豬圈密碼
1.4.8 曲路密碼
1.5 項目計劃
1.6 專案實施
1.6.1 凱撒密碼的加解密
1.6.2 使用暴力破解法破解凱撒密碼
1.6.3 使用頻率分析法破解凱撒密碼
1.6.4 柵欄密碼的加解密
1.7 習題
項目 2 序列密碼
2.1 專案背景
2.2 專案任務
2.3 專案目標
2.4 知識準備
2.4.1 認識序列密碼
2.4.2 線性回授移位暫存器
2.4.3 常見的序列密碼演算法
2.5 專案計劃
2.6 專案實施
2.6.1 RC4 密碼演算法的加解密實現
2.6.2 A5 密碼演算法的加解密實現
2.7 習題
項目 3 分組密碼
3.1 專案背景
3.2 專案任務
3.3 專案目標
3.4 知識準備
3.4.1 分組密碼意義
3.4.2 DES 分組密碼
3.4.3 AES 分組密碼
3.4.4 SM4 分組密碼
3.4.5 分組密碼工作模式
3.5 專案計劃
3.6 專案實施
3.6.1 實作 DES 的加密與解密過程
3.6.2 實現 SM4 的加密與解密過程
3.6.3 實作分組密碼工作模式 ECB
3.7 習題
項目 4 公鑰密碼
4.1 專案背景
4.2 專案任務
4.3 專案目標
4.4 知識準備
4.4.1 認識公鑰密碼
4.4.2 RSA 公鑰密碼
4.4.3 ElGamal 公鑰密碼
4.4.4 橢圓曲線公鑰密碼
4.4.5 SM2 公鑰密碼
4.4.6 SM9 公鑰密碼
4.5 專案計劃
4.6 專案實施
4.6.1 手動計算
4.6.2 工具實現
4.6.3 程式設計實現
4.7 習題
項目 5 哈希函數
5.1 專案背景
5.2 專案任務
5.3 專案目標
5.4 知識準備
5.4.1 哈希函數含義
5.4.2 MD5 演算法
5.4.3 SHA 演算法
5.4.4 RIPEMD-160 演算法
5.4.5 SM3 演算法
5.5 項目計劃
5.6 專案實施
5.6.1 使用 Python 程式語言實作 MD5 演算法
5.6.2 使用 Python 程式語言實作 SM3 演算法
5.7 習題
項目 6 訊息認證碼
6.1 專案背景
6.2 專案任務
6.3 專案目標
6.4 知識準備
6.4.1 訊息認證碼
6.4.2 HMAC
6.5 專案計劃
6.6 專案實施
6.6.1 使用 Python 程式語言實作 HMAC 演算法
6.6.2 設計並實作一個簡單的訊息認證系統
6.7 習題
項目 7 數位簽名和證書
7.1 專案背景
7.2 專案任務
7.3 專案目標
7.4 知識準備
7.4.1 認識數位簽名
7.4.2 數位簽章原理
7.4.3 簽章演算法的應用場景
7.4.4 認識數位憑證
7.4.5 數位憑證的原理
7.4.6 數位憑證的應用場景
7.5 專案計劃
7.6 專案實施
7.6.1 程式設計實現數位簽名
7.6.2 Windows 下使用 OpenSSL 產生自簽證書
7.7 習題
項目 8 密碼應用場景設計
8.1 專案背景
8.2 專案任務
8.3 專案目標
8.4 知識準備
8.4.1 SSL/TLS 協定工作原理及應用場景
8.4.2 用戶認證技術
8.4.3 金鑰管理系統(KMS)
8.4.4 相關法規與合規要求
8.5 專案計劃
8.6 專案實施
8.6.1 系統開發與測試
8.6.2 系統部署與上線
8.7 習題
參考文獻
