作品介紹

圖解密碼技術(shù)


作者:[日]結(jié)城浩     整理日期:2017-02-27 22:47:07


  本書以圖配文的形式,詳細講解了6種最重要的密碼技術(shù):對稱密碼、公鑰密碼、單向散列函數(shù)、消息認證碼、數(shù)字簽名和偽隨機數(shù)生成器。
  第一部分講述了密碼技術(shù)的歷史沿革、對稱密碼、分組密碼模式(包括ECB、CBC、CFB、OFB、CTR)、公鑰、混合密碼系統(tǒng)。第二部分重點介紹了認證方面的內(nèi)容,涉及單向散列函數(shù)、消息認證碼、數(shù)字簽名、證書等。第三部分講述了密鑰、隨機數(shù)、PGP、SSL/TLS 以及密碼技術(shù)在現(xiàn)實生活中的應(yīng)用。

作者簡介
  結(jié)城浩(Hiroshi Yuki)
  生于1963年,日本資深技術(shù)作家和程序員。在編程語言、設(shè)計模式、數(shù)學(xué)、加密技術(shù)等領(lǐng)域,編寫了很多深受歡迎的入門書。代表作有《數(shù)學(xué)女孩》系列、《程序員的數(shù)學(xué)》等。
  作者網(wǎng)站:http://www.hyuki.com/

目錄:
  第1部分 密碼  1
  第1章 環(huán)游密碼世界  3
  1.1 本章學(xué)習(xí)的內(nèi)容  4
  1.2 密碼  4
  1.2.1 Alice與Bob  4
  1.2.2 發(fā)送者、接收者和竊聽者  4
  1.2.3 加密與解密  6
  1.2.4 密碼保證了消息的機密性  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 消息認證碼  10
  1.4.3 數(shù)字簽名  11
  1.4.4 偽隨機數(shù)生成器  11
  1.5 密碼學(xué)家的工具箱  12
  1.6 隱寫術(shù)與數(shù)字水印  13
  1.7 密碼與信息安全常識  14
  1.7.1 不要使用保密的密碼算法  14
  1.7.2 使用低強度的密碼比不進行任何加密更危險  15
  1.7.3 任何密碼總有一天都會被破解  15
  1.7.4 密碼只是信息安全的一部分  16
  1.8 本章小結(jié)  16
  1.9 小測驗的答案  17
  第2章 歷史上的密碼——寫一篇別人看不懂的文章  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.4 Enigma  31
  2.4.1 什么是Enigma  31
  2.4.2 用Enigma進行加密通信  31
  2.4.3 Enigma的構(gòu)造  32
  2.4.4 Enigma的加密  34
  2.4.5 每日密碼與通信密碼  36
  2.4.6 避免通信錯誤  36
  2.4.7 Enigma的解密  36
  2.4.8 Enigma的弱點  38
  2.4.9 Enigma的破譯  38
  2.5 思考  40
  2.5.1 為什么要將密碼算法和密鑰分開呢  40
  2.6 本章小結(jié)  41
  2.7 小測驗的答案  42
  第3章 對稱密碼(共享密鑰密碼)——用相同的密鑰進行加密和解密  45
  3.1 炒雞蛋與對稱密碼  46
  3.2 本章學(xué)習(xí)的內(nèi)容  46
  3.3 從文字密碼到比特序列密碼  46
  3.3.1 編碼  46
  3.3.2 XOR  47
  3.4 一次性密碼本——絕對不會被破譯的密碼  50
  3.4.1 什么是一次性密碼本  50
  3.4.2 一次性密碼本的加密  50
  3.4.3 一次性密碼本的解密  51
  3.4.4 一次性密碼本是無法破譯的  51
  3.4.5 一次性密碼本為什么沒有被使用  52
  3.5 DES  53
  3.5.1 什么是DES  53
  3.5.2 加密和解密  54
  3.5.3 DES的結(jié)構(gòu)(Feistel網(wǎng)絡(luò))  54
  3.6 三重DES  60
  3.6.1 什么是三重DES  60
  3.6.2 三重DES的加密  60
  3.6.3 三重DES的解密  63
  3.6.4 三重DES的現(xiàn)狀  64
  3.7 AES的選定過程  64
  3.7.1 什么是AES  65
  3.7.2 AES的選定過程  65
  3.7.3 AES最終候選算法的確定與AES的最終確定    65
  3.8 Rijndael  66
  3.8.1 什么是Rijndael  66
  3.8.2 Rijndael的加密和解密  66
  3.8.3 Rijndael的破譯  68
  3.8.4 應(yīng)該使用哪種對稱密碼呢  68
  3.9 本章小結(jié)  70
  3.10 小測驗的答案  71
  第4章 分組密碼的模式——分組密碼是如何迭代的  73
  4.1 本章學(xué)習(xí)的內(nèi)容  74
  4.2 分組密碼的模式  75
  4.2.1 分組密碼與流密碼  75
  4.2.2 什么是模式  75
  4.2.3 明文分組與密文分組  76
  4.2.4 主動攻擊者Mallory  76
  4.3 ECB模式  77
  4.3.1 什么是ECB模式  77
  4.3.2 ECB模式的特點  78
  4.3.3 對ECB模式的攻擊  78
  4.4 CBC模式  80
  4.4.1 什么是CBC模式  80
  4.4.2 初始化向量  81
  4.4.3 CBC模式的特點  82
  4.4.4 對CBC模式的攻擊  82
  4.4.5 CBC的應(yīng)用實例  84
  4.5 CFB模式  85
  4.5.1 什么是CFB模式  85
  4.5.2 初始化向量  86
  4.5.3 CFB模式與流密碼  86
  4.5.4 CFB模式的解密  87
  4.5.5 對CFB模式的攻擊  87
  4.6 OFB模式  88
  4.6.1 什么是OFB模式  88
  4.6.2 初始化向量  89
  4.6.3 CFB模式與OFB模式的對比  89
  4.7 CTR模式  90
  4.7.1 計數(shù)器的生成方法  92
  4.7.2 OFB模式與CTR模式的對比  92
  4.7.3 CTR模式的特點  92
  4.7.4 錯誤與機密性  93
  4.8 應(yīng)該使用哪種模式呢  93
  4.9 本章小結(jié)  94
  4.10 小測驗的答案  95
  第5章 公鑰密碼——用公鑰加密,用私鑰解密  97
  5.1 投幣寄物柜的使用方法  98
  5.2 本章學(xué)習(xí)的內(nèi)容  98
  5.3 密鑰配送問題  98
  5.3.1 什么是密鑰配送問題  98
  5.3.2 通過事先共享密鑰來解決  100
  5.3.3 通過密鑰分配中心來解決  101
  5.3.4 通過Diffie-Hellman密鑰交換來解決密鑰配送問題  102
  5.3.5 通過公鑰密碼來解決密鑰配送問題  102
  5.4 公鑰密碼  103
  5.4.1 什么是公鑰密碼  103
  5.4.2 公鑰密碼的歷史  104
  5.4.3 公鑰通信的流程  104
  5.4.4 各種術(shù)語  106
  5.4.5 公鑰密碼無法解決的問題  106
  5.5 時鐘運算  106
  5.5.1 加法  107
  5.5.2 減法  109
  5.5.3 乘法  110
  5.5.4 除法  110
  5.5.5 乘方  114
  5.5.6 對數(shù)  114
  5.5.7 從時鐘指針到RSA  115
  5.6 RSA  116
  5.6.1 什么是RSA  116
  5.6.2 RSA加密  116
  5.6.3 RSA解密  117
  5.6.4 生成密鑰對  118
  5.6.5 具體實踐一下吧  121
  5.7 對RSA的攻擊  124
  5.7.1 通過密文來求得明文  124
  5.7.2 通過暴力破解來找出D  124
  5.7.3 通過E和N求出D  125
  5.7.4 中間人攻擊  126
  5.8 其他公鑰密碼  128
  5.8.1 ElGamal方式  128
  5.8.2 Rabin方式  128
  5.8.3 橢圓曲線密碼  128
  5.9 關(guān)于公鑰密碼的問答  128
  5.9.1 公鑰密碼的機密性  129
  5.9.2 公鑰密碼與對稱密碼的密鑰長度  129
  5.9.3 對稱密碼的未來  129
  5.9.4 RSA與質(zhì)數(shù)  130
  5.9.5 RSA與質(zhì)因數(shù)分解  130
  5.9.6 RSA的長度  131
  5.10 本章小結(jié)  132
  5.11 小測驗的答案  133
  第6章 混合密碼系統(tǒng)——用對稱密碼提高速度,用公鑰密碼保護會話密鑰  135
  6.1 混合動力汽車  136
  6.2 本章學(xué)習(xí)的內(nèi)容  136
  6.3 混合密碼系統(tǒng)  136
  6.3.1 對稱密碼與公鑰密碼  136
  6.3.2 混合密碼系統(tǒng)  137
  6.3.3 加密  138
  6.3.4 解密  140
  6.3.5 混合密碼系統(tǒng)的具體例子  141
  6.4 怎樣才是高強度的混合密碼系統(tǒng)  141
  6.4.1 偽隨機數(shù)生成器  141
  6.4.2 對稱密碼  142
  6.4.3 公鑰密碼  142
  6.4.4 密鑰長度的平衡  142
  6.5 密碼技術(shù)的組合  142
  6.6 本章小結(jié)  143
  6.7 小測驗的答案  144
  第2部分 認證 145
  第7章 單向散列函數(shù)——獲取消息的“指紋”  147
  7.1 本章學(xué)習(xí)的內(nèi)容  148
  7.2 什么是單向散列函數(shù)  148
  7.2.1 這個文件是不是真的呢  148
  7.2.2 什么是單向散列函數(shù)  151
  7.2.3 單向散列函數(shù)的性質(zhì)  153
  7.2.4 關(guān)于術(shù)語  156
  7.3 單向散列函數(shù)的實際應(yīng)用  157
  7.3.1 檢測軟件是否被篡改  157
  7.3.2 基于口令的加密  159
  7.3.3 消息認證碼  159
  7.3.4 數(shù)字簽名  159
  7.3.5 偽隨機數(shù)生成器  159
  7.3.6 一次性口令  159
  7.4 單向散列函數(shù)的具體例子  160
  7.4.1 MD4、MD5  160
  7.4.2 SHA-1、SHA-256、SHA-384、SHA-512  160
  7.4.3 RIPEMD-160  160
  7.4.4 AHS(Advanced Hash Standard)與SHA-3    161
  7.5 單向散列函數(shù)SHA-1  161
  7.5.1 整體流程  161
  7.5.2 (1) SHA-1:填充  162
  7.5.3 (2) SHA-1:計算W0~W79  164
  7.5.4 (3) SHA-1:分組處理  165
  7.5.5 (4) SHA-1:單步處理  167
  7.6 對單向散列函數(shù)的攻擊  168
  7.6.1 暴力破解(攻擊故事1)  168
  7.6.2 生日攻擊(攻擊故事2)  170
  7.7 單向散列函數(shù)無法解決的問題  172
  7.8 本章小結(jié)  173
  7.9 小測驗的答案  173
  第8章 消息認證碼——消息被正確傳送了嗎  177
  8.1 本章學(xué)習(xí)的內(nèi)容  178
  8.2 消息認證碼  178
  8.2.1 匯款請求是正確的嗎  178
  8.2.2 什么是消息認證碼  179
  8.2.3 消息認證碼的使用步驟  180
  8.2.4 消息認證碼的密鑰配送問題  180
  8.3 消息認證碼的應(yīng)用實例  181
  8.3.1 SWIFT  181
  8.3.2 IPsec  181
  8.3.3 SSL/TLS  182
  8.4 消息認證碼的實現(xiàn)方法  182
  8.4.1 使用單向散列函數(shù)實現(xiàn)  182
  8.4.2 使用分組密碼實現(xiàn)  182
  8.4.3 其他實現(xiàn)方法  182
  8.5 HMAC的詳細介紹  182
  8.5.1 什么是HMAC  182
  8.5.2 HMAC的步驟  183
  8.6 對消息認證碼的攻擊  185
  8.6.1 重放攻擊  185
  8.6.2 密鑰推測攻擊  187
  8.7 消息認證碼無法解決的問題  188
  8.7.1 對第三方證明  188
  8.7.2 防止否認  188
  8.8 本章小結(jié)  189
  8.9 小測驗的答案  189
  第9章 數(shù)字簽名——消息到底是誰寫的  191
  9.1 羊媽媽的認證  192
  9.2 本章學(xué)習(xí)的內(nèi)容  192
  9.3 數(shù)字簽名  192
  9.3.1 Alice的借條  192
  9.3.2 從消息認證碼到數(shù)字簽名  193
  9.3.3 簽名的生成和驗證  194
  9.3.4 公鑰密碼與數(shù)字簽名  195
  9.4 數(shù)字簽名的方法  197
  9.4.1 直接對消息簽名的方法  197
  9.4.2 對消息的散列值簽名的方法  199
  9.5 對數(shù)字簽名的疑問  202
  9.5.1 密文為什么能作為簽名使用  202
  9.5.2 數(shù)字簽名不能保證機密性嗎  202
  9.5.3 這種簽名可以隨意復(fù)制嗎  203
  9.5.4 消息內(nèi)容會不會被任意修改  203
  9.5.5 簽名會不會被重復(fù)使用  204
  9.5.6 刪除簽名也無法“作廢合同”嗎  204
  9.5.7 如何防止否認  205
  9.5.8 數(shù)字簽名真的能夠代替簽名嗎  205
  9.6 數(shù)字簽名的應(yīng)用實例  206
  9.6.1 安全信息公告  206
  9.6.2 軟件下載  207
  9.6.3 公鑰證書  208
  9.6.4 SSL/TLS  208
  9.7 通過RSA實現(xiàn)數(shù)字簽名  208
  9.7.1 用RSA生成簽名  208
  9.7.2 用RSA驗證簽名  209
  9.7.3 具體實踐一下吧  209
  9.8 其他的數(shù)字簽名  210
  9.8.1 ElGamal方式  210
  9.8.2 DSA  210
  9.8.3 Rabin方式  211
  9.9 對數(shù)字簽名的攻擊  211
  9.9.1 中間人攻擊  211
  9.9.2 對單向散列函數(shù)的攻擊  212
  9.9.3 利用數(shù)字簽名攻擊公鑰密碼  212
  9.9.4 其他攻擊  213
  9.10 各種密碼技術(shù)的對比  213
  9.10.1 消息認證碼與數(shù)字簽名  213
  9.10.2 混合密碼系統(tǒng)與對散列值簽名  214
  9.11 數(shù)字簽名無法解決的問題  214
  9.12 本章小結(jié)  215
  9.13 小測驗的答案  216
  第10章 證書——為公鑰加上數(shù)字簽名  217
  10.1 本章學(xué)習(xí)的內(nèi)容  218
  10.2 證書  218
  10.2.1 什么是證書  218
  10.2.2 證書的應(yīng)用場景  218
  10.3 實際生成一張證書  221
  10.3.1 VeriSign的免費試用服務(wù)  221
  10.3.2 生成證書  221
  10.3.3 將證書從Web瀏覽器中導(dǎo)出  224
  10.3.4 證書的內(nèi)容  224
  10.3.5 證書標(biāo)準(zhǔn)規(guī)范X.509  224
  10.4 公鑰基礎(chǔ)設(shè)施(PKI)  228
  10.4.1 什么是公鑰基礎(chǔ)設(shè)施  228
  10.4.2 PKI的組成要素  228
  10.4.3 認證機構(gòu)的工作  230
  10.4.4 證書的層級結(jié)構(gòu)  231
  10.4.5 各種各樣的PKI  233
  10.5 對證書的攻擊  234
  10.5.1 在公鑰注冊之前進行攻擊  234
  10.5.2 注冊相似人名進行攻擊  234
  10.5.3 竊取認證機構(gòu)的私鑰進行攻擊  235
  10.5.4 攻擊者偽裝成認證機構(gòu)進行攻擊  235
  10.5.5 鉆CRL的空子進行攻擊(1)  236
  10.5.6 鉆CRL的空子進行攻擊(2)  237
  10.6 關(guān)于證書的Q&A  238
  10.6.1 為什么需要證書  238
  10.6.2 通過自己的方法進行認證是不是更安全  239
  10.6.3 為什么要相信認證機構(gòu)  240
  10.7 本章小結(jié)  241
  10.8 小測驗的答案  242
  第3部分 密鑰、隨機數(shù)與應(yīng)用技術(shù) 243
  第11章 密鑰——秘密的精華  245
  11.1 本章學(xué)習(xí)的內(nèi)容  246
  11.2 什么是密鑰  246
  11.2.1 密鑰就是一個巨大的數(shù)字  246
  11.2.2 密鑰與明文是等價的  248
  11.2.3 密碼算法與密鑰  248
  11.3 各種不同的密鑰  248
  11.3.1 對稱密碼的密鑰與公鑰密碼的密鑰  248
  11.3.2 消息認證碼的密鑰與數(shù)字簽名的密鑰  249
  11.3.3 用于確保機密性的密鑰與用于認證的密鑰  250
  11.3.4 會話密鑰與主密鑰  251
  11.3.5 用于加密內(nèi)容的密鑰與用于加密密鑰的密鑰    252
  11.4 密鑰的管理  252
  11.4.1 生成密鑰  252
  11.4.2 配送密鑰  253
  11.4.3 更新密鑰  253
  11.4.4 保存密鑰  254
  11.4.5 作廢密鑰  256
  11.5 Diffie-Hellman密鑰交換  256
  11.5.1 什么是Diffie-Hellman密鑰交換  256
  11.5.2 Diffie-Hellman密鑰交換的步驟  257
  11.5.3 Eve能計算出密鑰嗎  259
  11.5.4 生成元的意義  259
  11.5.5 具體實踐一下  260
  11.6 基于口令的密碼(PBE)  262
  11.6.1 什么是基于口令的密碼  262
  11.6.2 PBE加密  263
  11.6.3 PBE解密  264
  11.6.4 鹽的作用  266
  11.6.5 口令的作用  266
  11.6.6 PBE的改良  267
  11.7 如何生成安全的口令  268
  11.7.1 使用只有自己才能知道的信息  268
  11.7.2 將多個不同的口令分開使用  269
  11.7.3 有效利用筆記  269
  11.7.4 理解口令的局限性  269
  11.8 本章小結(jié)  270
  11.9 小測驗的答案  271
  第12章 隨機數(shù)——不可預(yù)測性的源泉  273
  12.1 騾子的鎖匠鋪  274
  12.2 本章學(xué)習(xí)的內(nèi)容  274
  12.3 使用隨機數(shù)的密碼技術(shù)  274
  12.3.1 隨機數(shù)是干什么用的  274
  12.4 隨機數(shù)的性質(zhì)  275
  12.4.1 對隨機數(shù)的性質(zhì)進行分類  275
  12.4.2 隨機性  276
  12.4.3 不可預(yù)測性  277
  12.4.4 不可重現(xiàn)性  277
  12.5 偽隨機數(shù)生成器  278
  12.5.1 偽隨機數(shù)生成器的結(jié)構(gòu)  278
  12.6 具體的偽隨機數(shù)生成器  280
  12.6.1 雜亂的方法  280
  12.6.2 線性同余法  280
  12.6.3 單向散列函數(shù)法  283
  12.6.4 密碼法  286
  12.6.5 ANSI X9.17  287
  12.7 對偽隨機數(shù)生成器的攻擊  290
  12.7.1 對種子進行攻擊  290
  12.7.2 對隨機數(shù)池進行攻擊  290
  12.8 本章小結(jié)  290
  12.9 小測驗的答案  291
  第13章 PGP ——密碼技術(shù)的完美組合  293
  13.1 本章學(xué)習(xí)的內(nèi)容  294
  13.2 PGP簡介  294
  13.2.1 什么是PGP  294
  13.2.2 PGP的功能  295
  13.3 生成密鑰對  297
  13.4 加密與解密  299
  13.4.1 加密  299
  13.4.2 解密  301
  13.5 生成和驗證數(shù)字簽名  304
  13.5.1 生成數(shù)字簽名  304
  13.5.2 驗證數(shù)字簽名  306
  13.6 生成數(shù)字簽名并加密以及解密并驗證數(shù)字簽名    309
  13.6.1 生成數(shù)字簽名并加密  309
  13.6.2 解密并驗證數(shù)字簽名  309
  13.7 信任網(wǎng)  313
  13.7.1 公鑰合法性  313
  13.7.2 場景1:通過自己的數(shù)字簽名進行確認  313
  13.7.3 場景2:通過自己完全信任的人的數(shù)字簽名進行確認  314
  13.7.4 場景3:通過自己有限信任的多個人的數(shù)字簽名進行確認  315
  13.7.5 公鑰合法性與所有者信任是不同的  316
  13.7.6 所有者信任級別是因人而異的  316
  13.8 本章小結(jié)  318
  13.9 小測驗的答案  318
  第14章 SSL/TLS ——為了更安全的通信  321
  14.1 本章學(xué)習(xí)的內(nèi)容  322
  14.2 什么是SSL/TLS  322
  14.2.1 Alice在Bob書店買書  322
  14.2.2 客戶端與服務(wù)器  323
  14.2.3 用SSL/TLS承載HTTP  324
  14.2.4 SSL/TLS的工作  325
  14.2.5 SSL/TLS也可以保護其他的協(xié)議  326
  14.2.6 密碼套件  326
  14.2.7 SSL與TLS的區(qū)別  327
  14.3 使用SSL/TLS進行通信  327
  14.3.1 層次化的協(xié)議  327
  14.3.2 1 TLS記錄協(xié)議  329
  14.3.3 2-1 握手協(xié)議  330
  14.3.4 2-2 密碼規(guī)格變更協(xié)議  336
  14.3.5 2-3 警告協(xié)議  337
  14.3.6 2-4 應(yīng)用數(shù)據(jù)協(xié)議  337
  14.3.7 主密碼  337
  14.3.8 TLS中使用的密碼技術(shù)小結(jié)  338
  14.4 對SSL/TLS的攻擊  339
  14.4.1 對各個密碼技術(shù)的攻擊  339
  14.4.2 對偽隨機數(shù)生成器的攻擊  339
  14.4.3 利用證書的時間差進行攻擊  340
  14.5 SSL/TLS用戶的注意事項  340
  14.5.1 不要誤解證書的含義  340
  14.5.2 密碼通信之前的數(shù)據(jù)是不受保護的  340
  14.5.3 密碼通信之后的數(shù)據(jù)是不受保護的  340
  14.6 本章小結(jié)  341
  14.7 小測驗的答案  342
  第15章 密碼技術(shù)與現(xiàn)實社會——我們生活在不完美的安全中  .343
  15.1 本章學(xué)習(xí)的內(nèi)容  344
  15.2 密碼技術(shù)小結(jié)  344
  15.2.1 密碼學(xué)家的工具箱  344
  15.2.2 密碼與認證  346
  15.2.3 密碼技術(shù)的框架化  346
  15.2.4 密碼技術(shù)與壓縮技術(shù)  346
  15.3 追尋完美的密碼技術(shù)  348
  15.3.1 量子密碼  349
  15.3.2 量子計算機  350
  15.3.3 哪一種技術(shù)會率先進入實用領(lǐng)域  350
  15.4 只有完美的密碼,沒有完美的人  350
  15.4.1 理論是完美的,現(xiàn)實是殘酷的  351
  15.4.2 防御必須天衣無縫,攻擊只需突破一點  351
  15.4.3 攻擊實例1:經(jīng)過PGP加密的電子郵件  352
  15.4.4 攻擊實例2:用SSL/TLS加密的信用卡號  353
  15.5 本章小結(jié)  354
  附錄 密碼技術(shù)綜合測驗  355
  參考文獻  365





上一本:常見野花 下一本:地球的主人

作家文集

下載說明
圖解密碼技術(shù)的作者是[日]結(jié)城浩,全書語言優(yōu)美,行文流暢,內(nèi)容豐富生動引人入勝。為表示對作者的支持,建議在閱讀電子書的同時,購買紙質(zhì)書。

更多好書