Aes
混合分組密碼模式 (AES)
我正在嘗試評估對現有程式碼庫的一些更改,並且出現的一個問題是分組密碼模式。由於遺留原因,我們一直在 CBC 模式下使用 AES,但目前尚不清楚為什麼會做出這個決定。我想建議遷移到 GCM,但我不確定這是否會影響解密我們已經儲存的數據。
一般來說,我很好奇塊模式是否真的影響密文,或者對於給定的密鑰 AES(X) = Y 是否適用於所有塊模式。
簡而言之,答案是影響;操作模式不可互換。
操作模式影響密文,如果不先用舊的操作模式解密,然後用新的操作模式加密,它們是不可改變的。
例如,考慮ECB和CBC模式;
CBC模式使用 $ IV \oplus P_1 $ 作為明文加密第一個塊,而僅在 ECB 中 $ P_1 $ 用作明文。其他區塊加密如下;
- $ C_i = Enc_k(P_i), 1\leq i \leq l $ , 對於 ECB 模式, 和
- $ C_i = Enc_k(P_i \oplus C_{i-1}), 2\leq i \leq l $ 對於 CBC 模式。
正如我們所看到的,明文不同,因此密文不同。
所以; 你必須先用舊的操作模式解密你的數據,然後用新的模式加密。
**注意:**如果以某種方式存在可互換性,那麼任何弱點/不安全感都會轉移到另一個,vs