Aes
具有固定隨機數(但密鑰不同)的 CTR 模式下 AES 的安全性
如果我在 CTR 模式下使用 AES 並且每次都使用唯一密鑰但相同的隨機數,這是否安全?
如果是這樣,如果 nonce 是公開的,它會有所不同嗎?
是的,如果您為每條消息使用不同的密鑰,那麼它是安全的,如果您使用公共(或固定)隨機數,這不是問題。
出現這種情況的一個例子是集成加密方案,它使用對稱系統來加密實際消息,並在內部生成一個僅用於該消息的密鑰。請注意,在 IES 中,您還需要實現完整性保護(例如 MAC)
是的,這可能是安全的。如果您隨機選擇密鑰和/或使用安全的KDF,攻擊者沒有機會直接影響它們,我什至會將“可能”升級為“肯定”(假設 AES 本身沒有損壞,課程)。
然而,值得注意的是,在許多常見的基於隨機數的加密模型中,假設攻擊者能夠選擇隨機數。如果攻擊者選擇了部分密鑰,則可能會打開密碼以進行相關密鑰攻擊。眾所周知,AES在理論上容易受到此類攻擊,因為存在已知的相關密鑰攻擊,雖然在實踐中執行起來仍然太慢,但理論上可以比純暴力破解更快地破解 AES。
因此,目前,據我們所知,即使攻擊者可以選擇密鑰之間的任意關係,AES 實際上仍然是牢不可破的,這絕對是一個已知的弱點,未來的攻擊可能會進一步削弱。正如古老的加密格言所說,“攻擊只會變得更好,而不是更糟。” 無論如何,由於使用好的 KDF 很容易避免相關密鑰攻擊,因此真的沒有任何藉口可以設計一個容易受到攻擊的系統。