5. Istanziazione (Instantiation)
HMAC può essere istanziato con una qualsiasi funzione di hash crittografica iterativa H. Questa sezione specifica i parametri necessari per un'istanziazione concreta.
Per l'istanziazione devono essere specificati i seguenti valori:
- La funzione di hash H (ad esempio MD5, SHA-1, RIPEMD-160).
- La lunghezza di blocco interna B della funzione di hash (per MD5, SHA-1 e RIPEMD-160, B = 64).
- La lunghezza dell'output di hash L (MD5 ha L = 16, SHA-1 ha L = 20, RIPEMD-160 ha L = 20).
Il calcolo di HMAC segue l'algoritmo definito nella sezione 2, utilizzando la funzione di hash H scelta e i suoi parametri B e L. Quando la funzione di hash sottostante viene modificata, non è necessario modificare la costruzione di HMAC stessa; è sufficiente sostituire i valori di H, B e L.
I candidati attuali per le funzioni di hash disponibili includono SHA-1 [SHA], MD5 [MD5], RIPEMD-128/160 [RIPEMD]. Queste realizzazioni sono indicate rispettivamente come HMAC-SHA1, HMAC-MD5, HMAC-RIPEMD.