5.1 PBKDF1
PBKDF1 applique une fonction de hachage, qui DOIT être MD2 [RFC1319], MD5 [RFC1321], ou SHA-1 [NIST180], pour dériver des clés. La longueur de la clé dérivée est limitée par la longueur de la sortie de la fonction de hachage, qui est de 16 octets pour MD2 et MD5 et de 20 octets pour SHA-1. PBKDF1 est compatible avec le processus de dérivation de clé dans PKCS #5 v1.5 [PKCS5_15].
PBKDF1 est recommandée uniquement pour la compatibilité avec les applications existantes car les clés qu'elle produit peuvent ne pas être assez grandes pour certaines applications.
PBKDF1 (P, S, c, dkLen)
Options: Hash fonction de hachage sous-jacente
Input: P mot de passe, une chaîne d'octets S sel, une chaîne d'octets c nombre d'itérations, un entier positif dkLen longueur prévue en octets de la clé dérivée, un entier positif, au plus 16 pour MD2 ou MD5 et 20 pour SHA-1 Output: DK clé dérivée, une chaîne de dkLen octets
Étapes:
-
Si dkLen > 16 pour MD2 et MD5, ou dkLen > 20 pour SHA-1, sortir "clé dérivée trop longue" et s'arrêter.
-
Appliquer la fonction de hachage sous-jacente Hash pour c itérations à la concaténation du mot de passe P et du sel S, puis extraire les premiers dkLen octets pour produire une clé dérivée DK:
T_1 = Hash (P || S) ,
T_2 = Hash (T_1) ,
...
T_c = Hash (T_{c-1}) ,
DK = T_c<0..dkLen-1>
- Sortir la clé dérivée DK.