0Pricing
Cryptology Academy · Lektion

ML-DSA (FIPS 204) und SLH-DSA (FIPS 205)

Vergleichen Sie gitterbasierte Signaturen von CRYSTALS-Dilithium mit hashbasierten Signaturen von SPHINCS+ und ihre jeweiligen Kompromisse.

ML-DSA (FIPS 204) und SLH-DSA (FIPS 205) ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Ursprung von ML-DSA

ML-DSA (modulgitterbasierter Algorithmus für digitale Signaturen), als FIPS 204 standardisiert, wurde aus CRYSTALS-Dilithium abgeleitet. Dilithium wurde von Ducas, Kiltz, Lepoint, Lyubashevsky, Schwabe, Seiler und Stehle entwickelt und 2017 bei NIST eingereicht. Es verwendet das Framework Fiat-Shamir mit Abbrüchen auf Grundlage von Module-LWE und ergibt ein praktisches Signaturschema mit starken Sicherheitsnachweisen.

Fiat-Shamir mit Abbrüchen

Klassische Fiat-Shamir-Transformationen wandeln interaktive Identifikationsprotokolle in Signaturen um. Bei Gitterschemata verrät eine direkte Anwendung über den Antwortvektor Informationen über den privaten Schlüssel. Die von Lyubashevsky entwickelte Technik mit Abbrüchen fügt Rejection Sampling hinzu: Der Signierer prüft, ob die Antwort Informationen preisgeben würde, und bricht ab, um es erneut zu versuchen, falls dies der Fall ist. Dadurch entsteht ein geringer Mehraufwand beim Signieren, die Technik ist jedoch für die Sicherheit unverzichtbar.

Signaturvorgang von ML-DSA

Für eine Signatur erzeugt ML-DSA einen Maskierungsvektor y aus einer Gleichverteilung, berechnet ein Commitment w = Ay, hasht (Nachricht, w), um ein Challenge-Polynom c zu erhalten, und berechnet die Antwort z = y + cs. Rejection Sampling prüft, ob z Informationen über s preisgibt. Wenn die Prüfung erfolgreich ist, besteht die Signatur aus (c, z) sowie einem Hinweis für eine effiziente Verifikation. Andernfalls wird der Vorgang wiederholt.

ML-DSA-Parametersätze

ML-DSA definiert drei Parametersätze: ML-DSA-44 (NIST-Sicherheitsstufe 2, etwa 128 Bit), ML-DSA-65 (Stufe 3, etwa 192 Bit) und ML-DSA-87 (Stufe 5, etwa 256 Bit). Die Zahlen beziehen sich auf die Modulränge des Schemas. Die Größen der öffentlichen Schlüssel betragen jeweils 1312, 1952 und 2592 Byte. Eine ML-DSA-65-Signatur ist 3293 Byte groß, verglichen mit 64 Byte bei Ed25519 mit 128 Bit Sicherheit.

Kompromiss bei der ML-DSA-Signaturgröße

Der bedeutendste Nachteil von ML-DSA gegenüber ECDSA oder EdDSA ist die Signaturgröße. ML-DSA-65-Signaturen sind 3293 Byte groß, gegenüber 64 Byte bei Ed25519. Bei Protokollen, die viele Signaturen übertragen (TLS-Zertifikatsketten, Code-Signierung), erhöht dies die benötigte Bandbreite. Das Signieren und Verifizieren mit ML-DSA ist jedoch sehr schnell (vergleichbar mit ECDSA oder schneller), sodass der Kompromiss hauptsächlich in den Kommunikationskosten liegt.

Ursprung und Aufbau von SLH-DSA

SLH-DSA (zustandsloser hash-basierter Algorithmus für digitale Signaturen), als FIPS 205 standardisiert, wurde aus SPHINCS+ abgeleitet. Anders als bei Gitterschemata beruht die Sicherheit von SLH-DSA ausschließlich auf der Kollisionsresistenz und Zweitpräbildresistenz der zugrunde liegenden Hashfunktion (SHA-256 oder SHAKE-256). Dadurch ist SLH-DSA äußerst konservativ: Es bleibt auch dann sicher, wenn Gitterannahmen gebrochen werden.

WOTS+-Einmal-Signaturen

SLH-DSA baut auf WOTS+ (Winternitz One-Time Signature) auf, einem Hash-basierten Schema, bei dem der private Schlüssel aus einer Menge zufälliger Zeichenketten besteht und der öffentliche Schlüssel durch wiederholtes Hashen jeder Zeichenkette erzeugt wird. Beim Signieren werden abhängig von den Nachrichtenbits teilweise Hashes berechnet. WOTS+ kann mit einem Schlüsselpaar sicher nur einmal verwendet werden; eine zweimalige Verwendung gibt Informationen preis. SLH-DSA ermöglicht mithilfe von Bäumen mehrfaches Signieren auf Grundlage von WOTS+.

Merkle-Bäume für mehrfaches Signieren

SLH-DSA verwendet einen Hypertree, also einen Baum aus Merkle-Bäumen. Jedes Blatt ist der öffentliche Schlüssel einer WOTS+-Instanz. Die Wurzel ist der öffentliche SLH-DSA-Schlüssel. Eine Signatur besteht aus der WOTS+-Signatur für die Nachricht und dem Authentifizierungspfad vom Blatt zur Wurzel. Die Hypertree-Struktur ermöglicht viele Signaturen mit einem einzigen Schlüsselpaar, indem verschiedene WOTS+-Blätter verwendet werden.

SLH-DSA-Parametersätze

SLH-DSA verfügt über 12 Parametersätze, die Hashfunktion (SHA-256 oder SHAKE-256), Sicherheitsstufe (128s/128f, 192s/192f, 256s/256f) und Optimierung kombinieren (s = kleine Signaturen, f = schnelles Signieren). Die Variante 128f hat 7856 Byte große Signaturen und ermöglicht schnelles Signieren; 128s hat ebenfalls 7856 Byte große Signaturen, ist aber langsamer. Alle Varianten sind deutlich größer als ML-DSA, beruhen jedoch auf der konservativsten möglichen Sicherheitsannahme.

Wann SLH-DSA gegenüber ML-DSA gewählt werden sollte

ML-DSA wird bevorzugt, wenn Leistung und Bandbreite wichtig sind und den Gitterannahmen vertraut wird. SLH-DSA wird für äußerst konservative Bereitstellungen bevorzugt, bei denen nur der Sicherheit der Hashfunktion vertraut wird, oder als Absicherung gegen mögliche künftige Brüche von Gitterannahmen. Zertifizierungsstellen und staatliche Systeme, die selten signieren, aber maximale Sicherheit benötigen, könnten SLH-DSA bevorzugen, während TLS-Server, die häufig signieren, eher ML-DSA verwenden würden.

FN-DSA (FALCON): Eine weitere Gittersignatur

FN-DSA (FIPS 206, auf Grundlage von FALCON) bietet mithilfe von NTRU-Gittern und Gauß-Sampling kleinere Signaturen als ML-DSA (897 Byte bei FALCON-512 und 128 Bit Sicherheit). Allerdings erfordert FALCON eine sorgfältige Implementierung mit konstanter Laufzeit, um Seitenkanalangriffe auf den Gauß-Sampler zu verhindern. FIPS 206 soll nach FIPS 203–205 standardisiert werden und eine leistungsfähige Option für Umgebungen mit begrenzten Ressourcen bieten.

Quiz zu ML-DSA und SLH-DSA

Was ist der wichtigste Sicherheitsvorteil von SLH-DSA gegenüber ML-DSA?

Rückblick auf ML-DSA und SLH-DSA

ML-DSA (FIPS 204) verwendet Fiat-Shamir mit Abbrüchen über Module-LWE und bietet schnelles Signieren mit 3-KB-Signaturen (bei 192 Bit Sicherheit). SLH-DSA (FIPS 205) verwendet hash-basierte Merkle-Bäume (WOTS+) und beruht ausschließlich auf der Sicherheit der Hashfunktion; die Signaturen sind 7–50 KB groß. ML-DSA wird für leistungsabhängige Anwendungen bevorzugt, SLH-DSA für maximale Konservativität. FN-DSA (FALCON, FIPS 206) wird eine Gittersignaturoption mit kleineren Signaturen ergänzen.

Häufig gestellte Fragen

Ist die Lektion „ML-DSA (FIPS 204) und SLH-DSA (FIPS 205)“ kostenlos?

Ja — der vollständige Text von „ML-DSA (FIPS 204) und SLH-DSA (FIPS 205)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „ML-DSA (FIPS 204) und SLH-DSA (FIPS 205)“?

Vergleichen Sie gitterbasierte Signaturen von CRYSTALS-Dilithium mit hashbasierten Signaturen von SPHINCS+ und ihre jeweiligen Kompromisse. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cryptology Academy zu starten?

Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „ML-DSA (FIPS 204) und SLH-DSA (FIPS 205)“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Der NIST-PQC-Wettbewerb: Ablauf und Kriterien
  2. ML-KEM (FIPS 203): CRYSTALS-Kyber standardisiert
  3. ML-DSA (FIPS 204) und SLH-DSA (FIPS 205)
  4. Migration zu Post-Quantum-Standards planen
← Zurück zu Cryptology Academy