This is an old revision of the document!
MAC
MAC (Message Authentication Code) je kratak dodatak poruci koji služi za provjeru autentičnosti i integriteta poruke, odnosno za potvrdu identiteta pošiljatelja i da zaprimljena poruka nije izmijenjena. Za razliku od digitalnog potpisa, MAC ne koristi asimetričnu kriptografiju, već isključivo simetričnu i samim time ne pruža svojstvo neporecivosti. Neporecivost je svojstvo koje sprečava pošiljatelja da naknadno poriče slanje poruke koju je poslao.
MAC se sastoji od 3 algoritma:
- Generator ključa G - nasumično i uniformno bira ključ iz prostora
- Algoritam potpisa S - vraća oznaku t za dani ulaz ključa K i poruke M
- Algoritam verifikacije V - vraća „prihvaćeno“ ili „odbačeno“ za danu oznaku t, ključ K i poruku M
Iako MAC sam po sebi ne osigurava svojstvo tajnosti, možemo ga koristiti u kombinaciji sa simetričnim kriptografskim algoritmima kako bismo to svojstvo osigurali. To možemo postići trima načinima primjene kriptiranja: Encrypt-then-MAC (EtM), Encrypt-and-MAC (E&M) i MAC-then-Encrypt (MtE).
Generalno, Encrypt-then-MAC (EtM) se smatra najsigurnijom od tri metode, s obzirom na to da druga dva načina ne pružaju integritet jasnog teksta te otvaraju vrata napadima izmjene teksta (malleability) ili napadima pogađanja (oracle attack).
Da bismo MAC smatrali sigurnim, mora biti otporan na egzistencijalne krivotvorine kod napada odabranim tekstom. Odnosno, ne smije se dogoditi da netko može uspješno dohvatiti MAC za odabrani jasni tekst bez posjedovanja odgovarajućeg ključa.
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] Kriptografija i kriptoanaliza, predavanja, FER