====== Imenski prostor Encryption ======
**Imenski prostor:** ''WvdS.System.Security.Cryptography.Encryption''
Vsebuje razrede za simetrično šifriranje z izpeljavo PQ-ključev.
----
===== Razredi =====
^ Razred ^ Opis ^
| SymmetricEncryptionExtensions | Šifriranje AES-GCM s PQ-ključi |
| HybridEncryptedData | Vsebnik za hibridno šifrirane podatke |
| PqCrypto | Priročni API za PQ-šifriranje |
----
===== Načini šifriranja =====
| Način | Klasično | ML-KEM | Uporaba |
| Classic | RSA-OAEP / ECDH | - | Standardno obnašanje .NET |
| Hybrid | RSA-OAEP / ECDH | Da | Največja varnost |
| PostQuantum | - | Da | Čisto post-kvantno |
----
===== Format šifriranja =====
+------------------------------------------+
| Šifrirani podatki AES-GCM |
+------------------------------------------+
| [12 bajtov] Nonce (IV) |
| [n bajtov] Šifrirano besedilo |
| [16 bajtov] Avtentikacijska oznaka |
+------------------------------------------+
----
===== Primer =====
using WvdS.System.Security.Cryptography.Encryption;
using WvdS.System.Security.Cryptography.KeyExchange;
// Skupna skrivnost iz izmenjave ključev
byte[] sharedSecret = session.SharedSecret;
// Šifriranje
byte[] plaintext = Encoding.UTF8.GetBytes("Tajno sporočilo");
byte[] encrypted = SymmetricEncryptionExtensions.EncryptWithPqKey(
plaintext, sharedSecret);
// Dešifriranje
byte[] decrypted = SymmetricEncryptionExtensions.DecryptWithPqKey(
encrypted, sharedSecret);
----
===== Glavne metode =====
==== SymmetricEncryptionExtensions ====
^ Metoda ^ Opis ^
| ''EncryptWithPqKey'' | AES-GCM s PQ-izpeljanim ključem |
| ''DecryptWithPqKey'' | Dešifriranje s PQ-ključem |
| ''EncryptHybrid'' | Hibrid RSA-OAEP + ML-KEM |
| ''DecryptHybrid'' | Hibridno dešifriranje |
| ''EncryptEcdhPq'' | Hibrid ECDH + ML-KEM |
| ''DecryptEcdhPq'' | Dešifriranje ECDH+ML-KEM |
| ''EncryptAesGcm'' | Standardni AES-256-GCM |
| ''DecryptAesGcm'' | Dešifriranje AES-GCM |
| ''EncryptStream'' | Šifriranje na podlagi toka |
| ''DecryptStream'' | Dešifriranje na podlagi toka |
==== PqCrypto ====
^ Metoda ^ Opis ^
| ''GenerateKeyPair'' | Generiranje para ključev ML-KEM |
| ''Encrypt'' | PQ-šifriranje |
| ''Decrypt'' | PQ-dešifriranje |
----
===== Varnostna opomba =====
**Kombiniranje ključev v hibridnem načinu:**
Kombinirani ključ = HKDF-SHA256(
ikm = classicSecret || pqSecret,
info = "WvdS-Hybrid-Key"
)
Tudi če napadalec kompromitira klasično skrivnost, šifriranje ostane zaščiteno s PQ-skrivnostjo (in obratno).
----
===== Glejte tudi =====
* [[.:keyexchange|Imenski prostor KeyExchange]]
* [[.:keyderivation|Imenski prostor KeyDerivation]]
* [[.:start|Pregled API]]
{{tag>namespace encryption aes-gcm ml-kem}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//