Table of Contents

Namespace CryptoHives.Foundation.Security.Cryptography.Hash

Classes

AsconHash256

Computes the Ascon-Hash256 for the input data.

AsconHashAlgorithm

Base class for Ascon family hash algorithms, providing common sponge construction logic.

AsconXof128

Computes the Ascon-XOF128 (Extendable Output Function) for the input data.

Blake2b

Computes the BLAKE2b hash for the input data.

Blake2s

Computes the BLAKE2s hash for the input data.

Blake3

Computes the BLAKE3 hash for the input data.

CShake128

Computes a customizable SHAKE128 (cSHAKE128) output.

CShake256

Computes a customizable SHAKE256 (cSHAKE256) output.

HashAlgorithm

Base class for the CryptoHives hash algorithm implementations.

IncrementalParallelHash

Provides incremental ParallelHash computation.

KT128

Computes a variable-length hash using KT128 (KangarooTwelve) per RFC 9861.

KT256

Computes a variable-length hash using KT256 per RFC 9861.

Keccak256

Computes the Keccak-256 hash for the input data.

Keccak384

Computes the Keccak-384 hash for the input data.

Keccak512

Computes the Keccak-512 hash for the input data.

KeccakCore

All algorithms based on the Keccak permutation should derive from this class. Provides the derived implementations with the core Keccak-f[1600] permutation, state variables and a buffer for the rate bytes.

KeccakHashCore

Base class for fixed-length Keccak-based hash algorithms (SHA3, Keccak).

KeccakXofCore

Base class for Keccak-based extendable-output functions (XOF) with variable-length output.

Kupyna

Computes the Kupyna (DSTU 7564:2014) hash for the input data.

Lsh256

Computes the LSH-256 hash for the input data.

Lsh512

Computes the LSH-512 hash for the input data.

MD5

Computes the MD5 hash for the input data.

ParallelHash

Computes a variable-length output using ParallelHash (NIST SP 800-185).

Ripemd160

Computes the RIPEMD-160 hash for the input data.

SHA1

Computes the SHA-1 hash for the input data.

SHA224

Computes the SHA-224 hash for the input data.

SHA256

Computes the SHA-256 hash for the input data.

SHA384

Computes the SHA-384 hash for the input data.

SHA3_224

Computes the SHA3-224 hash for the input data.

SHA3_256

Computes the SHA3-256 hash for the input data.

SHA3_384

Computes the SHA3-384 hash for the input data.

SHA3_512

Computes the SHA3-512 hash for the input data.

SHA512

Computes the SHA-512 hash for the input data.

SHA512_224

Computes the SHA-512/224 hash for the input data.

SHA512_256

Computes the SHA-512/256 hash for the input data.

SM3

Computes the SM3 hash for the input data.

Sha2HashAlgorithm<T>

Base class for SHA-2 family hash algorithms, providing common buffering and padding logic.

Shake128

Computes a variable-length output using SHAKE128 (XOF).

Shake256

Computes a variable-length output using SHAKE256 (XOF).

Streebog

Computes the Streebog (GOST R 34.11-2012) hash for the input data.

TurboShake128

Computes a variable-length output using TurboSHAKE128 (XOF) per RFC 9861.

TurboShake256

Computes a variable-length output using TurboSHAKE256 (XOF) per RFC 9861.

Whirlpool

Computes the Whirlpool hash for the input data.

Interfaces

IExtendableOutput

Defines support for extendable-output function (XOF) mode, allowing variable-length output from a hash algorithm.

Enums

Blake3Mode

Specifies the mode of operation for BLAKE3.

IncrementalParallelHash.ShakeType

The SHAKE type used for the hash computation.