Mac (mesaj de cod de autentificare)

MAC (mesaj de cod de autentificare, cod de autentificare mesaj - autenticitatea codului de mesaj) - un mijloc de a asigura o protecție de simulare pentru protocoale de autentificare mesaj cu încredere în fiecare alți participanți - un set special de simboluri, care se adaugă la mesajul și este proiectat pentru a asigura integritatea și originea datelor de autentificare sale.

MAC este utilizat de obicei pentru a asigura integritatea și protecția împotriva falsificării informațiilor transmise.

Pentru a verifica integritatea (dar nu autentificării) posturi de pe partea trimiterea adăugată la valoarea hash a mesajului, pe partea de primire produce, de asemenea, un hash din mesajul primit. Generate pe partea de recepție și hash rezultată sunt comparate, în cazul în care acestea sunt egale, se consideră că mesajul primit a ajuns neschimbat.

Pentru a proteja împotriva falsificării (simularea) a codului de autentificare mesaj este folosit, a lucrat prin utilizarea unui element de secrete (cheie) cunoscut numai expeditorului și destinatarului.

Un mod simplu de a converti funcția hash one-way la codul de autentificare mesaj (MAC) este de a cripta valoarea hash a algoritmului simetric. O astfel de MAC poate fi transformată într-o funcție hash one-way folosind o dezvăluire cheie.

O altă modalitate este de a dezvolta un cod de autentificare mesaj (MAC), folosind un algoritm specializat bazat pe protecția de simulare algoritm de criptare simetrică.

CBC-MAC: Cel mai simplu mod de a crea un cod de autentificare mesaj în funcție de cheie - algoritmul de criptare bloc mesaje în CBC sau CFB moduri. Criptată cod de autentificare este ultimul bloc, codificat în aceste moduri. O potențială problemă cu această metodă de securitate este faptul că receptorul trebuie să cunoască cheia, iar această cheie îi permite să genereze mesaje cu aceeași valoare a codului de autentificare ca și cea a mesajelor trimise, prin urmare, codul de autentificare mesaj bazat pe un cifru simetric nu oferă cunoștințe - expeditorul sau destinatarul mesajului codul de autentificare format. Rezultă că codul de autentificare mesaj bazat pe un cifru simetric nu poate înlocui o semnătură electronică.

Codul de autentificare a datelor în conformitate cu GOST 28147-89

GOST 28147-89 prevede producerea de modul de cod de autentificare mesaj corespunzător. Lungimea codului de autentificare mesaj de la 1 la 32 de biți. procesul de producție este după cum urmează.

T O plaintext este împărțită în blocuri de lungime 64 de biți. Ultimul bloc, dacă este necesar căptușit cu zerouri.

\, \!> Mod cifrată simpla înlocuire GOST 28147-89 aceeași cheie ca mesaj, dar folosind 16 de cicluri în loc de 32. Rezultatul bitului-modulo 2 a adăugat la T O bloc a doua (2) # Xa0;

\, \!> Și, de asemenea criptate. Rezultatul este adăugat la al treilea bloc. și așa mai departe.

I = E k # X2032; (T O (N) # X2295; E k # X2032; (T O (N # X2212; 1) # X2295; E k # X2032; ( # X2026; E k # X2032; (T O (2) # X2295; E k # X2032; (T O (1))) # X2026; )) # Xa0; \ Oplus E'_k (T_O ^ \ oplus E'_k (\, \ ldots \, E'_k (T_O ^ \ oplus E'_k (T_O ^)) \, \ ldots \,))

Primii 32 de biți ai blocului rezultat sunt cod de autentificare mesaj. Caietul de sarcini prevede utilizarea cifrului ca un cod de autentificare mesaj și un număr mai mic de biți așa cum se dorește, dar nu mai mult.

cod de autentificare a datelor este de obicei trecut la sfârșitul mesajului și poate fi calculat fie separat de criptare / decriptare, sau în procesul acestora.