Encryption Equation: $C_i = E(P_i, k)$
Decryption Equation: $P_i = D(C_i, k)$
• Simplicity: ECB mode is the simplest mode of operation • Overhead: There is no extra overhead to the encryption/decryption. • Dependence: Every block is independent of other blocks. This means the same plaintext block will always give the same ciphertext block, which is a security vulnerability. • Error Propagation and Recovery: If there is an error in one block, then that error will be local to the corresponding block. There is no error propagation. • Padding: ECB uses padding, which means it is subject to Padding Oracle Attacks.
Encryption Equations:
$C_1 = E(P_1 ⨁ IV , k)$
$C_i = E(P_i ⨁ C_{i-1} ,k) i > 1$
Decryption Equations:
$P_1 = D(C_i , k) ⨁ IV$
$P_i = D(C_i , k) ⨁ C_{i-1} \space i > 1$
• Simplicity: Overall, CBC is simple
• Overhead: There is an overhead in the generation and sharing of the IV.
• Dependence: Every block is dependent on all previous blocks.