.NET Standard 2.0 implementation of the following AES modes that are not included in .NET 6.0 / .NET Framework:
- AES-CTR, as defined by NIST SP 800-38A
- AES-CMAC, as defined by NIST SP 800-38B
- SIV-AES, as defined by RFC 5297
(Note: this is often refered to as AES-SIV, but the original RFC specification uses the name SIV-AES)
The implementation is for AnyCPU, and works on all platforms.
The released binary NuGet packages and the .NET assemblies contained therein:
- use Strong Naming,
- include SourceLink,
- include IntelliSense compatible documentation, and
- are signed and timestamped with Authenticode.
All public classes are in the Dorssel.Security.Cryptography
namespace.
AesCtr
is modeled after .NET'sAes
. So, instead ofAes.Create()
, useAesCtr.Create()
.AesCmac
is modeled after .NET'sHMACSHA256
. So, instead ofnew HMACSHA256(key)
, usenew AesCmac(key)
.AesSiv
is modeled after .NET'sAesGcm
. So, instead ofnew AesGcm(key)
, usenew AesSiv(key)
.