====== Namespace WvdS.System.Security.Cryptography.Encryption ======
Contiene classi per la cifratura simmetrica con derivazione chiavi PQ.
----
===== Classi =====
^ Classe ^ Descrizione ^
| [[.:symmetricencryptionextensions|SymmetricEncryptionExtensions]] | Cifratura AES-GCM con chiavi PQ |
| [[.:hybridencrypteddata|HybridEncryptedData]] | Container per dati cifrati in modalita ibrida |
| [[.:pqcrypto|PqCrypto]] | API di convenienza per cifratura PQ |
----
===== Metodi di cifratura =====
^ Metodo ^ Descrizione ^
| EncryptWithPqKey | AES-GCM con chiave derivata PQ |
| EncryptHybrid | RSA-OAEP + ML-KEM ibrido |
| EncryptEcdhPq | ECDH + ML-KEM ibrido |
| EncryptAesGcm | AES-256-GCM standard |
----
===== Formato di cifratura =====
+---------------------------------------------+
| Dati cifrati AES-GCM |
+---------------------------------------------+
| [12 Bytes] Nonce (IV) |
| [n Bytes] Ciphertext |
| [16 Bytes] Authentication Tag |
+---------------------------------------------+
----
===== Esempio =====
using WvdS.System.Security.Cryptography.Encryption;
using WvdS.System.Security.Cryptography.KeyExchange;
// Shared Secret dallo scambio chiavi
byte[] sharedSecret = session.SharedSecret;
// Cifrare
byte[] plaintext = Encoding.UTF8.GetBytes("Messaggio segreto");
byte[] encrypted = SymmetricEncryptionExtensions.EncryptWithPqKey(
plaintext, sharedSecret);
// Decifrare
byte[] decrypted = SymmetricEncryptionExtensions.DecryptWithPqKey(
encrypted, sharedSecret);
----
===== Vedi anche =====
* [[..:keyexchange:start|Namespace KeyExchange]]
* [[..:keyderivation:start|Namespace KeyDerivation]]
* [[..:..:..:start|Panoramica API]]
{{tag>namespace encryption aes-gcm}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//