Cod de autentificare mesaj - criptografie

codul de autentificare a mesajelor (MAC)

Definiția 1 cod de autentificare mesaj

Să presupunem că fiecare număr $ n \ în \ mathbb N $ (care joacă rolul de stabilitatea parametrilor) sunt mapate la un subset de $ K_n \ ne \ varnothing $ și $ M_n $ de $ \ ^ * $, respectiv numit spațiul de chei și comunicații spațiale în acest $ n $. Apoi, un cod de autentificare mesaj este numit de familie la prețuri accesibile polinomial calculabil funcțiilor $ (f _ \, | \, n \ în \ mathbb N, \, k \ în K_n) $, în cazul în care $ f_ \ colon M_n \ la \ ^ * $ pentru orice $ n \ în \ mathbb N $ și $ k \ în K_n $.

Schema de aplicare a codului de autentificare a mesajelor din definiția 1 poate arăta astfel. Fie $ n $ parametrul de stabilitate. Expeditorul și receptorul mesajelor pre-selectează cheia secretă partajată $ k \ in_ K_n $. Pentru a trimite destinatarului mesajul $ m \ în M_n $ cu autenticitatea, expeditorul calculează $ f_ (m) $ și trimite $ (m, f_ (m)) $ la receptor. Receptorul, care a primit această pereche, calculează și $ f_ (m) $ și consideră că mesajul este autentic dacă valoarea lui $ f_ (m) $ calculată de el coincide cu cea primită. Rețineți că valoarea codului de autentificare a mesajului poate depinde nu numai de $ n $, $ k $ și $ m $, ci și de unele informații suplimentare (de exemplu, numărul de ordine al mesajului $ m $, a se vedea exemplul 3 de mai jos).

Codurile de autentificare a mesajelor sunt concepute în același scop ca protocoalele de semnătură electronică. Cu toate acestea, există diferențe importante între ele. În primul rând, codurile de autentificare a mesajelor aparțin criptografiei cu o cheie secretă și protocoalele de semnătură electronică la criptografia cu chei publice. În special, arbitrajul pentru codurile de autentificare a mesajelor este imposibil, prin urmare acestea sunt adecvate pentru utilizare numai atunci când expeditorul și destinatarul au încredere reciprocă. În al doilea rând, în definiția tradițională, valoarea codului de autentificare a mesajului este calculată de cheia și mesajul este determinist, în timp ce semnătura este, în general, probabilistică. Principalul avantaj al codurilor de autentificare a mesajelor prin protocoalele de semnătură electronică este capacitatea de a obține o eficiență mai mare.

Puterea codurilor de autentificare a mesajelor este determinată în mod natural de o amenințare specifică bazată pe un anumit atac. Cea mai puternică condiție a persistenței este rezistența împotriva contrafacerii existențiale pe baza atacului adaptiv cu alegerea mesajelor. Această rezistență la mesajele cod de autentificare $ (f _ \, | \, n \ în \ mathbb N, \, k \ în K_n) $ înseamnă că pentru orice polinom probabilistă algoritm $ \ mathcal O valoare de $ \ [\ Pr \ stânga ( \ mathcal A ^> (1 ^ n) = (m, f_ (m)), \, m \ text<отлично от запросов алгоритма>\ mathcal A \ right), \] unde $ k \ in_ K_n $ este neglijabil de mică ca funcție de $ n \ in \ mathbb N $.

Propoziția 2 a se vedea de asemenea [1]

Fie $ (f_1, | \ n \ n \ mathbb N, \, k \ în K_n) $ o familie de funcții pseudorandom. în care $ f_ \ colon \ ^ \ to \ ^ $ pentru orice $ n \ in \ mathbb N $ și $ k \ în K_n $. Să presupunem că $ s (n) = \ omega (\ log n) $ pentru $ n \ in \ mathbb N \ setminus \ $. Apoi, această familie de funcții este un cod de autentificare a mesajului care este rezistent la contrafacerea existențială pe baza unui atac adaptiv cu o alegere de mesaje.

Fie $ t $ un parametru polinomial arbitrar. Să presupunem că valorile unui cod de autentificare mesaj este necesar să se calculeze numai pentru $ t (n) în cazul în care mesajele de $ $ n $ - stabilitate parametru. În acest caz, există un cod de autentificare mesaj bine-cunoscut, care este rezistent la sensul teoretic al informației împotriva falsificării existențial pe baza unui atac adaptiv cu o alegere de mesaje. al căror număr nu trebuie să depășească $ t (n) -1 $. Și anume, să $ K_n = (\ ^ n) ^ $, $ M_n = \ ^ n $ si \ [f _)> (i, m) = (i, m \ oplus k_i), \] unde $ k_1, \ puncte, k_, m \ in \ ^ n $, și $ i \ in \ $ - mesaj de numărul de serie $ m $ ($ n \ în \ mathbb n $). Apoi, $ (f _ \, | \, n \ în \ mathbb N, \, k \ în K_n) $ este un cod de autentificare mesaj pentru a satisface rezistența condiție necesară. Acest lucru rezultă din faptul că inamicul, chiar și cu putere de calcul nelimitată, poate realiza pentru codul de autentificare a mesajelor de amenințare specificate pe baza acestui atac doar cu o probabilitate mai mică de 2 $ ^ $.

literatură

Articole similare