There is a bug in the Crypt::ECB module that affects the way it processes blocks of data. It appears that Crypt::ECB incorrectly processes the last block of data if it contains a single ASCII "0". This has been tested using the Blowfish, Rijndael, TripleDES, DES, and IDEA algorithms. Below is some proof-of-concept code to demonstrate the problem. The problem is produced where the plain-text data length is one more than ((n % 8) == 0).