会员   密码 您忘记密码了吗?
1,573,441 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > 深入淺出密碼學
深入淺出密碼學
上一张
下一张
prev next

深入淺出密碼學

作者: (美)戴維·王(DAVID WONG)
出版社: 人民郵電出版社
出版日期: 2023-01-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT719.00
市场价格: RM129.26
本店售价: RM115.04
促销价: RM113.75
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

密碼學是資訊安全的基礎,本書教讀者應用加密技術來解決現實世界中的一系列難題,並暢談了密碼學的未來,涉及“加密貨幣”、密碼驗證、金鑰交換和後量子密碼學等話題。

全書分為兩個部分,第一部分介紹密碼原語,涉及密碼學基礎概念、雜湊函數、消息認證碼、認證加密、金鑰交換、非對稱加密和混合加密、數位簽章與零知識證明、隨機性和秘密性等內容;第二部分涉及安全傳輸、端到端加密、用戶認證、“加密貨幣”、硬體密碼學、後量子密碼、新一代密碼技術等內容。

本書形式新穎、深入淺出,非常適合密碼學領域的師生及資訊安全從業人員閱讀,也適合對密碼學及其應用感興趣的讀者閱讀。


作者介紹

David Wong是O(1)實驗室的一位元高級密碼工程師,他致力於Mina“加密貨幣”的研發。在此之前,他曾在Facebook Novi工作,擔任Diem(正式名稱為Libra)“加密貨幣”研發團隊的安全顧問。在Facebook工作前,他還在NCC集團的加密服務機構做過安全顧問。David在他的職業生涯中多次參與開源審計工作,比如審計OpenSSL庫和Let's Encrypt專案。
 
他曾在多個會議(如“Black Hat”和“DEF CON”)上做過報告,並在“Black Hat”會議上講授密碼學課程。他為TLS 1.3協定和Noise協定框架的發展做出了貢獻。此外,他還發現了許多庫存在的漏洞,例如Go語言標準庫中的CVE-2016-3959漏洞,TLS庫中的CVE-2018-12404、CVE-2018-19608、CVE-2018-16868、CVE-2018-16869和CVE-2018-16870漏洞。
 
David還是Disco協議和基於智慧合約的去中心化應用程式安全專案的開發者之一。他的研究內容包括對RSA的緩存攻擊、基於QUIC的協議、對ECDSA的時序攻擊或針對DH演算法的後門攻擊等領域的安全技術。


目錄

第一部分 密碼原語:密碼學的重要組成部分

第1章 引言 3

1.1 密碼學使協定安全 3

1.2 對稱密碼:對稱加密概述 4

1.3 Kerckhoff原則:只有金鑰保密 6

1.4 非對稱加密:兩個金鑰優於一個金鑰 8

1.4.1 金鑰交換 9

1.4.2 非對稱加密 11

1.4.3 數位簽章:與手寫簽名作用一樣 13

1.5 密碼演算法分類和抽象化 15

1.6 理論密碼學vs.實用密碼學 16

1.7 從理論到實踐:選擇獨特冒險 17

1.8 警示之言 21

1.9 本章小結 21

第2章 雜湊函數 22

2.1 什麼是雜湊函數 22

2.2 雜湊函數的安全屬性 24

2.3 雜湊函數的安全性考量 26

2.4 雜湊函數的實際應用 28

2.4.1 承諾 28

2.4.2 子資源完整性 28

2.4.3 位元流 29

2.4.4 洋蔥路由 29

2.5 標準化的雜湊函數 29

2.5.1 SHA-2雜湊函數 30

2.5.2 SHA-3雜湊函數 33

2.5.3 SHAKE和cSHAKE:兩個可擴展輸出的函數 37

2.5.4 使用元組雜湊避免模糊雜湊 38

2.6 口令雜湊 39

2.7 本章小結 41

第3章 消息認證碼 42

3.1 無狀態cookie—— 一個引入MAC的範例 42

3.2 一個代碼示例 45

3.3 MAC的安全屬性 46

3.3.1 偽造認證標籤 46

3.3.2 認證標籤的長度 47

3.3.3 重放攻擊 48

3.3.4 在固定時間內驗證認證標籤 49

3.4 現實世界中的MAC 49

3.4.1 消息認證碼 49

3.4.2 金鑰派生 50

3.4.3 cookie的完整性 51

3.4.4 雜湊表 51

3.5 實際應用中的消息認證碼 51

3.5.1 HMAC—— 一個基於雜湊函數的消息認證碼演算法 52

3.5.2 KMAC—— 基於cSHAKE的消息認證碼演算法 53

3.6 SHA-2和長度擴展攻擊 53

3.7 本章小結 56

第4章 認證加密 57

4.1 密碼的定義 57

4.2 高級加密標準 59

4.2.1 AES演算法的安全級別 59

4.2.2 AES演算法的介面 60

4.2.3 AES內部構造 61

4.3 加密企鵝圖片和CBC操作模式 62

4.4 選用具有認證機制的AES-CBC-HMAC演算法 65

4.5 認證加密演算法的一體式構造 66

4.5.1 有附加數據的認證加密 67

4.5.2 AEAD型演算法AES-GCM 68

4.5.3 ChaCha20-Poly1305演算法 72

4.6 其他類型的對稱加密 76

4.6.1 金鑰包裝 76

4.6.2 抗Nonce誤用的認證加密演算法 77

4.6.3 磁片加密 77

4.6.4 資料庫加密 77

4.7 本章小結 78

第5章 金鑰交換 79

5.1 金鑰交換的定義 79

5.2 Diffie-Hellman(DH)金鑰交換 82

5.2.1 群論 82

5.2.2 離散對數問題:DH演算法的基礎 86

5.2.3 DH金鑰交換標準 87

5.3 基於橢圓曲線的DH金鑰交換演算法 88

5.3.1 橢圓曲線的定義 88

5.3.2 ECDH金鑰交換演算法的實現 91

5.3.3 ECDH演算法的標準 93

5.4 小子群攻擊以及其他安全注意事項 94

5.5 本章小結 96

第6章 非對稱加密和混合加密 97

6.1 非對稱加密簡介 97

6.2 實踐中的非對稱加密和混合加密 99

6.2.1 金鑰交換和金鑰封裝 99

6.2.2 混合加密 101

6.3 RSA非對稱加密的優缺點 104

6.3.1 教科書式RSA演算法 104

6.3.2 切勿使用PKCS#1 v1.5標準中的RSA演算法 108

6.3.3 非對稱加密RSA-OAEP 109

6.4 混合加密ECIES 112

6.5 本章小結 114

第7章 數位簽章與零知識證明 115

7.1 數位簽章的定義 115

7.1.1 現實應用中計算和驗證簽名的方法 117

7.1.2 數位簽章應用案例:認證金鑰交換 117

7.1.3 數位簽章的實際用法:公開金鑰基礎設施 118

7.2 零知識證明:數位簽章的起源 119

7.2.1 Schnorr身份識別協定:一種互動式零知識證明 120

7.2.2 數位簽章作為非互動式零知識證明 123

7.3 簽名演算法的標準 123

7.3.1 RSA PKCS#1 v1.5:一個有漏洞的標準 124

7.3.2 RSA-PSS:更優的標準 127

7.3.3 橢圓曲線數位簽章演算法 128

7.3.4 Edwards曲線數位簽章演算法 130

7.4 簽名方案特殊性質 133

7.4.1 對簽名的替換攻擊 133

7.4.2 簽名的可延展性 134

7.5 本章小結 134

第8章 隨機性和秘密性 136

8.1 隨機性的定義 136

8.2 偽亂數發生器 138

8.3 獲取隨機性的方法 141

8.4 生成亂數和安全性考慮 143

8.5 公開的隨機性 145

8.6 用HKDF演算法派生金鑰 146

8.7 管理金鑰和秘密資訊 150

8.8 分散式門限密碼技術 151

8.9 本章小結 154

第二部分 協定:密碼學的核心作用

第9章 安全傳輸 157

9.1 SSL和TLS協議 157

9.1.1 從SSL到TLS的轉化 158

9.1.2 TLS的實際應用 158

9.2 TLS協議的工作原理 160

9.2.1 TLS協議的握手階段 161

9.2.2 TLS 1.3中加密應用程式資料的方法 172

9.3 Web加密技術發展現狀 172

9.4 其他安全傳輸協議 174

9.5 Noise協議框架:TLS新的替代方案 175

9.5.1 Noise協定框架中不同的握手模式 175

9.5.2 Noise協議的握手過程 176

9.6 本章小結 177

第10章 端到端加密 178

10.1 為什麼使用端到端加密 178

10.2 信任源缺失 180

10.3 郵件加密的失敗案例 181

10.3.1 PGP或GPG協議的工作原理 181

10.3.2 將Web系統信任機制擴展到使用者之間 184

10.3.3 尋找PGP公開金鑰是個難題 184

10.3.4 PGP的替代品 185

10.4 安全消息傳遞:現代端到端加密協議Signal 187

10.4.1 比Web信任機制更友好:信任可驗證 188

10.4.2 X3DH:Signal協議的握手過程 190

10.4.3 雙棘輪協議:Signal握手結束之後的協議 193

10.5 端到端加密最新進展 197

10.6 本章小結 198

第11章 用戶認證 200

11.1 認證性的定義 200

11.2 用戶身份認證 202

11.2.1 用一個口令來控制所有口令:單點登錄以及口令管理器 204

11.2.2 避免口令的明文傳輸:使用非對稱的口令認證金鑰切換式通訊協定 205

11.2.3 一次性口令並不是真正的口令:使用對稱金鑰進行無口令操作 208

11.2.4 用非對稱金鑰替換口令 211

11.3 用戶輔助身份認證:人工輔助設備配對 213

11.3.1 預共用金鑰 215

11.3.2 CPace對稱口令認證金鑰交換 216

11.3.3 用短認證字串避免金鑰交換遭受MIMT攻擊 217

11.4 本章小結 219

第12章 “加密貨幣” 221

12.1 拜占庭共識演算法介紹 222

12.1.1 資料恢復問題:分散式資料可恢復協定 222

12.1.2 信任問題:利用去中心化解決信任問題 223

12.1.3 規模問題:無許可和不受審查的網路 224

12.2 Bitcoin的工作原理 225

12.2.1 Bitcoin處理使用者餘額和交易的方式 226

12.2.2 挖掘數字黃金BTC 227

12.2.3 解決挖礦中的衝突 230

12.2.4 使用Merkle樹減小區塊的大小 233

12.3 “加密貨幣”之旅 234

12.3.1 波動性 235

12.3.2 延遲性 235

12.3.3 區塊鏈規模 235

12.3.4 機密性 236

12.3.5 電能消耗 236

12.4 DiemBFT:一種拜占庭容錯共識協議 236

12.4.1 安全性和活躍性:BFT共識協定的兩大屬性 236

12.4.2 一輪DiemBFT協議 237

12.4.3 協議對不誠實行為的容忍度 238

12.4.4 DiemBFT協定的投票規則 238

12.4.5 交易最終得到確認 240

12.4.6 DiemBFT協議安全性的直觀解釋 240

12.5 本章小結 242

第13章 硬體密碼學 244

13.1 現代密碼學中常見的攻擊模型 244

13.2 不可信環境:讓硬體提供説明 245

13.2.1 白盒密碼學不可取 246

13.2.2 智慧卡和安全元件 247

13.2.3 硬體安全模組—— 銀行業的寵兒 248

13.2.4 可信平臺模組:安全元件的有效標準化 250

13.2.5 在可信執行環境中進行保密計算 252

13.3 何為最優解決方案 253

13.4 防洩露密碼 255

13.4.1 恒定時間程式設計 256

13.4.2 隱藏與盲化 258

13.4.3 故障攻擊 258

13.5 本章小結 259

第14章 後量子密碼 261

14.1 震動密碼學界的量子電腦 261

14.1.1 研究小物體的量子力學 262

14.1.2 量子電腦從誕生到實現量子霸權 264

14.1.3 Shor和Grover演算法對密碼學的影響 265

14.1.4 可抵抗量子演算法的後量子密碼 266

14.2 基於雜湊函數的一次性簽名 266

14.2.1 Lamport一次性簽名 267

14.2.2 具有較小金鑰長度的Winternitz一次性簽名方案 268

14.2.3 XMSS和SPHINCS 多次簽名 270

14.3 基於格密碼的短金鑰和簽名方案 272

14.3.1 格的定義 273

14.3.2 格密碼的基礎:LWE問題 274

14.3.3 基於格的金鑰交換演算法Kyber 275

14.3.4 基於格的數位簽章演算法Dilithium 277

14.4 有必要恐慌嗎 278

14.5 本章小結 280

第15章 新一代密碼技術 281

15.1 安全多方計算 282

15.1.1 隱私集合求交 282

15.1.2 通用MPC協定 284

15.1.3 MPC發展現狀 285

15.2 全同態加密及其在雲技術中的應用 286

15.2.1 基於RSA加密方案的同態加密方案示例 286

15.2.2 不同類型的同態加密 287

15.2.3 Bootstrapping:全同態加密的關鍵 287

15.2.4 一種基於LWE問題的FHE方案 289

15.2.5 FHE的用武之地 290

15.3 通用零知識證明 291

15.3.1 zk-SNARK的工作原理 293

15.3.2 同態承諾隱藏部分證據 294

15.3.3 利用雙線性對改進同態承諾方案 294

15.3.4 簡潔性的來源 294

15.3.5 程式轉換為多項式 295

15.3.6 程式轉換為算術電路 296

15.3.7 R1CS運算電路 296

15.3.8 將R1CS轉換為多項式 297

15.3.9 隱藏在指數中的多項式 297

15.4 本章小結 299

第16章 密碼技術並非萬能 300

16.1 尋找到正確的密碼原語或協定 301

16.2 如何使用加密原語或協定——文雅標準與形式驗證 302

16.3 哪裡能找到出色的密碼庫 304

16.4 濫用密碼技術:開發者是密碼學家的敵手 305

16.5 可用安全性 306

16.6 密碼學並非一座孤島 308

16.7 不要輕易親自實現密碼演算法 309

16.8 本章小結 310

附錄 習題答案 312