Scenariji: 3
FFI funkcije: ~25
Status: Načrtovano
Ta kategorija zajema vse scenarije za post-kvantno varno šifriranje. Hibridno šifriranje z ML-KEM, enkapsulacija ključev in simetrično šifriranje.
| ID | Scenarij | Opis | Kompleksnost | Status |
|---|---|---|---|---|
| 7.1 | Hibridno šifriranje | ECDH + ML-KEM kombinirano | Visoka | Načrtovano |
| 7.2 | Enkapsulacija ključev | ML-KEM za izmenjavo ključev | Srednja | Načrtovano |
| 7.3 | Šifriranje datotek | Šifriranje velikih datotek | Srednja | Načrtovano |
| Komponenta | Algoritem | Varnostni nivo | Standard |
|---|---|---|---|
| Enkapsulacija ključa (PQ) | ML-KEM-768 | 192 bitov | NIST FIPS 203 |
| Izmenjava ključev (klasično) | ECDH P-384 | 192 bitov | NIST SP 800-56A |
| Izpeljava ključa | HKDF-SHA384 | - | RFC 5869 |
| Simetrično šifriranje | AES-256-GCM | 256 bitov | NIST SP 800-38D |
Hibridno načelo: Oba algoritma (ECDH + ML-KEM) morata biti zlomljena, da bi bilo šifriranje ogroženo.
| Aplikacija | Priporočen način | Utemeljitev |
|---|---|---|
| Dolgoročna arhivacija | ML-KEM (samo PQ) | Podatki morajo ostati varni 20+ let |
| Trenutna komunikacija | Hibridno | Združljivost + priprava na prihodnost |
| Podedovani sistemi | ECDH (klasično) | Brez PQ podpore |
using WvdS.Security.Cryptography.Extensions.PQ; // Prejemnik: Generiranje para ključev using var recipientKey = ctx.GenerateHybridKeyPair( classicAlgorithm: EcdhCurve.P384, pqAlgorithm: PqAlgorithm.MlKem768 ); var publicKeyPem = recipientKey.ExportPublicKeyPem(); // Pošiljatelj: Šifriranje var (ciphertext, encapsulatedKey) = ctx.HybridEncrypt( plaintext: Encoding.UTF8.GetBytes("Skrivno sporočilo"), recipientPublicKey: publicKeyPem ); // Prejemnik: Dešifriranje var plaintext = ctx.HybridDecrypt( ciphertext: ciphertext, encapsulatedKey: encapsulatedKey, privateKey: recipientKey );
// Sifriranje velike datoteke (pretočno) await ctx.EncryptFileAsync( inputPath: "dokument.pdf", outputPath: "dokument.pdf.enc", recipientPublicKey: publicKeyPem, mode: CryptoMode.Hybrid ); // Dešifriranje await ctx.DecryptFileAsync( inputPath: "dokument.pdf.enc", outputPath: "dokument-decrypted.pdf", privateKey: recipientKey );
| Kategorija | Povezava |
|---|---|
| 11. Upravljanje ključev | Upravljanje parov ključev |
| 10. TLS/mTLS | Izmenjava ključev v TLS rokovanju |
| 12. Uvoz/Izvoz | Izvoz šifriranih ključev |
« ← 6. Preklic | ↑ Scenariji | 8. Digitalni podpisi → »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional