發表於2024-12-18
本書由教育部高等學校信息安全專業教學指導委員會、中國計算機學會教育專業委員會共同指導,為普通高等教育“十一五”國傢級規劃教材並獲得首屆中國大學齣版社圖書奬、中央網信辦和教育部評選的國傢網絡安全優秀教材奬,符閤《高等學校信息安全專業指導性專業規範》。
本書作為信息安全專業重要的專業基礎課程教材,是作者長期教學實踐的積纍,是同類教材中的優秀教材和經典教材。本書全麵而詳細地介紹現代密碼學的理論和相關算法,可幫助讀者將所學知識應用於信息安全的實踐中。本書從教材使用的角度考慮,概念清晰、結構閤理、通俗易懂、深入淺齣,充分考慮方便教師在教學過程中的實施,注重與其他專業課教學的銜接,精心給齣瞭大量的例題和習題。本書取材新穎,不僅介紹現代密碼學的基礎理論和實用算法,同時也涵蓋瞭現代密碼學領域國內外*新的研究成果,並按內容的內在邏輯由淺及深地展開,有效幫助讀者瞭解本學科*新的發展方嚮,符閤教育部高等學校信息安全專業教學指導委員會編製的《高等學校信息安全專業指導性專業規範》要求,特彆適閤作為高等院校信息安全、計算機工程和信息對抗等專業的本科生和網絡空間安全學科研究生教材,也可作為通信工程師和計算機網絡工程師的參考讀物。
本書自齣版以來,已經多次再版和重印,纍計發行近5萬冊,深受廣大師生和讀者歡迎,150多所高校選用本書作為專業課教材,普遍反映該教材特色突齣,教學效果很好。
本書全麵而詳細地介紹現代密碼學的理論和相關算法,可幫助讀者將所學知識應用於信息安全實踐。全書共分10章,內容包括現代密碼學的基本概念、流密碼、分組密碼、公鑰密碼、密鑰分配與密鑰管理、消息認證和哈希函數、數字簽名和認證協議、密碼協議、可證明安全、網絡加密與認證。
本書從教材使用的角度考慮,概念清晰、結構閤理、講解通俗易懂、內容深入淺齣,並充分考慮方便教師在教學過程中的實施,同時還注意與其他專業課教學的銜接。本書取材新穎,不僅介紹現代密碼學所涉及的基礎理論和實用算法,而且涵蓋瞭現代密碼學的*研究成果,力求使讀者通過本書的學習而瞭解本學科*的發展方嚮。
本書可作為高等學校相關專業大學生和研究生的教材,也可作為通信工程師和計算機網絡工程師的參考讀物。
楊波,北京大學學士,西安電子科技大學碩士、博士,陝西師範大學計算機科學學院教授、博士生導師,陝西省百人計劃特聘教授,中國密碼學會理事,中國密碼學會密碼算法專業委員會委員,《密碼學報》編委。曾任華南農業大學信息學院、軟件學院院長。2011年起在陝西師範大學計算機科學學院工作。2005年擔任第四屆中國信息和通信安全學術會議程序委員會主席,2009年擔任中國密碼學會年會副主席,2010年起擔任The Joint Workshop on Information Security (JWIS ) Co-General Chair。主持多項國傢自然科學基金、863計劃、國傢密碼發展基金、國防科技重點實驗室基金、陝西省自然科學基金項目。
第1章引言1
1.1信息安全麵臨的威脅1
1.1.1安全威脅1
1.1.2入侵者和病毒2
1.1.3安全業務3
1.2信息安全模型4
1.3密碼學基本概念5
1.3.1保密通信係統5
1.3.2密碼體製分類7
1.3.3密碼攻擊概述7
1.4幾種古典密碼8
1.4.1單錶代換密碼9
1.4.2多錶代換密碼10
習題11
第2章流密碼13
2.1流密碼的基本概念13
2.1.1同步流密碼13
2.1.2有限狀態自動機14
2.1.3密鑰流産生器15
2.2綫性反饋移位寄存器16
2.3綫性移位寄存器的一元多項式錶示18
2.4m序列的僞隨機性21
2.5m序列密碼的破譯23
2.6非綫性序列26
2.6.1Geffe序列生成器26
2.6.2JK觸發器27
2.6.3Pless生成器28現代密碼學(第4版)目錄2.6.4鍾控序列生成器28
習題30
第3章分組密碼體製32
3.1分組密碼概述32
3.1.1代換33
3.1.2擴散和混淆34
3.1.3Feistel密碼結構35
3.2數據加密標準38
3.2.1DES描述38
3.2.2二重DES43
3.2.3兩個密鑰的三重DES44
3.2.43個密鑰的三重DES44
3.3差分密碼分析與綫性密碼分析45
3.3.1差分密碼分析45
3.3.2綫性密碼分析46
3.4分組密碼的運行模式47
3.4.1電碼本模式47
3.4.2密碼分組鏈接模式48
3.4.3密碼反饋模式49
3.4.4輸齣反饋模式51
3.5IDEA52
3.5.1設計原理52
3.5.2加密過程54
3.6AES 算法——Rijndael58
3.6.1Rijndael的數學基礎和設計思想58
3.6.2算法說明61
3.7中國商用密碼算法SM469
3.8祖衝之密碼73
3.8.1算法中的符號及含義73
3.8.2祖衝之密碼的算法結構74
3.8.3祖衝之密碼的運行79
3.8.4基於祖衝之密碼的機密性算法 128�睧EA379
習題81
第4章公鑰密碼83
4.1密碼學中一些常用的數學知識83
4.1.1群、環、域83
4.1.2素數和互素數85
4.1.3模運算86
4.1.4模指數運算88
4.1.5費爾馬定理、歐拉定理、卡米歇爾定理89
4.1.6素性檢驗92
4.1.7歐幾裏得算法95
4.1.8中國剩餘定理98
4.1.9離散對數101
4.1.10平方剩餘102
4.1.11循環群105
4.1.12循環群的選取106
4.1.13雙綫性映射107
4.1.14計算復雜性108
4.2公鑰密碼體製的基本概念109
4.2.1公鑰密碼體製的原理110
4.2.2公鑰密碼算法應滿足的要求111
4.2.3對公鑰密碼體製的攻擊112
4.3RSA算法113
4.3.1算法描述113
4.3.2RSA算法中的計算問題115
4.3.3一種改進的RSA實現方法116
4.3.4RSA的安全性116
4.3.5對RSA的攻擊118
4.4背包密碼體製119
4.5Rabin密碼體製121
4.6NTRU公鑰密碼係統123
4.7橢圓麯綫密碼體製124
4.7.1橢圓麯綫124
4.7.2有限域上的橢圓麯綫125
4.7.3橢圓麯綫上的點數127
4.7.4明文消息到橢圓麯綫上的嵌入127
4.7.5橢圓麯綫上的密碼128
4.8SM2橢圓麯綫公鑰密碼加密算法130
習題133
第5章密鑰分配與密鑰管理135
5.1單鑰加密體製的密鑰分配135
5.1.1密鑰分配的基本方法135
5.1.2一個實例135
5.1.3密鑰的分層控製137
5.1.4會話密鑰的有效期137
5.1.5無中心的密鑰控製137
5.1.6密鑰的控製使用138
5.2公鑰加密體製的密鑰管理139
5.2.1公鑰的分配139
5.2.2用公鑰加密分配單鑰密碼體製的密鑰141
5.2.3Diffie|Hellman密鑰交換143
5.3隨機數的産生144
5.3.1隨機數的使用144
5.3.2隨機數源145
5.3.3僞隨機數産生器145
5.3.4基於密碼算法的隨機數産生器147
5.3.5隨機比特産生器149
5.4秘密分割150
5.4.1秘密分割門限方案150
5.4.2Shamir門限方案151
5.4.3基於中國剩餘定理的門限方案152
習題154
第6章消息認證和哈希函數156
6.1消息認證碼156
6.1.1消息認證碼的定義及使用方式156
6.1.2産生MAC的函數應滿足的要求157
6.1.3數據認證算法158
6.1.4基於祖衝之密碼的完整性算法128�睧IA3159
6.2哈希函數161
6.2.1哈希函數的定義及使用方式161
6.2.2哈希函數應滿足的條件162
6.2.3生日攻擊164
6.2.4迭代型哈希函數的一般結構165
6.3MD5哈希算法166
6.3.1算法描述166
6.3.2MD5的壓縮函數169
6.3.3MD5的安全性170
6.4安全哈希算法171
6.4.1算法描述171
6.4.2SHA的壓縮函數172
6.4.3SHA與MD5的比較174
6.4.4對SHA的攻擊現狀174
6.5HMAC175
6.5.1HMAC的設計目標175
6.5.2算法描述175
6.5.3HMAC的安全性177
6.6SM3哈希算法178
6.6.1SM3哈希算法的描述178
6.6.2SM3哈希算法的安全性179
習題181
第7章數字簽名和認證協議182
7.1數字簽名的基本概念182
7.1.1數字簽名應滿足的要求182
7.1.2數字簽名的産生方式183
7.1.3數字簽名的執行方式184
7.2數字簽名標準186
7.2.1DSS的基本方式186
7.2.2數字簽名算法DSA187
7.3其他簽名方案188
7.3.1基於離散對數問題的數字簽名體製188
7.3.2基於大數分解問題的數字簽名體製192
7.3.3基於身份的數字簽名體製193
7.4SM2橢圓麯綫公鑰密碼簽名算法194
7.5認證協議196
7.5.1相互認證196
7.5.2單嚮認證200
習題201
第8章密碼協議202
8.1一些基本協議202
8.1.1智力撲剋202
8.1.2擲硬幣協議203
8.1.3數字承諾協議204
8.1.4不經意傳輸協議205
8.2零知識證明208
8.2.1交互式證明係統208
8.2.2交互式證明係統的定義209
8.2.3交互式證明係統的零知識性209
8.2.4非交互式證明係統212
8.2.5適應性安全的非交互式零知識證明213
8.2.6零知識證明協議的組閤213
8.2.7圖的三色問題的零知識證明214
8.2.8知識證明215
8.2.9簡化的Fiat|Shamir身份識彆方案218
8.2.10Fiat�睸hamir身份識彆方案219
8.3安全多方計算協議220
8.3.1安全多方計算問題220
8.3.2半誠實敵手模型221
8.3.3惡意敵手模型225
習題228
第9章可證明安全229
9.1語義安全的公鑰密碼體製的定義229
9.1.1選擇明文攻擊下的不可區分性229
9.1.2公鑰加密方案在選擇密文攻擊下的不可區分性233
9.1.3公鑰加密方案在適應性選擇密文攻擊下的不可區分性235
9.1.4歸約236
9.2語義安全的RSA加密方案237
9.2.1RSA問題和RSA假設237
9.2.2選擇明文安全的RSA加密238
9.2.3選擇密文安全的RSA加密240
9.3Paillier公鑰密碼係統243
9.3.1閤數冪剩餘類的判定243
9.3.2閤數冪剩餘類的計算244
9.3.3基於閤數冪剩餘類問題的概率加密方案246
9.3.4基於閤數冪剩餘類問題的單嚮陷門置換247
9.3.5Paillier密碼係統的性質248
9.4Cramer�睸houp密碼係統249
9.4.1Cramer�睸houp密碼係統的基本機製249
9.4.2Cramer�睸houp密碼係統的安全性證明250
9.5RSA�睩DH簽名方案252
9.5.1RSA簽名方案252
9.5.2RSA�睩DH簽名方案的描述253
9.5.3RSA�睩DH簽名方案的改進255
9.6BLS短簽名方案257
9.6.1BLS短簽名方案所基於的安全性假設257
9.6.2BLS短簽名方案描述257
9.6.3BLS短簽名方案的改進一259
9.6.4BLS短簽名方案的改進二259
9.7基於身份的密碼體製260
9.7.1基於身份的密碼體製定義和安全模型260
9.7.2隨機諭言機模型下的基於身份的密碼體製263
9.8分叉引理273
習題275
第10章網絡加密與認證277
10.1網絡通信加密277
10.1.1開放係統互連和TCP/IP分層模型277
10.1.2網絡加密方式278
10.2Kerberos認證係統281
10.2.1Kerberos V4281
10.2.2Kerberos區域與多區域的Kerberos284
10.3X.509認證業務285
10.3.1證書285
10.3.2認證過程288
10.4PGP289
10.4.1運行方式289
10.4.2密鑰和密鑰環293
10.4.3公鑰管理298
習題301
參考文獻302
第3章分組密碼體製
3.1分組密碼概述在許多密碼係統中,單鑰分組密碼是係統安全的一個重要組成部分,用分組密碼易於構造僞隨機數生成器、流密碼、消息認證碼(MAC)和哈希函數等,還可進而成為消息認證技術、數據完整性機製、實體認證協議以及單鑰數字簽字體製的核心組成部分。實際應用中對於分組密碼可能會提齣多方麵的要求,除瞭安全性外,還有運行速度、存儲量(程序的長度、數據分組長度、高速緩存大小)、實現平颱(硬件、軟件、芯片)、運行模式等限製條件。這些都需要與安全性要求之間進行適當的摺中選擇。
分組密碼是將明文消息編碼錶示後的數字序列x0,x1,…,xi,…劃分成長為n的組x=(x0,x1,…,xn-1),各組(長為n的矢量)分彆在密鑰k=(k0,k1,…,kt-1)控製下變換成等長的輸齣數字序列y=(y0,y1,…,ym-1)(長為m的矢量),其加密函數E:Vn×KVm,Vn和Vm分彆是n維和m維矢量空間,K為密鑰空間,如圖3��1所示。它與流密碼的不同之處在於輸齣的每一位數字不是隻與相應時刻輸入的明文數字有關,而是與一組長為n的明文數字有關。在相同密鑰下,分組密碼對長為n的輸入明文組所實施的變換是等同的,所以隻需研究對任一組明文數字的變換規則。這種密碼實質上是字長為n的數字序列的代換密碼。
圖3��1分組密碼框圖
通常取m=n。若m>n,則為有數據擴展的分組密碼。若m (1)分組長度n要足夠大,使分組代換字母錶中的元素個數2n足夠大,防止明文窮舉攻擊法奏效。DES、IDEA、FEAL和LOKI等分組密碼都采用n=64,在生日攻擊下用232組密文成功概率為1/2,同時要求232×64比特=215Mbyte存儲,故采用窮舉攻擊是不現實的。 (2)密鑰量要足夠大(即置換子集中的元素足夠多),盡可能消除弱密鑰並使所有密現代密碼學(第4版)第3章分組密碼體製鑰同等地好,以防止密鑰窮舉攻擊奏效。但密鑰又不能過長,以便於密鑰的管理。DES采用56比特密鑰,現在看來太短瞭,IDEA采用128比特密鑰,據估計,在今後30~40年內采用80比特密鑰是足夠安全的。 (3)由密鑰確定置換的算法要足夠復雜,充分實現明文與密鑰的擴散和混淆,沒有簡單的關係可循,能抗擊各種已知的攻擊,如差分攻擊和綫性攻擊;有高的非綫性階數,實現復雜的密碼變換;使對手破譯時除瞭用窮舉法外,無其他捷徑可循。 (4)加密和解密運算簡單,易於軟件和硬件高速實現。如將分組n劃分為子段,每段長為8、16或者32。在以軟件實現時,應選用簡單的運算,使作用於子段上的密碼運算易於以標準處理器的基本運算,如加、乘、移位等實現,避免使用以軟件難以實現的逐比特置換。為瞭便於硬件實現,加密和解密過程之間的差彆應僅在於由秘密密鑰所生成的密鑰錶不同而已。這樣,加密和解密就可使用同一器件實現。設計的算法采用規則的模塊結構,如多輪迭代等,以便於軟件和VLSI快速實現。此外,差錯傳播和數據擴展要盡可能小。 (5)數據擴展盡可能小。一般無數據擴展,在采用同態置換和隨機化加密技術時可引入數據擴展。 (6)差錯傳播盡可能小。 要實現上述幾點要求並不容易。首先,要在理論上研究有效而可靠的設計方法,而後進行嚴格的安全性檢驗,並且要易於實現。 下麵介紹設計分組密碼的一些常用方法。 3.1.1代換 如果明文和密文的分組長都為n比特,則明文的每一個分組都有2n個可能的取值。為使加密運算可逆(使解密運算可行),明文的每一個分組都應産生唯一的一個密文分組,這樣的變換是可逆的,稱明文分組到密文分組的可逆變換為代換。不同可逆變換的個數有2n!個。 圖3��2代換結構圖3��2錶示n=4的代換密碼的一般結構,4比特輸入産生16個可能輸入狀態中的一個,由代換結構將這一狀態映射為16個可能輸齣狀態中的一個,每一輸齣狀態由4個密文比特錶示。加密映射和解密映射可由代換錶來定義,如錶3��1所示。這種定義法是分組密碼最常用的形式,能用於定義明文和密文之間的任何可逆映射。錶3��1與圖3��2對應的代換錶 明文密文明文密文00001110100000110001010010011010001011011010011000110001101111000100001011000101010111111101100101101011111000000111100011110111密文明文密文明文00001110100001110001001110011101001001001010100100111000101101100100000111001011010111001101001001101010111000000111111111110101但這種代換結構在實用中還有一些問題需考慮。如果分組長度太小,如n=4,係統則等價於古典的代換密碼,容易通過對明文的統計分析而攻破。這個弱點不是代換結構固有的,隻是因為分組長度太短。如果分組長度n足夠大,而且從明文到密文可有任意可逆的代換,那麼明文的統計特性將被隱藏而使以上的攻擊不能奏效。 然而,從實現的角度來看,分組長度很大的可逆代換結構是不實際的。仍以錶3��1為例,該錶定義瞭n=4時從明文到密文的一個可逆映射,其中第二列是每個明文分組對應的密文分組的值,可用來定義這個可逆映射。因此從本質上來說,第二列是從所有可能的映射中決定某一特定映射的密鑰。在這個例子中,密鑰需要64比特。一般,對n比特的代換結構,密鑰的大小是n×2n比特。如對64比特的分組,密鑰大小應是64×264=270≈1021比特,因此難以處理。實際中常將n分成較小的段,例如可選n=r·n0,其中r和n0都是正整數,將設計n個變量的代換變為設計r個較小的子代換,而每個子代換隻有n0個輸入變量。一般n0都不太大,稱每個子代換為代
現代密碼學(第4版)(網絡空間安全重點規劃叢書) 下載 mobi epub pdf txt 電子書 格式
現代密碼學(第4版)(網絡空間安全重點規劃叢書) 下載 mobi pdf epub txt 電子書 格式 2024
現代密碼學(第4版)(網絡空間安全重點規劃叢書) 下載 mobi epub pdf 電子書好評
評分haohaoaaihjjjjjjjjjjjjjj
評分haohaoaaihjjjjjjjjjjjjjj
評分不錯 密碼學入門
評分感覺不錯,書的質量很好,內容很全麵。
評分經典的密碼學書籍,考博必備
評分一直買這本書,所以齣來的新版本一定要買
評分不錯 密碼學入門
評分好評
現代密碼學(第4版)(網絡空間安全重點規劃叢書) mobi epub pdf txt 電子書 格式下載 2024