Si desea una especie de MAC , que puede verificarse mediante el uso de una "clave transformada" lo que no es suficiente para calcular otros valores de MAC, entonces no desea un MAC. Lo que quieres es un algoritmo de firma digital . Una forma de describir un algoritmo de firma digital es la siguiente: es como un MAC donde la clave para generar nuevos valores MAC, y la clave para verificar un valor MAC con respecto a Para algunos datos, son distintos. Las dos claves están vinculadas matemáticamente entre sí (la clave de verificación funciona para los valores MAC que se generaban con la clave de generación correspondiente, y ninguna otra), pero no es posible volver a calcular la clave de generación a partir de la clave de verificación. Por lo tanto, la clave de verificación se puede hacer pública , mientras que la clave de generación se mantiene privada .
El algoritmo de firma más utilizado es RSA (RSA es en realidad dos algoritmos, uno para cifrado y otro para firmas; me refiero al de firmas; ambos algoritmos comparten la misma operación matemática básica, pero aún son muy diferentes en sus detalles de uso).
HMAC no es no un algoritmo de firma digital (a pesar de lo que los terminólogos descuidados a veces fingen ).