實際安全性
爲了評價分組密碼的安全性,習慣上通常假設攻擊者:
- 已獲得密文信道中傳輸的所有數據;
- 知道除了密鑰以外的所有關於加密函數的細節(
安全性因此完全依賴於密鑰
)。
針對對稱密鑰密碼最重要的攻擊類型:
- 惟密文攻擊:沒有額外的信息可用
- 已知明文攻擊:可得到明文-密文對
- 選擇明文攻擊:敵手可獲得與所選擇的明文相對應的密文 。一種變體是自適應選擇明文攻擊,其明文選擇依據此前 的明文-密文對
- 選擇密文攻擊:敵手可得到他所選的一定數量的密文所對 應的明文-密文對,然後利用這些信息來嘗試恢復密鑰( 或一些新密文所對應的明文)
- 相關密鑰攻擊:敵手可在一個未知密鑰或已知有一定關聯 而選出的(未知)密鑰條件下,訪問加密明文的結果
人們通常用密碼來抵禦選擇明文攻擊,即使這種攻擊並不可行。如果一種密碼的安全性能抵禦選擇明文攻擊,那麼它就能抵禦已知 明文攻擊和惟密文攻擊。
已知最佳攻擊的複雜度
- 數據複雜度:所需的輸入數據單元的數量的期望值(如密文)
- 存儲複雜度:所需存儲單元數量的期望值。
- 處理複雜度:用於處理輸入數據和(或)存儲數據(每個存儲單元至少一次)所需的操作的期望值。
如果密文分組和明文分組在統計上獨立,則這種密 碼就提供了完善保密性(無條件安全性)。