密碼工程

密碼工程是一本2018年出版的圖書,由機械工業出版社出版

基本介紹

  • 中文名:密碼工程
  • 作者:尼爾斯·弗格森 
  • 出版時間:2018年
  • 出版社:機械工業出版社
  • ISBN:9787111574354
內容簡介,圖書目錄,

內容簡介

  本書深入地探討特定的、具體的協定,講述如何設計密碼協定,分析做出設計決策的原因,並指出其中可能存在的陷阱,從而幫助讀者像密碼學家一樣思考。本書分為五部分,第 一部分對密碼學進行概述,第二到四部分分別講述訊息安全、密鑰協商、密鑰管理方面的內容,第五部分介紹標準和專利等其他問題。本書可作為高等院校計算機安全和密碼學相關專業的教材或教學參考書,也可作為套用密碼工程的自學指南。

圖書目錄

目錄
CryptographyEngineering:DesignPrinciplesandPracticalApplications
出版者的話
譯者序
前言
《實用密碼學》前言
關於作者
第一部分概述
第1章密碼學研究範圍2
1.1密碼學的作用2
1.2木桶原理3
1.3對手設定4
1.4專業偏執狂5
1.4.1更廣泛的好處5
1.4.2攻擊5
1.5威脅模型6
1.6密碼學不是唯一解決方案7
1.7密碼學是非常難的8
1.8密碼學是簡單的部分8
1.9通用攻擊9
1.10安全性和其他設計準則9
1.10.1安全性和性能9
1.10.2安全性和特性10
1.10.3安全性和演變的系統11
1.11更多閱讀材料11
1.12專業偏執狂練習12
1.12.1時事練習12
1.12.2安全審查練習12
1.13習題13
第2章密碼學簡介14
2.1加密14
2.2認證15
2.3公鑰加密16
2.4數字簽名17
2.5PKI18
2.6攻擊18
2.6.1唯密文攻擊模型19
2.6.2已知明文攻擊模型19
2.6.3選擇明文攻擊模型19
2.6.4選擇密文攻擊模型19
2.6.5區分攻擊的目的20
2.6.6其他類型的攻擊20
2.7深入探討20
2.7.1生日攻擊20
2.7.2中間相遇攻擊21
2.8安全等級22
2.9性能22
2.10複雜性23
2.11習題24
第二部分訊息安全
第3章分組密碼26
3.1什麼是分組密碼26
3.2攻擊類型27
3.3理想分組密碼27
3.4分組密碼安全的定義28
3.5實際分組密碼30
3.5.1DES30
3.5.2AES32
3.5.3Serpent34
3.5.4Twofish34
3.5.5其他的AES候選算法36
3.5.6如何選擇分組密碼36
3.5.7如何選擇密鑰長度36
3.6習題37
第4章分組密碼工作模式39
4.1填充39
4.2ECB40
4.3CBC40
4.3.1固定IV40
4.3.2計數器IV41
4.3.3隨機IV41
4.3.4瞬時IV41
4.4OFB42
4.5CTR43
4.6加密與認證44
4.7如何選擇工作模式44
4.8信息泄露44
4.8.1碰撞的可能性45
4.8.2如何處理信息泄露46
4.8.3關於數學證明46
4.9習題47
第5章散列函式48
5.1散列函式的安全性48
5.2實際的散列函式49
5.2.1一種簡單但不安全的散列函式50
5.2.2MD550
5.2.3SHA-151
5.2.4SHA-224、SHA-256、SHA-384和SHA-51251
5.3散列函式的缺陷52
5.3.1長度擴充52
5.3.2部分訊息碰撞52
5.4修復缺陷53
5.4.1一個臨時的修複方法53
5.4.2一個更有效的修複方法53
5.4.3其他修複方法54
5.5散列算法的選擇55
5.6習題55
第6章訊息認證碼56
6.1MAC的作用56
6.2理想MAC與MAC的安全性56
6.3CBC-MAC和CMAC57
6.4HMAC58
6.5GMAC59
6.6如何選擇MAC60
6.7MAC的使用60
6.8習題61
第7章安全信道63
7.1安全信道的性質63
7.1.1角色63
7.1.2密鑰63
7.1.3訊息或位元組流64
7.1.4安全性質64
7.2認證與加密的順序65
7.3安全信道設計概述66
7.3.1訊息編號66
7.3.2認證67
7.3.3加密67
7.3.4組織格式68
7.4詳細設計68
7.4.1初始化68
7.4.2傳送訊息69
7.4.3接收訊息70
7.4.4訊息的順序71
7.5備選方案71
7.6習題72
第8章實現上的問題I74
8.1創建正確的程式75
8.1.1規範75
8.1.2測試和修復75
8.1.3不嚴謹的態度76
8.1.4如何著手76
8.2製作安全的軟體77
8.3保守秘密77
8.3.1清除狀態77
8.3.2交換檔案79
8.3.3高速緩衝存儲器79
8.3.4記憶體保留數據80
8.3.5其他程式的訪問82
8.3.6數據完整性82
8.3.7需要做的工作83
8.4代碼質量83
8.4.1簡潔性83
8.4.2模組化83
8.4.3斷言84
8.4.4緩衝區溢出84
8.4.5測試85
8.5側信道攻擊85
8.6一些其他的話86
8.7習題86
第三部分密鑰協商
第9章生成隨機性88
9.1真實隨機88
9.1.1使用真實隨機數的問題89
9.1.2偽隨機數89
9.1.3真實隨機數和偽隨機數生成器90
9.2偽隨機數生成器的攻擊模型90
9.3Fortuna91
9.4生成器91
9.4.1初始化93
9.4.2更新種子93
9.4.3生成塊94
9.4.4生成隨機數94
9.4.5生成器速度95
9.5累加器95
9.5.1熵源95
9.5.2熵池96
9.5.3?實現注意事項97
9.5.4?初始化98
9.5.5獲取隨機數據99
9.5.6添加事件100
9.6種子檔案管理101
9.6.1寫種子檔案101
9.6.2更新種子檔案101
9.6.3讀寫種子檔案的時間102
9.6.4備份和虛擬機102
9.6.5檔案系統更新的原子性103
9.6.6初次啟動103
9.7選擇隨機元素103
9.8習題104
第10章素數106
10.1整除性與素數106
10.2產生小素數107
10.3素數的模運算109
10.3.1加法和減法109
10.3.2乘法110
......

相關詞條

熱門詞條

聯絡我們