密碼學基礎
密碼學的相關概念
密碼學分類:
(1)密碼編碼學
密碼分析學:研究如何分析或破解各種密碼編碼體制的一門科學
(2)密碼分析也稱爲密碼破譯,是指在密碼通信過程中,非授權者在不知道密鑰的條件下對密文進行分析,試圖得到明文或密鑰的過程。
密碼分析分類:
(1)唯密文攻擊(Ciphertext only)
破譯者已知:加密算法、待破譯的密文
(2)已知明文攻擊(Known plaintext)
破譯者已知:加密算法、一定數量的明文和對應的密文
(3)選擇明文攻擊(Chosen plaintext)
破譯者已知:加密算法、選定的明文和對應的密文
(4)選擇密文攻擊(Chosen ciphertext)
破譯者已知:加密算法、選定的密文和對應的明文
(5)選擇文本攻擊(Chosen text)
破譯者已知:加密算法、選定的明文和對應的密文、選定的密文和對應的明文
攻擊密碼體制的常用方法
(1)窮舉攻擊
(2)統計分析攻擊
(3)數學分析攻擊
密碼學加密系統的五元組
明文,密文,密鑰,加密算法,解密算法。
3.對加密系統的攻擊類型(前四種)
1.已知明文攻擊 (知道一些名密文對)2選擇明文攻擊 (任意明文->密文)
3.唯密文攻擊 (只知道一些密文) 4選擇密文攻擊(任意密文->明文)
5.選擇文本攻擊(任意明文<->任意密文)
4.kerchkoffs原則
假設攻擊者是在已知密碼體制的前提下來破譯密碼系統的密鑰
o1883年Kerchkoffs第一次明確提出編碼原則:
加密算法應建立在算法的公開不影響明文和密鑰的安全
這一原則以普遍得到承認,稱爲判定密碼強度的衡量標準,實際上也稱爲傳統密碼和現代密碼的分界線
Kerchkhoffs假設:
--假定:密碼分析者知道對方所使用的密碼系統
-包括明文的統計特性,加密體制(操作方式,處理方法和加/解密算法),密鑰空間及統計特性
-不知道密鑰
成功的密碼分析不僅能夠恢復出消息明文和密鑰,而且能夠發現密碼體制的弱點,從而控制通信
在設計一個密碼系統時,目標是在Kerchkhoffs假設的前提下實現安全。
5.兩大密碼體制各自的優缺點並分析原因,各自的應用場景
優點/缺點 | 對稱密碼 | 公鑰密碼 |
---|---|---|
優點 | 1.算法運算速度較快2.密鑰相對較短3.密文明文長度相同 | 1.密鑰分發管理比較簡單 2.支持數字簽名(解決了不可否認問題) |
缺點 | 1.密鑰分發需要安全的通道 2.密鑰量大,密鑰難於管理 3.難以解決不可否認問題 | 1.算法複雜,處理速度慢 |