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