關于我們
書單推薦
新書推薦
|
網(wǎng)絡安全
本書共分3篇15章, 第1篇為網(wǎng)絡安全基礎, 共3章, 主要介紹計算機網(wǎng)絡和網(wǎng)絡安全的基礎知識; 第2篇為密碼學基礎, 共5章, 詳細討論了密碼學的理論與技術; 第3篇為網(wǎng)絡安全技術與應用, 共7章, 深入介紹了網(wǎng)絡安全實踐中的技術和產(chǎn)品。本書內(nèi)容豐富, 概念清楚, 語言精練。在網(wǎng)絡安全基本知識和保密學理論方面, 力求深入淺出, 通俗易懂; 在網(wǎng)絡安全產(chǎn)品的介紹方面, 力求理論與實踐相結(jié)合, 具有很強的實用性。
本書由教育部高等學校信息安全專業(yè)教學指導委員會、中國計算機學會教育專業(yè)委員會共同指導,為普通高等教育“十一五”*規(guī)劃教材并獲得教育部普通高等教育精品教材獎、中央網(wǎng)信辦和教育部評選的國家網(wǎng)絡安全優(yōu)秀教材獎,符合《高等學校信息安全專業(yè)指導性專業(yè)規(guī)范》。
本書全面而深入地闡述了密碼學理論及信息安全相關技術,將密碼學理論與信息安全實踐有機結(jié)合,是國內(nèi)近年來出版的同類教材中的優(yōu)秀教材和經(jīng)典教材。全書整體結(jié)構合理,層次清晰,內(nèi)容全面,深入淺出,不但收入了近年來國內(nèi)外密碼學理論和信息安全實踐中*新的技術和研究成果,而且還特別注重理論聯(lián)系實踐,并符合教育部高等學校信息安全專業(yè)教學指導委員會編制的《高等學校信息安全專業(yè)指導性專業(yè)規(guī)范》,特別適合作為高等院校信息安全、信息對抗、計算機工程和通信工程等專業(yè)的本科生和研究生教材。本書的配套教材《網(wǎng)絡安全實驗教程(第2版)》(ISBN:978-7-302-28321-8)為普通高等教育“十一五”*規(guī)劃教材,并被評為北京市精品教材。
本書自出版以來,已經(jīng)多次再版和重印,累計發(fā)行逾2萬冊,深受廣大師生和讀者歡迎,100多所高校選用本書作為專業(yè)課教材,普遍反映該教材特色突出,教學效果很好。
前言
為了加強網(wǎng)絡空間安全專業(yè)人才的培養(yǎng),教育部已正式批準在29所大學設立網(wǎng)絡空間安全一級學科博士點,全國已有128所高校相繼設立了信息安全或信息對抗本科專業(yè)。為了提高網(wǎng)絡空間安全人才培養(yǎng)質(zhì)量,急需編寫出版一批高水平的網(wǎng)絡空間安全優(yōu)秀教材。
作者作為教育部高等學校信息安全專業(yè)教學指導委員會委員和中國密碼學會理事,參與編寫了教育部高等學校信息安全專業(yè)教學指導委員會編制的《高等學校信息安全專業(yè)指導性專業(yè)規(guī)范》。在本書的編寫過程中,力求使本教材的知識體系和知識點符合《高等學校信息安全專業(yè)指導性專業(yè)規(guī)范》的要求,并加入了對國產(chǎn)密碼算法的闡述。
全書共分3篇15章。第1篇為網(wǎng)絡安全基礎,共3章,主要介紹網(wǎng)絡安全的基本概念、計算機網(wǎng)絡的基礎知識,以及TCP/IP協(xié)議族的安全性。第2篇為密碼學基礎,共5章,主要介紹密碼學中的各種密碼算法和協(xié)議。第3篇為網(wǎng)絡安全技術與應用,共7章,主要介紹PKI/CA、密鑰管理、無線網(wǎng)絡安全,以及防火墻、VPN、IDS和身份認證等網(wǎng)絡安全技術與應用。
本書主要有以下特色:
(1)基本概念清晰,表述深入淺出。在基本概念的闡述上,力求準確而精練;在語言的運用上,力求順暢而自然。作者盡量避免使用晦澀難懂的語言描述深奧的理論和技術知識,而是借助大量的圖表進行闡述。
(2)內(nèi)容全面,涵蓋密碼學和網(wǎng)絡安全技術。本書既介紹了現(xiàn)代密碼學的知識,又闡述了網(wǎng)絡安全的理論與技術,特別適合于將密碼學和網(wǎng)絡安全合并為一門課進行授課的高校。
(3)理論與實踐相結(jié)合。針對某些網(wǎng)絡安全技術和產(chǎn)品,本書給出相應的網(wǎng)絡安全解決方案,從而使讀者能夠深入而全面地了解網(wǎng)絡安全技術的具體應用,以提高讀者獨立分析問題和解決問題的能力。
(4)每章后面都附有精心斟酌和編排的思考題。通過深入分析和討論思考題中所列問題,讀者可加強對每章所學基本概念和理論的理解,從而進一步鞏固所學的知識。
(5)本書詳細列出了大量的參考文獻。這些參考文獻為網(wǎng)絡空間安全學科的研究生和密碼學、信息安全、信息對抗技術等專業(yè)的本科生,以及其他網(wǎng)絡安全技術人員提供了深入研究相關專題的途徑和資料。
本書可作為密碼學、信息安全和信息對抗技術等專業(yè)的本科生教材和網(wǎng)絡空間安全學科的研究生教材,也可以作為網(wǎng)絡安全工程師的參考書和培訓教材。
本書由劉建偉主編,劉建偉和王育民對全書進行了審校。第1章由劉建偉編著,第2章由杜瑞穎編著,第3章由杜瑞穎和劉建偉編著,第11~14章由劉建偉編著,第4~10章和第15章由王育民和劉建偉編著。
感謝伍前紅教授、尚濤副教授、毛劍老師、關振宇老師、修春娣老師、張宗洋老師給予的支持與幫助。感謝陳杰、劉巍然、毛可飛、周星光、王蒙蒙、何雙羽、程東旭、劉哲、李大偉、程昊蘇、鐘林、王朝、姜勇、周林志等博士研究生,以及宋晨光、蘇航、馮伯昂、周修文、陶芮、夏丹楓、樊一康、齊嬋、劉懿中、王培人、馬寒軍、雷奇、李珂、崔鍵、史福田、杜崗、王沁、梁智等碩士研究生在書稿的整理過程中給予作者的大力支持與幫助。
由于作者水平所限,書中難免會存在錯誤和不妥之處。敬請廣大讀者朋友批評指正。
作 者
于北京
作者:劉建偉、王育民
第1篇 網(wǎng)絡安全基礎
第1章 引言 3
1.1 對網(wǎng)絡安全的需求 5
1.1.1 網(wǎng)絡安全發(fā)展態(tài)勢 5
1.1.2 敏感信息對安全的需求 6
1.1.3 網(wǎng)絡應用對安全的需求 7
1.2 安全威脅與防護措施 7
1.2.1 基本概念 7
1.2.2 安全威脅的來源 8
1.2.3 安全防護措施 10
1.3 網(wǎng)絡安全策略 11
1.3.1 授權 12
1.3.2 訪問控制策略 12
1.3.3 責任 13
1.4 安全攻擊的分類 13
1.4.1 被動攻擊 13
1.4.2 主動攻擊 14
1.5 網(wǎng)絡攻擊的常見形式 15
1.5.1 口令竊取 16
1.5.2 欺騙攻擊 16
1.5.3 缺陷和后門攻擊 17
1.5.4 認證失效 18
1.5.5 協(xié)議缺陷 19
1.5.6 信息泄漏 19
1.5.7 指數(shù)攻擊——病毒和蠕蟲 20
1.5.8 拒絕服務攻擊 21
1.6 開放系統(tǒng)互連安全體系結(jié)構 22
1.6.1 安全服務 23
1.6.2 安全機制 25
1.6.3 安全服務與安全機制的關系 26
1.6.4 在OSI層中的服務配置 27
1.7 網(wǎng)絡安全模型 27
習題 28
第2章 計算機網(wǎng)絡基礎 30
2.1 計算機網(wǎng)絡的定義 30
2.2 計算機網(wǎng)絡體系的結(jié)構 30
2.2.1 網(wǎng)絡體系結(jié)構的定義 30
2.2.2 兩種典型的網(wǎng)絡體系結(jié)構 32
2.2.3 網(wǎng)絡協(xié)議及協(xié)議封裝 34
2.3 分組交換技術 35
2.3.1 分組交換技術的概念 35
2.3.2 分組交換的特點 35
2.4 Internet的基本知識 36
2.4.1 Internet的構成 36
2.4.2 服務類別 37
2.4.3 IPv4地址 37
2.4.4 端口的概念 40
習題 41
第3章 Internet協(xié)議的安全性 43
3.1 Internet協(xié)議概述 43
3.2 網(wǎng)際層協(xié)議 43
3.2.1 IP協(xié)議 43
3.2.2 ARP協(xié)議 45
3.2.3 ICMP協(xié)議 46
3.2.4 IGMP協(xié)議 47
3.2.5 OSPF協(xié)議 48
3.2.6 BGP協(xié)議 49
3.3 傳輸層協(xié)議 50
3.3.1 TCP協(xié)議 51
3.3.2 UDP協(xié)議 52
3.4 應用層協(xié)議 53
3.4.1 RIP協(xié)議 53
3.4.2 HTTP協(xié)議 54
3.4.3 TELNET協(xié)議 55
3.4.4 SSH協(xié)議 56
3.4.5 DNS協(xié)議 57
3.4.6 SMTP協(xié)議 58
3.4.7 MIME協(xié)議 60
3.4.8 POP3協(xié)議 60
3.4.9 IMAP4協(xié)議 61
3.4.10 PGP協(xié)議 63
3.4.11 FTP協(xié)議 64
3.4.12 TFTP協(xié)議 65
3.4.13 NFS協(xié)議 65
3.4.14 SNMP協(xié)議 66
3.4.15 DHCP協(xié)議 67
3.4.16 H.323協(xié)議 68
3.4.17 SIP協(xié)議 69
3.4.18 NTP協(xié)議 70
3.4.19 FINGER協(xié)議 71
3.4.20 Whois協(xié)議 72
3.4.21 LDAP協(xié)議 73
3.4.22 NNTP協(xié)議 74
習題 75
第2篇 密碼學基礎
第4章 單(私)鑰密碼體制 79
4.1 密碼體制的定義 79
4.2 古典密碼 80
4.2.1 代換密碼 81
4.2.2 換位密碼 83
4.2.3 古典密碼的安全性 84
4.3 流密碼的基本概念 85
4.3.1 流密碼框圖和分類 86
4.3.2 密鑰流生成器的結(jié)構和分類 87
4.3.3 密鑰流的局部統(tǒng)計檢驗 88
4.4 快速軟、硬件實現(xiàn)的流密碼算法 89
4.4.1 A5 89
4.4.2 加法流密碼生成器 90
4.4.3 RC4 91
4.4.4 祖沖之密碼 92
4.5 分組密碼概述 98
4.6 數(shù)據(jù)加密標準 101
4.6.1 DES介紹 101
4.6.2 DES的核心作用:消息的隨機非線性分布 103
4.6.3 DES的安全性 103
4.7 高級加密標準 104
4.7.1 Rijndael密碼概述 105
4.7.2 Rijndael密碼的內(nèi)部函數(shù) 106
4.7.3 AES密碼算法 109
4.7.4 AES的密鑰擴展 111
4.7.5 AES對應用密碼學的積極影響 112
4.8 中國商用分組密碼算法SM4 113
4.8.1 SM4密碼算法 113
4.8.2 SM4密鑰擴展算法 116
4.8.3 SM4的安全性 117
4.9 分組密碼的工作模式 117
4.9.1 電碼本模式 118
4.9.2 密碼分組鏈接模式 118
4.9.3 密碼反饋模式 119
4.9.4 輸出反饋模式 120
4.9.5 計數(shù)器模式 122
習題 122
第5章 雙(公)鑰密碼體制 124
5.1 雙鑰密碼體制的基本概念 125
5.1.1 單向函數(shù) 125
5.1.2 陷門單向函數(shù) 126
5.1.3 公鑰系統(tǒng) 126
5.1.4 用于構造雙鑰密碼的單向函數(shù) 126
5.2 RSA密碼體制 128
5.2.1 RSA密碼體制 129
5.2.2 RSA的安全性 130
5.2.3 RSA的參數(shù)選擇 133
5.2.4 RSA體制應用中的其他問題 135
5.2.5 RSA的實現(xiàn) 135
5.3 ElGamal密碼體制 136
5.3.1 密鑰生成 136
5.3.2 加解密 136
5.3.3 安全性 136
5.4 橢圓曲線密碼體制 137
5.4.1 實數(shù)域上的橢圓曲線 137
5.4.2 有限域Zp上的橢圓曲線 138
5.4.3 GF(2m)上的橢圓曲線 140
5.4.4 橢圓曲線密碼 141
5.4.5 橢圓曲線的安全性 142
5.4.6 ECC的實現(xiàn) 143
5.4.7 當前ECC的標準化工作 143
5.4.8 橢圓曲線上的RSA密碼體制 144
5.4.9 用圓錐曲線構造雙鑰密碼體制 144
5.5 基于身份的密碼體制 145
5.5.1 引言 145
5.5.2 雙線性映射和雙線性D-H假設 146
5.5.3 IBE方案 147
5.5.4 IBE方案的安全性 148
5.6 中國商用密碼SM2算法 151
5.6.1 SM2橢圓曲線推薦參數(shù) 151
5.6.2 輔助函數(shù) 151
5.6.3 密鑰生成 152
5.6.4 加密 152
5.6.5 解密 153
5.6.6 實例與應用 155
5.7 公鑰密碼體制的安全性分析 155
習題 157
第6章 消息認證與雜湊函數(shù) 159
6.1 認證函數(shù) 159
6.1.1 消息加密 159
6.1.2 消息認證碼 163
6.1.3 雜湊函數(shù) 165
6.2 消息認證碼 166
6.2.1 對MAC的要求 167
6.2.2 基于雜湊函數(shù)的MAC 168
6.2.3 基于分組加密算法的MAC 169
6.3 雜湊函數(shù) 169
6.3.1 單向雜湊函數(shù) 169
6.3.2 雜湊函數(shù)在密碼學中的應用 170
6.3.3 分組迭代單向雜湊算法的層次結(jié)構 170
6.3.4 迭代雜湊函數(shù)的構造方法 171
6.3.5 應用雜湊函數(shù)的基本方式 172
6.4 常用雜湊函數(shù) 174
6.4.1 MD系列雜湊函數(shù) 174
6.4.2 SHA系列雜湊函數(shù) 178
6.4.3 中國商用雜湊函數(shù)SM3 181
6.5 HMAC 184
6.5.1 HMAC的設計目標 184
6.5.2 算法描述 185
6.5.3 HMAC的安全性 186
習題 187
第7章 數(shù)字簽名 189
7.1 數(shù)字簽名基本概念 189
7.2 RSA簽名體制 190
7.2.1 體制參數(shù) 190
7.2.2 簽名過程 191
7.2.3 驗證過程 191
7.2.4 安全性 191
7.3 ElGamal簽名體制 191
7.3.1 體制參數(shù) 191
7.3.2 簽名過程 192
7.3.3 驗證過程 192
7.3.4 安全性 192
7.4 Schnorr簽名體制 193
7.4.1 體制參數(shù) 193
7.4.2 簽名過程 193
7.4.3 驗證過程 193
7.4.4 Schnorr簽名與ElGamal簽名的不同點 194
7.5 DSS簽名標準 194
7.5.1 概況 194
7.5.2 簽名和驗證簽名的基本框圖 195
7.5.3 算法描述 195
7.5.4 DSS簽名和驗證框圖 196
7.5.5 公眾反應 196
7.5.6 實現(xiàn)速度 196
7.6 中國商用數(shù)字簽名算法SM2 197
7.6.1 體制參數(shù) 197
7.6.2 簽名過程 197
7.6.3 驗證過程 198
7.6.4 簽名實例 199
7.7 具有特殊功能的數(shù)字簽名體制 200
7.7.1 不可否認簽名 200
7.7.2 防失敗簽名 200
7.7.3 盲簽名 201
7.7.4 群簽名 201
7.7.5 代理簽名 202
第5章 雙(公)鑰密碼體制 雙鑰(公鑰)體制于1976年由W. Diffie和M. Hellman提出,同時R. Merkle也獨立提出了這一體制。J. H. Ellis的文章闡述了公鑰密碼體制的發(fā)明史,說明了CESG的研究人員對雙鑰密碼體制發(fā)明所做出的重要貢獻。這一體制的*大特點是采用兩個密鑰將加密和解密能力分開:一個密鑰公開作為加密密鑰,稱為公鑰;一個密鑰為用戶專用,作為解密密鑰,稱為私鑰。通信雙方無須事先交換密鑰就可進行保密通信。但是從公開的公鑰或密文分析出明文或私鑰,則在計算上是不可行的。若以公開鑰作為加密密鑰,以用戶專用鑰作為解密密鑰,則可實現(xiàn)多個用戶加密的消息只能由一個用戶解讀;反之,以用戶專用鑰作為加密密鑰而以公開鑰作為解密密鑰,則可實現(xiàn)由一個用戶加密的消息而使多個用戶解讀。前者可用于保密通信,后者可用于數(shù)字簽名。這一體制的出現(xiàn)是密碼學史上劃時代的事件,它為解決計算機信息網(wǎng)中的安全提供了新的理論和技術基礎。 自1976年以來,雙鑰體制有了飛速發(fā)展,人們不僅提出了多種算法,而且出現(xiàn)了不少安全產(chǎn)品,有些已用于NII和GII之中。本章介紹其中的一些主要體制,特別是那些既有安全性,又有實用價值的算法。其中,包括可用于密鑰分配、加解密或數(shù)字簽名的雙鑰算法。一個好的系統(tǒng)不僅算法要好,還要求能與其他部分(如協(xié)議等)進行有機 組合。 由于雙鑰體制的加密變換是公開的,任何人都可以采用選擇明文來攻擊雙鑰體制,因此,明文空間必須足夠大才能防止窮盡搜索明文空間攻擊。這在雙鑰體制應用中特別重要(如用雙鑰體制加密會話密鑰時,會話密鑰要足夠長)。一種更強有力的攻擊法是選擇密文攻擊,攻擊者選擇密文,然后通過某種途徑得到相應的明文,多數(shù)雙鑰體制對于選擇密文攻擊特別敏感。攻擊者通常采用兩類選擇密文攻擊: (1)冷漠選擇密文攻擊。在接收到待攻擊的密文之前,可以向攻擊者提供他們所選擇的密文的解密結(jié)果。 (2)自適應選擇密文攻擊。攻擊者可能利用(或接入)被攻擊者的解密機(但不知其秘密鑰),而可以對他所選擇的、與密文有關的待攻擊的密文,以及以前詢問得到的密文進行解密。 本章介紹雙鑰體制的基本原理和幾種重要算法,如RSA、ElGamal、橢圓曲線、基于身份的密碼體制和中國商用密碼SM2算法等密碼算法。 Diffie [Diffie 1992]曾對雙鑰體制的發(fā)展做了全面論述。 雙鑰密碼體制的基本概念 對于雙鑰密碼體制來說,其安全性主要取決于構造雙鑰算法所依賴的數(shù)學問題。要求加密函數(shù)具有單向性,即求逆的困難性。因此,設計雙鑰體制的關鍵是首先要尋求一個合適的單向函數(shù)。 5.1.1 單向函數(shù) 定義 5-1 令函數(shù)f是集A到集B的映射,用表示。若對任意 ,有,則稱f為單射,或1-1映射,或可逆的函數(shù)。 f為可逆的充要條件是,存在函數(shù),使對所有有。 定義5-2 一個可逆函數(shù),若它滿足: (1)對所有,易于計算。 (2)對“幾乎所有”由求x“極為困難”,以至于實際上不可能做到,則稱f為單向(One-Way)函數(shù)。 定義中的“極為困難”是對現(xiàn)有的計算資源和算法而言。Massey稱此為視在困難性(Apparent Difficulty),相應函數(shù)稱為視在單向函數(shù),以此來與本質(zhì)上的困難性(Essential Difficulty)相區(qū)分[Massey 1985]。 例5-1 令f是在有限域GF(p)中的指數(shù)函數(shù),其中p是大素數(shù),即 (5-1) 式中,,x為滿足的整數(shù),其逆運算是GF(p)中定義的對數(shù)運算,即 (5-2) 顯然,由x求y是容易的,即使當p很大,例如時也不難實現(xiàn)。為方便計算,以下令(=2。所需的計算量為log次乘法,存儲量為(log p)2b,例如時,需做100次乘法。利用高速計算機由x計算可在0.1ms內(nèi)完成。但是相對于當前計算GF(p)中對數(shù)*好的算法,要從計算x所需的存儲量大約為b,運算量大約為。當p=2100時,所需的計算量為次,用計算指數(shù)一樣快的計算機進行計算需時約秒(1年=秒,故約為1600年。其中假定存儲量的要求能夠滿足)。由此可見,當p很大時,GF(p)中的,為單向函數(shù)。 Pohlig和Hellman對(p-1)無大素因子時給出一種快速求對數(shù)的算法[Pohlig等 1978]。特別是當時,從求x的計算量僅需次乘法。對于,在高速計算機上大約僅需時10ms。因此,在這種情況下,就不能被認為是單向 函數(shù)。 綜上所述,當對素數(shù)p,且p-1有大的素因子時,GF(p)上的函數(shù)是一個視在單向函數(shù)。尋求在GF(p)上求對數(shù)的一般快速算法是當前密碼學研究中的一個重要課題。 5.1.2 陷門單向函數(shù) 單向函數(shù)是求逆困難的函數(shù),而陷門單向函數(shù)(Trapdoor One-Way Function)是在不知陷門信息下求逆困難的函數(shù),當知道陷門信息后,求逆易于實現(xiàn)。這是Diffie和Hellmam[Diffie等 1976]引入的有用概念。 號碼鎖在不知預設號碼時很難打開,但若知道所設號碼則容易開啟。太平門是另一例,從里面向外出容易,若無鑰匙者反向難進。但如何給陷門單向函數(shù)下定義則很棘手,因為: (1)陷門函數(shù)其實不是單向函數(shù),因為單向函數(shù)是在任何條件下求逆都是困難的。 (2)陷門可能不止一個,通過試驗,一個個陷門就可容易地找到逆。如果陷門信息的保密性不強,求逆也就不難。 定義5-3 陷門單向函數(shù)是一類滿足下述條件的單向函數(shù):,,Z是陷門信息集。 (1)對所有,在給定z下容易找到一對算法和,使對所有,易于計算及其逆,即 (5-3) (5-4) 而且當給定z后容易找到一種算法,稱為可用消息集鑒別函數(shù),對所有易于檢驗是否,是可用的明文集。 (2)對“幾乎所有”,當只給定和時,對“幾乎所有”,“很難”(即“實際上不可能”)從算出x。 (3)對任一z,集必須是保密系統(tǒng)中明文集中的一個“方便”集。即便于實現(xiàn)明文到它的映射(在雙鑰密碼體制中是默認的條件)。(Diffie和Hellman定義的陷門函數(shù)中,,對所有Z成立。實際中的取決于Z)。 5.1.3 公鑰系統(tǒng) 在一個公鑰系統(tǒng)中,所有用戶共同選定一個陷門單向函數(shù),加密運算E及可用消息集鑒別函數(shù)F。用戶i從陷門集中選定zi,并公開和。任一要向用戶i發(fā)送機密消息者,可用檢驗消息x是否在許用消息集之中,然后送給用戶x即可。 在僅知y,和的情況下,任一用戶不能得到x。但用戶i利用陷門信息,易于得到。 定義5-4 對和任意,。若 (5-5) 成立,則稱F為可換單向函數(shù)。 可換單向函數(shù)在密碼學中更有用。 5.1.4 用于構造雙鑰密碼的單向函數(shù) Diffie和Hellman在1976年發(fā)表的文章雖未給出陷門單向函數(shù),但大大推動了這方面的研究工作。雙鑰密碼體制的研究在于,給出這種函數(shù)的構造方法以及它們的安全性。 陷門單向函數(shù)的定義并沒有指出這類函數(shù)是否存在,但其中指出:一個單鑰密碼體制,如果能抗擊選擇明文攻擊,就可規(guī)定一個陷門單向函數(shù)。以其密鑰作為陷門信息,則相應的加密函數(shù)就是這類函數(shù)。這是構造雙鑰體制的途徑。 下面是一些單向函數(shù)的例子。目前多數(shù)雙鑰體制是基于這些問題構造的。 1. 多項式求根 有限域GF(p)上的一個多項式 當給定,p及x時,很容易求y,利用Honer's 法則,即 (5-6) *多有n次乘法和n-1次加法。反之,已知,要求解x需能對高次方程求根。這至少要次乘法(這里,表示不大于a的*大整數(shù)),當n,p很大時很難求解。 2. 離散對數(shù)DL(Discrete Logarithm) 給定一大素數(shù)p,p-1含另一大素數(shù)因子q,可構造一乘群,它是一個p-1階循環(huán)群。其生成元為整數(shù)g,。已知x,容易求,這只需次乘法,如,g15= (((1·g)2·g)2·g)2·g mod p,要用3+4?1=6次乘法。 若已知y, g, p,求為離散對數(shù)問題。*快求解法運算次數(shù)漸近值為 (5-7) p=512時,。 若離散對數(shù)定義在中的階循環(huán)群上,Shanks和Pohlig-Hellman等的離散對數(shù)算法預計算量的漸近式為 (5-8) 求一特定離散對數(shù)的計算量的漸近式為 (5-9) 具體請參閱[LaMacchia等 1991;McCurley 1990]。 廣義離散對數(shù)問題是在n階有限循環(huán)群G上定義的。 3. 大整數(shù)分解FAC(Factorization Problem) 判斷一個大奇數(shù)n是否為素數(shù)的有效算法,大約需要的計算量是,當n為256或512位的二元數(shù)時,用當前計算機做可在10分鐘內(nèi)完成。 若已知兩個大素數(shù)p和q,求n = p·q只需一次乘法,但若由n,求p和q,則是幾千年來數(shù)論專家的攻關對象。迄今為止,已知的各種算法的漸近運行時間如下: (1)試除法:*早的也是*慢的算法,需試驗所有小于sqrt(n)的素數(shù),運行時間為指數(shù)函數(shù)。 (2)二次篩(QS): (5-10) 該算法為小于110位整數(shù)*快的算法,倍多項式二次篩(MPQS)是QS算法的變型,它比QS算法更快。MPQS的雙倍大指數(shù)變型還要更快一些。 (3)橢圓曲線(EC): (5-11) (4)數(shù)域篩(NFS): (5-12) 式中,p是n的*小的素因子,*壞的情況下。當,要用年(一秒進行100萬次運算)。雖然整數(shù)分解問題已進行了很長時間研究,但至今尚未發(fā)現(xiàn)快速算法。目前對于大于110位的整數(shù)數(shù)域篩是*快的算法,曾用于分解第9個Fermat數(shù)。目前的進展主要是靠計算機資源來實現(xiàn)的。二次篩法可參閱[Pomerance 1984;Carton等 1988];數(shù)域篩法可參閱[Lenstra等 1993];橢圓曲線法參閱[Pollard 1993;Lenstra 1987;Montgomery 1987]。 T(n)與L(p)的表示式大致相同,一般當n=p時,解離散對數(shù)要更難些。 RSA問題是FAC問題的一個特例。n是兩個素數(shù)p和q之積,給定n后求素因子p和q的問題稱為RSAP。求分解問題有以下幾種形式: (1)分解整數(shù)n為p和q。 (2)給定整數(shù)M和C,求d使。 (3)給定整數(shù)e和C,求M使。 (4)給定整數(shù)x和C,決定是否存在整數(shù)y使(二次剩余問題)。 4. Diffie-Hellman問題(DHP) 給定素數(shù)p,令(為的生成元,若已知和,求的問題為Diffie-Hellman問題,簡稱DHP。若(為循環(huán)群G的生成元,且已知和為G中的元素,求的問題為廣義Diffie-Hellman問題,簡記為GDHP[den Boer 1988;Maurer 1994b;Waldvogel等1993;McCurley 1988]。 在[Menezes等 1997]一書的第4章對雙鑰密碼體制公鑰參數(shù)的生成和有關算法進行了全面介紹,該書的第3章對密碼中用到的數(shù)學難題進行了全面系統(tǒng)的論述。此外,還可參閱[Pomerance 1990;Adleman等1994;Bach 1990;Lenstra等1990a,1990b]。 RSA密碼體制 1978年,MIT的3位年輕數(shù)學家R.L.Rivest,A.Shamir和L.Adleman發(fā)現(xiàn)了一種用數(shù)論構造雙鑰的方法[Rivest等 1978,1979],稱為MIT體制,后來被廣泛稱為RSA體制。它既可用于加密,又可用于數(shù)字簽名,易懂且易于實現(xiàn),是目前仍然安全并且逐步被廣泛應用的一種體制。國際上一些標準化組織(如ISO,ITU和SWIFT等)均已接受RSA體制作為標準。在因特網(wǎng)中所采用的PGP(Pretty Good Privacy)中也將RSA作為傳送會話密鑰和數(shù)字簽名的標準算法。 RSA算法的安全性基于5.1節(jié)介紹的數(shù)論中大整數(shù)分解的困難性。 5.2.1 RSA密碼體制 獨立選取兩個大素數(shù)和(各100~200位十進制數(shù)字),計算 (5-13) 其歐拉函數(shù)值為 (5-14) 隨機選一整數(shù)e,,。因而在模((n)下,e有逆元 (5-15) 取公鑰為n,e。密鑰為d(,不再需要,可以銷毀)。 加密:將明文分組,各組在mod n下,可*地表示出來(以二元數(shù)字表示,選2的*大冪小于n)。各組長達200位十進制數(shù)字。可用明文集為 注意,是很危險的。的概率
你還可能感興趣
我要評論
|