====== WvdS.System.Security.Cryptography.Encryption Namespace ======
Enthält Klassen für symmetrische Verschlüsselung mit PQ-Schlüsselableitung.
----
===== Klassen =====
^ Klasse ^ Beschreibung ^
| [[.:symmetricencryptionextensions|SymmetricEncryptionExtensions]] | AES-GCM Verschlüsselung mit PQ-Keys |
| [[.:hybridencrypteddata|HybridEncryptedData]] | Container für hybrid-verschlüsselte Daten |
| [[.:pqcrypto|PqCrypto]] | Convenience-API für PQ-Verschlüsselung |
----
===== Verschlüsselungsmethoden =====
^ Methode ^ Beschreibung ^
| EncryptWithPqKey | AES-GCM mit PQ-abgeleitetem Schlüssel |
| EncryptHybrid | RSA-OAEP + ML-KEM hybrid |
| EncryptEcdhPq | ECDH + ML-KEM hybrid |
| EncryptAesGcm | Standard AES-256-GCM |
----
===== Verschlüsselungsformat =====
┌─────────────────────────────────────────┐
│ AES-GCM Verschlüsselte Daten │
├─────────────────────────────────────────┤
│ [12 Bytes] Nonce (IV) │
│ [n Bytes] Ciphertext │
│ [16 Bytes] Authentication Tag │
└─────────────────────────────────────────┘
----
===== Beispiel =====
using WvdS.System.Security.Cryptography.Encryption;
using WvdS.System.Security.Cryptography.KeyExchange;
// Shared Secret aus Key Exchange
byte[] sharedSecret = session.SharedSecret;
// Verschlüsseln
byte[] plaintext = Encoding.UTF8.GetBytes("Geheime Nachricht");
byte[] encrypted = SymmetricEncryptionExtensions.EncryptWithPqKey(
plaintext, sharedSecret);
// Entschlüsseln
byte[] decrypted = SymmetricEncryptionExtensions.DecryptWithPqKey(
encrypted, sharedSecret);
----
===== Siehe auch =====
* [[..:keyexchange:start|KeyExchange Namespace]]
* [[..:keyderivation:start|KeyDerivation Namespace]]
* [[de:int:pqcrypt:api:start|API-Übersicht]]
{{tag>namespace encryption aes-gcm}}
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//