簡介
密碼學是研究密碼系統或者信息安全的一門科學。 它主要包括兩個分支,即密碼編碼學和密碼分析學。密碼分析解法簡單來說用於破解密碼的方法,破譯方法包括窮舉破譯法和數學分析法兩類。
方法
窮舉法也稱為暴力攻擊,密碼分析者通過試遍所有的密鑰來進行破譯,顯然可以通過增大密鑰量來對抗窮舉攻擊。它是對截獲的密文依次用各種可能的密鑰試譯,直到獲得有意義的明文,或者利用對手已注入密鑰的加密機,對所有可能的明文依次加密直到得出與截獲的密文一致的密文。只要有足夠的時間和存儲空間,窮舉攻擊法原則上是可行的,但在實際中, 計算時間和存儲空間都受到限制,只要密鑰足夠長,這種方法往往不可行。
數學分析法又分為確定性分析法和統計分析法。確定性分析法,又稱解密變換攻擊,是利用密文或者“明文—密文”對等已知量以數學關係式表示出所求未知量(如密鑰等),然後計算出未知量。為對抗這種攻擊,應該選用具有堅實的數學基礎和足夠複雜的加密算法。
統計分析方法,密碼分析者通過分析密文和明文的統計規律來破譯密碼,是利用統計規律進行破譯的方法,它是對截獲的密文進行統計分析,找出其統計規律或特徵,並與明文空間的統計特徵進行對照比較,從中提取出密文與明文間的對應關係,最終確定密鑰或明文。對抗統計分析攻擊的方法是設法使明文的統計特性與密文的統計特性不一樣 。
線性密碼分析:作為一種己知明文攻擊方法,線性密碼分析方法叫的本質思想在於,通過將一個給定的密碼算法有效且線性近似地表示出來以實現破譯。現有密碼分析技術也得到了一定的推廣。利用己知明文,16輪DES系統己可以通過線性密碼分析進行破譯,在某些情況下甚至可以實現唯密文攻擊。針對數據加密標準DES系統的主要攻擊包括強力攻擊手段,差分密碼分析等。就16輪DES密碼系統而言,不管是差分密碼分析還是線性密碼分析方法,需要用到的明文太多,因此效率比較低。為了提高攻擊效率,可以結合差分密碼分析和線性密碼分析技術,即差分-線性密碼分析技術。
差分密碼分析:1990年,以色列密碼學家Biham和Shamir提出了差分密碼分析技術。差分密碼分析特別適用於疊代密碼。差分密碼分析的本質思想在於,通過分析相應明文對差值和密文對差值之間的相互影響關係,來得到密鑰的一些比特信息。對於差分密碼分析也有很多推廣,其中比較常見的包括高階差分密碼分析等。
密碼分析學
密碼分析學的主要目的是研究加密訊息的破譯和訊息的偽造。通過分析密文來推斷該密文對應的明文或者所用密碼的密鑰的過程也稱作密碼攻擊。密碼分析也可以發現密碼體制的弱點,最終達到上述結果。在密碼分析的發展過程中,產生了各種各樣的攻擊方法,其名稱也是紛繁蕪雜。根據密碼分析者占有的明密條件,流密碼分析可分為以下四類:
唯密文攻擊。密碼分析者有一些訊息的密文,這些訊息都用同一加密算法加密。密碼分析者的任務是恢復儘可能多的明文,或者最好是能夠推算出加密訊息的加密密鑰和解密密鑰, 以便採用相同的密鑰解出其它被加密的訊息。
已知明文攻擊。密碼分析者不僅可以得到一些訊息的密文,而且也知道這些訊息的明文。分析者的任務就是用加密的訊息推出加密訊息的加密密鑰和解密密鑰,或者導出一個算法, 此算法可以對用同一密鑰加密的任何新的訊息進行解密。
選擇明文攻擊。密碼分析者不僅可得到一些訊息的密文和相應的明文,而且他們也可選擇被加密的明文。這比已知明文攻擊更有效。因為密碼分析者能選擇特定的明文塊去加密,那些塊可能產生更多關於密鑰的信息,分析者的任務是推出用來加密訊息的加密密鑰和解密密鑰,或者導出一個算法,此算法可以對同一密鑰加密的任何新的訊息進行解密。
選擇密文攻擊。密碼分析者能夠選擇不同的被加密的密文,並可得到對應的解密的明文, 例如密碼分析者存取一個防篡改的自動解密盒, 密碼分析者的任務是推出加密密鑰和解密密鑰。