密碼分析是研究在不知道通常解密所需要的秘密信息的情況下對(duì)已加密的信息進(jìn)行解密的一門學(xué)問。密碼分析解法即成功解密需要查找到一個(gè)秘密的鑰匙的分析方法,主要的密碼分析解法有三種:窮舉攻擊、統(tǒng)計(jì)分析攻擊和解密變換攻擊。
簡介密碼學(xué)是研究密碼系統(tǒng)或者信息安全的一門科學(xué)。 它主要包括兩個(gè)分支,即密碼編碼學(xué)和密碼分析學(xué)。密碼分析解法簡單來說用于破解密碼的方法,破譯方法包括窮舉破譯法和數(shù)學(xué)分析法兩類。
方法窮舉法也稱為暴力攻擊,密碼分析者通過試遍所有的密鑰來進(jìn)行破譯,顯然可以通過增大密鑰量來對(duì)抗窮舉攻擊。它是對(duì)截獲的密文依次用各種可能的密鑰試譯,直到獲得有意義的明文,或者利用對(duì)手已注入密鑰的加密機(jī),對(duì)所有可能的明文依次加密直到得出與截獲的密文一致的密文。只要有足夠的時(shí)間和存儲(chǔ)空間,窮舉攻擊法原則上是可行的,但在實(shí)際中, 計(jì)算時(shí)間和存儲(chǔ)空間都受到限制,只要密鑰足夠長,這種方法往往不可行。
數(shù)學(xué)分析法又分為確定性分析法和統(tǒng)計(jì)分析法。確定性分析法,又稱解密變換攻擊,是利用密文或者“明文—密文”對(duì)等已知量以數(shù)學(xué)關(guān)系式表示出所求未知量(如密鑰等),然后計(jì)算出未知量。為對(duì)抗這種攻擊,應(yīng)該選用具有堅(jiān)實(shí)的數(shù)學(xué)基礎(chǔ)和足夠復(fù)雜的加密算法。
統(tǒng)計(jì)分析方法,密碼分析者通過分析密文和明文的統(tǒng)計(jì)規(guī)律來破譯密碼,是利用統(tǒng)計(jì)規(guī)律進(jìn)行破譯的方法,它是對(duì)截獲的密文進(jìn)行統(tǒng)計(jì)分析,找出其統(tǒng)計(jì)規(guī)律或特征,并與明文空間的統(tǒng)計(jì)特征進(jìn)行對(duì)照比較,從中提取出密文與明文間的對(duì)應(yīng)關(guān)系,最終確定密鑰或明文。對(duì)抗統(tǒng)計(jì)分析攻擊的方法是設(shè)法使明文的統(tǒng)計(jì)特性與密文的統(tǒng)計(jì)特性不一樣1。
線性密碼分析:作為一種己知明文攻擊方法,線性密碼分析方法叫的本質(zhì)思想在于,通過將一個(gè)給定的密碼算法有效且線性近似地表示出來以實(shí)現(xiàn)破譯?,F(xiàn)有密碼分析技術(shù)也得到了一定的推廣。利用己知明文,16輪DES系統(tǒng)己可以通過線性密碼分析進(jìn)行破譯,在某些情況下甚至可以實(shí)現(xiàn)唯密文攻擊。針對(duì)數(shù)據(jù)加密標(biāo)準(zhǔn)DES系統(tǒng)的主要攻擊包括強(qiáng)力攻擊手段,差分密碼分析等。就16輪DES密碼系統(tǒng)而言,不管是差分密碼分析還是線性密碼分析方法,需要用到的明文太多,因此效率比較低。為了提高攻擊效率,可以結(jié)合差分密碼分析和線性密碼分析技術(shù),即差分-線性密碼分析技術(shù)。
差分密碼分析:1990年,以色列密碼學(xué)家Biham和Shamir提出了差分密碼分析技術(shù)。差分密碼分析特別適用于迭代密碼。差分密碼分析的本質(zhì)思想在于,通過分析相應(yīng)明文對(duì)差值和密文對(duì)差值之間的相互影響關(guān)系,來得到密鑰的一些比特信息。對(duì)于差分密碼分析也有很多推廣,其中比較常見的包括高階差分密碼分析等。
密碼分析學(xué)密碼分析學(xué)的主要目的是研究加密消息的破譯和消息的偽造。通過分析密文來推斷該密文對(duì)應(yīng)的明文或者所用密碼的密鑰的過程也稱作密碼攻擊。密碼分析也可以發(fā)現(xiàn)密碼體制的弱點(diǎn),最終達(dá)到上述結(jié)果。在密碼分析的發(fā)展過程中,產(chǎn)生了各種各樣的攻擊方法,其名稱也是紛繁蕪雜。根據(jù)密碼分析者占有的明密條件,流密碼分析可分為以下四類:
唯密文攻擊。密碼分析者有一些消息的密文,這些消息都用同一加密算法加密。密碼分析者的任務(wù)是恢復(fù)盡可能多的明文,或者最好是能夠推算出加密消息的加密密鑰和解密密鑰, 以便采用相同的密鑰解出其它被加密的消息。
已知明文攻擊。密碼分析者不僅可以得到一些消息的密文,而且也知道這些消息的明文。分析者的任務(wù)就是用加密的消息推出加密消息的加密密鑰和解密密鑰,或者導(dǎo)出一個(gè)算法, 此算法可以對(duì)用同一密鑰加密的任何新的消息進(jìn)行解密。
選擇明文攻擊。密碼分析者不僅可得到一些消息的密文和相應(yīng)的明文,而且他們也可選擇被加密的明文。這比已知明文攻擊更有效。因?yàn)槊艽a分析者能選擇特定的明文塊去加密,那些塊可能產(chǎn)生更多關(guān)于密鑰的信息,分析者的任務(wù)是推出用來加密消息的加密密鑰和解密密鑰,或者導(dǎo)出一個(gè)算法,此算法可以對(duì)同一密鑰加密的任何新的消息進(jìn)行解密。
選擇密文攻擊。密碼分析者能夠選擇不同的被加密的密文,并可得到對(duì)應(yīng)的解密的明文, 例如密碼分析者存取一個(gè)防篡改的自動(dòng)解密盒, 密碼分析者的任務(wù)是推出加密密鑰和解密密鑰。
本詞條內(nèi)容貢獻(xiàn)者為:
王慧維 - 副研究員 - 西南大學(xué)