5.1 PBKDF1
5.1 PBKDF1
PBKDF1 applica una funzione hash, che deve essere MD2 [RFC1319], MD5 [RFC1321] o SHA-1 [NIST180], per derivare le chiavi. La lunghezza della chiave derivata è limitata dalla lunghezza dell'output della funzione hash, che è di 16 ottetti per MD2 e MD5 e di 20 ottetti per SHA-1. PBKDF1 è compatibile con il processo di derivazione delle chiavi in PKCS #5 v1.5 [PKCS5_15].
PBKDF1 è raccomandato solo per la compatibilità con le applicazioni esistenti poiché le chiavi che produce potrebbero non essere abbastanza grandi per alcune applicazioni.
PBKDF1 (P, S, c, dkLen)
Opzioni:
Hash- funzione hash sottostante
Input:
P- password, una stringa di ottettiS- salt, una stringa di ottettic- conteggio delle iterazioni, un intero positivodkLen- lunghezza prevista in ottetti della chiave derivata, un intero positivo, al massimo 16 per MD2 o MD5 e 20 per SHA-1
Output:
DK- chiave derivata, una stringa di dkLen ottetti
Passaggi:
-
Se dkLen > 16 per MD2 e MD5, o dkLen > 20 per SHA-1, fornire in output "derived key too long" e fermarsi.
-
Applicare la funzione hash sottostante Hash per c iterazioni alla concatenazione della password P e del salt S, quindi estrarre i primi dkLen ottetti per produrre una chiave derivata DK:
T_1 = Hash (P || S) ,
T_2 = Hash (T_1) ,
...
T_c = Hash (T_{c-1}) ,
DK = T_c<0..dkLen-1> -
Fornire in output la chiave derivata DK.