====== 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//