Se vuoi un tipo di MAC che è tale che può essere verificato utilizzando una "chiave trasformata" che di per sé non è sufficiente per calcolare altri valori MAC, quindi non si desidera un MAC. Quello che vuoi è un algoritmo di firma digitale . Un modo per descrivere un algoritmo di firma digitale è il seguente: è come un MAC in cui la chiave per generare nuovi valori MAC e la chiave per verificare un valore MAC per quanto riguarda per alcuni dati, sono distinti. Le due chiavi sono collegate matematicamente l'una all'altra (la chiave di verifica funziona per i valori MAC generati con la chiave di generazione corrispondente e nessuna altra), ma non è possibile ricalcolare la chiave di generazione dalla chiave di verifica. La chiave di verifica può quindi essere pubblica , mentre la chiave di generazione viene mantenuta privata .
L'algoritmo di firma più utilizzato è RSA (RSA è in realtà due algoritmi, uno per la crittografia e uno per le firme, sto parlando di quello per le firme, entrambi gli algoritmi condividono la stessa operazione matematica di base, ma sono ancora molto diversi nei dettagli di utilizzo).
HMAC è non un algoritmo di firma digitale (nonostante ciò che i terminologi sciatti occasionalmente fingono ).