Block-Cipher

使用 CBC 模式恢復給定部分密鑰、IV 和密文的密鑰

  • July 26, 2017

給定一個已知的 IV 和一小部分密鑰(不足以使用蠻力),有沒有辦法只用一個密文破解 CBC 加密?

已知的 IV 無濟於事:它是公開的。

即使您知道密鑰的一部分,也沒有比嘗試所有可能的密鑰更容易的攻擊了。知道密鑰的一部分只會使可能的密鑰集更小。

即使知道大量的明文和密文也無助於恢復密鑰。只要您還沒有完全找到密鑰,訪問明文-密文對並不能幫助更快地恢復密鑰。並且知道部分密鑰無助於生成新的有效明文/密文對。

因此洩漏一小部分密鑰不會削弱系統。洩露一小部分密鑰的問題在於,當這種情況發生時,通常很難確保只洩露密鑰的足夠小部分,其中足夠小意味著“這樣我的對手就無法暴力破解密鑰” ”。

請注意,正如Luis Casillas所指出的,在這裡我假設底層分組密碼是一個理想的密碼,這對於實際使用的分組密碼來說是一個足夠好的假設。(雖然理論上不是——例如,AES 上確實存在相關的密鑰攻擊,但它們是理論上的:它們仍然需要不可行的計算量)。有關更正確的解釋,請參閱Luis Casillas 的答案。

這不是那種可以籠統回答的問題。當我們分析 CBC 的安全性時,我們假設分組密碼是偽隨機排列 (PRP)。PRP 定義大致上說:

  • **如果:**密鑰是隨機選擇的;
  • **並且:**密鑰對對手完全保密;
  • **然後:**機率多項式時間的對手無法將 PRP 與隨機排列區分開來,成功機會可忽略不計。

但是這個定義並沒有告訴我們當對手對密鑰有部分了解時(即,當第二個前提被違反時)PRP 的行為。換句話說,PRP 可以選擇在這種情況下抵抗攻擊,但不是必須的

如果我們做出更強有力的假設——分組密碼是一種理想的密碼——我們就可以說沒有比暴力破解更好的攻擊了。但是這樣的假設並不常見,因為較弱的 PRP 假設對於像 CBC 這樣的保密模式就足夠了。

因此,除了完全取決於您使用的特定分組密碼的詳細資訊之外,我們不能對您提出的問題說太多,並且您的場景中的攻擊不一定算作針對分組密碼的危險信號.

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