Ukuran blok AES adalah 16 byte, jadi Anda memerlukan
- ukuran masukan Anda, dibulatkan ke kelipatan terdekat dari 16
- plus, jika input sudah kelipatan 16, satu ukuran blok untuk padding PKCS#5
- ditambah 16 byte untuk IV
Perhatikan bahwa ini tidak selalu berlaku untuk mode sandi lainnya.
Jadi untuk 20 byte input, Anda memerlukan total 48 byte. Namun , Anda juga mengkodekan hasil base64, yang membutuhkan setidaknya 33% lebih banyak ruang (yaitu Anda harus menyimpan byte mentah jika Anda peduli dengan ruang).
Anda harus selalu menggabungkan sebelum penyandian, jika tidak, Anda sering membuang-buang ruang dengan beberapa urutan byte padding. Jika input Anda panjangnya 20 byte, encoding ciphertext 32 byte dengan sendirinya menghasilkan 44 byte, dan encoding IV menghasilkan 24 byte (keduanya membutuhkan padding). Penggabungan sebelum encoding hanya menghasilkan 64 byte.
Penggabungan sebelum penyandian juga tidak memerlukan pembatas, karena panjang IV diketahui.
1 Cipher AEAD, seperti GCM, umumnya lebih disukai daripada CBC, tetapi jelas membutuhkan lebih banyak ruang untuk menyimpan hash otentikasi.