Message authentication code

En message authentication code (MAC) er en kort stump information der anvendes til at verificere autenticiteten af et stykke digital information. En MAC algoritme tager en hemmelig nøgle samt en mængde digital information af en vilkårlig længde (f.eks. en e-mail eller et dokument), og genererer en MAC kode. Koden både sikrer beskedens integritet og identificerer afsenderen, ved at lade andre (der kender den hemmelige nøgle) detektere ændringer i informationen.

MACa ligner digitale fingeraftryk og hashfunktioner, men adskiller sig fra disse ved at anvende en nøgle. Sikkerhedskravene er også forskellige: For at blive anset for sikker, skal en MAC funktion modstå forfalskning (dvs. at en modstander kan lave falske beskeder med tilhørende MAC) ved valgt klartekst-angreb. Det betyder at en angriber skal være ude af stand til, selv når denne har adgang til et "orakel" der laver MACs med den hemmelige nøgle, at finde to stykker information M og M', som begge giver samme MAC for denne nøgle. Dette er forskelligt fra kravet om modstandsdygtighed mod kollisioner til hashfunktioner: En MAC regnes for sikker selv når en modstander på effektiv vis kan finde kollisioner.

MACs er også forskellige fra digitale signaturer, idet MAC værdier både genereres og verificeres med den samme nøgle. Det betyder at afsenderen og modtageren skal aftale en nøgle inden kommunikationen indledes, på samme måde som ved symmetrisk kryptering. Af samme grund giver MACs ikke uafviselighed som digitale signaturer gør: enhver bruger der kan verificere en MAC kan også generere MACs for anden information.

MAC algoritmer kan konstrueres fra andre kryptografiske grundelementer, som f.eks. hashfunktioner (f.eks. HMAC) eller fra block cipher algoritmer (som OMAC, CBC-MAC and PMAC).


Developed by StudentB