Glossary
Schlüsselableitungsfunktion (KDF)
Eine Schlüsselableitungsfunktion macht aus einem Passwort einen kryptografischen Schlüssel durch einen bewusst langsamen Prozess, der jeden Versuch für Angreifer teuer macht.
Eine Schlüsselableitungsfunktion (KDF, Key Derivation Function) leitet aus einem Passwort einen kryptografischen Schlüssel fester Länge ab, typischerweise um Daten zu verschlüsseln oder einen Wert zu erzeugen, der sicher für eine spätere Prüfung gespeichert werden kann. Anders als eine rohe Hash-Funktion ist eine KDF bewusst langsam gebaut: Sie wiederholt ihre interne Berechnung tausend- oder millionenfach oder erzwingt hohen Speicherverbrauch, sodass die einmalige Berechnung für einen legitimen Login unmerklich bleibt, die milliardenfache Berechnung für einen Angriff dagegen nicht.
bcrypt, sha512crypt und Argon2 sind allesamt KDFs für die Passwortspeicherung; PBKDF2 und die Key-Stretching-Schritte innerhalb der RAR5- und 7-Zip-Archivverschlüsselung sind KDFs, die ein Passwort in einen Verschlüsselungsschlüssel umwandeln. Trotz der unterschiedlichen Zwecke ist das Designziel dasselbe — ein Vergleich der wichtigsten KDFs zur Passwortspeicherung steht in Argon2 vs. bcrypt vs. scrypt.
Die Iterationszahl oder der Kostenparameter ist das, was eine KDF von einem schnellen, einstufigen Hash wie MD5 unterscheidet: Es ist die bewusste Designentscheidung, die Brute Force teuer macht statt kostenlos — genau das Argument hinter warum schnelle Hashes gefährlich sind.