密碼學是一門非常有趣的學科,它與計算機科學、數(shù)學以及電子工程都存在交叉。隨著密碼學日新月異地取得發(fā)展,人們現(xiàn)在已經(jīng)很難跟上它的發(fā)展步伐。密碼學領域的理論基礎在過去的25年里已經(jīng)得到加強和鞏固;現(xiàn)在,人們對安全的定義和證明結(jié)構(gòu)安全的方法有了更深入的認識。同時,我們也見證了應用密碼學的快速發(fā)展:舊算法不斷地被破解和拋棄,同時,新算法和協(xié)議也在不斷涌現(xiàn)。
《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》的最大價值在于重點討論了密碼學研究人員所關心的主題。而且,《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》對數(shù)學背景知識和公式的使用加以嚴格限制——只有在必要的情況下才會在適當?shù)牡胤浇榻B這些數(shù)學知識和公式。對密碼學領域的新手而言,這種“少即是多”的方法足以滿足他們的需求,因為《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》將帶領他們一步一步地學習基本概念和各種精心選擇的算法與協(xié)議。對于想要深入學習和拓展知識的讀者而言,《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》每個章節(jié)都提供了非常有用的擴展閱讀素材。
密碼學的應用范圍日益擴大,它不僅用于政府通信和銀行系統(tǒng)等傳統(tǒng)領域,還用于Web瀏覽器、電子郵件程序、手機、制造系統(tǒng)、嵌入式軟件、智能建筑、汽車甚至人體器官移植等領域。今天的設計人員必須全面系統(tǒng)地了解應用密碼學。 《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》將理論與實踐完美融合在一起,在大量實例的引導下,深入討論了密碼學精髓內(nèi)容。 《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》介紹密碼學和數(shù)據(jù)安全性分析序列密碼、DES、3DES、AES、分組密碼和RSA密碼體制,討論ECC、數(shù)字簽名、哈希函數(shù)、MAC和密鑰建立方法(如證書和PKI),講述針對RFID和移動設備的輕量級密碼、當前推薦的密鑰長度等最新主題。 《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》作者長期執(zhí)教于計算機科學與工程系,擁有十分豐富的應用密碼學教學經(jīng)驗。《安全技術經(jīng)典譯叢·深入淺出密碼學:常用加密技術原理與應用》可作為研究生和高年級本科生的教科書,也可供工程師自學之用。海報:
密碼學已經(jīng)滲透到我們生活的方方面面,從Web 瀏覽器和電子郵件程序,到手機、銀行卡、汽車,甚至包括器官移植。在不久的將來,我們將看到密碼學更多令人激動不已的新應用,比如防偽的射頻識別(RFID)標簽,或車對車的通信(已經(jīng)有人在為保證這兩種應用的安全而努力)。過去,密碼學總是被傳統(tǒng)地限制在十分特殊的應用領域,尤其是政務信息和銀行系統(tǒng)。時至今日,這種情況已經(jīng)發(fā)生了很大的改變。由于加密算法的普遍性,越來越多的人必須理解加密算法的工作原理,以及怎樣將它們應用到實踐中;本書全面介紹當前應用的密碼學,為讀者釋疑解惑,堪稱讀者的良師益友。本書面向?qū)W生和密碼行業(yè)的從業(yè)者。
本書可以幫助讀者深入地理解現(xiàn)代加密方案的工作原理。本書在對大學級別微積分背景要求最少的情況下,以最通俗易懂的方式介紹了必要的數(shù)學概念。所以,對本科生或即將開始學習研究生課程的學生而言,本書是一本非常合適的教科書;而對期望更深入理解現(xiàn)代密碼學的職業(yè)工程師或計算機科學家而言,本書則是極具價值的參考書。
本書擁有的諸多特征使得它成為密碼學從業(yè)者和學生獨一無二的資源—本書介紹了絕大多數(shù)實際應用中使用的加密算法,并重點突出了它們的實用性。對于每種加密模式,我們都給出了最新的安全評估和推薦使用的密鑰長度。同時,本書也探討了每種算法在軟件實現(xiàn)和硬件實現(xiàn)中的一些重要問題。除加密算法外,本書還介紹了很多其他重要主題,比如加密協(xié)議、運作模式、安全服務和密鑰建立技術等。此外,本書還包含了許多非常新的主題,比如針對受限的應用而優(yōu)化的輕量級加密(例如RFID 標簽或智能卡),或新的操作模式。
每章末尾的討論單元都給出了許多注明出處的參考文獻,為讀者提供了大量擴展閱讀的材料。對于課堂使用的讀者而言,這些討論單元提供了很好的課程項目資源。對于將本書當作教科書的讀者,強烈推薦閱讀本書的配套學習資源網(wǎng)站:
www.crypto-textbook.com
Christof Paar,任波鴻大學嵌入式安全系教授,并兼任馬薩諸塞大學教授。Christof講授密碼學課程的時間已有15年之久,并曾為摩托羅拉、飛利浦和NASA等多家機構(gòu)的從業(yè)人員授課。Christof是應用密碼學領域的CHES(Cryptographic Hardware and Embedded Systems)學術會議的創(chuàng)始人之一,迄今已發(fā)表100多篇學術論文。
Jan Pelzl,是安全咨詢公司ESCRYPT-Embedded Security的管理總監(jiān)Jan擁有應用密碼學博士學位,他對基于橢圓曲線的密碼學的研究可謂苦心孤詣,對該領域具有非常獨到和深邃的理解,已在重要刊物上發(fā)表了多篇論文。
第1章 密碼學和數(shù)據(jù)安全導論
1.1 密碼學及本書內(nèi)容概述
1.2 對稱密碼學
1.2.1 基礎知識
1.2.2 簡單對稱加密:替換密碼
1.3 密碼分析
1.3.1 破譯密碼體制的一般思路
1.3.2 合適的密鑰長度
1.4 模運算與多種古典密碼
1.4.1 模運算
1.4.2 整數(shù)環(huán)
1.4.3 移位密碼(凱撒密碼)
1.4.4 仿射密碼
1.5 討論及擴展閱讀
1.6 要點回顧
1.7 習題
第2章 序列密碼
2.1 引言
2.1.1 序列密碼與分組密碼
2.1.2 序列密碼的加密與解密
2.2 隨機數(shù)與牢不可破的分組密碼
2.2.1 隨機數(shù)生成器
2.2.2 一次一密
2.2.3 關于實際序列密碼
2.3 基于移位寄存器的序列密碼
2.3.1 線性反饋移位寄存器(LFSR)
2.3.2 針對單個LFSR的已知明文攻擊
2.3.3 Trivium
2.4 討論及擴展閱讀
2.5 要點回顧
2.6 習題
第3章 數(shù)據(jù)加密標準與替換算法
3.1 DES簡介
3.2 DES算法概述
3.3 DES的內(nèi)部結(jié)構(gòu)
3.3.1 初始置換與逆初始置換
3.3.2 f函數(shù)
3.3.3 密鑰編排
3.4 解密
3.5 DES的安全性
3.5.1 窮盡密鑰搜索
3.5.2 分析攻擊
3.6 軟件實現(xiàn)與硬件實現(xiàn)
3.6.1 軟件
3.6.2 硬件
3.7 DES替換算法
3.7.1 AES和AES入圍密碼
3.7.2 3DES與DESX
3.7.3 輕量級密碼PRESENT
3.8 討論及擴展閱讀
3.9 要點回顧
3.10 習題
第4章 高級加密標準
4.1 引言
4.2 AES算法概述
4.3 一些數(shù)學知識:伽羅瓦域簡介
4.3.1 有限域的存在性
4.3.2 素域
4.3.3 擴展域GF(2m)
4.3.4 GF(2m)內(nèi)的加法與減法
4.3.5 GF(2m)內(nèi)的乘法
4.3.6 GF(2m)內(nèi)的逆操作
4.4 AES的內(nèi)部結(jié)構(gòu)
4.4.1 字節(jié)代換層
4.4.2 擴散層
4.4.3 密鑰加法層
4.4.4 密鑰編排
4.5 解密
4.6 軟件實現(xiàn)與硬件實現(xiàn)
4.6.1 軟件
4.6.2 硬件
4.7 討論及擴展閱讀
4.8 要點回顧
4.9 習題
第5章 分組密碼的更多內(nèi)容
5.1 分組密碼加密:操作模式
5.1.1 電子密碼本模式(ECB)
5.1.2 密碼分組鏈接模式(CBC)
5.1.3 輸出反饋模式(OFB)
5.1.4 密碼反饋模式(CFB)
5.1.5 計數(shù)器模式(CTR)
5.1.6 伽羅瓦計數(shù)器模式(GCM)
5.2 回顧窮盡密鑰搜索
5.3 增強分組密碼的安全性
5.3.1 雙重加密與中間人攻擊
5.3.2 三重加密
5.3.3 密鑰漂白
5.4 討論及擴展閱讀
5.5 要點回顧
5.6 習題
第6章 公鑰密碼學簡介
6.1 對稱密碼學與非對稱密碼學
6.2 公鑰密碼學的實用性
6.2.1 安全機制
6.2.2 遺留問題:公鑰的可靠性
6.2.3 重要的公鑰算法
6.2.4 密鑰長度與安全等級
6.3 公鑰算法的基本數(shù)論知識
6.3.1 歐幾里得算法
6.3.2 擴展的歐幾里得算法
6.3.3 歐拉函數(shù)
6.3.4 費馬小定理與歐拉定理
6.4 討論及擴展閱讀
6.5 要點回顧
6.6 習題
第7章 RSA密碼體制
7.1 引言
7.2 加密與解密
7.3 密鑰生成與正確性驗證
7.4 加密與解密:快速指數(shù)運算
……
第8章 基于離散對數(shù)問題的公鑰密碼體制
第9章 橢圓曲線密碼體制
第10章 數(shù)字簽名
第11章 哈希函數(shù)
第12章 消息驗證碼
第13章 密鑰建立
參考文獻