Extra: Authenticated Encryption CBC-XOR
Problem
Show two types of forgery attacks for authenticated encryption scheme CBC-XOR.
Given a pseudorandom permutation F
Gen: k <- {0, 1}^n
Enc: On input a message m = B_0 || B_1 || ... || B_l and a key k,
uniformly generate an IV <- {0, 1}^m
1. Compute B_{l+1} = B_0 ^ B_1 ^ ... ^ B_l
2. Do CBC encryption on m || B_{l+1} using k and IV
- Output ciphertext c := IV || c_0 || c_1 || ... || c_l || c_{l+1}
Dec: On input a ciphertext c = IV || c_0 || c_1 || ... || c_l || c_{l+1} and a key k
1. Do CBC decryption on c_0 || c_1 || ... || c_l || c_{l+1} using k and IV
2. Check if B_{l+1} = B_0 ^ B_1 ^ ... ^ B_l
- If true, output plaintext B_0 ^ B_1 ^ ... ^ B_l
- If false, output error
Solution
Method 1 - Truncation
Query and obtain the ciphertext .
Thus should be a valid ciphertext for
Method 2 - Swap
Query and obtain the ciphertext
Thus
Hence should be a valid tag for , where
Last updated
Was this helpful?