# Package org.bouncycastle.crypto

Base classes for the lightweight API.

See: Description

Interface Summary
Interface | Description
--- | ---
AsymmetricBlockCipher | base interface that a public/private key block cipher needs to conform to.
AsymmetricCipherKeyPairGenerator | interface that a public/private key pair generator should conform to.
BasicAgreement | The basic interface that basic Diffie-Hellman implementations conforms to.
BlockCipher | Block cipher engines are expected to conform to this interface.
CipherParameters | all parameter classes implement this.
DerivationFunction | base interface for general purpose byte derivation functions.
DerivationParameters | Parameters for key/byte stream derivation classes
Digest | interface that a message digest conforms to.
DSA | interface for classes implementing algorithms modeled similar to the Digital Signature Alorithm.
ExtendedDigest |
Mac | The base interface for implementations of message authentication codes (MACs).
Signer | Generic signer interface for hash based and message recovery signers.
SignerWithRecovery | Signer with message recovery.
StreamCipher | the interface stream ciphers conform to.
Wrapper |

Class Summary
Class | Description
--- | ---
AsymmetricCipherKeyPair | a holding class for public/private parameter pairs.
BufferedAsymmetricBlockCipher | a buffer wrapper for an asymmetric block cipher, allowing input to be accumulated in a piecemeal fashion until final processing.
BufferedBlockCipher | A wrapper class that allows block ciphers to be used to process data in a piecemeal fashion.
CipherKeyGenerator | The base class for symmetric, or secret, cipher key generators.
KeyGenerationParameters | The base class for parameters to key generators.
PBEParametersGenerator | super class for all Password Based Encryption (PBE) parameter generator classes.
StreamBlockCipher | a wrapper for block ciphers with a single byte block size, so that they can be treated like stream ciphers.

Exception Summary
Exception | Description
--- | ---
CryptoException | the foundation class for the hard exceptions thrown by the crypto packages.
DataLengthException | this exception is thrown if a buffer that is meant to have output copied into it turns out to be too short, or if we've been given insufficient input.
InvalidCipherTextException | this exception is thrown whenever we find something we don't expect in a message.
MaxBytesExceededException | this exception is thrown whenever a cipher requires a change of key, iv or similar after x amount of bytes enciphered
RuntimeCryptoException | the foundation class for the exceptions thrown by the crypto packages.

## Package org.bouncycastle.crypto Description

Base classes for the lightweight API.