密碼分析者破譯或攻擊密碼的方法主要有瓊劇攻擊法、統計分析法和數學分析法。
窮舉攻擊法
窮舉攻擊法又稱強力或蠻力 ( brute force ) 攻擊。這種攻擊方法是對截獲到的密文嘗試遍歷所有可能的金鑰,直到獲得一種從密文到明文的可理解轉換;或使用不變的金鑰對所有可能的明文加密直到得到與截獲到的密文一致為止。顯然,對於任何已知密碼演算法的密碼系統,只要攻擊者有足夠多的計算資源,該方法是可以成功的。窮舉攻擊是對密碼的一種最基本的攻擊方法。對抗瓊舉攻擊法的主要方法有:增加金鑰長度,在明文、密文中增加隨機冗餘資訊等。
統計分析法
統計分析攻擊就是指密碼分析者根據明文、密文和金鑰的統計規律來破譯密碼的方法。
例如,在經典的換位密碼、置換密碼體制中,可以透過分析單字母、雙字母、三字母等的頻率和其他統計引數而破譯。對抗統計分析攻擊的主要方法是設法使明文的統計特性不代入密文。這樣,密文不帶有明文的痕跡,而呈現出極大的隨機性,從而挫敗統計分析攻擊。能夠對抗統計分析攻擊已成為近代密碼的基本要求。
數學分析法
數學分析攻擊是指密碼分析者針對加解密演算法的數學基礎和某些密碼學特性,透過數學求解的方法來破譯密碼。數學分析攻擊是對基於數學難題的各種密碼演算法的主要威脅。為了對抗這種攻擊,應當選用具有堅實數學基礎和足夠複雜的加密演算法。
可以將針對加密系統的密碼分析攻擊型別分為以下四種:
- 唯密文攻擊 ( cciphtext-only attack )
- 已知明文攻擊 ( plaintext-known attack )
- 選擇明文攻擊 ( chosen-plaintext attack )
- 選擇密文攻擊 ( chosen-ciphenext attack )
本作品採用《CC 協議》,轉載必須註明作者和本文連結