evo真人(中国)

文章橫幅PC版
文章橫幅iPad版
文章橫幅手機版

密碼學分析方法分類

TIME:2019-03-21 11:39  click: 423 次 來源: 未知

密碼分析者破譯或攻擊密碼的方法可以分為三類:窮舉攻擊法、統計分析攻擊法和數學分析攻擊法。

1.窮舉攻擊法

窮舉攻擊法就是對所有可能的密鑰或者明文的窮舉。窮舉攻擊法又稱為窮舉破譯法、強力或蠻力攻擊。

窮舉攻擊法的方法:①窮舉密鑰時,對截獲到的密文嘗試遍歷所有可能的密鑰,也就是依次用各種可能的密鑰試譯(嘗試解密密文),直到取得有意義的明文,從而確定出正確的密鑰和明文;

②窮舉明文時,使用不變的密鑰(例如,利用顺利获得繳取得到的、對手已注入密鑰的加密機)對所有可能的明文依次加密直到得出與截獲到的密文一致的密文為止。

從理論上說,只要擁有足夠的資源(例如,擁有足夠多的計算時間和存儲容量),任何實用的密碼都可以使用窮舉攻擊法破譯。

對抗窮舉攻擊最有效的對策是設法將密鑰空間和明文空間、密文空間設計得足夠大。顺利获得增加密鑰和明文、密文的長度(可顺利获得在明文、密文中增加隨機冗餘信息等方式來實現)。

2.統計分析攻擊法

統計分析攻擊法就是指密碼分析者根據明文、密文和密鑰的統計規律來破譯密碼的方法。

採用統計分析法進行攻擊的方法是:密碼破譯者對截獲的密文進行統計分析,找出其統計規律或特徵,並與明文空間的統計特徵進行對照比較,從中提取出密文與明文間的對應關係,最終確定密鑰或明文。例如,許多古典密碼都可以顺利获得分析字母和字母組合的頻率分佈以及其他統計參數來破譯。

對抗統計分析攻擊法最有效的對策是:設法使明文的統計特性不帶入密文,擾亂密文的語言統計規律,即把密文和明文的統計特性擴散到整個密文,這樣使得密文不呈現任何明文的統計特性,反而呈現出極大的隨機性,從而使統計分析攻擊法無法達到目的。

現代密碼設計的基本要求包含抵抗統計分析攻擊。

3.數學分析攻擊法

數學分析攻擊法是指密碼分析者針對加解密算法的數學基礎和某些密碼學特性,經過數學求解的方法來破譯密碼。數學攻擊是對基於數學難題的各種密碼算法的重大威脅。數學法也稱為確定性攻擊法或系統攻擊法。

採用數學分析法進行攻擊的方法是:利用一個或幾個已知量(例如,利用密文或者明文一密文對等信息)以數學關係式表示出所求未知量(如密鑰等),然後計算出未知量。已知量和未知量的關係視加密和解密算法而定,尋求這種關係是確定性分析法的關鍵步驟。

對抗數學分析攻擊法的對策是設計和選用具有堅實數學基礎和足夠複雜的加密函數。一般地,密碼分析者掌握的關於密碼系統的知識越多,密碼分析成功的可能性就越大。在假設密碼分析者已知所用加密算法全部知識的情況下,根據密碼分析者對明文、密文等數據資源的掌握程度,可以將針對加密系統的密碼分析攻擊分為以下五種類型。

1)唯密文攻擊

在唯密文攻擊中,密碼分析者知道密碼的具體算法,但僅能根據截獲的、數量有限的密文進行分析、破譯,以得出明文或密鑰。由於密碼分析者所能利用的數據資源僅為密文,這是對密碼分析者最不利的情況。但同時這也是密碼分析者在利用數據資源最少的情況下進行的難度最大的密碼攻擊。

在唯密文攻擊中,密碼分析者的任務或目標是恢復儘可能多的明文,或者最好能推算出加密消息的密鑰來,以便可以採用相同的密鑰解密出其他被加密的消息。

2)已知明文攻擊

已知明文攻擊是指分析者除了有截獲的密文外,還有一些已知的“明文一密文對”來破譯分析。

在已知明文攻擊中,分析者的推出用來加密的密鑰或許推導出某種算法,運用這種算法能夠對用該密鑰加密的任何新的信息進行解密。

3)選擇明文攻擊

選擇明文攻擊是指密碼分析者不僅可得到一些“明文一密文對”,還有機會使用注入了未知密鑰的加密機,顺利获得自由選擇被加密的明文來獲取所期望的“明文一密文對”。這種狀態對密碼分析者十分有利,這時密碼分析者能夠選擇特定的明文數據塊去加密,並比較明文和對應的密文,以分析和發現更多的與密鑰相關的信息。

3)選擇明文攻擊

選擇明文攻擊是指分析者不只可得到一些“明文一密文對”,還可運用注入了未知密鑰的加密機,經過自由選擇被加密的明文來獲取所希望的“明文一密文對”。這種狀況對分析者非常有利,這時分析者能夠選擇特定的明文數據塊去加密,並比較明文和對應的密文,以和發現更多的與密鑰相關的信息。

在選擇明文攻擊中,分析者也是推出用來加密的密鑰或許推導出某種算法,該算法能夠對用該密鑰加密的任何新的信息進行解密。

自適應選擇明文攻擊是選擇明文攻擊的特殊情況,是指分析者不只能夠選擇被加密的明文,而且還能根據以前加密的成果批改這個選擇在選擇明文攻擊中,分析者能夠選擇一大塊被加密的密文,以求得到更多的信息。而在自適應選擇明文攻擊中,能夠選擇較小的明文塊,然後再根據榜首塊的成果選擇另一塊明文,以此類推。

4) 選擇密文攻擊

選擇密文攻擊是指分析者除了具有有限數量的密文外,還有時機運用注入了不知道密鑰的解密機,經過自由選擇密文來獲取所希望的“密文一明文對”。分析者的使命方針是推出密鑰。這種分析主要是針對公鑰分析體系尤其是用於攻擊數字簽名。因而,公鑰分析體系抗選擇密文攻擊是公鑰分析體系安全的必要條件。

5) 選擇文本攻擊

選擇文本攻擊是選擇明文攻擊和選擇密文攻擊的結合。分析者能夠得知選擇的明文和對應的密文,以及選擇的猜測性密文和對應的已被破譯的明文。

上述五種攻擊的目的都是為了確定系統所使用的密鑰或者破譯出密文。這五種攻擊類型的攻擊強度按次序遞增,唯密文攻擊是最困難,因為這種情況下密碼分析者可以利用的信息最少,因此,唯密文攻擊也是最弱的攻擊。選擇文本攻擊是最強的一種攻擊。

如果一個密碼系統能抵抗較高一級攻擊強度的攻擊,那麼它肯定能抵抗其餘幾種較低安全強度的攻擊。例如,如果一個密碼系統能抵抗選擇密文攻擊,那麼它肯定能抵抗其餘三種攻擊強度較低的攻擊。現代密碼學要求設計一個密碼系統僅當它能經得起已知明文攻擊時才是一個可行的算法,也就是說設計的密碼體系至少要能夠經受住第一種和第二種攻擊的考驗。

此外,還有選擇密鑰攻擊,這種攻擊方式實際應用很少,它僅表示密碼分析者具有不同密鑰之間的關係,並不表示密碼分析者能夠選擇密鑰。

另外,衡量密碼系統攻擊的複雜性主要考慮三個方面的因素:

(1)數據複雜性:用作密碼攻擊所需要輸入的數據量。

(2)處理複雜性:完成攻擊所需要花費的時間。

(3)存儲需求:進行攻擊所需要的數據存儲空間大小。

攻擊的複雜性取決於以上三個因素的最小複雜度,在實際實施攻擊時往往要考慮這三種複雜性的折中,如存儲需求越大,攻擊可能越快。

 

上一篇:非對稱密碼體制的特點 下一篇:密碼學的基本概念