The implementation of a generic CipherAdapter class to
wrap GNU Crypto cipher instances.
This class defines the Service Provider Interface (SPI) for
the Cipher class, which provides the functionality of symmetric-key
block ciphers, such as the AES.
This base class defines all of the abstract methods in CipherSpi,
but does not define the (non-abstract) key wrapping functions that extended
the base cipher SPI, and these methods thus immediately throw an
UnsupportedOperationException.