Applied Cryptography
Let 1 GiB = 2³⁰ bytes and 1 EiB = 2⁶⁰ bytes. A block cipher with a 64-bit block (such as 3DES) is used in CBC mode to encrypt a large amount of data under one key. Treating the ciphertext blocks as random 64-bit values, which of the following is the approximate amount of data at which, by the birthday paradox, the probability that a pair of identical ciphertext blocks appears can no longer be ignored?
- AAbout 4 GiB
- BAbout 32 GiB
- CAbout 128 EiB
Show answer and explanation
Answer: B. About 32 GiB
A 64-bit block can take 2⁶⁴ values, so by the birthday paradox the probability that a pair of equal values appears can no longer be ignored after encrypting about 2^(64/2) = 2³² blocks (about 39% at 2³² blocks). One block is 8 bytes, so the amount of data is 2³² × 8 = 2³⁵ bytes = 32 GiB. In CBC mode, when two ciphertext blocks match, the XOR of the two corresponding plaintext blocks is revealed, and the Sweet32 attack published in 2016 showed that cookies could be extracted from long HTTPS sessions protected with 3DES. For AES with its 128-bit block, the threshold extends to 2⁶⁴ blocks.
- A. About 4 GiB is 2³² bytes, the value obtained without multiplying by the 8 bytes per block.
- B. Correct. 2³² blocks × 8 bytes = 32 GiB.
- C. About 128 EiB is 2⁶⁴ blocks × 8 bytes = 2⁶⁷ bytes, the value obtained by taking the number needed for a collision as 2ⁿ instead of 2^(n/2).