Initialization-Vector

通過 IV 重用尋找不受已知明文攻擊的加密算法

  • April 28, 2015

我遇到了一個有趣的問題,我們基本上可以說以下內容:

  • 我們需要加密消息,但我們沒有空間儲存 IV。我們可以合成IV;然而,攻擊者將能夠觀察到使用相同 IV 加密的不同塊。
  • 我們可以直接檢測消息篡改。也就是說,我們不必關心有人注入塊來更改明文。他們會被抓住的。
  • 任何潛在的攻擊者都知道大量的明文。

是否有任何已知的塊密碼可以防止具有這些約束的數據讀取攻擊?

問題在於磁碟原子性。4096 字節可以原子寫入,4096 + N 字節不能。我的計劃是使用簡單的順序 IV,但是看到磁碟兩次的人將能夠利用它。

好吧,您的要求聽起來很像標準磁碟加密的要求。

假設您可以為每個 4kiB 扇區隱式分配 ID (0,1,2…)。
在這種情況下,您可以簡單地使用使用 AES 的 XTS 加密模式。

然後,您將使用內部計數器遍歷 4kiB 塊,並使用外部計數器遍歷所有扇區。

這應該為您提供最佳的安全性,因為相同的明文被映射到不同的密文(因為計數器)並且沒有密鑰流可以破解。

我希望這是您的問題的解決方案。

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