5. Key Derivation Functions (Schlüsselableitungsfunktionen)
5. Key Derivation Functions (Schlüsselableitungsfunktionen)
Eine Schlüsselableitungsfunktion erzeugt einen abgeleiteten Schlüssel aus einem Basisschlüssel und anderen Parametern. In einer passwortbasierten Schlüsselableitungsfunktion ist der Basisschlüssel ein Passwort, und die anderen Parameter sind ein Salt-Wert und ein Iterationszähler, wie in Abschnitt 3 beschrieben.
Die primäre Anwendung der hier definierten passwortbasierten Schlüsselableitungsfunktionen liegt in den Verschlüsselungsschemata in Abschnitt 6 und dem Nachrichtenauthentifizierungsschema in Abschnitt 7. Andere Anwendungen sind sicherlich möglich, daher die unabhängige Definition dieser Funktionen.
In diesem Abschnitt werden zwei Funktionen spezifiziert: PBKDF1 und PBKDF2. PBKDF2 wird für neue Anwendungen empfohlen; PBKDF1 ist nur zur Kompatibilität mit bestehenden Anwendungen enthalten und wird nicht für neue Anwendungen empfohlen.
Eine typische Anwendung der hier definierten Schlüsselableitungsfunktionen könnte die folgenden Schritte umfassen:
-
Wählen Sie ein Salt S und einen Iterationszähler c, wie in Abschnitt 4 beschrieben.
-
Wählen Sie eine Länge in Oktetten für den abgeleiteten Schlüssel, dkLen.
-
Wenden Sie die Schlüsselableitungsfunktion auf das Passwort, das Salt, den Iterationszähler und die Schlüssellänge an, um einen abgeleiteten Schlüssel zu erzeugen.
-
Geben Sie den abgeleiteten Schlüssel aus.
Eine beliebige Anzahl von Schlüsseln kann von einem Passwort abgeleitet werden, indem das Salt variiert wird, wie in Abschnitt 3 beschrieben.