《深入淺出密碼學——常用加密技術原理與套用》是2014年出版的圖書,作者是Christof Paar、Jan Pelzl。
基本介紹
- 中文名:深入淺出密碼學--常用加密技術原理與套用
- 作者:Christof Paar,Jan Pelzl
- 裝幀:平裝
圖書詳細信息,圖書簡介,前言,目錄,
圖書詳細信息
深入淺出密碼學——常用加密技術原理與套用
作者:Christof Paar,Jan Pelzl著
作者:Christof Paar,Jan Pelzl著
馬小婷 譯
ISBN:9787302296096
定價:59元
印次:1-3
裝幀:平裝
印刷日期:2014年12月30日
定價:59元
印次:1-3
裝幀:平裝
印刷日期:2014年12月30日
圖書簡介
全面透徹地理解密碼學
密碼學的套用範圍日益擴大,它不僅用於政府通信和銀行系統等傳統領域,還用於Web瀏覽器、電子郵件程式、手機、製造系統、嵌入式軟體、智慧型建築、汽車甚至人體器官移植等領域。今天的設計人員必須全面系統地了解套用密碼學。
本書作者長期執教於計算機科學與工程系,擁有十分豐富的套用密碼學教學經驗。本書可作為研究生和高年級本科生的教科書,也可供工程師自學之用。
密碼學的套用範圍日益擴大,它不僅用於政府通信和銀行系統等傳統領域,還用於Web瀏覽器、電子郵件程式、手機、製造系統、嵌入式軟體、智慧型建築、汽車甚至人體器官移植等領域。今天的設計人員必須全面系統地了解套用密碼學。
本書作者長期執教於計算機科學與工程系,擁有十分豐富的套用密碼學教學經驗。本書可作為研究生和高年級本科生的教科書,也可供工程師自學之用。
前言
密碼學已經滲透到我們生活的方方面面,從Web 瀏覽器和電子郵件程式,到手機、銀行卡、汽車,甚至包括器官移植。在不久的將來,我們將看到密碼學更多令人激動不已的新套用,比如防偽的射頻識別(RFID)標籤,或車對車的通信(已經有人在為保證這兩種套用的安全而努力)。過去,密碼學總是被傳統地限制在十分特殊的套用領域,尤其是政務信息和銀行系統。時至今日,這種情況已經發生了很大的改變。由於加密算法的普遍性,越來越多的人必須理解加密算法的工作原理,以及怎樣將它們套用到實踐中;本書全面介紹當前套用的密碼學,為讀者釋疑解惑,堪稱讀者的良師益友。本書面向學生和密碼行業的從業者。
本書可以幫助讀者深入地理解現代加密方案的工作原理。本書在對大學級別微積分背景要求最少的情況下,以最通俗易懂的方式介紹了必要的數學概念。所以,對本科生或即將開始學習研究生課程的學生而言,本書是一本非常合適的教科書;而對期望更深入理解現代密碼學的職業工程師或計算機科學家而言,本書則是極具價值的參考書。
本書擁有的諸多特徵使得它成為密碼學從業者和學生獨一無二的資源—本書介紹了絕大多數實際套用中使用的加密算法,並重點突出了它們的實用性。對於每種加密模式,我們都給出了最新的安全評估和推薦使用的密鑰長度。同時,本書也探討了每種算法在軟體實現和硬體實現中的一些重要問題。除加密算法外,本書還介紹了很多其他重要主題,比如加密協定、運作模式、安全服務和密鑰建立技術等。此外,本書還包含了許多非常新的主題,比如針對受限的套用而最佳化的輕量級加密(例如RFID 標籤或智慧卡),或新的操作模式。
目錄
第1章密碼學和數據安全導論·············1
1.1密碼學及本書內容概述···············1
1.2對稱密碼學··································3
1.2.1基礎知識······························4
1.2.2簡單對稱加密:替換密碼······5
1.3密碼分析······································8
1.3.1破譯密碼體制的一般思路·······8
1.3.2合適的密鑰長度····················10
1.4模運算與多種古典密碼·············11
1.4.1模運算···································12
1.4.2整數環···································15
1.4.3移位密碼(凱撒密碼)·············16
1.4.4仿射密碼·······························18
1.5討論及擴展閱讀························19
1.6要點回顧····································21
1.7習題············································21
第2章序列密碼·································27
2.1引言············································27
2.1.1序列密碼與分組密碼·············27
2.1.2序列密碼的加密與解密·········29
2.2隨機數與牢不可破的分組密碼····32
2.2.1隨機數生成器························32
2.2.2一次一密································34
2.2.3關於實際序列密碼················35
2.3基於移位暫存器的序列密碼·····38
2.3.1線性反饋移位暫存器(LFSR)···39
2.3.2針對單個LFSR的已知明文
攻擊······································43
2.3.3Trivium··································44
2.4討論及擴展閱讀···························46
2.5要點回顧····································47
2.6習題············································48
第3章數據加密標準與替換算法·······51
3.1DES簡介····································51
3.2DES算法概述····························54
3.3DES的內部結構························56
3.3.1初始置換與逆初始置換·········56
3.3.2f函式······································58
3.3.3密鑰編排································63
3.4解密············································65
3.5DES的安全性····························68
3.5.1窮盡密鑰搜尋························68
3.5.2分析攻擊································70
3.6軟體實現與硬體實現·················71
3.6.1軟體········································71
3.6.2硬體········································72
3.7DES替換算法····························72
目錄
深入淺出密碼學—常用加密技術原理與套用
VIII
3.7.1AES和AES入圍密碼···········72
3.7.23DES與DESX·······················73
3.7.3輕量級密碼PRESENT···········73
3.8討論及擴展閱讀························76
3.9要點回顧····································77
3.10習題··········································78
第4章高級加密標準·························83
4.1引言············································83
4.2AES算法概述····························85
4.3一些數學知識:伽羅瓦域簡介···87
4.3.1有限域的存在性·····················87
4.3.2素域········································89
4.3.3擴展域GF(2m)························90
4.3.4GF(2m)內的加法與減法··········91
4.3.5GF(2m)內的乘法·····················91
4.3.6GF(2m)內的逆操作·················93
4.4AES的內部結構························95
4.4.1位元組代換層·····························96
4.4.2擴散層····································99
4.4.3密鑰加法層···························101
4.4.4密鑰編排·······························101
4.5解密··········································106
4.6軟體實現與硬體實現···············110
4.6.1軟體······································110
4.6.2硬體······································111
4.7討論及擴展閱讀······················111
4.8要點回顧··································112
4.9習題··········································112
第5章分組密碼的更多內容·············117
5.1分組密碼加密:操作模式·······117
5.1.1電子密碼本模式(ECB)·······118
5.1.2密碼分組連結模式(CBC)·····122
5.1.3輸出反饋模式(OFB)············123
5.1.4密碼反饋模式(CFB)············125
5.1.5計數器模式(CTR)················126
5.1.6伽羅瓦計數器模式(GCM)···127
5.2回顧窮盡密鑰搜尋··················129
5.3增強分組密碼的安全性···········130
5.3.1雙重加密與中間人攻擊······131
5.3.2三重加密······························133
5.3.3密鑰漂白······························134
5.4討論及擴展閱讀······················136
5.5要點回顧··································137
5.6習題··········································137
第6章公鑰密碼學簡介···················141
6.1對稱密碼學與非對稱密碼學···141
6.2公鑰密碼學的實用性···············145
6.2.1安全機制·····························145
6.2.2遺留問題:公鑰的可靠性···146
6.2.3重要的公鑰算法·················146
6.2.4密鑰長度與安全等級··········147
6.3公鑰算法的基本數論知識·······148
6.3.1歐幾里得算法·····················148
6.3.2擴展的歐幾里得算法··········151
6.3.3歐拉函式·····························155
6.3.4費馬小定理與歐拉定理······157
6.4討論及擴展閱讀······················159
6.5要點回顧··································160
6.6習題··········································160
第7章RSA密碼體制······················163
7.1引言··········································164
7.2加密與解密······························164
7.3密鑰生成與正確性驗證···········165
7.4加密與解密:快速指數運算···169
1.1密碼學及本書內容概述···············1
1.2對稱密碼學··································3
1.2.1基礎知識······························4
1.2.2簡單對稱加密:替換密碼······5
1.3密碼分析······································8
1.3.1破譯密碼體制的一般思路·······8
1.3.2合適的密鑰長度····················10
1.4模運算與多種古典密碼·············11
1.4.1模運算···································12
1.4.2整數環···································15
1.4.3移位密碼(凱撒密碼)·············16
1.4.4仿射密碼·······························18
1.5討論及擴展閱讀························19
1.6要點回顧····································21
1.7習題············································21
第2章序列密碼·································27
2.1引言············································27
2.1.1序列密碼與分組密碼·············27
2.1.2序列密碼的加密與解密·········29
2.2隨機數與牢不可破的分組密碼····32
2.2.1隨機數生成器························32
2.2.2一次一密································34
2.2.3關於實際序列密碼················35
2.3基於移位暫存器的序列密碼·····38
2.3.1線性反饋移位暫存器(LFSR)···39
2.3.2針對單個LFSR的已知明文
攻擊······································43
2.3.3Trivium··································44
2.4討論及擴展閱讀···························46
2.5要點回顧····································47
2.6習題············································48
第3章數據加密標準與替換算法·······51
3.1DES簡介····································51
3.2DES算法概述····························54
3.3DES的內部結構························56
3.3.1初始置換與逆初始置換·········56
3.3.2f函式······································58
3.3.3密鑰編排································63
3.4解密············································65
3.5DES的安全性····························68
3.5.1窮盡密鑰搜尋························68
3.5.2分析攻擊································70
3.6軟體實現與硬體實現·················71
3.6.1軟體········································71
3.6.2硬體········································72
3.7DES替換算法····························72
目錄
深入淺出密碼學—常用加密技術原理與套用
VIII
3.7.1AES和AES入圍密碼···········72
3.7.23DES與DESX·······················73
3.7.3輕量級密碼PRESENT···········73
3.8討論及擴展閱讀························76
3.9要點回顧····································77
3.10習題··········································78
第4章高級加密標準·························83
4.1引言············································83
4.2AES算法概述····························85
4.3一些數學知識:伽羅瓦域簡介···87
4.3.1有限域的存在性·····················87
4.3.2素域········································89
4.3.3擴展域GF(2m)························90
4.3.4GF(2m)內的加法與減法··········91
4.3.5GF(2m)內的乘法·····················91
4.3.6GF(2m)內的逆操作·················93
4.4AES的內部結構························95
4.4.1位元組代換層·····························96
4.4.2擴散層····································99
4.4.3密鑰加法層···························101
4.4.4密鑰編排·······························101
4.5解密··········································106
4.6軟體實現與硬體實現···············110
4.6.1軟體······································110
4.6.2硬體······································111
4.7討論及擴展閱讀······················111
4.8要點回顧··································112
4.9習題··········································112
第5章分組密碼的更多內容·············117
5.1分組密碼加密:操作模式·······117
5.1.1電子密碼本模式(ECB)·······118
5.1.2密碼分組連結模式(CBC)·····122
5.1.3輸出反饋模式(OFB)············123
5.1.4密碼反饋模式(CFB)············125
5.1.5計數器模式(CTR)················126
5.1.6伽羅瓦計數器模式(GCM)···127
5.2回顧窮盡密鑰搜尋··················129
5.3增強分組密碼的安全性···········130
5.3.1雙重加密與中間人攻擊······131
5.3.2三重加密······························133
5.3.3密鑰漂白······························134
5.4討論及擴展閱讀······················136
5.5要點回顧··································137
5.6習題··········································137
第6章公鑰密碼學簡介···················141
6.1對稱密碼學與非對稱密碼學···141
6.2公鑰密碼學的實用性···············145
6.2.1安全機制·····························145
6.2.2遺留問題:公鑰的可靠性···146
6.2.3重要的公鑰算法·················146
6.2.4密鑰長度與安全等級··········147
6.3公鑰算法的基本數論知識·······148
6.3.1歐幾里得算法·····················148
6.3.2擴展的歐幾里得算法··········151
6.3.3歐拉函式·····························155
6.3.4費馬小定理與歐拉定理······157
6.4討論及擴展閱讀······················159
6.5要點回顧··································160
6.6習題··········································160
第7章RSA密碼體制······················163
7.1引言··········································164
7.2加密與解密······························164
7.3密鑰生成與正確性驗證···········165
7.4加密與解密:快速指數運算···169
目錄
IX
7.5RSA的加速技術······················173
7.5.1使用短公開指數的快速加密···173
7.5.2使用中國餘數定理的快速
加密······································174
7.6尋找大素數······························177
7.6.1素數的普遍性······················177
7.6.2素性測試·····························178
7.7實際中的RSA:填充··············182
7.8攻擊··········································183
7.9軟體實現與硬體實現···············186
7.10討論及擴展閱讀······················187
7.11要點回顧··································188
7.12習題··········································189
第8章基於離散對數問題的公鑰
密碼體制·······························193
8.1Diffie-Hellman密鑰交換·········194
8.2一些代數知識··························196
8.2.1群·········································196
8.2.2循環群·································198
8.2.3子群·····································202
8.3離散對數問題··························204
8.3.1素數域內的離散對數問題····204
8.3.2推廣的離散對數問題············205
8.3.3針對離散對數問題的攻擊····207
8.4Diffie-Hellman密鑰交換的安
全性···············································211
8.5Elgamal加密方案····················212
8.5.1從Diffie-Hellman密鑰交換
到Elgamal加密··················212
8.5.2Elgamal協定·······················213
8.5.3計算方面·····························215
8.5.4安全性·································216
8.6討論及擴展閱讀······················218
8.7要點回顧··································219
8.8習題··········································219
第9章橢圓曲線密碼體制················225
9.1橢圓曲線的計算方式···············226
9.1.1橢圓曲線的定義··················227
9.1.2橢圓曲線上的群操作···········228
9.2使用橢圓曲線構建離散對數
問題················································232
9.3基於橢圓曲線的Diffie-Hellman
密鑰交換··································236
9.4安全性······································238
9.5軟體實現與硬體實現···············238
9.6討論及擴展閱讀······················239
9.7要點回顧··································241
9.8習題··········································241
第10章數字簽名····························245
10.1引言········································245
10.1.1對稱密碼學尚不能完全
滿足需要的原因··············246
10.1.2數字簽名的基本原理······247
10.1.3安全服務·························248
10.2RSA簽名方案························249
10.2.1教科書的RSA數字簽名···250
10.2.2計算方面··························251
10.2.3安全性······························252
10.3Elgamal數字簽名方案··········255
10.3.1教科書的Elgamal
數字簽名··························255
10.3.2計算方面··························257
10.3.3安全性······························258
10.4數字簽名算法························261
10.4.1DSA算法·························261
深入淺出密碼學—常用加密技術原理與套用
X
10.4.2計算方面··························264
10.4.3安全性······························265
10.5橢圓曲線數字簽名算法·········266
10.5.1ECDSA算法····················267
10.5.2計算方面··························270
10.5.3安全性······························270
10.6討論及擴展閱讀····················271
10.7要點回顧································272
10.8習題········································272
第11章哈希函式·····························277
11.1動機:對長訊息簽名·············277
11.2哈希函式的安全性要求·········280
11.2.1抗第一原像性或單向性···280
11.2.2抗第二原像性或弱抗
衝突性······························281
11.2.3抗衝突性與生日攻擊·······282
11.3哈希函式概述·························286
11.3.1專用的哈希函式:MD4
家族··································287
11.3.2從分組密碼構建的哈希
函式··································288
11.4安全哈希算法SHA-1·············290
11.4.1預處理······························291
11.4.2哈希計算··························292
11.4.3實現··································294
11.5討論及擴展閱讀·····················295
11.6要點回顧································296
11.7習題········································297
第12章訊息驗證碼·························301
12.1訊息驗證碼的基本原理·········301
12.2來自哈希函式的MAC:
HMAC····································303
12.3來自分組密碼的MAC:
CBC-MAC·····························307
12.4伽羅瓦計數器訊息驗證碼·····308
12.5討論及擴展閱讀····················309
12.6要點回顧································309
12.7習題········································310
第13章密鑰建立····························313
13.1引言········································314
13.1.1一些術語··························314
13.1.2密鑰刷新和密鑰衍生·······314
13.1.3n2密鑰分配問題··············316
13.2使用對稱密鑰技術的密鑰
建立··············································317
13.2.1使用密鑰分配中心的密鑰
建立··································318
13.2.2Kerberos···························321
13.2.3使用對稱密鑰分配的其他
問題·································323
13.3使用非對稱密鑰技術的密鑰
建立·······································323
13.3.1中間人攻擊······················324
13.3.2證書·································326
13.3.3PKI和CA························329
13.4討論及擴展閱讀····················332
13.5要點回顧································333
13.6習題········································333
參考文獻·················································339