====== 5. API Reference ====== Complete API documentation for WvdS.System.Security.Cryptography. ---- ===== Overview ===== The **WvdS.System.Security.Cryptography** library extends ''System.Security.Cryptography''((Microsoft .NET Cryptography: https://learn.microsoft.com/dotnet/api/system.security.cryptography)) from Microsoft with post-quantum cryptography based on OpenSSL 3.6((OpenSSL 3.6: https://www.openssl.org/)). **Target Framework:** .NET 8.0+\\ **Platforms:** Windows, Linux, macOS, Blazor WebAssembly ---- ===== Core Types ===== ^ Type ^ Description ^ | [[.:cryptomode|CryptoMode]] | Enum: Classic, Hybrid, PostQuantum | | [[.:cryptoconfig|CryptoConfig]] | Global configuration | ---- ===== Namespaces ===== ^ Namespace ^ Description ^ | [[.:providers:start|WvdS.System.Security.Cryptography.Providers]] | Crypto providers (Native, WASM) | | [[.:x509certificates:start|WvdS.System.Security.Cryptography.X509Certificates]] | Certificate extensions | | [[.:signatures|WvdS.System.Security.Cryptography.Signatures]] | Signature extensions | | [[.:keyexchange|WvdS.System.Security.Cryptography.KeyExchange]] | Key exchange (ML-KEM) | | [[.:encryption|WvdS.System.Security.Cryptography.Encryption]] | Encryption | | [[.:keyderivation|WvdS.System.Security.Cryptography.KeyDerivation]] | Key derivation | ---- ===== Algorithms ===== ==== ML-DSA (Signatures) ==== NIST FIPS 204((NIST FIPS 204: https://csrc.nist.gov/pubs/fips/204/final)) standardized digital signatures. ^ Variant ^ OID ^ Security Level ^ | ML-DSA-44 | 2.16.840.1.101.3.4.3.16 | NIST Level 1 | | ML-DSA-65 | 2.16.840.1.101.3.4.3.17 | NIST Level 3 | | ML-DSA-87 | 2.16.840.1.101.3.4.3.18 | NIST Level 5 | ==== ML-KEM (Key Exchange) ==== NIST FIPS 203((NIST FIPS 203: https://csrc.nist.gov/pubs/fips/203/final)) standardized key encapsulation. ^ Variant ^ OID ^ Security Level ^ | ML-KEM-512 | 2.16.840.1.101.3.4.4.1 | NIST Level 1 | | ML-KEM-768 | 2.16.840.1.101.3.4.4.2 | NIST Level 3 | | ML-KEM-1024 | 2.16.840.1.101.3.4.4.3 | NIST Level 5 | ---- ===== Quick Start ===== using WvdS.System.Security.Cryptography; // Enable PQ mode CryptoConfig.DefaultMode = CryptoMode.Hybrid; // Existing code automatically works with PQ var cert = request.CreateSelfSigned(notBefore, notAfter); ---- ===== See Also ===== * [[.:en:int:pqcrypt:start|PQ-Crypto Overview]] * [[https://learn.microsoft.com/dotnet/api/system.security.cryptography|System.Security.Cryptography (Microsoft)]] {{tag>api reference namespace}} ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//