HMAC (Hash-based Message Authentication Code) je posebni tip MAC-a temeljen na kriptografskoj hash funkciji (npr. SHA-2 ili SHA-3) i tajnom kriptografskom ključu. Kao i kod „običnog“ MAC-a, radi se o dodatku poruci koji služi za provjeru autentičnosti i integriteta poruke, odnosno za potvrdu identiteta pošiljatelja i neizmjenjenosti zaprimljene poruke.
HMAC ne enkriptira poruku, nego se poruka šalje uz HMAC sažetak. Korisnici koji posjeduju tajni ključ mogu ponovno hashirati poruku i tako potvrditi autentičnost poruke.
Da bi sigurnost HMAC-a bila maksimizirana, bitno je koristiti jake, odnosno dovoljno duge i unikatne, tajne ključeve i sigurne hash funkcije. Ispravno korišten HMAC otporan je na napade riječnikom (dictionary attacks) te idealan za zaštitu osobnih podataka.
[1] Christof Paar, Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin Heidelberg, 2009.
[2] Henk C. A. Tilborg, Encyclopedia of Cryptography and Security, Springer-Verlag US, 2005.