Constructor.
All the set*** methods should be invoked to provide the options required to instantiate a Cipher instance before invoking init()/encrypt()/decrypt()