現(xiàn)代密碼學(xué)及其應(yīng)用
定 價:119 元
叢書名:計算機科學(xué)叢書
- 作者:[美]理查德E. 布拉胡特(Richard E. Blahut)
- 出版時間:2018/5/1
- ISBN:9787111594635
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TN918.1
- 頁碼:371
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書闡述了密碼學(xué)的發(fā)展歷史,重點介紹了密碼學(xué)的基本概念、基本理論和基本方法以及常用具體算法。首先,本書對密碼學(xué)所需的數(shù)論、抽象代數(shù)和信息論等預(yù)備知識進(jìn)行了詳細(xì)敘述,并介紹了非對稱密碼體制(公鑰密碼學(xué))中的經(jīng)典算法RSA、Elgamal、Rabin、Diffie–Hellman密鑰交換協(xié)議等。在此基礎(chǔ)上,依次介紹了安全通信要用到的對稱密碼(分組密碼和流密碼)與散列函數(shù)及其常用算法和分析方法。后,本書以一半的篇幅詳細(xì)介紹了安全通信所涉及的公鑰密碼學(xué)新成果,包括橢圓曲線密碼、超橢圓曲線密碼、雙線性對密碼、格密碼等,并簡要介紹了安全與鑒別密碼協(xié)議。本書可作為密碼學(xué)和信息安全方向的本科生和研究生教材,也可供密碼學(xué)和信息安全方向的廣大科技工作者參考。
前 言Cryptography and Secure Communication信息傳輸和信息保護就像是同一幅織錦的兩面,但信息保護有著更為錯綜復(fù)雜的多重紋路。信息保護學(xué)科的核心就是經(jīng)典密碼學(xué)中特有的主題,即保護消息的內(nèi)容避免被未授權(quán)的接收者所理解,但不以其他方式來保護消息。本書大部分內(nèi)容專注于古典意義上的密碼學(xué),但用現(xiàn)代先進(jìn)的方式來探討,F(xiàn)代密碼學(xué)與信息保護總體上是一個由數(shù)學(xué)、工程、信息與計算機科學(xué)組成的迷人交叉學(xué)科,這些交叉可以在本書中找到。
信息保護學(xué)科正在迅速演變,它遠(yuǎn)遠(yuǎn)超越了點對點密碼學(xué)中的古典觀念。當(dāng)前大型公共網(wǎng)絡(luò)對保密與安全有強烈的需求。在公共網(wǎng)絡(luò)通信的大背景下,還有很多其他重要問題,包括授權(quán)、證書和認(rèn)證等問題,這為討論中帶來了很多需要考慮的微妙因素。雖然本書的重點是密碼學(xué),但也同樣涉及這些問題。同我的其他書一樣,我的目標(biāo)集中于討論這些形式化的、可能永恒的問題,而不是現(xiàn)用系統(tǒng)的細(xì)節(jié)。雖然本書沒有編寫成一本手冊來描述當(dāng)前標(biāo)準(zhǔn)密碼體制,但有些主題通過討論現(xiàn)用的實際系統(tǒng)進(jìn)行了最好的描述。
現(xiàn)代密碼學(xué)采用了大量源自數(shù)論、抽象代數(shù)和代數(shù)幾何等科目的高等數(shù)學(xué)資料。我相信,一個人如果對這些資料沒有一定的理解,不可能成為密碼學(xué)學(xué)科的專家。因此,本書對所有相關(guān)的數(shù)學(xué)主題進(jìn)行了正式且嚴(yán)謹(jǐn)?shù)奶接,但簡化了描述以適應(yīng)目前的需求。
本書由一個工程師而非密碼學(xué)者編寫,是寫給那些特別想要在一定程度上深入了解信息保護學(xué)科的工程師們。雖然我承認(rèn)這樣做有一定風(fēng)險,但也希望會有積極的教學(xué)意義。作為這個學(xué)科的外行,我能更容易地看出那些對專家顯而易見而對新手卻難以理解的知識點,而這些知識需要更細(xì)心地對待。但是,同時我也堅信密碼學(xué)的工科生不應(yīng)該縮手縮腳。盡管工程師的起始背景可能不同于一個數(shù)學(xué)家,但他能夠且應(yīng)該理解主要的數(shù)學(xué)知識,而不要以為任何基本原理都是理所當(dāng)然的。
在寫這本書時,有時我不得不按自己的方式來達(dá)到所需的結(jié)果,而這超越了我的常規(guī)教育。為此,本書以目標(biāo)為中心,直接深入展開,但不失嚴(yán)謹(jǐn)性。我希望這樣一本由非專業(yè)人士編寫的科技書籍會適合普通技術(shù)教育讀者。
當(dāng)然,很多現(xiàn)代密碼學(xué)的軟肋是復(fù)雜度問題,但這個主題在本書中沒有詳細(xì)討論。呈現(xiàn)給對手的計算問題貌似復(fù)雜難解,這樣秘密就得到了保護。計算復(fù)雜難解的證據(jù)往往只是傳聞。眾所周知的形式化論述是經(jīng)過檢驗的,并往往只能間接應(yīng)用。關(guān)于復(fù)雜度的描述通常指的是漸近復(fù)雜度,這是理論意義上的,但可以與實例問題的實際復(fù)雜度有很大不同。由于我們傾向于在本書中盡量避免無證據(jù)的論斷,所以很多關(guān)于復(fù)雜度的表述通常只出現(xiàn)在一般術(shù)語中,或者在章末注釋中。
本書討論了古典和現(xiàn)代密碼學(xué)的很多專業(yè)概念,甚至討論了一些過時的或者不足信的技術(shù),因為它們對本學(xué)科的歷史和文化很重要。這些思想有助于理解本書,并可能引領(lǐng)未來的發(fā)展。
許多不同的數(shù)學(xué)科目構(gòu)成了密碼學(xué)學(xué)科的基礎(chǔ),這部分內(nèi)容將在第9章介紹,而在第2章將介紹數(shù)論的相關(guān)內(nèi)容。背景材料放到第9章再介紹有助于塑造本書的風(fēng)格,但有時需要提前參考第9章的定義和定理。本書的前半部分(第1~8章)討論經(jīng)典密碼學(xué)和公鑰密碼學(xué)的早期基本方法,這些主要是基于數(shù)論的。本書前半部分所需的數(shù)學(xué)主要是數(shù)論,以及群論的基本概念,這在第2章中就展開論述了。第3章和第4章探討了公鑰密碼學(xué)。第5章探討了信息論問題,第6章和第7章探討了傳統(tǒng)的分組密碼和流密碼,第8章涵蓋了消息認(rèn)證。
本書中間的第9章,簡要總結(jié)了后面幾章所需的數(shù)學(xué),前面幾章偶爾也需要。本書的后半部分也需要其他高等數(shù)學(xué)的知識,特別是代數(shù)幾何的概念。這些主題的絕大部分在需要用到的地方展開論述。特別地,第10~12章討論基于橢圓和超橢圓曲線的密碼學(xué),包括配對方法。最后3章圓滿完成了本書。第13章討論實際的實施問題。第14章討論了身份鑒別,而第15章討論了基于格和基于編碼的密碼學(xué)。大部分的處理是自成一體的,或者說是有這樣的目的。
本書所講述的數(shù)學(xué)成熟、美麗而優(yōu)雅,在某些方面與信號處理的工程數(shù)學(xué)相關(guān),但是它更高級,并用自己的語言來表述。也許其中一些理論有一天將進(jìn)入工程師的日常工具箱。
致 謝Cryptography and Secure Communication這本書開始于一套未編輯的講義筆記,源自1999年我和Nigel Boston教授一起講授的密碼學(xué)課程,并于2003年和2005年同Iwan Duursma教授一起重新教該課。這些早期講義筆記只是把講座作為班級學(xué)生的助學(xué)工具,試圖把問題闡述清楚,并幫助我自己理解相關(guān)數(shù)學(xué)內(nèi)容。由于當(dāng)時有許多草率未完的邊角工作,這些筆記并不適于全面發(fā)行。2009年到2011年,當(dāng)我主要面向工科學(xué)生單獨講授該課程時,繼續(xù)完善和修訂了這些筆記,最終完成當(dāng)前這本書。
我對數(shù)學(xué)主題有更深層次的理解,要感謝與Boston在課堂內(nèi)外的共享時光,以及與Duursma的互動。沒有這些親密合作,我不可能加深對這些內(nèi)容的理解。雖然我確實感謝他們給我?guī)砹诉@個新的興趣點,但我也責(zé)怪他們讓我來擔(dān)負(fù)起一個新的嗜好。還要感謝與Ian Blake和Jim Massey的長期友誼,這兩個人就像
理查德 E. 布拉胡特(Richard E. Blahut)
美國工程院院士、IEEE香農(nóng)獎獲得者、伊利諾伊大學(xué)香檳分校(UIUC)電氣與計算機工程系榮休教授。他于1972年獲得康奈爾大學(xué)電氣工程博士學(xué)位,曾先后在康奈爾大學(xué)、普林斯頓大學(xué)、瑞士聯(lián)邦理工學(xué)院和伊利諾伊大學(xué)香檳分校任教。他在1990年當(dāng)選美國工程院院士,1981年當(dāng)選IEEE Fellow,主要研究領(lǐng)域有編碼理論與應(yīng)用、通信、計算機成像系統(tǒng)、光通信和信號處理,曾獲1998年IEEE貝爾獎(IEEE Alexander Granham Bell Medal)、IEEE 第三次千禧獎?wù)?(IEEE Third Millennium Medal)、2005年IEEE香農(nóng)獎(IEEE Claude E. Shannon Award)等。
目 錄
Cryptography and Secure Communication
出版者的話
譯者序
前言
致謝
第1章 概述1
1.1 經(jīng)典密碼學(xué)1
1.2 密碼保密的概念3
1.3 分組密碼5
1.4 流密碼7
1.5 公鑰密碼學(xué)8
1.6 迭代與級聯(lián)密碼9
1.7 密碼分析學(xué)10
1.8 現(xiàn)實攻擊11
1.9 復(fù)雜度理論12
1.10 認(rèn)證與鑒別13
1.11 所有權(quán)保護14
1.12 隱蔽通信15
1.13 信息保護史16
第1章習(xí)題17
第1章注釋18
第2章 整數(shù)20
2.1 數(shù)論基礎(chǔ)20
2.2 歐幾里得算法23
2.3 素數(shù)域25
2.4 平方剩余26
2.5 二次互反性30
2.6 雅可比符號32
2.7 素性檢驗35
2.8 費馬算法36
2.9 Solovay-Strassen算法37
2.10 Miller-Rabin算法39
2.11 整數(shù)分解41
2.12 Pollard因子分解算法42
2.13 素數(shù)域上的平方根43
第2章習(xí)題48
第2章注釋50
第3章 基于整數(shù)環(huán)的密碼學(xué)51
3.1 雙素數(shù)密碼51
3.2 雙素數(shù)密碼的實施52
3.3 雙素數(shù)密碼的協(xié)議攻擊54
3.4 雙素數(shù)加密的直接攻擊55
3.5 雙素數(shù)因子分解56
3.6 平方篩選法56
3.7 數(shù)域篩選法60
3.8 Rabin密碼體制62
3.9 背包密碼體制的興衰64
第3章習(xí)題65
第3章注釋66
第4章 基于離散對數(shù)的密碼學(xué)67
4.1 Diffie-Hellman密鑰交換67
4.2 離散對數(shù)68
4.3 Elgamal密碼體制69
4.4 陷門單向函數(shù)70
4.5 Massey-Omura密碼體制70
4.6 Pohlig-Hellman算法71
4.7 Shanks算法75
4.8 離散對數(shù)的Pollard算法77
4.9 指數(shù)計算方法79
4.10 離散對數(shù)問題的復(fù)雜度81
第4章習(xí)題83
第4章注釋83
第5章 密碼學(xué)中的信息論方法85
5.1 概率空間85
5.2 熵86
5.3 理想保密87
5.4 Shannon-McMillan定理89
5.5 唯一解距離90
5.6 自然語言的熵92
5.7 熵擴展93
5.8 數(shù)據(jù)壓縮94
5.9 竊聽信道95
第5章習(xí)題98
第5章注釋99
第6章 分組密碼100
6.1 分組代換100
6.2 Feistel網(wǎng)絡(luò)101
6.3 數(shù)據(jù)加密標(biāo)準(zhǔn)102
6.4 數(shù)據(jù)加密標(biāo)準(zhǔn)的使用105
6.5 雙重和三重DES加密105
6.6 高級加密標(biāo)準(zhǔn)106
6.7 差分密碼分析109
6.8 線性密碼分析110
第6章習(xí)題110
第6章注釋111
第7章 流密碼112
7.1 依賴狀態(tài)的加密112
7.2 加法流密碼113
7.3 線性移位寄存器序列115
7.4 線性復(fù)雜度攻擊117
7.5 線性復(fù)雜度分析118
7.6 非線性反饋產(chǎn)生的密鑰流120
7.7 非線性組合產(chǎn)生的密鑰流121
7.8 非線性函數(shù)產(chǎn)生的密鑰流123
7.9 相關(guān)性攻擊128
7.10 偽隨機序列130
7.11 序列的非線性集131
第7章習(xí)題133
第7章注釋134
第8章 認(rèn)證與所有權(quán)保護135
8.1 認(rèn)證135
8.2 鑒別136
8.3 認(rèn)證簽名136
8.4 散列函數(shù)138
8.5 生日攻擊140
8.6 迭代散列構(gòu)造141
8.7 理論散列函數(shù)141
8.8 實用散列函數(shù)142
第8章習(xí)題146
第8章注釋147
第9章 群、環(huán)與域148
9.1 群148
9.2 環(huán)150
9.3 域151
9.4 素數(shù)域153
9.5 二進(jìn)制域與三進(jìn)制域153
9.6 一元多項式154
9.7 擴張域159
9.8 有限域上的乘法循環(huán)群163
9.9 分圓多項式165
9.10 向量空間167
9.11 線性代數(shù)169
9.12 傅里葉變換170
9.13 有限域的存在性173
9.14 二元多項式176
9.15 模數(shù)約簡與商群179
9.16 一元多項式分解180
第9章習(xí)題182
第9章注釋184
第10章 基于橢圓曲線的密碼學(xué)185
10.1 橢圓曲線185
10.2 有限域上的橢圓曲線189
10.3 點的加法運算191
10.4 橢圓曲線的階數(shù)194
10.5 橢圓曲線的群196
10.6 超奇異橢圓曲線197
10.7 二進(jìn)制域上的橢圓曲線199
10.8 點的乘法計算201
10.9 橢圓曲線密碼學(xué)202
10.10 投影平面204
10.11 擴張域上的點計數(shù)206
10.12 有理數(shù)上橢圓曲線的同態(tài)映射210
10.13 有限域上橢圓曲線的同態(tài)213
10.14 基域上的點計數(shù)217
10.15 Xedni(仿指數(shù))計算方法220
10.16 橢圓曲線與復(fù)數(shù)域223
10.17 采用復(fù)數(shù)乘法構(gòu)造的曲線225
第10章習(xí)題231
第10章注釋233
第11章 基于超橢圓曲線的密碼學(xué)235
11.1 超橢圓曲線235
11.2 坐標(biāo)環(huán)和函數(shù)域238
11.3 極根和零根240
11.4 約數(shù)242
11.5 主約數(shù)244
11.6 橢圓曲線上的主約數(shù)246
11.7 雅可比商群249
11.8 超橢圓曲線的群250
11.9 半簡化約數(shù)和雅可比商群252
11.10 Mumford變換253
11.11 Cantor約簡算法257
11.12 簡化約數(shù)和雅可比商群259
11.13 Cantor-Koblitz算法260
11.14 超橢圓曲線密碼學(xué)263
11.15 超橢圓雅可比商群的階264
11.16 一些雅可比商群的例子265
第11章習(xí)題268
第11章注釋269
第12章 基于雙線性對的密碼學(xué)270
12.1 雙線性對270
12.2 基于配對的密碼學(xué)271
12.3 基于配對的密鑰交換272
12.4 基于身份的加密273
12.5 基于配對的簽名275
12.6 攻擊雙線性