對於對手而言
攻擊目的:
完全破譯:破譯使用者的秘鑰
部分破譯:恢復某些密文對應的明文
攻擊種類:
被動攻擊:
唯密文攻擊:密碼分析者有一個或更多的用同一個密鑰加密的密文,通過對這些截獲的密文進行分析得出明文或密鑰。
已知明文攻擊:除待解的密文外,密碼分析者有一些明文和用同一個密鑰加密這些明文所對應的密文。
選擇明文攻擊:密碼分析者可得到所需要的任何明文所對應的密文,這些密文與待解的密文是用同一個密鑰加密得來的。
選擇密文攻擊:密碼分析者可得到所需要的任何密文所對應的明文,解密這些密文所使用的密鑰與解密待解的密文的密鑰一樣。
主動攻擊:
自適應選擇明文攻:密碼分析者可得到所雷要的任何明文所對應的密文,這些密文與待解的密文是用同密鑰加密得來的,明文可以在看到加密機的返回結果后隨時選取。
自適應選擇密文攻擊:密碼分析者可得到所需要的任何密文所對應的明文,解密這些密文所使用的密鑰與解密待解的密文的密鑰是一樣的.密文可以在看到解密機的返回結果后隨時選取。
攻擊手段:
窮舉法:當分組長度n較小時,攻擊者可以有效地窮舉明文空間,得到密鑰。
差分分析
線性分析
相關密鑰
側信道攻擊
...
攻擊方法:
被動攻擊(竊聽):獲取但不改變傳輸的信息
主動攻擊:不僅竊聽,而且還改變傳輸的信息,目的是實現偽造和欺騙
對抗方法
被動攻擊——加密技術 (要保證信息的機密性)
主動攻擊——認證技術 (要實現信息的真實性認證)我們要認證:發方的真偽 收方的真偽 內容的真偽 時間的真偽
對抗抵賴的技術(雙方互不信賴) (實現信息的不可抵賴性)
密碼學的基本目標就是解決信息安全的三個基本安全需求,即:
(1)信息的機密性保證——靠加密算法
(2)信息的真實性認證——靠認證算法和配套協議
(3)承諾的不可否認性保證——由數字簽名算法、配套的協議和仲裁機構完成
我們要求密碼算法:一切的秘密蘊於密鑰之中
基本編碼技術的分類
(1)代替密碼
利用預先設計的代替規則,對明文逐字符或逐字符組進行代替的密碼 (因為規則已定,因而與密鑰和被加密的明文字符的序號無關。)
分為單表代替和多表代替兩種
單表代替的優點:明文的形態會變化很大
單表代替的缺點:1)明文相同時,密文字符也相同 2)明文的位置不變 (密文的出現次數等於明文的出現次數,明文的跟隨關系也出現在密文中——容易被統計出現次數的規律)
多表代替可以克服:單表代替的缺點(只要兩個明文字符組相同,則對應的密文宇符組一定相同)
多表代替密碼:根據密鑰的指示,來選擇加密時使用的單表的方法。(此時,K不是常數了,而是秘鑰)——如果密鑰序列是隨機(隨機——信號相互獨立且等概分布)的該密碼稱為一次一密體制,它就是絕對安全的,不可破譯。
一次一密的密碼體制的缺點:
密鑰序列是隨機序列意味着(1)密鑰序列不能周期重復;(2)密鑰序列必須與明文序列等長(3)這些密鑰序列必須在脫密前分配完畢.4)大量通信時不實用(5)分配密鑰和存儲密鑰時安全隱患大。
解決方案:密鑰序列由少量真隨機的數按固定的算法生成,只要它很像(意味着我們求不出來它不像隨機的地方)隨機序列即可這種序列稱為偽隨機序列
(2)移位密碼
對各字符或宇符組進行位置移動的密碼
優點:明文字符的位置發生變化
缺點:明文字符的形態沒有改變
交替使用代替和移位形成的密碼算法(綜合兩者的優點)形式:代替->移位->代替->移位·····
(3)加減密碼
將明文逐字符或逐宇符組與亂數相加或相減的密碼
例如:雙減密碼 仿射密碼
交替使用代替密碼和仿射密碼形成的密碼算法 形式:逐塊代替->仿射變換->逐塊代替->仿射變換·····
小結:
1)密碼學的基本目標是解決信息的機密性保證、真實性認證和承諾的不可否認性這三個基本的安全需求;
2)對敵手破譯能力的假設是知道除密鑰外的一切信息;
3)密碼學有密碼編碼、密碼分析和密鑰管理三個分支;
4)加密算法應能對抗所有可能的攻擊方法;
5)對密碼算法最基本的攻擊方法是窮舉密鑰攻擊;
6)代替、移位和加減是密碼算法最基本的編碼技術;
7)理論上不可破譯的密碼算法是存在的一次一密;
8)序列密碼脫胎於一次一密;
9)利用弱的密碼變換可搭配成強度很高的加密算法;
10)代替密碼與移位密碼結合、代替密碼與加減密碼結合都可以形成強度很高的加密算法,這是分組密碼的基本模型。