Updated to support 128 or 256 bit AES.