Preenchimento PKCS#7
Um jeito de completar o último bloco para que o tamanho original possa sempre ser recuperado.
Cifras de bloco trabalham com blocos de tamanho fixo, 16 bytes no AES, então uma mensagem cujo tamanho não seja múltiplo exato precisa de preenchimento. O PKCS#7 acrescenta N bytes, cada um com o valor N. Mesmo uma mensagem que já se encaixa perfeitamente recebe um bloco inteiro de preenchimento, para que o receptor sempre leia o último byte e remova a quantidade certa. O formato está descrito na RFC 5652.
A fraqueza é que o preenchimento pode ser adulterado. Se um atacante consegue saber se um texto cifrado decifra para um preenchimento válido, às vezes consegue recuperar o texto claro byte a byte. Essa é a base dos ataques de padding oracle.