Cryptanalysis

打破雙重加密

  • September 8, 2014

我試圖了解攻擊者如何知道他何時成功解密了分配的密文。因此,將不勝感激以下問題的一些指針/提示。

  1. 如果您使用兩種不同的算法對秘密數據進行雙重加密。攻擊者如何知道他是否已經破解了“第一層”加密?
  2. 是否可以通過分析密文來確定使用的加密算法?
  3. 如果您發現使用了什麼算法,它是否會為您提供必要的資訊來了解您何時成功突破“第一層”?
  4. 考慮到上述情況,如果攻擊者知道用於保護數據的開源程序或(公共可用的)算法會有什麼不同?

從 4 開始:記住Kerckhoff 原理。您應該始終假設攻擊者知道使用哪種算法來加密您的數據。實踐中使用的所有算法都被設計為在此假設下是安全的,因此您應該考慮對攻擊者隱藏算法是多餘的。但作為一個假設…

  1. 我想不出有任何現實世界的密碼系統可以在只知道密文的情況下準確判斷使用了哪種算法,但從理論上講,這樣的算法可能存在,並且不會因為攻擊者而降低安全性反正應該知道的。
  2. 與上述相同,原因大致相同。
  3. 鑑於上述情況,它不應該產生顯著差異。如果是這樣,您的算法依賴於默默無聞的安全性,並且通常毫無價值。

在您的“雙重加密”情況下,攻擊者只會將兩種算法的組合視為一個大算法,他不會嘗試破譯一個然後另一個。

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