hmac
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| hmac [2023/09/27 08:15] – tekst katarina | hmac [2025/12/01 11:40] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====HMAC==== | ====HMAC==== | ||
| - | **HMAC (Hash-based Message Authentication Code)** je posebni tip [[[mac|MAC-a]] | + | **HMAC (Hash-based Message Authentication Code)** je posebni tip [[[mac|MAC-a]]. |
| - | HMAC ne enkriptira poruku, nego se poruka | + | Klijent i poslužitelj dobiju svoj jedinstveni tajni ključ za komunikaciju. Kad šalje |
| - | Da bi sigurnost HMAC-a bila maksimizirana, bitno je koristiti jake, odnosno dovoljno duge i unikatne, tajne ključeve i sigurne | + | |
| + | Prije ubacivanja u hash funkciju, treba izračunati MAC koji je uvijek fiksne veličine (//S// bitova). Veličinu bloka teksta poruke označavat ćemo s //b//. Također, postoje dva predefinirana niza bitova koji se koriste u daljnjem objašnjenju, | ||
| + | |||
| + | - S //lijeve// strane tajnog ključa //K// dodajemo nule dok mu veličina ne naraste do //b//. Taj nadopunjeni ključ označavat ćemo s //K+//. | ||
| + | - //K+// xor-amo s //ipad// i dobivamo blok //S1// koji je također veličine //b//. | ||
| + | - Dodajemo //S1// s lijeve strane poruke //P//. | ||
| + | - Nad rezultatom koraka **3** primijenimo funkciju sažetka; istovremeno primijenimo i inicijalizacijski vektor da bismo osigurali fiksnu veličinu sažetka //n//. | ||
| + | - //K+// xor-amo s nizom bitova //opad// da bismo dobili blok //S2//. | ||
| + | - //S2// dodajemo na kraj sažetka koraka **4**. | ||
| + | - Sve to zajedno ubacimo još jednom u funkciju sažetka. | ||
| + | |||
| + | Cijeli postupak prikazan je na sljedećoj slici: | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | |||
| + | 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 | ||
| + | |||
| + | |||
| + | Dodatna prednost HMAC-a | ||
| + | Neki algoritam hashiranja ranjiv je na njih uglavnom zato što funkcija sažetka koristi Merkle-Damgård konstrukciju. Naime, pri korištenju | ||
| + | Ipak, HMAC neće biti ranjiv čak ni ako njegova funkcija sažetka koristi Merkle-Damgård konstrukciju. Razlog tomu je što on pri generiranju MAC-a ubacuje poruku i tajni ključ u hash funkciju, | ||
| + | ===Izvori=== | ||
| + | [1] Christof Paar, Jan Pelzl, Understanding Cryptography, | ||
| + | [2] Henk C. A. Tilborg, Encyclopedia of Cryptography and Security, Springer-Verlag US, 2005. \\ | ||
| + | [3] https:// | ||
| + | [4] https:// | ||
| + | [5] https:// | ||
hmac.1695802543.txt.gz · Last modified: 2025/12/01 11:40 (external edit)