基礎(chǔ)的密碼算法、基本的應(yīng)用技術(shù)和必要的數(shù)學(xué)基礎(chǔ)知識。密碼算法部分包括:對稱分組密碼算法、非對稱密碼算法、散列算法和數(shù)字簽名算法;基本應(yīng)用技術(shù)包括:密鑰管理的基本技術(shù)、基本認(rèn)證技術(shù)和在防偽識別中的簡單應(yīng)用技術(shù);數(shù)學(xué)基礎(chǔ)知識部分包括:初等數(shù)論、代數(shù)學(xué)基礎(chǔ)、有限域和橢圓曲線基礎(chǔ)、計(jì)算復(fù)雜性理論基礎(chǔ)。
《應(yīng)用密碼學(xué)基礎(chǔ)》不同于其他密碼學(xué)教材之處有二:一是包含了較多的密鑰管理和認(rèn)證技術(shù),二是包含了密碼學(xué)在自動識別中的保密和防偽應(yīng)用!稇(yīng)用密碼學(xué)基礎(chǔ)》可供自動識別技術(shù)專業(yè)的專科生、本科生作為密碼學(xué)的教材使用,也可供計(jì)算機(jī)專業(yè)的?粕捅究粕鳛榱私饷艽a學(xué)的參考資料。
本書是在中國自動識別技術(shù)協(xié)會的組織下,為適應(yīng)自動識別技術(shù)專業(yè)的教學(xué)需要編寫的密碼學(xué)基礎(chǔ)教材。本書簡要介紹了密碼學(xué)基礎(chǔ)理論和基本技術(shù),內(nèi)容分為三個部分:基礎(chǔ)的密碼算法、基本的應(yīng)用技術(shù)和必要的數(shù)學(xué)基礎(chǔ)知識。本書可供自動識別技術(shù)專業(yè)的?粕、本科生作為密碼學(xué)的教材使用,也可供計(jì)算機(jī)專業(yè)的?粕捅究粕鳛榱私饷艽a學(xué)的參考資料。
第1章 概論
1.1 什么是密碼學(xué)
1.1.1 密碼體制與密碼系統(tǒng)
1.1.2 密碼系統(tǒng)的安全性
1.1.3 密碼學(xué)的概念
1.2 傳統(tǒng)密碼學(xué)概述
1.2.1 古老的密碼術(shù)
1.2.2 由手工到機(jī)械的近代密碼
1.3 現(xiàn)代密碼學(xué)概述
1.3.1 現(xiàn)代密碼學(xué)的興起
1.3.2 現(xiàn)代密碼學(xué)的若干基本概念
1.3.3 現(xiàn)代密碼學(xué)的飛速發(fā)展
1.3.4 現(xiàn)代密碼學(xué)的特點(diǎn)
1.4 本書的內(nèi)容與組織
1.5 注記
習(xí)題
第2章 對稱分組算法
2.1 分組密碼簡介
2.1.1 分組密碼的概念
2.1.2 關(guān)于分組密碼的安全性
2.1.3 分組密碼的設(shè)計(jì)原則
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中的基本運(yùn)算
2.3.3 AEs中的基本變換
2.3.4 AES的子密鑰生成
2.3.5 AES的算法結(jié)構(gòu)
2.3.6 AES的性能
2.4 分組密碼的操作模式
2.5 注記
習(xí)題二
第3章 非對稱算法
3.1 非對稱算法概述
3.2 RSA算法
3.2.1 RSA加解密算法
3.2.2 RSA中的模冪運(yùn)算
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 注記
習(xí)題三
第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è)計(jì)
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 注記
習(xí)題四
第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ù)字簽名標(biāo)準(zhǔn)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 注記
習(xí)題五
第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 隨機(jī)數(shù)與偽隨機(jī)數(shù)生成
6.3.1 隨機(jī)數(shù)生成
6.3.2 偽隨機(jī)數(shù)生成器的概念
6.3.3 標(biāo)準(zhǔn)化的偽隨機(jī)數(shù)生成器
6.3.4 密碼學(xué)上安全的偽隨機(jī)比特生成器
6.4 注記
習(xí)題六
第7章 非對稱密鑰的管理
7.1 非對稱密鑰管理的特點(diǎn)
7.2 素?cái)?shù)生成
7.2.1 素?cái)?shù)生成簡介
7.2.2 概率素性測試與真素性測試
7.2.3 強(qiáng)素?cái)?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 注記
習(xí)題八
第9章 認(rèn)證技術(shù)
9.1 幾種不同的認(rèn)證
9.2 完整性認(rèn)證
9.3 對稱環(huán)境中的身份認(rèn)證
9.4 非對稱環(huán)境中的身份認(rèn)證
9.5 基于零知識證明的身份認(rèn)證
9.6 注記
習(xí)題九
第10章 密碼學(xué)在防偽識別中的應(yīng)用
10.1 二維條碼的防偽技術(shù)
10.2 基于RFID的自動識別技術(shù)
10.3 注記
習(xí)題十
第11章 數(shù)論基礎(chǔ)
11.1 整數(shù)的因子分解
11.2 同余與同余式
11.3 二次同余式與平方剩余
11.4 注記
習(xí)題十一
第12章 代數(shù)學(xué)基礎(chǔ)
12.1 群
12.2 環(huán)
12.3 域和域上的一元多項(xiàng)式
12.4 注記
習(xí)題十二
第13章 有限域與橢圓曲線基礎(chǔ)
13.1 有限域基礎(chǔ)
13.2 有限域上的橢圓曲線簡介
13.3 注記
習(xí)題十三
第14章 計(jì)算復(fù)雜性理論的若干基本概念
14.1 算法與計(jì)算復(fù)雜性
14.2 NP完全性理論簡介
14.3 注記
習(xí)題十四
參考文獻(xiàn)
一個密鑰只加密一個明文(稱為一次一密),且所有密鑰都是等概率的。
這里,p、c、K分別表示明文空間、密文空間和密鑰空間。
當(dāng)然,完善保密只是理論上的安全性,實(shí)際上很難實(shí)現(xiàn)。而即使是理論上安全的密碼系統(tǒng),實(shí)際上也可能很脆弱,因?yàn)閷?shí)際應(yīng)用中還要求密鑰能夠安全傳遞。比如“一次一密”系統(tǒng),就要求在收發(fā)雙方間傳遞大量密鑰,增加了密鑰管理的難度,甚至?xí)姑荑管理系統(tǒng)變得十分脆弱,從而使整個密碼系統(tǒng)不安全。因此,密碼系統(tǒng)不能單純地追求理論上的安全。
由于實(shí)際的密碼分析者所擁有的資源(資金、設(shè)備、時間等)總是有限的,因此人們更關(guān)心的是,如何構(gòu)造一個超過敵手實(shí)際攻擊能力的密碼系統(tǒng)。如果一個密碼系統(tǒng)雖然不是完善保密的,但攻擊該系統(tǒng)所要付出的努力遠(yuǎn)遠(yuǎn)超過攻擊者實(shí)際擁有的能力,則稱該密碼系統(tǒng)是實(shí)際安全的?墒,如何評估攻擊者的能力呢?由于破譯密碼本質(zhì)上是計(jì)算,因此,目前普遍的做法是用計(jì)算能力來衡量。而計(jì)算能力取決于兩個主要方面:一個是擁有的計(jì)算資源,一個是算法的有效性。對密碼系統(tǒng)來說,如果在充分估計(jì)攻擊者的計(jì)算能力的前提下,破譯它所需要的計(jì)算量仍遠(yuǎn)遠(yuǎn)超出了攻擊者所能付出的計(jì)算量,就認(rèn)為它是實(shí)際安全的。實(shí)際安全性也稱為計(jì)算安全性。
1.1.3 密碼學(xué)的概念
早期的密碼學(xué)分為密碼編碼學(xué)和密碼分析學(xué)兩大分支。密碼編碼學(xué)研究如何保護(hù)消息的機(jī)密性,主要內(nèi)容是各種加、解密算法;而密碼分析學(xué)則研究在不知道密鑰的前提下如何破譯密文,主要內(nèi)容是各種分析方法。不過古代的密碼還不能稱為密碼學(xué),只能稱為密碼術(shù)。密碼真正成為一個學(xué)科,還是近代的事。