Aes

(重新)在 CTR 模式下使用確定性 IV/如何:確定性 AES

  • September 18, 2015

我知道 IV 在 CTR 模式下必須是唯一的要求(為什麼不能在 CTR 模式下重用 IV/密鑰對?)。但是我想知道我是否可以根據明文確定性地使用 IV。當然,這意味著整個加密是確定性的,這正是我想要的。

在以下場景中:

$ C_1 = ENC_{AES-CTR}(K, P_1, IV(P_1)) $

$ C_2 = ENC_{AES-CTR}(K, P_2, IV(P_2)) $

如果 $ P_1 = P_2 $

然後 $ C_1 = C_2 $

然後 $ C_1 \oplus C_2 = C_1 \oplus C_1 = 0 $ , 這基本上不意味著除了 $ P_1 = P_2 $ ,我們已經知道了,因為我們正在談論確定性加密。

問題是:根據定義,對相同明文使用 IV 是否是重複使用?如果不是,那麼強雜湊函式是否適合從明文中導出 IV?(類似問題:這種確定性加密方案的安全性

我想使用 SIV 模式,但它在所涉及的兩個不同平台中都不可用。

編輯: 關於我的明文的更多資訊:我想加密文件名。這意味著明文很短,可能由已知單片語成,熵很小,有時適合單個塊。如前所述,我希望相同的明文文件名產生相同的密文。

編輯 2: 解密所需的所有資訊必須包含在生成的加密文件名中,例如作為前綴。由於某些文件系統的長度限制,此前綴應盡可能短。

我無法證明您的方案是安全的,但據我所知,非加密雜湊函式可以正常工作,因為任何給定的雜湊都有無限數量的輸入,因此除了最短的消息(其中將是短消息的問題,您可能需要附加某種 128 位填充)。

然而,話雖如此,128 位分組密碼在之後開始失去安全性 $ 2^{64} $ 塊,隨著碰撞次數的增加。在 CBC 模式下,後續塊使用前一個塊作為 IV。如果兩個塊具有相同的輸出,這意味著前兩個塊一起異或將等於兩個明文一起異或。

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