This speeds up encryption/decryption considerably, but also
causes complete failure for any non-recoverable char in a message,
since the decompression will fail then.
Also remove the double base64 encode/decode.
It appears that the strcat call was the culprit here and
caused non-linear run-time growth of the encryption algorithm.
Replacing it with memcpy fixed this.