TOP
0
0
三民出版.新書搶先報|最速、最優惠的新鮮貨報給你知!
深入淺出CryptoPP密碼學庫(簡體書)
滿額折

深入淺出CryptoPP密碼學庫(簡體書)

商品資訊

人民幣定價:46 元
定價
:NT$ 276 元
優惠價
87240
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:7 點
商品簡介
目次
相關商品

商品簡介

本書向讀者介紹了CryptoPP密碼學庫(簡稱CryptoPP庫)的使用方法和設計原理。CryptoPP庫廣泛應用於學術界、開源項目、非商業項目以及商業項目,它幾乎包括了目前已經公開的所有密碼算法,支持當前主流的多種系統平臺,並且具有良好的設計結構和較高的執行效率。

全書共15章,主要內容包括緒論、安裝和配置CryptoPP庫、程序設計基礎、初識CryptoPP庫、隨機數發生器、Hash函數、流密碼、分組密碼、消息認證碼、密鑰派生和基於口令的密碼、公鑰密碼數學基礎、公鑰加密、數字簽名、密鑰協商、建立安全信道等。本書涵蓋了C++程序設計、設計模式、數論和密碼學等知識。

本書最大的特點就是以應用為導向,以解決實際工程問題為目標,理論結合實踐,將抽象的密碼學變成保障信息安全的實際工具。

本書可以作為密碼學、網絡安全等專業在校學生的上機實驗教材,也可以作為信息安全產品開發者、科研人員、密碼算法實現者的參考手冊。

目次

第1章 緒論 1

1.1 CryptoPP庫簡介 1

1.2 CryptoPP庫作者簡介 1

1.2.1 Wei Dai簡介 1

1.2.2 Jeffrey Walton簡介 2

1.3 CryptoPP庫內容簡介 3

1.4 CryptoPP庫的歷史版本 5

1.5 其他的密碼程序庫 6

1.6 小結 6

第2章 安裝和配置CryptoPP庫 7

2.1 下載CryptoPP庫 7

2.2 在Windows系統下安裝CryptoPP庫 7

2.3 在Linux系統下安裝CryptoPP庫 14

2.4 小結 15

第3章 程序設計基礎 16

3.1 C/C++ 基礎知識 16

3.1.1 面向對象程序設計的常用概念 17

3.1.2 類(Class)和對象(Object) 18

3.1.3 類的數據成員(Data Member)和

成員函數(Member Function) 18

3.1.4 繼承(Inheritance) 20

3.1.5 類成員的訪問屬性(Access

Property) 21

3.1.6 重載(Overloading) 22

3.1.7 構造函數(Constructor)和

析構函數(Destructor) 24

3.1.8 類型轉換(Type Cast) 25

3.1.9 多態性(Polymorphism)和

虛函數(Virtual Function) 27

3.1.10 純虛函數(Pure Virtual Function)和

抽象類(Abstract Class) 32

3.1.11 傳引用(By Reference)、傳值

(By Value)和傳指針(By Pointer) 35

3.1.12 友元函數(Friend Function)和

友元類(Friend Class) 36

3.1.13 內存分配(Allocate)和釋放(Free) 37

3.1.14 模板(Template) 38

3.1.15 異常處理(Exception Handling) 40

3.1.16 命名空間(Namespace) 43

3.2 數據結構和算法 44

3.3 面向對象的程序設計原則和設計模式 51

3.3.1 創建型模式(Creational Pattern) 52

3.3.2 結構型模式(Structural Pattern) 53

3.3.3 行為型模式(Behavioral Pattern) 54

3.3.4 其他模式(Other Pattern) 55

3.4 小結 56

第4章 初識CryptoPP庫 57

4.1 使用幫助文檔 57

4.2 CryptoPP庫的源代碼文件 59

4.3 數據編碼 67

4.3.1 整數的b進制表示 67

4.3.2 Base系列編碼 68

4.3.3 ASN.1編碼標準 73

4.3.4 編碼與加密的區別 77

4.4 Pipeling範式數據處理技術 77

4.4.1 Pipeling範式數據處理技術的

概念 77

4.4.2 Pipeling範式數據處理技術的

原理 79

4.4.3 使用Pipeling範式數據處理技術 83

4.4.4 以自動方式使用Pipeling範式

技術 85

4.4.5 以手動方式使用Pipeling範式

技術 89

4.4.6 以半手動或半自動方式使用

Pipeling範式技術 92

4.4.7 一個特殊的BufferedTransformation

類――ByteQueue 95

4.4.8 單鏈型與多分支型Pipeling範式

數據鏈 97

4.5 計時器工具 100

4.6 秘密分割門限工具 102

4.7 Socket網絡工具 107

4.8 壓縮工具 112

4.9 小結 114

第5章 隨機數發生器 115

5.1 基礎知識 115

5.2 CryptoPP庫中的隨機數發生器算法 116

5.3 使用CryptoPP庫中的隨機數發生器

算法 119

5.3.1 示例一:使用LC_RNG算法 123

5.3.2 示例二:使用AutoSeededX917RNG

算法 124

5.3.3 示例三:以Pipeling範式技術方式

使用AutoSeededX917RNG算法 127

5.4 小結 130

第6章 Hash函數 131

6.1 基礎知識 131

6.2 CryptoPP庫中的Hash函數算法 132

6.3 使用CryptoPP庫中的Hash函數

算法 134

6.3.1 示例一:計算字符串的Hash值 139

6.3.2 示例二:計算文件的Hash值 141

6.3.3 示例三:以Pipeling範式技術方式

使用Hash函數 143

6.4 小結 145

第7章 流密碼 146

7.1 基礎知識 146

7.2 CryptoPP庫中的流密碼算法 147

7.3 使用CryptoPP庫中的流密碼算法 150

7.3.1 示例一:使用XSalsa20算法

加、解密字符串 153

7.3.2 示例二:使用ChaCha20算法

加、解密文件 155

7.3.3 示例三:以Pipeling範式技術方式

使用ChaCha12算法 157

7.4 小結 159

第8章 分組密碼 160

8.1 基礎知識 160

8.2 CryptoPP庫中的分組密碼算法和

操作模式 162

8.3 使用CryptoPP庫中的分組密碼算法 167

8.3.1 示例一:以CBC模式運行分組

密碼Camellia 170

8.3.2 示例二:以EAX模式運行分組

密碼Camellia 175

8.4 小結 178

第9章 消息認證碼 179

9.1 基礎知識 179

9.2 CryptoPP庫中的消息認證碼算法 182

9.3 使用CryptoPP庫中的消息認證碼算法 183

9.3.1 示例一:使用HMAC算法 183

9.3.2 示例二:利用Hash函數自定義

消息認證碼算法 186

9.4 小結 188

第10章 密鑰派生和基於口令的密碼 190

10.1 基礎知識 190

10.1.1 密鑰派生函數的其他參數 191

10.1.2 使用派生函數實現數據保護的

模型 192

10.2 CryptoPP庫中的密鑰派生和基於

口令的密碼算法 193

10.3 使用CryptoPP庫中的密鑰派生和

基於口令的密碼算法 194

10.3.1 示例一:使用密鑰派生函數

HKDF 196

10.3.2 示例二:利用基於口令的

密鑰派生函數實現數據保護 198

10.4 小結 204

第11章 公鑰密碼數學基礎 205

11.1 C/C++系統預定義的整數範圍 205

11.2 CryptoPP庫中大整數的構造 206

11.3 使用CryptoPP庫的大整數 209

11.4 CryptoPP庫中的數論算法 213

11.4.1 素性檢測 213

11.4.2 數論常用算法 215

11.4.3 其他算法 217

11.4.4 產生素數有關的類 217

11.4.5 算法綜合使用示例及習題 219

11.5 CryptoPP庫中的代數結構 222

11.5.1 群、環、域的定義 222

11.5.2 CryptoPP庫中的代數結構 223

11.5.3 使用CryptoPP庫中的代數結構 224

11.6 密碼學中的困難問題 229

11.7 小結 230

第12章 公鑰加密 231

12.1 基礎知識 231

12.2 CryptoPP庫中的公鑰加密算法 232

12.3 使用CryptoPP庫中的公鑰加密算法 234

12.3.1 示例一:使用非集成公鑰加密

算法RSAES 235

12.3.2 示例二:使用集成公鑰加密

算法ECIES 243

12.4 小結 249

第13章 數字簽名 250

13.1 基礎知識 250

13.2 CryptoPP庫中的數字簽名算法 251

13.3 使用CryptoPP庫中的數字簽名算法 253

13.3.1 示例一:使用RWSS數字

簽名算法 253

13.3.2 示例二:使用ECNR數字

簽名算法 260

13.4 小結 261

第14章 密鑰協商 262

14.1 基礎知識 262

14.2 CryptoPP庫中的密鑰協商算法 264

14.3 使用CryptoPP庫中的密鑰協商算法 265

14.3.1 示例一:使用經典的DH密鑰

協商算法 265

14.3.2 示例二:使用具有認證功能的

ECMQV密鑰協商算法 270

14.4 小結 275

第15章 建立安全信道 276

15.1 基礎知識 276

15.2 產生共享信息 277

15.2.1 方案分析 277

15.2.2 算法和參數的選取 278

15.2.3 方案執行流程圖 280

15.3 完成文件的加密和認證 281

15.3.1 方案分析 281

15.3.2 算法和參數的選取 281

15.3.3 方案執行流程圖 282

15.4 示例代碼 282

15.4.1 服務端示例代碼 283

15.4.2 客戶端示例代碼 289

15.4.3 程序運行結果說明 295

15.5 方案總結 297

15.6 小結 299

附錄 300

附錄A 示例程序的GUI版 300

A.1“文件分割”程序 300

A.2 “文件守衛”程序使用說明 302

附錄B 基於CryptoPP(Crypto++)庫的

軟件產品 305

B.1 Sampson Multimedia Crypto++ SDK 305

B.2 USBCrypt 306

B.3 其他軟件產品 306

附錄C CryptoPP庫算法索引 307

C.1 隨機數發生器算法 307

C.2 Hash函數算法 308

C.3 流密碼算法 310

C.4 分組密碼算法 310

C.5 消息認證碼算法 313

C.6 密鑰派生和基於口令的密碼算法 314

C.7 公鑰加密算法 314

C.8 數字簽名算法 315

C.9 密鑰協商算法 316

附錄D PKCS標準 316

附錄E 網絡資源及書籍推薦 317

E.1 Crypto++(CryptoPP)庫相關的網址 317

E.2 及時關注Crypto++ 庫的相關消息 317

E.3 獲取本書資源 318

E.4 推薦書籍 318

參考文獻 320

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 240
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區