Table of Contents

Namespace Cuemon.Security.Cryptography

Assembly: Cuemon.Security.Cryptography.dll

The Cuemon.Security.Cryptography namespace contains types related to cryptographic hashing (both keyed and non-keyed) and a ready-to-use implementation of the Advanced Encryption Standard (AES) symmetric algorithm. The namespace is an addition to the System.Security.Cryptography namespace.

Availability: .NET 8, .NET 7, .NET 6 and .NET Standard 2.0

Complements: System.Security.Cryptography namespace 🔗

Classes

AesCryptor

Provides an implementation of the Advanced Encryption Standard (AES) symmetric algorithm.

AesCryptorOptions

Configuration options for AesCryptor.

AesKeyOptions

Configuration options for GenerateKey(Action<AesKeyOptions>).

HmacMessageDigest5

Provides a Hash-based Message Authentication Code (HMAC) by using the System.Security.Cryptography.MD5 hash function. This class cannot be inherited. Implements the KeyedCryptoHash<TAlgorithm>

HmacSecureHashAlgorithm1

Provides a Hash-based Message Authentication Code (HMAC) by using the System.Security.Cryptography.SHA1 hash function. This class cannot be inherited. Implements the KeyedCryptoHash<TAlgorithm>

HmacSecureHashAlgorithm256

Provides a Hash-based Message Authentication Code (HMAC) by using the System.Security.Cryptography.SHA256 hash function. This class cannot be inherited. Implements the KeyedCryptoHash<TAlgorithm>

HmacSecureHashAlgorithm384

Provides a Hash-based Message Authentication Code (HMAC) by using the System.Security.Cryptography.SHA384 hash function. This class cannot be inherited. Implements the KeyedCryptoHash<TAlgorithm>

HmacSecureHashAlgorithm512

Provides a Hash-based Message Authentication Code (HMAC) by using the System.Security.Cryptography.SHA512 hash function. This class cannot be inherited. Implements the KeyedCryptoHash<TAlgorithm>

KeyedCryptoHash<TAlgorithm>

Represents the base class from which all implementations of Hash-based Message Authentication Code (HMAC) should derive. Implements the UnkeyedCryptoHash<TAlgorithm>

KeyedHashFactory

Provides access to factory methods for creating and configuring Hash instances based on KeyedCryptoHash<TAlgorithm>.

MessageDigest5

Provides a MD5 implementation of the MD (Message Digest) cryptographic hashing algorithm for 128-bit hash values. This class cannot be inherited. Implements the UnkeyedCryptoHash<TAlgorithm>

SecureHashAlgorithm1

Provides a SHA-1 implementation of the SHA (Secure Hash Algorithm) cryptographic hashing algorithm for 160-bit hash values. This class cannot be inherited. Implements the UnkeyedCryptoHash<TAlgorithm>

SecureHashAlgorithm256

Provides a SHA-256 implementation of the SHA (Secure Hash Algorithm) cryptographic hashing algorithm for 256-bit hash values. This class cannot be inherited. Implements the UnkeyedCryptoHash<TAlgorithm>

SecureHashAlgorithm384

Provides a SHA-384 implementation of the SHA (Secure Hash Algorithm) cryptographic hashing algorithm for 384-bit hash values. This class cannot be inherited. Implements the UnkeyedCryptoHash<TAlgorithm>

SecureHashAlgorithm512

Provides a SHA-512 implementation of the SHA (Secure Hash Algorithm) cryptographic hashing algorithm for 512-bit hash values. This class cannot be inherited. Implements the UnkeyedCryptoHash<TAlgorithm>

UnkeyedCryptoHash<TAlgorithm>

Represents the base class from which all implementations of cryptographic hashing algorithm should derive. Implements the Hash<TOptions>

UnkeyedHashFactory

Provides access to factory methods for creating and configuring Hash instances based on UnkeyedCryptoHash<TAlgorithm>.

Enums

AesSize

Specifies the size of the Advanced Encryption Standard (AES) symmetric algorithm.

KeyedCryptoAlgorithm

Specifies the different implementations for generating hash-based message authentication code values.

UnkeyedCryptoAlgorithm

Specifies the different implementations of a cryptographic hashing algorithm.