L'autenticazione è legata ad una qualche nozione di identità: un messaggio (criptato o meno) viene detto essere autenticato se può essere garantito in qualche modo che il suo originatore sia una specifica entità. La definizione di tale entità e l'estensione della garanzia dipendono dal contesto.
Ad esempio, quando due persone (tradizionalmente chiamate Alice e Bob) condividono una chiave segreta comune K , possono crittografare i dati con K e anche autenticarli relativamente a < em> K con un MAC : dal punto di vista di Bob, il MAC autentica il messaggio come originario da qualcuno che conosce K ; da ciò, Bob deduce che il messaggio proviene da Alice, perché K è presumibilmente noto solo ad Alice e Bob, e Bob ricorda non ha mai inviato quel messaggio specifico, quindi deve venire da Alice.
Tuttavia, terze parti (Charlie), non conoscendo K , non possono verificare il MAC, e quindi non possono considerare il messaggio come autenticato. Anche se Bob rivela K (ad esempio Charlie è un giudice e Bob fa causa ad Alice per quanto riguarda il contenuto del messaggio che potrebbe essere un elemento contrattuale), Bob non può convincere che il giudice proviene davvero da Alice, poiché anche Bob lo sa < em> K e potrebbe avere prodotto lo stesso messaggio da solo. In poche parole, questo è il motivo per cui le banche sono riluttanti ad autorizzare grandi ordini di borsa dai clienti attraverso un'interfaccia basata sul Web: la banca può ottenere una certa garanzia sull'identità del client connesso (che è l'autenticazione) ma non può trasformare quella garanzia in una prova convincente per una terza parte.
In generale , l'autenticazione è richiesta ogni volta che esiste la crittografia. La crittografia senza autenticazione è valida solo contro gli attaccanti passivi, che spiano la linea ma non modificano mai alcun bit. Questo modello di attacco risulta essere raramente realistico. Combinare correttamente crittografia e autenticazione è non banale . Esistono alcune modalità di crittografia che fanno ciò.
Lo svantaggio principale dell'autenticazione è che tende a implicare un leggero sovraccarico. Se fatto correttamente, stiamo parlando di una dozzina di byte extra per messaggio, e forse un costo CPU del + 20% (che non importa nella maggior parte dei casi).