為什麼仍然沒有超過 256 位的密鑰?
AES 使用 256 位密鑰。較新的對稱密碼(如 Salsa20)仍最多使用 256 位密鑰。但是每個人都在談論量子電腦之後的安全級別,所以他們說 128 位密鑰將提供 64 位密鑰,256 位將提供 128 位。所以在後量子世界中,我們將不再擁有 256 位安全性,對嗎?那麼,為什麼這些最新的對稱密碼沒有更長的密鑰,比如具有 512 位密鑰的 Salsa20?對於後量子世界和很長一段時間來說,這不是更安全嗎?
如果量子操作與經典操作一樣便宜(這是一個非常大的“如果”),那麼 256 位 AES 密鑰將有效地減少到 128 位安全性。不僅格羅弗的算法確實並行性不是很好,而且量子運算目前也很慢。
從理論上講,以某些方式使用的 128 位分組密碼可能容易受到多目標攻擊,在這種攻擊中,對手只需找到一些密鑰,就可以訪問在不同密鑰下加密的大量已知明文。問題源於這樣一個事實,即對手可以同時針對整批目標嘗試不同的密鑰。這可能是 CTR 模式下具有固定 nonce的分組密碼的問題。在這種情況下,128 位的安全性可能是不夠的。
只有在以下情況下,256 位密鑰才會不安全:
- 多目標攻擊是相關的,並且
- 量子運算與經典運算一樣便宜。
考慮到所有因素,256 位安全性仍然足夠,並且在可預見的未來也是如此。
我們目前認為 128 位安全性足以滿足所有目前和未來的計算需求。例如,使用理論上的最小能量,儲存 $ 2^{128} $ 比特比煮沸世界海洋需要更多的能量。因此,在量子計算之後使用 256 位密鑰提供 128 位安全性應該是安全的,因為通常不期望攻擊者實際利用多個天體的能源。
在某些情況下,例如在 CTR 模式下使用塊密碼,您可能容易受到多目標攻擊,其中攻擊者可以同時使用相同的輸入塊同時攻擊多個密鑰。這是 128 位安全性不理想的一種情況。但是,在許多情況下,通過使用 KDF 派生 IV和密鑰很容易避免這種情況,許多協議已經這樣做了,因此在大多數情況下這不是一個嚴重的風險。
將來我們可能希望對沖未來的進步並使用 512 位密鑰建構對稱算法,但在這一點上,這似乎實際上沒有必要。