Work out block count, padded length and the birthday-bound data limit per key for AES, 3DES and stream ciphers.
A block cipher can only process whole blocks, so CBC and ECB pad up to the next boundary — always adding at least one byte. The birthday bound sets a separate limit: after about 2^(n/2) blocks a repeated ciphertext block reveals the XOR of two plaintexts, which is 32 GiB for a 64-bit block and 256 EiB for AES. Sweet32 turned 3DES and Blowfish's 64-bit block into a practical attack on long-lived connections; knowing the block width tells you both your storage inflation and when you must rekey.
Cipher Block Size
blocks = ⌈data ÷ block size⌉; PKCS#7 padding = block size − (data mod block size); birthday-safe blocks per key ≈ 2^(block bits ÷ 2 − 1).
blocks = ⌈data ÷ block size⌉; PKCS#7 padding = block size − (data mod block size); birthday-safe blocks per key ≈ 2^(block bits ÷ 2 − 1). A block cipher can only process whole blocks, so CBC and ECB pad up to the next boundary — always adding at least one byte. The birthday bound sets a separate limit: after about 2^(n/2) blocks a repeated ciphertext block reveals the XOR of two plaintexts, which is 32 GiB for a 64-bit block and 256 EiB for AES.
Sweet32 turned 3DES and Blowfish's 64-bit block into a practical attack on long-lived connections; knowing the block width tells you both your storage inflation and when you must rekey.
This calculator takes 2 inputs: Cipher, Data to encrypt. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
Its 64-bit block hits the birthday bound after roughly 32 GiB on one key, and Sweet32 showed an attacker who can force a long-lived connection to send that much can recover a repeated secret such as a session cookie.