5.1. PBKDF1
5.1. PBKDF1
PBKDF1 wendet eine Hash-Funktion an, die MD2 [RFC1319], MD5 [RFC1321] oder SHA-1 [NIST180] sein MUSS, um Schlüssel abzuleiten. Die Länge des abgeleiteten Schlüssels ist durch die Länge der Ausgabe der Hash-Funktion begrenzt, die 16 Oktette für MD2 und MD5 und 20 Oktette für SHA-1 beträgt. PBKDF1 ist kompatibel mit dem Schlüsselableitungsprozess in PKCS #5 v1.5 [PKCS5_15].
PBKDF1 wird nur zur Kompatibilität mit bestehenden Anwendungen empfohlen, da die von ihr erzeugten Schlüssel für einige Anwendungen möglicherweise nicht groß genug sind.
PBKDF1 (P, S, c, dkLen)
Options (Optionen): Hash - underlying hash function (zugrunde liegende Hash-Funktion)
Input (Eingabe):
P- password (Passwort), eine OktettzeichenketteS- salt, eine Oktettzeichenkettec- iteration count (Iterationszähler), eine positive ganze ZahldkLen- intended length in octets of derived key (beabsichtigte Länge in Oktetten des abgeleiteten Schlüssels), eine positive ganze Zahl, höchstens 16 für MD2 oder MD5 und 20 für SHA-1
Output (Ausgabe): DK - derived key (abgeleiteter Schlüssel), eine dkLen-Oktett-Zeichenkette
Steps (Schritte):
-
Wenn dkLen > 16 für MD2 und MD5, oder dkLen > 20 für SHA-1, geben Sie "derived key too long" (abgeleiteter Schlüssel zu lang) aus und stoppen Sie.
-
Wenden Sie die zugrunde liegende Hash-Funktion
Hashfür c Iterationen auf die Verkettung des Passworts P und des Salts S an, und extrahieren Sie dann die ersten dkLen Oktette, um einen abgeleiteten Schlüssel DK zu erzeugen:
T_1 = Hash (P || S) ,
T_2 = Hash (T_1) ,
...
T_c = Hash (T_{c-1}) ,
DK = T_c<0..dkLen-1>
- Geben Sie den abgeleiteten Schlüssel DK aus.