====== 1.1 Algorithmen ====== Post-Quantum-Algorithmen in WvdS.System.Security.Cryptography. ---- ===== ML-DSA (Digitale Signaturen) ===== **Module-Lattice-Based Digital Signature Algorithm** Standardisiert in NIST FIPS 204((NIST FIPS 204: https://csrc.nist.gov/pubs/fips/204/final)). ==== Varianten ==== ^ Algorithmus ^ Sicherheitsniveau ^ Signaturgröße ^ Öffentlicher Schlüssel ^ | ML-DSA-44 | NIST Level 2 (~AES-128) | 2.420 Bytes | 1.312 Bytes | | ML-DSA-65 | NIST Level 3 (~AES-192) | 3.309 Bytes | 1.952 Bytes | | ML-DSA-87 | NIST Level 5 (~AES-256) | 4.627 Bytes | 2.592 Bytes | **Standard:** ML-DSA-65 (ausgewogen zwischen Sicherheit und Größe) ==== Verwendung ==== * Zertifikatssignaturen (X.509) * Dokumentensignaturen (CMS/PKCS#7) * Code Signing * TLS-Handshake ---- ===== ML-KEM (Schlüsselkapselung) ===== **Module-Lattice-Based Key-Encapsulation Mechanism** Standardisiert in NIST FIPS 203((NIST FIPS 203: https://csrc.nist.gov/pubs/fips/203/final)). ==== Varianten ==== ^ Algorithmus ^ Sicherheitsniveau ^ Ciphertext ^ Öffentlicher Schlüssel ^ | ML-KEM-512 | NIST Level 1 (~AES-128) | 768 Bytes | 800 Bytes | | ML-KEM-768 | NIST Level 3 (~AES-192) | 1.088 Bytes | 1.184 Bytes | | ML-KEM-1024 | NIST Level 5 (~AES-256) | 1.568 Bytes | 1.568 Bytes | **Standard:** ML-KEM-768 (ausgewogen) ==== Verwendung ==== * Schlüsselaustausch (statt ECDH) * Hybride Verschlüsselung * TLS-Schlüsselvereinbarung * Ephemere Sitzungsschlüssel ---- ===== Hybride Kombination ===== In Hybrid-Modus werden klassische und PQ-Algorithmen kombiniert: ^ Operation ^ Klassisch ^ Post-Quantum ^ Kombination ^ | Signatur | RSA-4096 / P-384 | ML-DSA-65 | Beide parallel | | Schlüssel | ECDH P-384 | ML-KEM-768 | Secrets kombiniert | | Hash | SHA-384 | SHA-384 | Gemeinsam | **Sicherheitsgarantie:** Das System ist sicher solange **einer** der Algorithmen sicher ist. ---- ===== Symmetrische Algorithmen ===== Für symmetrische Verschlüsselung mit PQ-abgeleiteten Schlüsseln: ^ Algorithmus ^ Schlüsselgröße ^ Nonce ^ Tag ^ .NET Klasse ^ | AES-256-GCM | 256 Bit | 96 Bit | 128 Bit | ''System.Security.Cryptography.AesGcm'' | | ChaCha20-Poly1305 | 256 Bit | 96 Bit | 128 Bit | ''System.Security.Cryptography.ChaCha20Poly1305'' | **Quantensicherheit:** AES-256 und ChaCha20 gelten als quantensicher bei vollem Schlüssel (Grover's Algorithmus halbiert effektive Stärke → 128 Bit bleibt ausreichend). **Hinweis:** Diese Algorithmen sind in .NET 8+ eingebaut. Verwenden Sie die Standard-.NET-Klassen direkt – keine WvdS-Wrapper nötig. ---- ===== Schlüsselableitung ===== ^ Funktion ^ Standard ^ Verwendung ^ | HKDF | RFC 5869((RFC 5869: https://datatracker.ietf.org/doc/html/rfc5869)) | Sitzungsschlüssel aus Shared Secret | | PBKDF2 | RFC 8018((RFC 8018: https://datatracker.ietf.org/doc/html/rfc8018)) | Passwort-basierte Schlüssel | | Argon2id | RFC 9106((RFC 9106: https://datatracker.ietf.org/doc/html/rfc9106)) | Memory-hard (falls verfügbar) | ---- ===== Weiterführend ===== * [[.:sicherheit|Sicherheit]] – Bedrohungsmodell * [[de:int:pqcrypt:api:keyexchange|KeyExchange API]] * [[de:int:pqcrypt:api:signatures|Signatures API]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional// {{tag>algorithmen ml-dsa ml-kem nist fips}}