-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

嚴肅的密碼學:實用現代加密術

( 簡體 字)
作者:陳華瑾 等類別:1. -> 安全 -> 加密與解密
譯者:
出版社:電子工業出版社嚴肅的密碼學:實用現代加密術 3dWoo書號: 54624
詢問書籍請說出此書號!

缺書
NT售價: 495

出版日:6/1/2021
頁數:284
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121410864
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:


如果您對有關計算機安全的書有所涉獵,那么很可能見過密碼學領域中常見的一個觀點:“密碼學是安全鏈中最牢固的一環。”如此說法誠然是一種贊美,但也有些盲目自大——如果密碼技術已經牢不可破了,為什么還要花時間改進它,而不去投資那些安全系統中更值得改進的部分呢?

如果您只能從本書中學到一件事,那么我希望它是——以上這種對密碼學的觀點太過理想化,甚至很大程度上是一個神話。理論上,密碼學很強大,但在實踐中,在經驗不足或者粗心大意的情況下進行的密碼應用,和安全系統的其他方面一樣很容易發生問題,而現有的許多密碼系統就確實如此。而且情況正變得更糟:當密碼應用失效時,它們往往也“失效得各有千秋”。
那么,您為什么應該關心這些,又為什么需要這本書呢?
當我在二十年前從事應用密碼學領域的工作時,軟件開發人員可用的信息往往是零碎而過時的。密碼學專家開發了算法和協議,密碼學工程師實現了這些算法和協議,并面向其他專家建立了不透明且文檔記錄很少的密碼學庫。這就造成了理解密碼算法的人與使用密碼算法(或無視密碼算法)的人之間存在巨大的鴻溝。市面上確實有些不錯的理論教材,但真正為開發實踐者提供有用工具的書卻很少。
現實中的情況并不理想,諸如人們對“CVE(通用漏洞披露)”和“威脅度:高”等報警的忽視和妥協,其中有些甚至是“TOP SECRET”級別的攻擊。您可能會更熟悉一些較著名的攻擊案例,因為它們影響了您所依賴的系統。之所以會出現許多此類問題,除了因為密碼學本身是精妙且優雅的,還因為密碼學專家未能與實際編寫該軟件的工程師分享他們的知識。
值得慶幸的是,這種情況已經開始改變,而本書就是這種改變的一部分。
Serious Cryptography(本書的英文書名)是由應用密碼學領域最著名的一位專家撰寫的,并且本書不是面向其他專家的。同樣,本書也不打算作為該領域的概述,而是包含對密碼工程深入且最新的討論,旨在幫助想在這個領域做得更好的從業者。在本書中,您不僅能學習到密碼算法的工作原理,而且還將學習如何在實際系統中使用它們。
本書首先探討了許多關鍵的密碼學原語,包括分組密碼、公鑰加密體制、哈希函數和隨機數發生器等基本算法。每章都提供了有關算法如何工作,以及您應該或不應該做什么的工作示例。最后幾章介紹了TLS等高級主題,以及密碼學的未來——在量子計算機到來后我們該怎么做。
雖然一本書不能解決所有的問題,但是學一點知識也定將有所裨益。這本書包含很多這樣的知識,也許足以將現實中已部署的一些密碼系統改進到人們期望的程度。
祝您閱讀愉快。
Matthew D. Green
約翰斯·霍普金斯大學信息安全研究所教授

前言
寫一本“我初學密碼學時想要讀的那本書”是我創作本書的動機。2005年,我在巴黎附近攻讀碩士學位,并在即將到來的學期中滿懷熱情地選了密碼學課程。不幸的是,由于選課的學生太少,這門課竟被取消了。學生們總抱怨“密碼學實在太難了”,然后就都去選了計算機圖形學和數據庫課程。
從那以后,我聽到“密碼學很難”有十多次。但是密碼學真的那么難嗎?演奏樂器,掌握編程語言,或將任何引人入勝的領域的應用付諸實踐,確實需要學習一些概念和符號,但它們還不至于難到需要一個博士學位。我認為要想成為一名合格的密碼學家,這個道理也同樣適用。我還認為,密碼學之所以被說很難,是因為密碼學家沒有很好地講授密碼學。
我覺得需要本書的另一個原因是,密碼學不再只是單純地研究密碼,它已經擴展到了多學科領域。要進行與密碼學相關的工作,還需要對密碼學相關的概念有所了解,例如,網絡和計算機如何工作,用戶和系統需要什么,以及攻擊者如何利用算法及其實現。換句話說,我們需要與現實聯系,把理論落地。
本書的方法論
本書原本的標題是Crypto for Real,以強調我打算講述的是面向實踐的、真實世界的知識,而非那些沒有實際意義的方法論。我不想通過簡化來使加密變得容易實現,而是將其與實際應用結合在一起。我在本書中提供了源代碼示例,并描述了實踐中肯定會出現的問題及其災難性的后果。
除了與現實的明確聯系,本書的其他兩個出發點是簡捷性和現代性。我更著重于形式上的簡捷性:不是通過枯燥的數學形式主義提出概念,而是著眼于加深對密碼學核心思想的理解,這比記住一堆方程式更重要。為了確保本書的現代性,我介紹了加密技術的最新發展和應用,例如,TLS 1.3和后量子加密技術。我不會花費大量筆墨去討論DES或MD5等過時或不安全的算法的細節,不過RC4是一個例外,但也僅包括說明它的弱點并顯示此類序列密碼的工作原理。
本書既不是加密軟件的指南,也不是技術規范文檔,畢竟您可以在網上輕松找到這些內容。本書的首要目標是讓您對加密技術充滿熱情,并一路向您傳達其引人入勝的概念。
本書面向的讀者
在寫作時,我常把讀者想象成一個曾經接觸過密碼學,但在嘗試閱讀大量的教科書和研究論文后仍然感到無所適從的開發人員。開發人員經常需要并且想要更好地掌握密碼學,以避免錯誤的設計選擇,我希望這本書在這方面會對他們有所幫助。
但是,如果您不是開發人員也不要擔心!本書不需要任何編程技能,任何了解計算機科學和具有大學數學(概率論、模算術等)基礎的人都可以使用。
盡管它具有相對較低的入門門檻,但是本書還是有一些挑戰性的,仍需要讀者付出一些努力才能做到深入理解。我喜歡用登山作為類比:作者為您規劃了道路,為您提供了繩索和冰鎬,但還需要您自己進行攀登。學習本書中的概念可能會很費力,但最后一定會有所收獲。
本書的結構
本書共有14章,大致分為4個部分。除第9章為后續的3章奠定基礎之外,各章大多彼此獨立。但我還是建議您先閱讀前3章。
基礎部分
? 第1章:介紹了安全加密的概念,從較弱的筆紙密碼到強大的隨機加密。
? 第2章:描述了偽隨機數發生器的工作原理,如何保證其安全性以及如何安全地使用它。
? 第3章:討論了安全性的理論和實踐概念,并對可證明的安全性與概率安全性進行了比較。
對稱密碼部分
? 第4章:介紹了以分組為單位處理消息的密碼,重點介紹了著名的AES,即高級加密標準。
? 第5章:介紹了一種看起來是隨機比特流的密碼——序列密碼,要想解密需要將其與密文進行異或運算。
? 第6章:介紹了哈希函數,其是唯一不需要密鑰的密碼算法,而事實證明這也是最普遍使用的密碼體制基本模塊。
? 第7章:介紹了密鑰哈希,其解釋了將哈希函數與密鑰結合使用會發生什么,以及它如何用于驗證消息。
? 第8章:通過例子介紹了一些同時對消息進行加密和身份驗證的算法(例如,標準AES-GCM)。
非對稱加密部分
? 第9章:使用計算復雜度的概念介紹了公用密鑰加密背后的基本概念。
? 第10章:介紹了RSA,其利用大整數分解難題,以簡單的算術運算構建安全的加密和簽名方案。
? 第11章:介紹了Diffie-Hellman協議將非對稱密碼擴展到密鑰協商的概念,其中,通信雙方通過非秘密值來建立共同的秘密值。
? 第12章:對橢圓曲線密碼學進行了簡要介紹,橢圓曲線密碼學是速度最快的一種非對稱密碼學。
應用部分
? 第13章:介紹了傳輸層安全性,可以說它是網絡安全中最重要的協議。
? 第14章:介紹了量子計算和新型密碼學的概念,以這些科幻的未來密碼作為結尾。
致謝
我要感謝Jan、Annie和其他No Starch的員工,他們為本書做出了巨大貢獻。尤其是Bill,他從一開始就信任這個項目,感謝他耐心地解決棘手的問題,把粗糙的手稿變成正式的書稿。我還要感謝Laurel,她使得這本書的外觀變得如此精美,并處理了我的許多修改請求。
在技術方面,如果沒有以下人員的幫助,本書將包含更多錯誤和不準確之處:Jon Callas、Bill Cox、Niels Ferguson、Philipp Jovanovic、Samuel Neves、David Reid、Phillip Rogaway、Erik Tews,以及所有對早期版本提供錯誤報告的讀者。最后,感謝Matthew Green為本書撰寫了序言。
我還要感謝我的雇主Kudelski Security,其讓我有時間寫這本書。最后,我對Alexandra和Melina的支持和耐心表示最誠摯的感謝。
內容簡介:

本書是著名密碼算法BLAKE2、SipHash和NORX的創造者、當代應用密碼學大師Jean-Philippe Aumasson的最新力作的中文譯本。正如其名,本書并非淺嘗輒止的領域概述,而是全面深入地討論了密碼工程的理論、技術以及最新進展。本書面向密碼學研究及從業人員,從本書中您不僅能學到密碼算法的工作原理,還將學習如何在實際的系統中使用它們。
目錄:

第1章 加密 1
基礎知識 1
古典密碼 2
凱撒密碼 2
維吉尼亞密碼 3
密碼是如何工作的 4
置換 4
操作模式 5
為什么古典密碼不安全 6
完美的加密:一次一密體制 6
一次一密加密過程 7
為什么一次一密安全 8
加密安全性 9
攻擊模型 9
安全目標 11
安全概念 12
非對稱加密 14
加密之外的密碼學 14
認證加密 15
格式保持加密 15
全同態加密 16
可搜索加密 16
可調加密 16
意外如何發生 17
弱密碼 17
錯誤模型 18
拓展閱讀 18
第2章 隨機性 19
隨機與非隨機 19
作為概率分布的隨機性 20
熵:不確定性的度量指標 21
隨機數發生器和偽隨機數發生器 22
PRNG如何工作 23
安全問題 23
PRNG Fortuna 24
統計測試不重要 26
現實世界中的PRNG 27
在基于UNIX的系統中生成隨機比特 27
Windows中的CryptGenRandom()函數 31
基于硬件的PRNG:英特爾微處理器中的RDRAND 32
意外如何發生 33
熵源不理想 33
啟動時熵不足 34
非加密PRNG 35
對強隨機性的采樣漏洞 35
拓展閱讀 36
第3章 密碼學中的安全性 37
不可能的定義 37
理論上安全:信息安全性 38
實際安全:計算安全性 38
量化安全性 40
以比特度量安全性 40
全攻擊成本 41
選擇和評估安全強度 42
安全實現 43
可證明安全性 43
啟發式安全性 46
密鑰生成 46
生成對稱密鑰 47
生成非對稱密鑰 47
保護密鑰 48
意外如何發生 49
不正確的安全性證明 49
支持遺留系統的短密鑰 49
拓展閱讀 50
第4章 分組密碼 51
什么是分組密碼 51
安全目標 52
分組大小 52
碼本攻擊 53
如何構造分組密碼 53
分組密碼的輪數 53
滑動攻擊和子密鑰 54
替換-置換網絡 54
Feistel結構 55
高級加密標準(AES) 56
AES內核 56
使用AES 59
實現AES 60
基于查詢表實現 60
原生指令集 61
AES安全嗎 62
工作方式 63
電碼本模式(ECB) 63
密碼分組鏈接(CBC)模式 65
如何在CBC模式中加密消息 67
計數(CTR)模式 68
意外如何發生 70
中間相遇攻擊 70
Padding Oracle攻擊 71
拓展閱讀 73
第5章 序列密碼 75
序列密碼的工作原理 76
基于狀態轉移的和基于計數器的序列密碼 76
面向硬件的序列密碼 77
反饋移位寄存器 78
Grain-128a算法 84
A5/1算法 85
面向軟件的序列密碼 88
RC4 89
Salsa20 93
意外如何發生 98
nonce的重復使用 98
破解RC4 98
硬件燒制時的弱密碼 100
拓展閱讀 101
第6章 哈希函數 103
哈希函數的安全性 104
不可預測性 104
原像攻擊抗性 105
抗碰撞性 107
查找碰撞 107
構造哈希函數 109
基于壓縮的哈希函數:Merkle–Damg?rd結構 109
基于置換的哈希函數:海綿函數 112
哈希函數SHA系列 113
SHA-1 113
SHA-2 116
SHA-3競賽 117
Keccak(SHA-3) 118
BLAKE2哈希函數 120
意外如何發生 122
長度擴展攻擊 122
欺騙存儲證明協議 122
拓展閱讀 123
第7章 帶密鑰的哈希 125
消息認證碼 125
安全通信中的消息認證碼 126
偽造和選擇消息攻擊 126
重放攻擊 126
偽隨機函數 127
PRF的安全性 127
為什么PRF比MAC更安全 127
從不帶密鑰的哈希構建帶密鑰的哈希 128
加秘密前綴的構造方法 128
帶秘密后綴的構造方法 129
HMAC的構造方法 129
針對基于哈希的MAC的一般攻擊 130
由分組密碼構造的帶密鑰哈希:CMAC 131
破解CBC-MAC 132
修改CBC-MAC 132
專用設計 133
Poly1305 134
SipHash 136
意外如何發生 138
針對MAC認證的計時攻擊 138
當海綿結構泄露 140
拓展閱讀 141
第8章 認證加密 143
使用MAC的認證加密 143
同時完成加密和MAC 144
先MAC再加密 145
先加密再MAC 145
認證加密 146
使用關聯數據的認證加密 146
使用nonce來避免可預測性 147
怎樣才是一個好的認證加密算法 147
AES-GCM:認證加密算法標準 149
GCM的內部結構: CTR和GHASH 149
GCM的安全性 151
GCM的效率 152
OCB: 比GCM更快的認證加密算法 152
OCB的內部結構 153
OCB的安全性 154
OCB的效率 154
SIV是最安全的認證算法嗎 154
基于置換的AEAD 155
意外如何發生 156
AES-GCM和弱哈希密鑰 157
AES-GCM和短標簽 159
拓展閱讀 159
第9章 困難問題 161
計算困難性 161
測量運行時間 162
多項式時間vs超多項式時間 164
復雜度的分類 166
非確定多項式時間 166
NP完全問題 167
P問題vs NP問題 168
因數分解問題 169
實踐中的分解大數算法 170
分解算法是NP完全的嗎 171
離散對數問題 172
群是什么 172
困難之處 173
意外如何發生 174
容易分解的情況 174
小規模的困難問題并不困難 175
拓展閱讀 176
第10章 RSA 179
RSA背后的數學概念 180
RSA陷門置換 181
RSA的密鑰生成和安全性 181
RSA加密 183
利用教科書式RSA加密的擴展性進行攻擊 183
加強版RSA加密:OAEP 184
RSA簽名 186
針對教科書式RSA簽名的攻擊 186
PSS簽名標準 187
全域哈希簽名 188
RSA的實現 189
快速求冪算法:平方乘 190
用于更快公鑰操作的小指數 192
中國剩余定理 193
意外如何發生 194
針對RSA-CRT的Bellcore攻擊 194
共享秘密指數或共享模數 195
拓展閱讀 197
第11章 Diffie-Hellman 199
Diffie-Hellman函數 200
Diffie-Hellman問題 201
計算Diffie-Hellman問題 201
決策Diffie-Hellman問題 202
更多的Diffie-Hellman問題 202
密鑰協商協議 203
非DH密鑰協商協議示例 203
密鑰協商協議的攻擊模型 204
效能 205
Diffie-Hellman協議 206
匿名Diffie-Hellman協議 206
含身份驗證的Diffie-Hellman協議 207
Menezes–Qu–Vanstone(MQV)協議 210
意外如何發生 211
不哈希共享秘密 211
TLS中Diffie–Hellman的歷史遺留問題 212
不安全的群參數 212
拓展閱讀 213
第12章 橢圓曲線 215
什么是橢圓曲線 216
整數上的橢圓曲線 217
加法點和乘法點 219
橢圓曲線群 222
ECDLP問題 222
橢圓曲線上的Diffie–Hellman密鑰協商 223
橢圓曲線上的簽名 224
橢圓曲線上的加密 226
曲線的選擇 227
NIST曲線 227
曲線25519 228
其他曲線 228
意外如何發生 229
隨機性差的ECDSA 229
用另一條曲線破解ECDH 229
拓展閱讀 230
第13章 TLS 231
目標應用和要求 232
TLS協議套件 232
TLS和SSL協議家族的簡單歷史 232
TLS簡介 233
證書和證書頒發機構 233
記錄協議 236
TLS握手協議 237
TLS 1.3的密碼算法 239
TLS 1.3對TLS 1.2的改進 240
降級保護 240
單次往返握手 241
會話恢復 241
TLS安全性的優勢 241
認證 242
前向保密性 242
意外如何發生 242
不安全的證書頒發機構 243
不安全的服務器 243
不安全的客戶端 243
實現中的缺陷 244
拓展閱讀 244
第14章 量子和后量子時代的密碼學 247
量子計算機的工作原理 247
量子比特 248
量子門 251
量子加速 253
指數加速和Simon問題 253
Shor算法的威脅 254
Shor算法解決因數分解問題 255
Shor算法和離散對數問題 255
Grover算法 255
為什么制造量子計算機如此困難 257
后量子密碼算法 258
基于編碼的密碼 258
基于格的密碼 259
基于多變量的密碼 259
基于哈希的密碼 261
意外如何發生 262
不明晰的安全水平 262
快進:如果太晚會發生什么 263
實現問題 263
拓展閱讀 264
序: