Interfaccia ICryptoProvider
Definisce l'interfaccia per i backend crittografici Post-Quantum.
Definizione
namespace WvdS.System.Security.Cryptography.Providers
public interface ICryptoProvider
Proprieta
| Nome | Tipo | Descrizione |
| Name | string | Nome del provider (es. „Native (P/Invoke)“) |
| IsAvailable | bool | True se il provider e inizializzato e disponibile |
Metodi
Inizializzazione
| Nome | Descrizione |
| InitializeAsync() | Inizializza il provider in modo asincrono |
| GetOpenSslVersion() | Restituisce la versione di OpenSSL |
ML-DSA (Firme)
| Nome | Descrizione |
| GenerateMlDsaKeyPairAsync(string) | Genera coppia di chiavi ML-DSA |
| SignMlDsaAsync(byte[], byte[]) | Firma dati con ML-DSA |
| VerifyMlDsaAsync(byte[], byte[], byte[]) | Verifica firma ML-DSA |
ML-KEM (Scambio chiavi)
| Nome | Descrizione |
| GenerateMlKemKeyPairAsync(string) | Genera coppia di chiavi ML-KEM |
| EncapsulateAsync(byte[]) | Incapsula Shared Secret |
| DecapsulateAsync(byte[], byte[]) | Estrae Shared Secret |
Certificati
| Nome | Descrizione |
| CreateEphemeralCertificateAsync(string, TimeSpan, byte[]) | Crea certificato PQ effimero |
| SignCertificateAsync(byte[], byte[]) | Firma certificato TBS con ML-DSA |
Note
Utilizzare CryptoProviderFactory.GetProvider() invece dell'istanziazione diretta.
Implementazioni
Vedi anche
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional