This is an old revision of the document!
HMAC
HMAC (Hash-based Message Authentication Code) je posebni tip MAC-a koji prije slanja poruke primjenjuje kriptografsku funkciju sažetka nad porukom i tajnim ključem. Također ne kriptira poruku, već se samo šalje uz nju. Primatelj primijeni unaprijed dogovorenu funkciju sažetka nad dobivenom porukom i svojim tajnim ključem da dobije očekivani HMAC i uspoređuje ga s dobivenim.
TODO: dodati opis kako se to izračunava HMAC malo detaljnije
HMAC danas koriste mnogi komunikacijski protokoli kao što su HTTPS, SFTP i FTPS. Koristi se i na poveznicama za resetiranje lozinke, verifikaciji email adresa pri stvaranju korisničkog računa i slično. Njegova je prednost što se koristi hash funkcijama koje se brzo računaju. Dakle, može se vrlo brzo s popriličnom sigurnošću provjeriti legitimitet korisničkog zahtjeva, stoga je idealan za internetsku komunikaciju jer ju ne usporava i time ne narušava korisničko iskustvo. Druga prednost je što, isto kao i MAC, funkcija vraća rezultat fiksne duljine. Korisnik može poslati iznimno dugačak zahtjev, ali HMAC ostaje iste veličine pa neće zauzimati puno resursa, što opet doprinosi brzini odgovora.
TODO: dodati kako je za razliku od MAC-a otporan na length-extension napade, čak ako se koriste hash funkcije koje koriste Merkel-Damgard konstrukciju
Izvori
[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.
[3] https://www.geeksforgeeks.org/what-is-hmachash-based-message-authentication-code/