This is the interface for cipher functions. It provides cipher registering and unregistering routines, encryption and decryption routines.