Message authentication code
blocco di dati utilizzato per garantire autenticazione e integrità di un messaggio / Da Wikipedia, l'enciclopedia encyclopedia
Caro Wikiwand AI, Facciamo breve rispondendo semplicemente a queste domande chiave:
Puoi elencare i principali fatti e statistiche su Message authentication code?
Riassumi questo articolo per un bambino di 10 anni
In crittografia un message authentication code (MAC) è un piccolo blocco di dati utilizzato per garantire l'autenticazione e integrità di un messaggio digitale, generato secondo un meccanismo di crittografia simmetrica: un algoritmo MAC accetta in ingresso una chiave segreta e un messaggio da autenticare di lunghezza arbitraria, e restituisce un MAC (alle volte chiamato anche tag). In ricezione il destinatario opererà in maniera identica sul messaggio pervenuto in chiaro ricalcolando il MAC con lo stesso algoritmo e la stessa chiave: se i due MAC coincidono si ha autenticazione e integrità del messaggio inviato.
Il valore MAC protegge dunque sia l'integrità dei dati del messaggio sia la sua autenticità permettendo al destinatario dello stesso (che deve anch'egli possedere la chiave segreta) di rilevare qualsiasi modifica al messaggio: ecco perché dovrebbe essere chiamato Message Authentication and Integrity Code, MAIC.
Come si desume quindi dalla descrizione, l'algoritmo MAC protegge solo da integrità dei dati, autenticità del mittente del messaggio, ma non dalla confidenzialità delle informazioni contenute nello stesso.
Può però essere utilizzato insieme a un algoritmo di crittografia simmetrica che crittografa tutto il messaggio con una chiave
, verrà effettuato quindi il MAC del messaggio
crittografato con
usando la chiave
.
Verrà poi crittografato con un algoritmo di crittografia simmetrica (usando la chiave
) il messaggio
e il suo MAC preparato con chiave
.
Verranno quindi inviati al destinatario: ,
e
Le due chiavi (usata nella crittografia simmetrica) e
(usata nella creazione del MAC) non dovranno però essere uguali.
Gli algoritmi di MAC possono essere realizzati anche partendo da altre primitive crittografiche, come le funzioni crittografiche di hash (vedi l'HMAC) o i cifrari a blocchi (one-key MAC, CBC-MAC e PMAC).