SP800108HmacCounterKdf Class

Definition

NIST SP 800-108 HMAC CTR Key-Based Key Derivation (KBKDF)

public ref class SP800108HmacCounterKdf sealed : IDisposable
public sealed class SP800108HmacCounterKdf : IDisposable
type SP800108HmacCounterKdf = class
    interface IDisposable
Public NotInheritable Class SP800108HmacCounterKdf
Implements IDisposable
Inheritance
SP800108HmacCounterKdf
Implements

Remarks

This implements NIST SP 800-108 HMAC in counter mode. The implemented KDF assumes the form of PRF (KI, [i]2 || Label || 0x00 || Context || [L]2) where [i]2 and [L]2 are encoded as unsigned 32-bit integers, big endian.

All members of this class are thread safe. If the instance is disposed of while other threads are using the instance, those threads will either receive an ObjectDisposedException or produce a valid derived key.

Constructors

SP800108HmacCounterKdf(Byte[], HashAlgorithmName)

Initializes a new instance of SP800108HmacCounterKdf using a specified key and HMAC algorithm.

SP800108HmacCounterKdf(ReadOnlySpan<Byte>, HashAlgorithmName)

Initializes a new instance of SP800108HmacCounterKdf using a specified key and HMAC algorithm.

Methods

DeriveBytes(Byte[], HashAlgorithmName, Byte[], Byte[], Int32)

Derives a key of a specified length.

DeriveBytes(Byte[], HashAlgorithmName, String, String, Int32)

Derives a key of a specified length.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Derives a key of a specified length.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

Fills a buffer with a derived key.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32)

Derives a key of a specified length.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Byte>)

Fills a buffer with a derived key.

DeriveKey(Byte[], Byte[], Int32)

Derives a key of a specified length.

DeriveKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Derives a key of a specified length.

DeriveKey(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

Fills a buffer with a derived key.

DeriveKey(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32)

Derives a key of a specified length.

DeriveKey(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Byte>)

Fills a buffer with a derived key.

DeriveKey(String, String, Int32)

Derives a key of a specified length.

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to