Brute-Force-Attack

解密honeypot

  • January 16, 2014

在執行密鑰搜尋時,我一直想知道,一旦你按下了正確的密鑰,你如何可靠地檢測到成功的解密。我假設您必須分析數據並尋找模式:單詞、字母頻率、已知文件頭、統計屬性等等。

這是一個正確的假設嗎?如果是這樣,是否有人通過在密碼中引入誘餌明文來利用這一點?有沒有與此相關的研究?

是的,這是一個正確的假設:有時明文的統計屬性(例如,使用標準算法的可壓縮性,可以快速近似,然後細化)用於檢查在蠻力搜尋期間是否找到了正確的密鑰,當沒有更好的方法,比如known plaintext

根據第二個Kerckhoffs 原則,如果使用誘餌方法,則該事實是算法的一部分,並且是公開的(誘餌的值可以是輸入,被視為密鑰的一部分,可以是秘密的也可以是公開的)。然而,現代密碼算法被設計為重新接收任何數量的已知明文(甚至選擇明文),因此不需要這種誘餌方法來實現機密性;這就是為什麼我懷疑你會找到(最近的)關於誘餌的同行評議文章以提高機密性,只是作為實現合理否認的一種手段,就像在TrueCrypt中一樣。在這個應用程序中,使用了誘餌,但不是為了提高對窮舉鍵搜尋的抵抗力。

更新:有時密鑰實際上是一個使用一些基於密碼的密鑰派生函式延伸到密鑰的密碼片語. 當您將此類密碼片語的暴力搜尋視為非常合法的密鑰搜尋時,誘餌(用弱誘餌密碼破譯成合理的誘餌明文)是一個有趣的想法。一個問題是,如上所述,假設對手知道存在潛在的誘餌;無論如何,加密系統允許使用誘餌密碼和明文這一事實似乎很難隱藏,當攻擊者對該系統進行分析以達到進行有效密碼搜尋所需的程度時。因此,執行密碼片語搜尋的對手可以選擇在找到誘餌後繼續搜尋,而且我沒有看到對給定密碼片語搜尋的整體抵抗力有很大改善。為了實現這個目標,最好使用一個好的密鑰派生函式,加密;也避免了由於使用誘餌而不可避免地引起的密文擴展。

引用自:https://crypto.stackexchange.com/questions/12936