The attribute plugin is not available, 2fa disabled
Inhaltsverzeichnis
ICryptoProvider Interface
Defines the interface for post-quantum crypto backends.
Definition
namespace WvdS.System.Security.Cryptography.Providers public interface ICryptoProvider
Properties
| Name | Type | Description |
|---|---|---|
| Name | string | Name of the provider (e.g., „Native (P/Invoke)“) |
| IsAvailable | bool | True if provider is initialized and available |
Methods
Initialization
| Name | Description |
|---|---|
| InitializeAsync() | Initializes the provider asynchronously |
| GetOpenSslVersion() | Returns the OpenSSL version |
ML-DSA (Signatures)
| Name | Description |
|---|---|
| GenerateMlDsaKeyPairAsync(string) | Generates ML-DSA key pair |
| SignMlDsaAsync(byte[], byte[]) | Signs data with ML-DSA |
| VerifyMlDsaAsync(byte[], byte[], byte[]) | Verifies ML-DSA signature |
ML-KEM (Key Exchange)
| Name | Description |
|---|---|
| GenerateMlKemKeyPairAsync(string) | Generates ML-KEM key pair |
| EncapsulateAsync(byte[]) | Encapsulates shared secret |
| DecapsulateAsync(byte[], byte[]) | Extracts shared secret |
Certificates
| Name | Description |
|---|---|
| CreateEphemeralCertificateAsync(string, TimeSpan, byte[]) | Creates ephemeral PQ certificate |
| SignCertificateAsync(byte[], byte[]) | Signs TBS certificate with ML-DSA |
Remarks
Use CryptoProviderFactory.GetProvider() instead of direct instantiation.
Implementations
- NativeCryptoProvider - Desktop/Server
- WasmCryptoProvider - Blazor WebAssembly
See Also
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: on 2026/01/29 at 11:16 PM