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

Zuletzt geändert: il 30/01/2026 alle 00:13