# Package org.bouncycastle.crypto.digests

Message digest classes.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  EncodableDigest | Encodable digests allow you to download an encoded copy of their internal state.

- Class Summary
  Class | Description
  --- | ---
  AsconCXof128 | Ascon-CXOF128 was introduced in NIST Special Publication (SP) 800-232 Additional details and the specification can be found in: NIST SP 800-232 Ascon-Based Lightweight Cryptography Standards for Constrained Devices.
  AsconDigest | Deprecated use Ascon Hash 256 Digest
  AsconHash256 | Ascon-Hash256 was introduced in NIST Special Publication (SP) 800-232 Additional details and the specification can be found in: NIST SP 800-232 Ascon-Based Lightweight Cryptography Standards for Constrained Devices.
  AsconXof | Deprecated Now superseded - please use AsconXof128
  AsconXof128 | Ascon-XOF128 was introduced in NIST Special Publication (SP) 800-232 Additional details and the specification can be found in: NIST SP 800-232 Ascon-Based Lightweight Cryptography Standards for Constrained Devices.
  Blake2bDigest | Implementation of the cryptographic hash function BLAKE2b.
  Blake2bpDigest |
  Blake2sDigest | Implementation of the cryptographic hash function BLAKE2s.
  Blake2spDigest |
  Blake2xsDigest | Implementation of the eXtendable Output Function (XOF) BLAKE2xs.
  Blake3Digest | Blake3 implementation.
  CSHAKEDigest | Customizable SHAKE function.
  DSTU7564Digest | Reference implementation of national ukrainian standard of hashing transformation DSTU7564.
  GeneralDigest | base implementation of MD4 family style digest as outlined in "Handbook of Applied Cryptography", pages 344 - 347.
  GOST3411_2012_256Digest | implementation of GOST R 34.11-2012 256-bit
  GOST3411_2012_512Digest | implementation of GOST R 34.11-2012 512-bit
  GOST3411_2012Digest | Base class for GOST3411-2012 256-bit and GOST3411-2012 512-bit digests.
  GOST3411Digest | implementation of GOST R 34.11-94
  Haraka256Digest | Haraka-256 v2, https://eprint.iacr.org/2016/098.pdf Haraka256-256 with reference to Python Reference Impl from: https://github.com/kste/haraka
  Haraka512Digest | Haraka-512 v2, https://eprint.iacr.org/2016/098.pdf Haraka512-256 with reference to Python Reference Impl from: https://github.com/kste/haraka
  HarakaBase | Base class for Haraka v2, https://eprint.iacr.org/2016/098.pdf
  ISAPDigest | ISAP Hash v2, https://isap.iaik.tugraz.at/ https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/isap-spec-final.pdf ISAP Hash v2 with reference to C Reference Impl from: https://github.com/isap-lwc/isap-code-package
  ISAPDigest.Friend |
  Kangaroo | Kangaroo.
  Kangaroo.KangarooParameters | Kangaroo Parameters.
  Kangaroo.KangarooParameters.Builder | Parameter Builder.
  Kangaroo.KangarooTwelve | KangarooTwelve.
  Kangaroo.MarsupilamiFourteen | MarsupilamiFourteen.
  KeccakDigest | implementation of Keccak based on following KeccakNISTInterface.c from https://keccak.noekeon.org/ Following the naming conventions used in the C source code to enable easy review of the implementation.
  LongDigest | Base class for SHA-384 and SHA-512.
  MD2Digest | implementation of MD2 as outlined in RFC1319 by B.Kaliski from RSA Laboratories April 1992
  MD4Digest | implementation of MD4 as RFC 1320 by R.
  MD5Digest | implementation of MD5 as outlined in "Handbook of Applied Cryptography", pages 346 - 347.
  NonMemoableDigest | Wrapper removes exposure to the Memoable interface on an ExtendedDigest implementation.
  NullDigest |
  ParallelHash | ParallelHash - a hash designed to support the efficient hashing of very long strings, by taking advantage of the parallelism available in modern processors with an optional XOF mode.
  PhotonBeetleDigest | Photon-Beetle, https://www.isical.ac.in/~lightweight/beetle/ https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/photon-beetle-spec-final.pdf Photon-Beetle with reference to C Reference Impl from: https://github.com/PHOTON-Beetle/Software
  PhotonBeetleDigest.Friend |
  Prehash |
  RIPEMD128Digest | implementation of RIPEMD128
  RIPEMD160Digest | implementation of RIPEMD see, https://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html
  RIPEMD256Digest | implementation of RIPEMD256.
  RIPEMD320Digest | implementation of RIPEMD 320.
  RomulusDigest | Romulus v1.3, based on the current round 3 submission, https://romulusae.github.io/romulus/ Reference C implementation: https://github.com/romulusae/romulus Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/romulus-spec-final.pdf
  RomulusDigest.Friend |
  SHA1Digest | implementation of SHA-1 as outlined in "Handbook of Applied Cryptography", pages 346 - 349.
  SHA224Digest | SHA-224 as described in RFC 3874 block word digest SHA-1 512 32 160 SHA-224 512 32 224 SHA-256 512 32 256 SHA-384 1024 64 384 SHA-512 1024 64 512
  SHA256Digest | FIPS 180-2 implementation of SHA-256.
  SHA384Digest | FIPS 180-2 implementation of SHA-384.
  SHA3Digest | implementation of SHA-3 based on following KeccakNISTInterface.c from https://keccak.noekeon.org/ Following the naming conventions used in the C source code to enable easy review of the implementation.
  SHA512Digest | FIPS 180-2 implementation of SHA-512.
  SHA512tDigest | FIPS 180-4 implementation of SHA-512/t
  SHAKEDigest | implementation of SHAKE based on following KeccakNISTInterface.c from https://keccak.noekeon.org/ Following the naming conventions used in the C source code to enable easy review of the implementation.
  ShortenedDigest | Wrapper class that reduces the output length of a particular digest to only the first n bytes of the digest function.
  SkeinDigest | Implementation of the Skein parameterised hash function in 256, 512 and 1024 bit block sizes, based on the `Threefish` tweakable block cipher.
  SkeinEngine | Implementation of the Skein family of parameterised hash functions in 256, 512 and 1024 bit block sizes, based on the `Threefish` tweakable block cipher.
  SkeinEngine.Parameter |
  SM3Digest | Implementation of Chinese SM3 digest as described at https://tools.ietf.org/html/draft-shen-sm3-hash-01 and at .... ( Chinese PDF ) The specification says "process a bit stream", but this is written to process bytes in blocks of 4, meaning this will process 32-bit word groups.
  SparkleDigest | Sparkle v1.2, based on the current round 3 submission, https://sparkle-lwc.github.io/ Reference C implementation: https://github.com/cryptolu/sparkle Specification: https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/sparkle-spec-final.pdf
  SparkleDigest.Friend |
  TigerDigest | implementation of Tiger based on: https://www.cs.technion.ac.il/~biham/Reports/Tiger
  TupleHash | TupleHash - a hash designed to simply hash a tuple of input strings, any or all of which may be empty strings, in an unambiguous way with an optional XOF mode.
  WhirlpoolDigest | Implementation of WhirlpoolDigest, based on Java source published by Barreto and Rijmen.
  XofUtils |
  XoodyakDigest | Xoodyak v1, https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/xoodyak-spec-final.pdf Xoodyak with reference to C Reference Impl from: https://github.com/XKCP/XKCP
  XoodyakDigest.Friend |

- Enum Summary
  Enum | Description
  --- | ---
  AsconDigest.AsconParameters |
  AsconXof.AsconParameters |
  SparkleDigest.SparkleParameters |

## Package org.bouncycastle.crypto.digests Description

Message digest classes.