In crittografia, un HMAC (a volte ampliato come digitato-hash message authentication code o hash-based message authentication code) è un tipo specifico di message authentication code (MAC) che coinvolge una funzione crittografica di hash e, in segreto, la chiave di crittografia. Può essere utilizzato per verificare contemporaneamente l'integrità dei dati e l'autenticità di un messaggio, come con qualsiasi MAC. Qualsiasi funzione crittografica di hash, come SHA-256 e SHA-3, può essere utilizzato nel calcolo di un HMAC; la conseguente MAC algoritmo è definito HMAC-X, dove X è la funzione di hash utilizzato (ad esempio, HMAC-SHA256 o HMAC-SHA3). Il livello di crittografia del HMAC dipende dal livello di crittografia del sottostante funzione di hash, la dimensione del suo hash di uscita, e la dimensione e la qualità della chiave.
HMAC utilizza due passaggi di hash di calcolo. La chiave segreta viene prima utilizzato per ricavare due chiavi – interno ed esterno. Il primo passo dell'algoritmo produce un hash interno derivato dal messaggio e l'interno della chiave. Il secondo passo produce il finale HMAC codice derivato dall'interno risultato hash e la chiave esterna. Quindi l'algoritmo fornisce una migliore immunità contro la lunghezza di estensione attacchi.
Iterativo funzione di hash rompe un messaggio in blocchi di dimensioni fisse e scorre su di loro con una funzione di compressione. Per esempio, SHA-256 opera su blocchi da 512 bits. Le dimensioni dell'output di HMAC è la stessa di quella del sottostante funzione di hash (ad esempio, 256 e 1600 bit nel caso di SHA-256 e SHA-3, rispettivamente), anche se può essere troncato, se desiderato.
HMAC non crittografare il messaggio. Invece, il messaggio (cifrato o non) deve essere inviata al fianco di HMAC hash. Parti con il segreto chiave di hash nuovamente il messaggio in se stessi, e se è autentica, la ricevuta e calcolata hash corrispondono.
La definizione e l'analisi dei HMAC costruzione è stata pubblicata la prima volta nel 1996 in un foglio di carta da Mihir Bellare, Corse Canetti, e Hugo Krawczyk, e hanno anche scritto RFC 2104 nel 1997. Il 1996 la carta, inoltre, definita una variante chiamata NMAC. FIPS PUB 198 generalizza e standardizzare l'uso di Hmac. HMAC è utilizzato all'interno di IPsec e TLS protocolli e per JSON Web Gettoni.
Semplifica la tua vita con una serie di potenti strumenti.
Iscriviti ad un piano Ultimate e beneficia di tutte le funzionalità di Apps66.com