基礎(chǔ)的密碼算法、基本的應(yīng)用技術(shù)和必要的數(shù)學基礎(chǔ)知識。密碼算法部分包括:對稱分組密碼算法、非對稱密碼算法、散列算法和數(shù)字簽名算法;基本應(yīng)用技術(shù)包括:密鑰管理的基本技術(shù)、基本認證技術(shù)和在防偽識別中的簡單應(yīng)用技術(shù);數(shù)學基礎(chǔ)知識部分包括:初等數(shù)論、代數(shù)學基礎(chǔ)、有限域和橢圓曲線基礎(chǔ)、計算復雜性理論基礎(chǔ)。
《應(yīng)用密碼學基礎(chǔ)》不同于其他密碼學教材之處有二:一是包含了較多的密鑰管理和認證技術(shù),二是包含了密碼學在自動識別中的保密和防偽應(yīng)用!稇(yīng)用密碼學基礎(chǔ)》可供自動識別技術(shù)專業(yè)的專科生、本科生作為密碼學的教材使用,也可供計算機專業(yè)的?粕捅究粕鳛榱私饷艽a學的參考資料。
本書是在中國自動識別技術(shù)協(xié)會的組織下,為適應(yīng)自動識別技術(shù)專業(yè)的教學需要編寫的密碼學基礎(chǔ)教材。本書簡要介紹了密碼學基礎(chǔ)理論和基本技術(shù),內(nèi)容分為三個部分:基礎(chǔ)的密碼算法、基本的應(yīng)用技術(shù)和必要的數(shù)學基礎(chǔ)知識。本書可供自動識別技術(shù)專業(yè)的專科生、本科生作為密碼學的教材使用,也可供計算機專業(yè)的專科生和本科生作為了解密碼學的參考資料。
第1章 概論
1.1 什么是密碼學
1.1.1 密碼體制與密碼系統(tǒng)
1.1.2 密碼系統(tǒng)的安全性
1.1.3 密碼學的概念
1.2 傳統(tǒng)密碼學概述
1.2.1 古老的密碼術(shù)
1.2.2 由手工到機械的近代密碼
1.3 現(xiàn)代密碼學概述
1.3.1 現(xiàn)代密碼學的興起
1.3.2 現(xiàn)代密碼學的若干基本概念
1.3.3 現(xiàn)代密碼學的飛速發(fā)展
1.3.4 現(xiàn)代密碼學的特點
1.4 本書的內(nèi)容與組織
1.5 注記
習題
第2章 對稱分組算法
2.1 分組密碼簡介
2.1.1 分組密碼的概念
2.1.2 關(guān)于分組密碼的安全性
2.1.3 分組密碼的設(shè)計原則
2.1.4 分組密碼的一般結(jié)構(gòu)
2.2 DES算法和3-DES算法
2.2.1 DES概述
2.2.2 DES的算法結(jié)構(gòu)
2.2.3 DES中的變換
2.2.4 DES的子密鑰生成
2.2.5 DES的安全性
2.2.6 3.DES算法及其安全性
2.3 AES算法
2.3.1 AES概述
2.3.2 AES中的基本運算
2.3.3 AEs中的基本變換
2.3.4 AES的子密鑰生成
2.3.5 AES的算法結(jié)構(gòu)
2.3.6 AES的性能
2.4 分組密碼的操作模式
2.5 注記
習題二
第3章 非對稱算法
3.1 非對稱算法概述
3.2 RSA算法
3.2.1 RSA加解密算法
3.2.2 RSA中的模冪運算
3.2.3 RSA的安全性
3.3 ElGamal算法
3.3.1 ElGamal加解密算法
3.3.2 ElGamal的安全性
3.4 ECC算法
3.4.1 橢圓曲線密碼概述
3.4.2 有限域上的橢圓曲線密碼體制
3.4.3 Menezes-Vanstones橢圓曲線密碼體制
3.4.4 橢圓曲線密碼的安全性
3.5 基于身份的公鑰體制
3.5.1 雙線性映射
3.5.2 IBC簡介
3.6 注記
習題三
第4章 散列算法
4.1 單向Hash函數(shù)
4.1.1 單向Hash函數(shù)的產(chǎn)生背景
4.1.2 Hash函數(shù)的概念
4.1.3 Hash函數(shù)的迭代結(jié)構(gòu)
4.1.4 對Hash函數(shù)的攻擊
4.1.5 安全單向Hash函數(shù)的設(shè)計
4.2 MD5算法
4.2.1 MD5算法描述
4.2.2 MD5的安全性
4.3 安全Hash算法
4.3.1 SHA-1算法描述
4.3.2 SHA-1的安全性
4.4 注記
習題四
第5章 數(shù)字簽名
5.1 數(shù)字簽名簡介
5.1.1 數(shù)字簽名的產(chǎn)生背景
5.1.2 數(shù)字簽名的概念
5.1.3 數(shù)字簽名的安全性
5.2 普通數(shù)字簽名方案
5.2.1 RSA數(shù)字簽名方案
5.2.2 EIGamal數(shù)字簽名方案
5.2.3 Schnorr數(shù)字簽各方案
5.2.4 數(shù)字簽名標準DSS
5.2.5 基于橢圓曲線的數(shù)字簽名方案*
5.3 盲簽名
5.3.1 盲簽名簡介
5.3.2 基于RSA的盲簽名方案
5.3.3 基于離散對數(shù)的盲簽名方案
5.3.4 盲簽名方案的應(yīng)用
5.4 注記
習題五
第6章 密鑰管理的基本技術(shù)
6.1 密鑰管理的概念和原則
6.1.1 密鑰管理的概念
6.1.2 密鑰管理的原則和手段
6.2 密鑰管理的基本要求
6.2.1 密鑰的生成與分發(fā)
6.2.2 密鑰的存儲與備份
6.2.3 密鑰的使用和更新
6.2.4 密鑰的銷毀和歸檔
6.3 隨機數(shù)與偽隨機數(shù)生成
6.3.1 隨機數(shù)生成
6.3.2 偽隨機數(shù)生成器的概念
6.3.3 標準化的偽隨機數(shù)生成器
6.3.4 密碼學上安全的偽隨機比特生成器
6.4 注記
習題六
第7章 非對稱密鑰的管理
7.1 非對稱密鑰管理的特點
7.2 素數(shù)生成
7.2.1 素數(shù)生成簡介
7.2.2 概率素性測試與真素性測試
7.2.3 強素數(shù)生成
7.3 公鑰參數(shù)的生成
7.3.1 RSA公鑰參數(shù)的生成
7.3.2 E1Gamal公鑰參數(shù)的生成
7.4 公鑰基礎(chǔ)設(shè)施PKI簡介
7.4.1 PKI的體系結(jié)構(gòu)
……
第8章 對稱密鑰的管理
8.1 對稱密鑰的種類與管理結(jié)構(gòu)
8.2 基于KDC和KTC的會話密鑰建立
8.3 基于公鑰的會話密鑰建立
8.4 密鑰協(xié)商
8.5 注記
習題八
第9章 認證技術(shù)
9.1 幾種不同的認證
9.2 完整性認證
9.3 對稱環(huán)境中的身份認證
9.4 非對稱環(huán)境中的身份認證
9.5 基于零知識證明的身份認證
9.6 注記
習題九
第10章 密碼學在防偽識別中的應(yīng)用
10.1 二維條碼的防偽技術(shù)
10.2 基于RFID的自動識別技術(shù)
10.3 注記
習題十
第11章 數(shù)論基礎(chǔ)
11.1 整數(shù)的因子分解
11.2 同余與同余式
11.3 二次同余式與平方剩余
11.4 注記
習題十一
第12章 代數(shù)學基礎(chǔ)
12.1 群
12.2 環(huán)
12.3 域和域上的一元多項式
12.4 注記
習題十二
第13章 有限域與橢圓曲線基礎(chǔ)
13.1 有限域基礎(chǔ)
13.2 有限域上的橢圓曲線簡介
13.3 注記
習題十三
第14章 計算復雜性理論的若干基本概念
14.1 算法與計算復雜性
14.2 NP完全性理論簡介
14.3 注記
習題十四
參考文獻
一個密鑰只加密一個明文(稱為一次一密),且所有密鑰都是等概率的。
這里,p、c、K分別表示明文空間、密文空間和密鑰空間。
當然,完善保密只是理論上的安全性,實際上很難實現(xiàn)。而即使是理論上安全的密碼系統(tǒng),實際上也可能很脆弱,因為實際應(yīng)用中還要求密鑰能夠安全傳遞。比如“一次一密”系統(tǒng),就要求在收發(fā)雙方間傳遞大量密鑰,增加了密鑰管理的難度,甚至會使密鑰管理系統(tǒng)變得十分脆弱,從而使整個密碼系統(tǒng)不安全。因此,密碼系統(tǒng)不能單純地追求理論上的安全。
由于實際的密碼分析者所擁有的資源(資金、設(shè)備、時間等)總是有限的,因此人們更關(guān)心的是,如何構(gòu)造一個超過敵手實際攻擊能力的密碼系統(tǒng)。如果一個密碼系統(tǒng)雖然不是完善保密的,但攻擊該系統(tǒng)所要付出的努力遠遠超過攻擊者實際擁有的能力,則稱該密碼系統(tǒng)是實際安全的。可是,如何評估攻擊者的能力呢?由于破譯密碼本質(zhì)上是計算,因此,目前普遍的做法是用計算能力來衡量。而計算能力取決于兩個主要方面:一個是擁有的計算資源,一個是算法的有效性。對密碼系統(tǒng)來說,如果在充分估計攻擊者的計算能力的前提下,破譯它所需要的計算量仍遠遠超出了攻擊者所能付出的計算量,就認為它是實際安全的。實際安全性也稱為計算安全性。
1.1.3 密碼學的概念
早期的密碼學分為密碼編碼學和密碼分析學兩大分支。密碼編碼學研究如何保護消息的機密性,主要內(nèi)容是各種加、解密算法;而密碼分析學則研究在不知道密鑰的前提下如何破譯密文,主要內(nèi)容是各種分析方法。不過古代的密碼還不能稱為密碼學,只能稱為密碼術(shù)。密碼真正成為一個學科,還是近代的事。