本書以圖配文的形式,詳細(xì)講解了6種重要的密碼技術(shù):對稱密碼、公鑰密碼、單向散列函數(shù)、消息認(rèn)證碼、數(shù)字簽名和偽數(shù)生成器。 第1部分講述了密碼技術(shù)的歷史沿革、對稱密碼、分組密碼模式(包括ECB、CBC、CFB、OFB、CTR)、公鑰密碼、混合密碼系統(tǒng)。第2部分重點(diǎn)介紹了認(rèn)證方面的內(nèi)容,涉及單向散列函數(shù)、消息認(rèn)證碼、數(shù)字簽名、證書等。第3部分講述了密鑰、數(shù)、PGP、SSL/TLS 以及密碼技術(shù)在現(xiàn)實(shí)生活中的應(yīng)用。 第3版對舊版內(nèi)容進(jìn)行了大幅更新,并新增POODLE攻擊、心臟出血漏洞、Superfish事件、SHA-3競賽、Keccak、認(rèn)證加密、橢圓曲線密碼、比特幣等內(nèi)容。
暢銷書升級!新增橢圓曲線密碼、比特幣等前沿內(nèi)容!
舊版穩(wěn)居亞馬遜計(jì)算機(jī)安全類No.1
日本數(shù)學(xué)協(xié)會(huì)出版獎(jiǎng)得主、《程序員的數(shù)學(xué)》《數(shù)學(xué)女孩》作者 結(jié)城浩重磅力作!
好懂的密碼學(xué)!
第3版修訂,內(nèi)容更前沿
第3版對全書內(nèi)容進(jìn)行了大幅更新,并新增POODLE攻擊、“心臟出血”漏洞、Superfish事件、SHA-3競賽、Keccak、認(rèn)證加密、橢圓曲線密碼、比特幣等新內(nèi)容。
拒絕繁冗的數(shù)學(xué)公式和干巴巴的理論
無需編程基礎(chǔ),配圖講解,真的很好懂!
涵蓋現(xiàn)代密碼技術(shù)
對稱密碼、公鑰密碼、單向散列函數(shù)、消息認(rèn)證碼、數(shù)字簽名、偽數(shù)生成器、量子密碼、量子計(jì)算機(jī),一網(wǎng)打盡。
結(jié)城浩(作者)生于1963年,日本杰出技術(shù)作家和程序員。在編程語言、設(shè)計(jì)模式、數(shù)學(xué)、加密技術(shù)等領(lǐng)域,編寫了很多深受歡迎的入門書。代表作有《數(shù)學(xué)女孩》系列、《程序員的數(shù)學(xué)》等。
周自恒(譯者) IT、編程愛好者,初中時(shí)曾在NOI(國家信息學(xué)奧賽)天津賽區(qū)獲一等獎(jiǎng),現(xiàn)就職于 某管理咨詢公司,任咨詢顧問兼戰(zhàn)略技術(shù)總監(jiān)。譯著有《圖解CIO工作指南(第4版)》《大數(shù)據(jù)的沖擊》《代碼的未來》《30天自制操作系統(tǒng)》《家用游戲機(jī)簡史》《有趣的二進(jìn)制》等。
第1部分密碼1
第1章環(huán)游密碼世界3
1.1本章學(xué)習(xí)的內(nèi)容4
1.2密碼4
1.2.1Alice與Bob4
1.2.2發(fā)送者、接收者和竊聽者4
1.2.3加密與解密6
1.2.4密碼保障了消息的機(jī)密性7
1.2.5破譯7
1.3對稱密碼與公鑰密碼8
1.3.1密碼算法8
1.3.2密鑰8
1.3.3對稱密碼與公鑰密碼9
1.3.4混合密碼系統(tǒng)10
1.4其他密碼技術(shù)10
1.4.1單向散列函數(shù)10
1.4.2消息認(rèn)證碼10
1.4.3數(shù)字簽名11
1.4.4偽隨機(jī)數(shù)生成器11
1.5密碼學(xué)家的工具箱12
1.6隱寫術(shù)與數(shù)字水印13
1.7密碼與信息安全常識(shí)14
1.7.1不要使用保密的密碼算法14
1.7.2使用低強(qiáng)度的密碼比不進(jìn)行任何加密更危險(xiǎn)15
1.7.3任何密碼總有24小時(shí)都會(huì)被破解15
1.7.4密碼只是信息安全的一部分16
1.8本章小結(jié)16
1.9小測驗(yàn)的答案17
第2章歷史上的密碼 ——寫一篇?jiǎng)e人看不懂的文章19
2.1本章學(xué)習(xí)的內(nèi)容20
2.2愷撒密碼20
2.2.1什么是愷撒密碼21
2.2.2愷撒密碼的加密21
2.2.3愷撒密碼的解密22
2.2.4用暴力破解來破譯密碼23
2.3簡單替換密碼24
2.3.1什么是簡單替換密碼24
2.3.2簡單替換密碼的加密25
2.3.3簡單替換密碼的解密26
2.3.4簡單替換密碼的密鑰空間26
2.3.5用頻率分析來破譯密碼26
2.4Enigma31
2.4.1什么是Enigma31
2.4.2用Enigma進(jìn)行加密通信31
2.4.3Enigma的構(gòu)造32
2.4.4Enigma的加密34
2.4.5每日密碼與通信密碼36
2.4.6避免通信錯(cuò)誤36
2.4.7Enigma的解密36
2.4.8Enigma的弱點(diǎn)38
2.4.9Enigma的破譯38
2.5思考40
2.6本章小結(jié)41
2.7小測驗(yàn)的答案42
第3章對稱密碼(共享密鑰密碼)——用相同的密鑰進(jìn)行加密和解密45
3.1炒雞蛋與對稱密碼46
3.2本章學(xué)習(xí)的內(nèi)容46
3.3從文字密碼到比特序列密碼46
3.3.1編碼46
3.3.2XOR47
3.4一次性密碼本——不會(huì)被破譯的密碼50
3.4.1什么是一次性密碼本50
3.4.2一次性密碼本的加密50
3.4.3一次性密碼本的解密51
3.4.4一次性密碼本是無法破譯的51
3.4.5一次性密碼本為什么沒有被使用52
3.5DES53
3.5.1什么是DES53
3.5.2加密和解密54
3.5.3DES的結(jié)構(gòu)(Feistel網(wǎng)絡(luò))54
3.5.4差分分析與線性分析60
3.6三重DES61
3.6.1什么是三重DES61
3.6.2三重DES的加密61
3.6.3三重DES的解密63
3.6.4三重DES的現(xiàn)狀64
3.7AES的選定過程65
3.7.1什么是AES65
3.7.2AES的選拔過程65
3.7.3AES最終候選算法的確定與AES的最終確定66
3.8Rijndael66
3.8.1什么是Rijndael66
3.8.2Rijndael的加密和解密67
3.8.3Rijndael的破譯71
3.8.4應(yīng)該使用哪種對稱密碼呢71
3.9本章小結(jié)72
3.10小測驗(yàn)的答案73
第4章分組密碼的模式——分組密碼是如何迭代的75
4.1本章學(xué)習(xí)的內(nèi)容76
4.2分組密碼的模式77
4.2.1分組密碼與流密碼77
4.2.2什么是模式77
4.2.3明文分組與密文分組78
4.2.4主動(dòng)攻擊者M(jìn)allory78
4.3ECB模式79
4.3.1什么是ECB模式79
4.3.2ECB模式的特點(diǎn)80
4.3.3對ECB模式的攻擊80
4.4CBC模式82
4.4.1什么是CBC模式82
4.4.2初始化向量83
4.4.3CBC模式的特點(diǎn)84
4.4.4對CBC模式的攻擊84
4.4.5填充提示攻擊86
4.4.6對初始化向量(IV)進(jìn)行攻擊86
4.4.7CBC模式的應(yīng)用實(shí)例86
4.5CFB模式88
4.5.1什么是CFB模式88
4.5.2初始化向量89
4.5.3CFB模式與流密碼89
4.5.4CFB模式的解密90
4.5.5對CFB模式的攻擊90
4.6OFB模式91
4.6.1什么是OFB模式91
4.6.2初始化向量92
4.6.3CFB模式與OFB模式的對比92
4.7CTR模式93
4.7.1計(jì)數(shù)器的生成方法95
4.7.2OFB模式與CTR模式的對比95
4.7.3CTR模式的特點(diǎn)95
4.7.4錯(cuò)誤與機(jī)密性96
4.8應(yīng)該使用哪種模式呢96
4.9本章小結(jié)97
4.10小測驗(yàn)的答案98
第5章公鑰密碼——用公鑰加密,用私鑰解密101
5.1投幣寄物柜的使用方法102
5.2本章學(xué)習(xí)的內(nèi)容102
5.3密鑰配送問題102
5.3.1什么是密鑰配送問題102
5.3.2通過事先共享密鑰來解決104
5.3.3通過密鑰分配中心來解決105
5.3.4通過Diffie-Hellman密鑰交換來解決密鑰配送問題106
5.3.5通過公鑰密碼來解決密鑰配送問題106
5.4公鑰密碼107
5.4.1什么是公鑰密碼107
5.4.2公鑰密碼的歷史108
5.4.3公鑰通信的流程108
5.4.4各種術(shù)語110
5.4.5公鑰密碼無法解決的問題110
5.5時(shí)鐘運(yùn)算110
5.5.1加法111
5.5.2減法113
5.5.3乘法114
5.5.4除法114
5.5.5乘方118
5.5.6對數(shù)118
5.5.7從時(shí)鐘指針到RSA119
5.6RSA120
5.6.1什么是RSA120
5.6.2RSA加密120
5.6.3RSA解密121
5.6.4生成密鑰對122
5.6.5具體實(shí)踐一下吧125
5.7對RSA的攻擊128
5.7.1通過密文來求得明文128
5.7.2通過暴力破解來找出D128
5.7.3通過E和N求出D129
5.7.4中間人攻擊130
5.7.5選擇密文攻擊132
5.8其他公鑰密碼133
5.8.1ElGamal方式133
5.8.2Rabin方式133
5.8.3橢圓曲線密碼133
5.9關(guān)于公鑰密碼的Q&A133
5.9.1公鑰密碼的機(jī)密性134
5.9.2公鑰密碼與對稱密碼的密鑰長度134
5.9.3對稱密碼的未來135
5.9.4RSA與質(zhì)數(shù)135
5.9.5RSA與質(zhì)因數(shù)分解136
5.9.6RSA的長度136
5.10本章小結(jié)138
5.11小測驗(yàn)的答案139
第6章混合密碼系統(tǒng)——用對稱密碼提高速度,用公鑰密碼保護(hù)會(huì)話密鑰141
6.1混合動(dòng)力汽車142
6.2本章學(xué)習(xí)的內(nèi)容142
6.3混合密碼系統(tǒng)142
6.3.1對稱密碼與公鑰密碼142
6.3.2混合密碼系統(tǒng)143
6.3.3加密144
6.3.4解密146
6.3.5混合密碼系統(tǒng)的具體例子147
6.4怎樣才是高強(qiáng)度的混合密碼系統(tǒng)147
6.4.1偽隨機(jī)數(shù)生成器147
6.4.2對稱密碼148
6.4.3公鑰密碼148
6.4.4密鑰長度的平衡148
6.5密碼技術(shù)的組合148
6.6本章小結(jié)149
6.7小測驗(yàn)的答案150
第2部分 認(rèn)證151
第7章單向散列函數(shù)——獲取消息的“指紋”153
7.1本章學(xué)習(xí)的內(nèi)容154
7.2什么是單向散列函數(shù)154
7.2.1這個(gè)文件是不是真的呢154
7.2.2什么是單向散列函數(shù)157
7.2.3單向散列函數(shù)的性質(zhì)159
7.2.4關(guān)于術(shù)語162
7.3單向散列函數(shù)的實(shí)際應(yīng)用163
7.3.1檢測軟件是否被篡改163
7.3.2基于口令的加密165
7.3.3消息認(rèn)證碼165
7.3.4數(shù)字簽名165
7.3.5偽隨機(jī)數(shù)生成器165
7.3.6一次性口令165
7.4單向散列函數(shù)的具體例子166
7.4.1MD4、MD5166
7.4.2SHA-1、SHA-256、SHA-384、SHA-512166
7.4.3RIPEMD-160167
7.4.4SHA-3167
7.5SHA-3的選拔過程168
7.5.1什么是SHA-3168
7.5.2SHA-3的選拔過程168
7.5.3SHA-3最終候選名單的確定與SHA-3的最終確定168
7.6Keccak169
7.6.1什么是Keccak169
7.6.2海綿結(jié)構(gòu)170
7.6.3雙工結(jié)構(gòu)171
7.6.4Keccak的內(nèi)部狀態(tài)172
7.6.5函數(shù)Keccak-f [b ]174
7.6.6對Keccak的攻擊177
7.6.7對縮水版Keccak的攻擊競賽177
7.7應(yīng)該使用哪種單向散列函數(shù)呢178
7.8對單向散列函數(shù)的攻擊178
7.8.1暴力破解(攻擊故事1)178
7.8.2生日攻擊(攻擊故事2)180
7.9單向散列函數(shù)無法解決的問題182
7.10本章小結(jié)183
7.11小測驗(yàn)的答案184
第8章消息認(rèn)證碼——消息被正確傳送了嗎187
8.1本章學(xué)習(xí)的內(nèi)容188
8.2消息認(rèn)證碼188
8.2.1匯款請求是正確的嗎188
8.2.2什么是消息認(rèn)證碼189
8.2.3消息認(rèn)證碼的使用步驟190
8.2.4消息認(rèn)證碼的密鑰配送問題190
8.3消息認(rèn)證碼的應(yīng)用實(shí)例191
8.3.1SWIFT191
8.3.2IPsec191
8.3.3SSL/TLS192
8.4消息認(rèn)證碼的實(shí)現(xiàn)方法192
8.4.1使用單向散列函數(shù)實(shí)現(xiàn)192
8.4.2使用分組密碼實(shí)現(xiàn)192
8.4.3其他實(shí)現(xiàn)方法192
8.5認(rèn)證加密192
8.6HMAC的詳細(xì)介紹193
8.6.1什么是HMAC193
8.6.2HMAC的步驟194
8.7對消息認(rèn)證碼的攻擊196
8.7.1重放攻擊196
8.7.2密鑰推測攻擊198
8.8消息認(rèn)證碼無法解決的問題199
8.8.1對第三方證明199
8.8.2防止否認(rèn)199
8.9本章小結(jié)200
8.10小測驗(yàn)的答案200
第9章數(shù)字簽名——消息到底是誰寫的203
9.1羊媽媽的認(rèn)證204
9.2本章學(xué)習(xí)的內(nèi)容204
9.3數(shù)字簽名204
9.3.1Alice的借條204
9.3.2從消息認(rèn)證碼到數(shù)字簽名205
9.3.3簽名的生成和驗(yàn)證206
9.3.4公鑰密碼與數(shù)字簽名207
9.4數(shù)字簽名的方法209
9.4.1直接對消息簽名的方法209
9.4.2對消息的散列值簽名的方法211
9.5對數(shù)字簽名的疑問214
9.5.1密文為什么能作為簽名使用214
9.5.2數(shù)字簽名不能保障機(jī)密性嗎214
9.5.3這種簽名可以隨意復(fù)制嗎215
9.5.4消息內(nèi)容會(huì)不會(huì)被任意修改215
9.5.5簽名會(huì)不會(huì)被重復(fù)使用216
9.5.6刪除簽名也無法“作廢合同”嗎216
9.5.7如何防止否認(rèn)217
9.5.8數(shù)字簽名真的能夠代替簽名嗎217
9.6數(shù)字簽名的應(yīng)用實(shí)例218
9.6.1安全信息公告218
9.6.2軟件下載219
9.6.3公鑰證書220
9.6.4SSL/TLS220
9.7通過RSA實(shí)現(xiàn)數(shù)字簽名220
9.7.1用RSA生成簽名220
9.7.2用RSA驗(yàn)證簽名221
9.7.3具體實(shí)踐一下吧221
9.8其他的數(shù)字簽名222
9.8.1ElGamal方式222
9.8.2DSA223
9.8.3ECDSA223
9.8.4Rabin方式223
9.9對數(shù)字簽名的攻擊223
9.9.1中間人攻擊223
9.9.2對單向散列函數(shù)的攻擊224
9.9.3利用數(shù)字簽名攻擊公鑰密碼224
9.9.4潛在偽造225
9.9.5其他攻擊226
9.10各種密碼技術(shù)的對比226
9.10.1消息認(rèn)證碼與數(shù)字簽名226
9.10.2混合密碼系統(tǒng)與對散列值簽名227
9.11數(shù)字簽名無法解決的問題227
9.12本章小結(jié)227
9.13小測驗(yàn)的答案228
第10章證書——為公鑰加上數(shù)字簽名229
10.1本章學(xué)習(xí)的內(nèi)容230
10.2證書230
10.2.1什么是證書230
10.2.2證書的應(yīng)用場景230
10.3實(shí)際生成一張證書233
10.3.1賽門鐵克的Digital ID免費(fèi)試用服務(wù)233
10.3.2生成證書233
10.3.3顯示證書234
10.3.4證書標(biāo)準(zhǔn)規(guī)范236
10.4公鑰基礎(chǔ)設(shè)施(PKI)237
10.4.1什么是公鑰基礎(chǔ)設(shè)施237
10.4.2PKI 的組成要素238
10.4.3認(rèn)證機(jī)構(gòu)的工作240
10.4.4證書的層級結(jié)構(gòu)241
10.4.5各種各樣的PKI242
10.5對證書的攻擊243
10.5.1在公鑰注冊之前進(jìn)行攻擊244
10.5.2注冊相似人名進(jìn)行攻擊245
10.5.3竊取認(rèn)證機(jī)構(gòu)的私鑰進(jìn)行攻擊245
10.5.4攻擊者偽裝成認(rèn)證機(jī)構(gòu)進(jìn)行攻擊246
10.5.5鉆CRL的空子進(jìn)行攻擊(1)246
10.5.6鉆CRL的空子進(jìn)行攻擊(2)247
10.5.7Superfish248
10.6關(guān)于證書的Q&A249
10.6.1為什么需要證書249
10.6.2通過自己的方法進(jìn)行認(rèn)證是不是更安全250
10.6.3為什么要相信認(rèn)證機(jī)構(gòu)251
10.7本章小結(jié)252
10.8小測驗(yàn)的答案253
第3部分密鑰、隨機(jī)數(shù)與應(yīng)用技術(shù)255
第11章密鑰——秘密的精華257
11.1本章學(xué)習(xí)的內(nèi)容258
11.2什么是密鑰258
11.2.1密鑰就是一個(gè)巨大的數(shù)字258
11.2.2密鑰與明文是等價(jià)的260
11.2.3密碼算法與密鑰260
11.3各種不同的密鑰260
11.3.1對稱密碼的密鑰與公鑰密碼的密鑰260
11.3.2消息認(rèn)證碼的密鑰與數(shù)字簽名的密鑰261
11.3.3用于確保機(jī)密性的密鑰與用于認(rèn)證的密鑰262
11.3.4會(huì)話密鑰與主密鑰263
11.3.5用于加密內(nèi)容的密鑰與用于加密密鑰的密鑰264
11.4密鑰的管理264
11.4.1生成密鑰264
11.4.2配送密鑰265
11.4.3更新密鑰265
11.4.4保存密鑰266
11.4.5作廢密鑰267
11.5Diffie-Hellman密鑰交換268
11.5.1什么是Diffie-Hellman密鑰交換268
11.5.2Diffie-Hellman密鑰交換的步驟268
11.5.3Eve能計(jì)算出密鑰嗎270
11.5.4生成元的意義271
11.5.5具體實(shí)踐一下272
11.5.6橢圓曲線Diffie-Hellman密鑰交換273
11.6基于口令的密碼(PBE)274
11.6.1什么是基于口令的密碼274
11.6.2PBE加密275
11.6.3PBE解密276
11.6.4鹽的作用277
11.6.5口令的作用279
11.6.6通過拉伸來改良PBE279
11.7如何生成安全的口令279
11.7.1使用只有自己才能知道的信息280
11.7.2將多個(gè)不同的口令分開使用280
11.7.3有效利用筆記281
11.7.4理解口令的局限性281
11.7.5使用口令生成和管理工具282
11.8本章小結(jié)282
11.9小測驗(yàn)的答案283
第12章隨機(jī)數(shù)——不可預(yù)測性的源泉285
12.1騾子的鎖匠鋪286
12.2本章學(xué)習(xí)的內(nèi)容286
12.3使用隨機(jī)數(shù)的密碼技術(shù)286
12.4隨機(jī)數(shù)的性質(zhì)287
12.4.1對隨機(jī)數(shù)的性質(zhì)進(jìn)行
不錯(cuò) 正品 值得買
研究研究~
感覺還可以,沒啥大毛病。
看了一部分,感覺還行吧
非常滿意,很喜歡
還沒看,應(yīng)該很好。
很好的一本書!!!
非常棒,我很喜歡,目前還在閱讀中,看完了我回來追評!
新書,未拆封,包裝完整,正版圖示
還好 。....
看看好不好玩
整體感覺不錯(cuò)
封面折痕明顯
密碼學(xué)的一本好書,結(jié)城浩的書都通俗易懂!
是打發(fā)點(diǎn)的發(fā)放東方大廈范德薩發(fā)斯蒂芬
還沒看,看后再評。
更直觀明白密碼后的原理
把密碼學(xué)講的有趣又有深度
很好,很快,有幫助
周年慶屯一波,實(shí)惠超值
物流速度實(shí)在是非常非常非常非常非常非常非常非常非常的快
店慶買的書,挺優(yōu)惠的,一直信賴當(dāng)當(dāng)。
是正版書,質(zhì)量很好,沒有密碼學(xué)基礎(chǔ),很容易上手。
老師推薦的書籍,粗略看了一下目錄,還是挺有趣的。是時(shí)候看著東西了。
淺顯易懂 適合初學(xué)者 沒有設(shè)計(jì)太多數(shù)學(xué)部分的知識(shí) 不適合當(dāng)作教材 適合當(dāng)作閑暇時(shí)間的讀物
公司業(yè)務(wù)涉及到這塊,想買來了解下,初步看了一下,感覺淺顯易懂,只能說是挺好的一本書吧
包裝很好 書10成純新 印刷和紙張都很好 密碼學(xué)必備的暢銷書
不得不說,日本人在入門方面的書寫得真的很不錯(cuò),讓我這種零基礎(chǔ)的人都學(xué)得很順利。這本書最大的特色在于圖文講解,簡單易懂