Encryption
具有相似 IV 和相同密鑰的 AES CTR
假設有一個軟體使用 AES CTR 使用相同的密鑰加密不同的消息,但 IV 略有不同。
所以舉個例子,一個 16 字節的 IV,第二個 8 個字節總是一樣的,但是第一個 8 個字節是隨機的。
這有多不安全?
我知道您不應該使用相同的 IV 和密鑰。但是類似的 IV 是否具有相同的漏洞或攻擊它們的不同方式?
顧名思義,CTR 模式通過加密一個計數器(每個 16 字節塊遞增)來生成隨機位流。然後將該比特流與明文進行異或運算以創建密文。IV 為計數器提供初始值。
只要計數器值重複的機率可以忽略不計,CTR 模式就是安全的。因此,您描述的方案在兩種情況下是安全的:
- 沒有消息更長 $ 2^{32} $ 十六字節塊長。由於計算結果為 64GB,因此這個假設可能是安全的。(我假設每次相同的 32 個 IV 位是隨著每個塊增加的位。)
- 在單個密鑰下加密的消息數量很少。
小有多小?好吧,生日悖論說,如果你加密 $ 2^m $ 消息,IV 的隨機 64 位部分重複的機率最多為 $ 2^{2m}/2^{64} $ . 所以如果你加密 $ 2^{16} = 65536 $ 消息,重複計數器的機率小於 1 $ 2^{32} $ ; 即,不到大約四十億分之一。在大多數情況下,這是一個可接受的風險(儘管有些人可能認為它按照密碼標準很高)。