文章目錄
第一章 密碼學概論
信息安全(密碼編碼學:認證體制+保密體制)
1.信息安全基礎概念
攻擊的主要形式和分類:
主動攻擊:對數據流進行竄改或產生假的數據流
(1)中斷(阻止):對系統可用性進行攻擊
破壞計算機硬件,網絡,或文件管理系統。如DoS,病毒等
(2)篡改:對完整性進行攻擊
修改文件中的數據(數據修改後存儲),替換某一程序使其執行不同功能
修改網絡中傳送消息的內容等,比如中間節點對轉發的圖象進行了壓縮
(3)僞造:對真實性進行攻擊
在網絡中插入僞造的消息冒充消息發送者,在文件中插入僞造記錄等
安全攻擊的主要形式:
正常信息流
(1)中斷
(2)截取
(3)僞造
(4)篡改
(5)重放
2.深刻理解現代密碼學在網絡信息安全保障中的作用
3.網絡信息系統中的安全服務與密碼學算法的關係
第二章 密碼學基礎
1.密碼學的相關概念
密碼學分類:
(1)密碼編碼學
密碼分析學:研究如何分析或破解各種密碼編碼體制的一門科學
(2)密碼分析也稱爲密碼破譯,是指在密碼通信過程中,非授權者在不知道密鑰的條件下對密文進行分析,試圖得到明文或密鑰的過程。
密碼分析分類:
(1)唯密文攻擊(Ciphertext only)
破譯者已知:加密算法、待破譯的密文
(2)已知明文攻擊(Known plaintext)
破譯者已知:加密算法、一定數量的明文和對應的密文
(3)選擇明文攻擊(Chosen plaintext)
破譯者已知:加密算法、選定的明文和對應的密文
(4)選擇密文攻擊(Chosen ciphertext)
破譯者已知:加密算法、選定的密文和對應的明文
(5)選擇文本攻擊(Chosen text)
破譯者已知:加密算法、選定的明文和對應的密文、選定的密文和對應的明文
攻擊密碼體制的常用方法
(1)窮舉攻擊
(2)統計分析攻擊
(3)數學分析攻擊
2密碼學加密系統的五元組
明文,密文,密鑰,加密算法,解密算法。
3.對加密系統的攻擊類型(前四種)
1.已知明文攻擊 (知道一些名密文對)2選擇明文攻擊 (任意明文->密文)
3.唯密文攻擊 (只知道一些密文) 4選擇密文攻擊(任意密文->明文)
5.選擇文本攻擊(任意明文<->任意密文)
4.kerchkoffs原則
假設攻擊者是在已知密碼體制的前提下來破譯密碼系統的密鑰
o1883年Kerchkoffs第一次明確提出編碼原則:
加密算法應建立在算法的公開不影響明文和密鑰的安全
這一原則以普遍得到承認,稱爲判定密碼強度的衡量標準,實際上也稱爲傳統密碼和現代密碼的分界線
Kerchkhoffs假設:
--假定:密碼分析者知道對方所使用的密碼系統
-包括明文的統計特性,加密體制(操作方式,處理方法和加/解密算法),密鑰空間及統計特性
-不知道密鑰
成功的密碼分析不僅能夠恢復出消息明文和密鑰,而且能夠發現密碼體制的弱點,從而控制通信
在設計一個密碼系統時,目標是在Kerchkhoffs假設的前提下實現安全。
5.兩大密碼體制各自的優缺點並分析原因,各自的應用場景
優點/缺點 | 對稱密碼 | 公鑰密碼 |
---|---|---|
優點 | 1.算法運算速度較快2.密鑰相對較短3.密文明文長度相同 | 1.密鑰分發管理比較簡單 2.支持數字簽名(解決了不可否認問題) |
缺點 | 1.密鑰分發需要安全的通道 2.密鑰量大,密鑰難於管理 3.難以解決不可否認問題 | 1.算法複雜,處理速度慢 |
第三章 古典密碼體制
1.理解“代替”和“置換”
2.能夠對使用古典密碼加密的密文進行破譯
第四章 分組密碼
1.理解分組密碼算法如何實現“擴散”和“混亂”的
eg:DES的E盒擴展S盒壓縮,一起引起引起雪崩效應
2.S-P網絡、雪崩效應
雪崩效應:
DES加密流程圖
3.DES(分組長度、迭代輪數、密鑰長度、S盒、P盒、加密思想)
分組長度:明文和密文爲64位分組長度
迭代輪數:每個組合先代換後置換,共16輪
密鑰長度:56位(64位-8位奇偶校驗位=56位),但存在弱密鑰,容易避開。
E盒:(E盒擴展S盒壓縮,一起引起引起雪崩效應)
S盒:(壓縮作用)
P盒:(進行位置置換)(原理:將1~32位的表代換成P盒對應的表)
4.3DES、AES主要特點
5.AES的字節代換和列混淆
AES流程圖
AES的基本運算:
(1)字節代換(AES的S盒)
(2)行位移
(3)列混淆
(4)輪密鑰加
(1)字節代換(AES的S盒)
功能:將一個字節代換爲S表對應的一個新字節
方法:把該字節的高4位作爲行值,低4位作爲列值
eg:輸入字節ox12,查s盒的第ox01行ox02列,得到值oxc9.
(2)行移位
列混淆eg:
(3)列混淆
(3)輪密鑰加
第六章
1.安全的哈希函數的性質和應用
哈希函數的性質:
1.可用於“任意”長度的消息
2.產生定長的輸出
3.對於給定的消息x,計算H(x)比較容易,用於硬件軟件均可實現
4.單向性
5.抗弱碰撞性
6.抗強碰撞性
hash 函數的重要應用:
1.數字簽名
2.數據完整性的保證
3.安全存儲口令
4.快速進行關鍵字查找
2.MD5和SHA1的主要特點
MD5的主要特點:
輸入:最大長度爲小於2^64位(2^64 -1位)的消息————>輸出:128位消息摘要
處理:輸入消息以512比的分組爲單位處理
SHA1的主要特點:
輸入:最大長度爲小於2^64位(2^64 -1位)的消息————>輸出:160位消息摘要
處理:輸入消息以512比的分組爲單位處理
3. 消息認證的目的和方法
消息認證的目的:
1.驗證消息的真實性(身份認證),驗證消息的來源是真實的而不是冒充的
2.驗證消息的完整性(消息認證),檢查消息在傳送或存儲過程中是否被修改
4.認證函數的三種實現方法
1.基於消息加密的認證
2.基於消息認證碼(MAC)的認證
3.基於哈希函數的認證
5.能夠對一個認證協議進行分析
第八章 數字簽名
1.數字簽名要解決的問題
A發送消息給B:A(不可抵賴)——————>B(不可僞造)(不可重用)
(1)不可抵賴 (假如:A可以否認發過該消息,B無法證明A確實發了該消息)
(2)不可僞造 (假如:B僞造一個不同的消息,但聲稱是從A收到的)
(3)不可重用 (假如:簽名沒有和消息綁定)
eg:
問題的提出:
普通的報文鑑別能用來保護通信雙方免受任何第三方的攻擊,
然而, 它無法防止通信雙方互相攻擊
假定A發送一個經過鑑別的消息給B,雙方之間的爭議可能有多種形式:
1)B僞造一個不同的消息,但聲稱是從A收到的
2)A可以否認發過該消息,B無法證明A確實發了該消息
解決以上問題可以用數字簽名技術,它是對傳統筆跡簽名的模擬
傳統筆跡簽名:
一般認爲,傳統的手寫簽名具有以下特點:
1)手寫簽名是“不可僞造”的
2)手寫簽名是“不可抵賴”的
3)手寫簽名是“不可重用”的
數字簽名至少應該具有這些能力
2.數字簽名的安全模型、性質
3.RSA簽名算法以及存在的安全問題
如果不使用HASH函數
1.(存在性僞造)使用“已知消息攻擊”
利用RSA的乘法特性,可以進行如下攻擊
假設 y1=sigk(m1)和y2=sigk(m2) 是簽名者曾經簽署的有效簽名,
那麼 verk (m1m2 mod n, y1y2 mod n) = true
2. (選擇性僞造)利用“選擇消息攻擊”
假設攻擊者要對消息 m 僞造一個簽名,m=m1m2mod n。
假設攻擊者能請求籤名者爲 m1 和 m2 簽名(結果分別爲y1和y2),
那麼, y1 y2 mod n 就是消息 m 的有效簽名
對抗攻擊的方法:使用HASH函數
私鑰簽名,公鑰驗證
4.ElGamal簽名算法以及主要的問題
5.特殊的簽名算法以及適應的應用場景
特殊的數字簽名:
不可否認簽名
盲簽名
代理簽名
羣簽名
環簽名
應用場景:
1. 爲了防止簽名的非法複製,產生了不可否認的簽名;(電子現金,加密貨幣)
2. 爲了保護信息內容的隱私,產生了盲簽名;
3. 爲了保護簽名者身份的隱私,產生了羣簽名和環簽名;(選舉投票)
4.爲了實現簽名權的安全傳遞,產生了代理簽名;
第九章 密碼協議
1.各種協議的特點,解決的問題
(1) 零知識證明
特點:
解決的問題:向別人證明擁有某個信息,但不需要透露該信息具體內容
(2)比特承諾
特點:
解決的問題:A想對B承諾一個比特,但暫時不能告訴B 承諾的信息,直到某個時間才公開車能諾;另一方面B可確信在A承諾後到公開前,A沒有改變承諾。
(3)公平投幣協議
特點:
解決的問題:網絡中實現公平投幣問題
(4)安全多方計算
特點:
解決問題:
第十章 密鑰管理
1.幾類密鑰的作用
主密鑰
密鑰加密密鑰
會話密鑰
2.密鑰的生成
3.密鑰的存儲
4.密鑰的分發
密鑰分配方法
(1)對稱密碼(雙方事先有相同密鑰)
(2)公鑰加密(基於公鑰)
(3)第三方(分配中心)
5.集中式密鑰分發
6.分佈式密鑰分發(DeffieHellman密鑰協商)
7.爲什麼要進行公鑰認證
公鑰的目錄需要保護,公鑰證書實現用戶公鑰的真實性
(部分素材來源於公開PPT,侵刪)