Overview#Ciphertext stealing (CTS) is a technique for encrypting plaintext using a Block Cipher, without padding the message to a multiple of the block size, so the ciphertext is the same size as the plaintext.
Ciphertext stealing is done by altering processing of the last two blocks of the message. The processing of all but the last two blocks is unchanged, but a portion of the second-last block's ciphertext is "stolen" to pad the last plaintext block. The padded final block is then encrypted as usual.
The final ciphertext, for the last two blocks, consists of the partial penultimate block (with the "stolen" portion omitted) plus the full final block, which are the same size as the original plaintext.