Support for diffent ciphers and modes
support for encodeing the output