Encryption Namespace

Namespace: WvdS.System.Security.Cryptography.Encryption

Enthält Klassen für symmetrische Verschlüsselung mit PQ-Schlüsselableitung.


Klassen

Klasse Beschreibung
SymmetricEncryptionExtensions AES-GCM Verschlüsselung mit PQ-Keys
HybridEncryptedData Container für hybrid-verschlüsselte Daten
PqCrypto Convenience-API für PQ-Verschlüsselung

Verschlüsselungsmodi

Modus Klassisch ML-KEM Verwendung
Classic RSA-OAEP / ECDH - Standard .NET Verhalten
Hybrid RSA-OAEP / ECDH Maximale Sicherheit
PostQuantum - Rein post-quantum

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);

Hauptmethoden

SymmetricEncryptionExtensions

Methode Beschreibung
EncryptWithPqKey AES-GCM mit PQ-abgeleitetem Schlüssel
DecryptWithPqKey Entschlüsselung mit PQ-Key
EncryptHybrid RSA-OAEP + ML-KEM hybrid
DecryptHybrid Hybrid-Entschlüsselung
EncryptEcdhPq ECDH + ML-KEM hybrid
DecryptEcdhPq ECDH+ML-KEM Entschlüsselung
EncryptAesGcm Standard AES-256-GCM
DecryptAesGcm AES-GCM Entschlüsselung
EncryptStream Stream-basierte Verschlüsselung
DecryptStream Stream-basierte Entschlüsselung

PqCrypto

Methode Beschreibung
GenerateKeyPair ML-KEM Schlüsselpaar generieren
Encrypt PQ-Verschlüsselung
Decrypt PQ-Entschlüsselung

Sicherheitshinweis

Key-Kombinierung im Hybrid-Modus:

Combined Key = HKDF-SHA256(
    ikm = classicSecret || pqSecret,
    info = "WvdS-Hybrid-Key"
)

Selbst wenn ein Angreifer das klassische Secret kompromittiert, bleibt die Verschlüsselung durch das PQ-Secret geschützt (und umgekehrt).


Siehe auch


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: den 29.01.2026 um 15:12