CBC CCA
Last updated
Last updated
CBC CCA works when we are given a decryption oracle. Suppose we have a ciphertext that contains 2 blocks (32 bytes). Let denote plaintext block 1, plaintext block 2, ciphertext block 1, and ciphertext block 2, respectively. Feed this ciphertext into the decryption oracle, we get:
Here is the trick: if we choose a ciphertext containing only null bytes, in other word, c_1 = c_2 = b"\x00" * 16
, we will have:
And now the IV is recovered and we are done.