# Print output for @column tags ?>
Support for encryption includes symmetric, asymmetric, block, and stream ciphers. This package also supports secure streams and sealed objects.
Many of the classes provided in this package are provider-based. The class itself defines a programming interface to which applications may write. The implementations themselves may then be written by independent third-party vendors and plugged in seamlessly as needed. Therefore application developers may take advantage of any number of provider-based implementations without having to add or rewrite code.
| SecretKey | A secret (symmetric) key. | 
| Cipher | This class provides the functionality of a cryptographic cipher for encryption and decryption. | 
| CipherInputStream | A CipherInputStream is composed of an InputStream and a Cipher so that read() methods return data that are read in from the underlying InputStream but have been additionally processed by the Cipher. | 
| CipherOutputStream | A CipherOutputStream is composed of an OutputStream and a Cipher so that write() methods first process the data before writing them out to the underlying OutputStream. | 
| CipherSpi | This class defines the Service Provider Interface (SPI)
 for the Cipherclass. | 
| EncryptedPrivateKeyInfo | This class implements the EncryptedPrivateKeyInfotype
 as defined in PKCS #8. | 
| ExemptionMechanism | This class provides the functionality of an exemption mechanism, examples of which are key recovery, key weakening, and key escrow. | 
| ExemptionMechanismSpi | This class defines the Service Provider Interface (SPI)
 for the ExemptionMechanismclass. | 
| KeyAgreement | This class provides the functionality of a key agreement (or key exchange) protocol. | 
| KeyAgreementSpi | This class defines the Service Provider Interface (SPI)
 for the KeyAgreementclass. | 
| KeyGenerator | This class provides the functionality of a secret (symmetric) key generator. | 
| KeyGeneratorSpi | This class defines the Service Provider Interface (SPI)
 for the KeyGeneratorclass. | 
| Mac | This class provides the functionality of a "Message Authentication Code" (MAC) algorithm. | 
| MacSpi | This class defines the Service Provider Interface (SPI)
 for the Macclass. | 
| NullCipher | The NullCipher class is a class that provides an "identity cipher" -- one that does not transform the plain text. | 
| SealedObject | This class enables a programmer to create an object and protect its confidentiality with a cryptographic algorithm. | 
| SecretKeyFactory | This class represents a factory for secret keys. | 
| SecretKeyFactorySpi | This class defines the Service Provider Interface (SPI)
 for the SecretKeyFactoryclass. | 
| AEADBadTagException | This exception is thrown when a Cipheroperating in
 an AEAD mode (such as GCM/CCM) is unable to verify the supplied
 authentication tag. | 
| BadPaddingException | This exception is thrown when a particular padding mechanism is expected for the input data but the data is not padded properly. | 
| ExemptionMechanismException | This is the generic ExemptionMechanism exception. | 
| IllegalBlockSizeException | This exception is thrown when the length of data provided to a block cipher is incorrect, i.e., does not match the block size of the cipher. | 
| NoSuchPaddingException | This exception is thrown when a particular padding mechanism is requested but is not available in the environment. | 
| ShortBufferException | This exception is thrown when an output buffer provided by the user is too short to hold the operation result. |