Known-Plaintext-Attack

就性能而言,已知明文攻擊和純密文攻擊有什麼區別?

  • February 24, 2018

我知道在 KPA 中,攻擊者可以訪問明文和密文,但最終這一切都歸結為執行詳盡的密鑰搜尋。我不確定是否擁有給定密文的相應明文會使這種攻擊變得不那麼費力。所以我想知道,它們是否同樣有效?如果它們實際上是相同的,我們為什麼要做出這種區分?

通常我們談論的是比蠻力更好的各種攻擊,這些攻擊很大程度上取決於我們能做什麼。僅密文通常是最嚴格的設置。我們有幾個明文和密文對的已知純文字很常見。但我們也有其他攻擊模式。選擇密文,自適應選擇純文字和模式。

如果我們以一些經典密碼為例。我們將看到僅密文攻擊和已知的純文字攻擊之間的顯著差異。我們知道如何僅使用有關純文字的統計知識(例如字母頻率)對 Viginere 執行僅密文攻擊或替換密碼。但是對於已知的純文字,密鑰會被輕易地揭示出來。在 Viginere 中,從普通密碼中減去密碼並接收重複密鑰。無需任何技巧來查找密鑰長度或匹配列頻率。

即使使用最簡單的密碼,我們也會看到差異。

同樣對於現代攻擊,發布的不同攻擊需要不同類型的訪問。舉一個更現代的例子,讓我們看一個內部狀態有限的流密碼。例如用於手機加密的 A5 系列。僅使用密文,我們在通用攻擊方面沒有太多工作要做。我們可以暴力破解內部狀態並在密文上做一個嬰兒床拖動,看看我們是否找到看起來像純文字的東西。但是,當我們知道部分純文字時(由於使用的協議和其他原因,我們幾乎總是這樣做)。我們可以做得更好,我們可以通過將已知的純文字與密文進行異或來獲得部分密鑰流。不僅暴力破解內部狀態更有效地在我們擁有的密鑰流片段中尋找匹配,

更好的訪問通常會導致更好更有效的攻擊,儘管這些仍然特定於密碼家族的密碼。

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