# Package org.bouncycastle.crypto.engines

Basic cipher classes.

- Class Summary
  Class | Description
  --- | ---
  AESEngine | an implementation of the AES (Rijndael), from FIPS-197.
  AESFastEngine | Deprecated. unfortunately this class is has a few side channel issues.
  AESLightEngine | an implementation of the AES (Rijndael), from FIPS-197.
  AESWrapEngine | an implementation of the AES Key Wrapper from the NIST Key Wrap Specification.
  AESWrapPadEngine |
  ARIAEngine | RFC 5794.
  ARIAWrapEngine | an implementation of the ARIA Key Wrapper from the NIST Key Wrap Specification.
  ARIAWrapPadEngine |
  BlowfishEngine | A class that provides Blowfish key encryption operations, such as encoding data and generating keys.
  CamelliaEngine | Camellia - based on RFC 3713.
  CamelliaLightEngine | Camellia - based on RFC 3713, smaller implementation, about half the size of CamelliaEngine.
  CamelliaWrapEngine | An implementation of the Camellia key wrapper based on RFC 3657/RFC 3394.
  CAST5Engine | A class that provides CAST key encryption operations, such as encoding data and generating keys.
  CAST6Engine | A class that provides CAST6 key encryption operations, such as encoding data and generating keys.
  ChaCha7539Engine | Implementation of Daniel J.
  ChaChaEngine | Implementation of Daniel J.
  CramerShoupCiphertext | Class, holding Cramer Shoup ciphertexts (u1, u2, e, v)
  CramerShoupCoreEngine | Essentially the Cramer-Shoup encryption / decryption algorithms according to "A practical public key cryptosystem provably secure against adaptive chosen ciphertext attack."
  CryptoProWrapEngine |
  DESedeEngine | a class that provides a basic DESede (or Triple DES) engine.
  DESedeWrapEngine | Wrap keys according to RFC 3217.
  DESEngine | a class that provides a basic DES engine.
  DSTU7624Engine |
  DSTU7624WrapEngine | Implementation of DSTU7624 KEY WRAP mode
  ElGamalEngine | this does your basic ElGamal algorithm.
  EthereumIESEngine | Support class for constructing integrated encryption ciphers for doing basic message exchanges on top of key agreement ciphers.
  EthereumIESEngine.HandshakeKDFFunction | Basic KDF generator for derived keys and ivs as defined by IEEE P1363a/ISO 18033 This implementation is based on ISO 18033/P1363a.
  GOST28147Engine | implementation of GOST 28147-89
  GOST28147WrapEngine |
  GOST3412_2015Engine | Implementation of GOST 3412 2015 (aka "Kuznyechik") RFC 7801, GOST 3412
  Grain128Engine | Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream cipher, Grain-128.
  Grainv1Engine | Implementation of Martin Hell's, Thomas Johansson's and Willi Meier's stream cipher, Grain v1.
  HC128Engine | HC-128 is a software-efficient stream cipher created by Hongjun Wu.
  HC256Engine | HC-256 is a software-efficient stream cipher created by Hongjun Wu.
  IDEAEngine | A class that provides a basic International Data Encryption Algorithm (IDEA) engine.
  IESEngine | Support class for constructing integrated encryption ciphers for doing basic message exchanges on top of key agreement ciphers.
  ISAACEngine | Implementation of Bob Jenkin's ISAAC (Indirection Shift Accumulate Add and Count).
  NaccacheSternEngine | NaccacheStern Engine.
  NoekeonEngine | A Noekeon engine, using direct-key mode.
  NullEngine | The no-op engine that just copies bytes through, irrespective of whether encrypting and decrypting.
  OldIESEngine | Support class for constructing integrated encryption ciphers for doing basic message exchanges on top of key agreement ciphers.
  RC2Engine | an implementation of RC2 as described in RFC 2268 "A Description of the RC2(r) Encryption Algorithm" R.
  RC2WrapEngine | Wrap keys according to RFC 3217 - RC2 mechanism
  RC4Engine |
  RC532Engine | The specification for RC5 came from the `RC5 Encryption Algorithm` publication in RSA CryptoBytes, Spring of 1995.
  RC564Engine | The specification for RC5 came from the `RC5 Encryption Algorithm` publication in RSA CryptoBytes, Spring of 1995.
  RC6Engine | An RC6 engine.
  RFC3211WrapEngine | an implementation of the RFC 3211 Key Wrap Specification.
  RFC3394WrapEngine | an implementation of the AES Key Wrapper from the NIST Key Wrap Specification as described in RFC 3394.
  RFC5649WrapEngine | An implementation of the AES Key Wrap with Padding specification as described in RFC 5649.
  RijndaelEngine | an implementation of Rijndael, based on the documentation and reference implementation by Paulo Barreto, Vincent Rijmen, for v2.0 August '99.
  RSABlindedEngine | this does your basic RSA algorithm with blinding
  RSABlindingEngine | This does your basic RSA Chaum's blinding and unblinding as outlined in "Handbook of Applied Cryptography", page 475.
  RSAEngine | this does your basic RSA algorithm.
  Salsa20Engine | Implementation of Daniel J.
  SEEDEngine | Implementation of the SEED algorithm as described in RFC 4009
  SEEDWrapEngine | An implementation of the SEED key wrapper based on RFC 4010/RFC 3394.
  SerpentEngine | Serpent is a 128-bit 32-round block cipher with variable key lengths, including 128, 192 and 256 bit keys conjectured to be at least as secure as three-key triple-DES.
  SerpentEngineBase |
  Shacal2Engine | Block cipher Shacal2, designed by Helena Handschuh and David Naccache, based on hash function SHA-256, using SHA-256-Initialization-Values as data and SHA-256-Data as key.
  SkipjackEngine | a class that provides a basic SKIPJACK engine.
  SM2Engine | SM2 public key encryption engine - based on https://tools.ietf.org/html/draft-shen-sm2-ecdsa-02.
  SM4Engine | SM4 Block Cipher - SM4 is a 128 bit block cipher with a 128 bit key.
  TEAEngine | An TEA engine.
  ThreefishEngine | Implementation of the Threefish tweakable large block cipher in 256, 512 and 1024 bit block sizes.
  TnepresEngine | Tnepres is a 128-bit 32-round block cipher with variable key lengths, including 128, 192 and 256 bit keys conjectured to be at least as secure as three-key triple-DES.
  TwofishEngine | A class that provides Twofish encryption operations.
  VMPCEngine |
  VMPCKSA3Engine |
  XSalsa20Engine | Implementation of Daniel J.
  XTEAEngine | An XTEA engine.
  Zuc128CoreEngine | Zuc128Engine implementation.
  Zuc128Engine | Zuc256 implementation.
  Zuc256CoreEngine | Zuc256 implementation.
  Zuc256Engine | Zuc256 implementation.

- Enum Summary
  Enum | Description
  --- | ---
  SM2Engine.Mode |

- Exception Summary
  Exception | Description
  --- | ---
  CramerShoupCoreEngine.CramerShoupCiphertextException | CS exception for wrong cipher-texts