Encryption
安全擦除加密數據
我的秘密消息在 CBC 模式下使用 AES-128 加密在字節緩衝區中。前 16 個字節是 IV,消息緊隨其後。如果我想安全地刪除此消息,是否足以刪除(隨機覆蓋)IV、第一個塊或兩者?
在對類似文章的回答(通過擦除 IV 而不是密鑰的加密粉碎)中,建議如果知道密鑰和一個純文字塊,則可以恢復整個消息。所以最好覆蓋整個秘密消息……
但是,如果忘記了密鑰,則無法解密,因此加密消息的長度是未知的。可能存在不希望覆蓋整個的情況。
如果我想安全地刪除此消息,是否足以刪除(隨機覆蓋)IV、第一個塊或兩者?
不,這還不夠。即使您將兩者都刪除也不會。
(除非您的消息最多兩個塊長,否則不會。)
擦除 IV 會使消息的第一個塊無法解密。擦除 IV 和第一個 $ n $ 密文塊使第一個 $ n+1 $ 塊不可解密。無論哪種情況,消息的其餘部分仍然可以正常解密。
對於 CBC 以外的模式,細節可能會有所不同,但對於所有常用模式,結論都是一樣的:為確保即使密鑰被洩露,消息的任何部分都無法解密,您需要擦除整個密文 (或IV和幾乎所有的密文,至少)。