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