《普通高等教育"十二五"規劃教材:密碼學教程》全面講解了密碼學的基本知識,并對密碼學近幾年來的最新研究成果作了介紹。特別是在序列密碼體制、分組密碼體制、公開密鑰密碼體制和密碼學新進展的章節中,不僅介紹了經典的密碼體制和算法,而且闡述了部分算法的安全性分析,并進一步介紹了網絡安全協議及近幾年密碼發展的新成果,如量子密碼、生物密碼和云計算等。為了使讀者更好地掌握密碼學知識,書中講授了必要的數學背景,并在附錄中提供了相關參考資料,以便讀者進行相關研究。密碼學教程表達清晰,論證嚴謹,習題豐富,并穿插有密碼學史上的趣聞秩事。
《普通高等教育"十二五"規劃教材:密碼學教程》可作為高等院校“信息安全”、“計算機安全”、“網絡安全”、“通信安全”和“應用數學”等課程的教材或參考書,也可供信息安全系統設計開發人員、密碼學和信息安全愛好者參考。
《普通高等教育"十二五"規劃教材:密碼學教程》表達清晰,論證嚴謹,習題豐富,并穿插有密碼學史上的趣聞秩事。《普通高等教育"十二五"規劃教材:密碼學教程》可作為高等院校“信息安全”、“計算機安全”、“網絡安全”、“通信安全”和“應用數學”等課程的教材或參考書,也可供信息安全系統設計開發人員、密碼學和信息安全愛好者參考。
序言
前言
第1章 引論
1.1 密碼學與信息安全概述
1.2 密碼體制與密碼分析
1.3 密碼體制的安全性
1.4 香農理論簡介
1.5 計算復雜性理論簡介
小結與注釋
習題1
第2章 古典密碼體制
2.1 語言的統計特性
2.2 單表代替密碼
2.3 單表代替密碼的分析
2.4 多表代替密碼
2.5 多表代替密碼的分析
2.6 轉輪密碼與M—209
2.7 M—209的已知明文攻擊
小結與注釋
習題2
第3章 布爾函數
3.1 布爾函數的表示方法
3.2 布爾函數的重量與概率計算
3.3 布爾函數的非線性度
3.4 布爾函數的相關免疫性及其構造
3.5 嚴格雪崩準則和擴散準則
3.6 布爾函數的代數免疫度
小結與注釋
習題3
第4章 序列密碼
4.1 線性反饋移位寄存器序列
4.2 基于LFSR的序列生成器及其分析
4.3 帶進位的反饋移位寄存器序列
小結與注釋
習題4
第5章 分組密碼與數據加密標準
5.1 分組密碼的基本概念
5.2 數據加密標準DES
5.3 KASUMI算法
5.4 高級數據加密標準AES
5.5 差分密碼分析原理
5.6 線性密碼分析原理
5.7 分組密碼的工作模式和設計理論
小結與注釋
習題5
第6章 公開密鑰密碼體制
6.1 公鑰密碼概述
6.2 RSA公鑰密碼體制
6.3 Rabin公鑰密碼體制
6.4 基于離散對數問題的公鑰密碼體制
6.5 抗量子計算的公鑰密碼體制
小結與注釋
習題6
第7章 Hash函數與數字簽名體制
7.1 Hash函數概述
7.2 Hash函數的安全性
7.3 Hash函數標準SHA—1
7.4 數字簽名體制概述
7.5 數字簽名體制的安全需求
7.6 幾種著名的數字簽名體制
7.7 具有隱私保護的數字簽名體制
小結與注釋
習題7
第8章 密鑰建立及管理技術
8.1 密鑰概述
8.2 密鑰分配
8.3 密鑰協商
8.4 秘密共享
8.5 密鑰保護
小結與注釋
習題8
第9章 零知識證明和身份識別體制
9.1 零知識證明的基本概念
9.2 識別個人身份的零知識證明
9.3 Feige-fiat-Shamir身份識別體制
9.4 Guilloll-Quisquarer身份識別體制
9.5 Schnorr身份識另1體制
9.6 Okamoto身份識別體制
小結與注釋
習題9
第10章 SSL協議和IPsec協議
10.1 網絡安全概述
10.2 SSL協議
10.3 IPsec協議
小結與注釋
習題10
第11章 密碼學新進展
11.1 概述
11.2 量子計算與量子密碼
11.3 DNA計算與DNA密碼
11.4 基于同態加密的云計算
小結與注釋
參考文獻
附錄
附錄A 數論基礎
附錄B 代數學基礎
附錄C 有限域基礎
數字簽名是一種給以電子形式儲存消息簽名的方法,正因為如此,簽名之后的消息能夠通過計算機網絡傳輸,數字簽名實現了簽名的數字化,使只能使用物理形式驗證的手寫簽名變成了可以以數學為基礎的難題作為工具的數字化驗證,數字簽名能夠把簽名者與其簽署的電子文檔緊密聯系在一起,一個數字簽名體制包括兩部分,即簽名算法和驗證算法。
一個數字簽名體制至少應滿足以下三個條件:
(1)簽名者事后不能否認自己的簽名,接收者也不能否認收到的簽名消息;
(2)接收者能驗證簽名,而任何其他人都不能偽造簽名;
(3)當雙方關于簽名的真假發生爭執時,法官或第三者能解決雙方之間發生的爭執。
為了實現簽名,發送者必須向接收者提供足夠的非保密信息,以便使其能驗證消息的簽名,但又不能泄露用于產生簽名的機密消息,以防他人偽造,按照簽名的不同功能,可分成普通的數字簽名和特殊功能的數字簽名(如不可否認簽名、盲簽名、群簽名和代理簽名等),按照驗證方法,可分成在驗證時需要輸入被簽名信息和在驗證時自動恢復被簽名信息兩類,按照是否使用隨機數,可分成確定的和概率的兩種簽名算法,按使用公鑰系統不同,可分為基于一般公鑰系統和基于身份的公鑰系統的簽名體制等。
一個數字簽名體制由有以下部分組成:
(1)一個明文消息空間M:某字母表中串的集合;
(2)一個簽名空間S:可能的簽名集合;
(3)一個簽名密鑰空間K:用于生成簽名的可能密鑰集合;一個認證密鑰空間K':用于驗證簽名的可能密鑰集合;
(4)一個有效的密鑰生成算法Gen:N—K×K',其中K和K'分別為私鑰和公鑰空間;
(5)一個有效的簽名算法Sign:M×K→S;
(6)一個有效的驗證算法Verify:M×S×K'→{True,False}。
對任意sk∈K和任意的m∈M,用s←Signsk(m)表示簽名變換,稱“s是用密鑰sk生成的m的簽名”。