Class Keccak512
- Namespace
- CryptoHives.Foundation.Security.Cryptography.Hash
- Assembly
- CryptoHives.Foundation.Security.Cryptography.dll
Computes the Keccak-512 hash for the input data.
public sealed class Keccak512 : KeccakHashCore, ICryptoTransform, IDisposable, IResettable
- Inheritance
-
Keccak512
- Implements
- Inherited Members
Remarks
This is the original Keccak-512 algorithm, which differs from SHA3-512 in the domain separator byte (0x01 vs 0x06).
Keccak-512 produces a 512-bit (64-byte) hash value.
Constructors
Keccak512()
Initializes a new instance of the Keccak512 class.
public Keccak512()
Fields
HashSizeBits
The hash size in bits.
public const int HashSizeBits = 512
Field Value
HashSizeBytes
The hash size in bytes.
public const int HashSizeBytes = 64
Field Value
RateBytes
The rate in bytes (576 bits for Keccak-512).
public const int RateBytes = 72
Field Value
Properties
AlgorithmName
Gets the name of the hash algorithm.
public override string AlgorithmName { get; }
Property Value
BlockSize
Gets the block size in bytes used by the hash algorithm.
public override int BlockSize { get; }
Property Value
Methods
Create()
Creates a new instance of the Keccak512 class.
public static Keccak512 Create()
Returns
- Keccak512
A new Keccak-512 hash algorithm instance.
HashData(in ReadOnlySequence<byte>)
Computes the Keccak-512 hash of source and returns it as a new byte array.
public static byte[] HashData(in ReadOnlySequence<byte> source)
Parameters
sourceReadOnlySequence<byte>The (possibly multi-segment) input sequence to hash.
Returns
- byte[]
A new byte array containing the Keccak-512 hash.
HashData(ReadOnlySpan<byte>)
Computes the Keccak-512 hash of source and returns it as a new byte array.
public static byte[] HashData(ReadOnlySpan<byte> source)
Parameters
sourceReadOnlySpan<byte>The input data to hash.
Returns
- byte[]
A new byte array containing the Keccak-512 hash.
TryHashData(in ReadOnlySequence<byte>, Span<byte>, out int)
Computes the Keccak-512 hash of source and writes it into destination.
public static bool TryHashData(in ReadOnlySequence<byte> source, Span<byte> destination, out int bytesWritten)
Parameters
sourceReadOnlySequence<byte>The (possibly multi-segment) input sequence to hash.
destinationSpan<byte>The buffer to receive the hash value. Must be at least HashSizeBytes bytes.
bytesWrittenintWhen this method returns, the number of bytes written into
destination.
Returns
TryHashData(ReadOnlySpan<byte>, Span<byte>, out int)
Computes the Keccak-512 hash of source and writes it into destination.
public static bool TryHashData(ReadOnlySpan<byte> source, Span<byte> destination, out int bytesWritten)
Parameters
sourceReadOnlySpan<byte>The input data to hash.
destinationSpan<byte>The buffer to receive the hash value. Must be at least HashSizeBytes bytes.
bytesWrittenintWhen this method returns, the number of bytes written into
destination.