Ein Message Authentication Code (MAC) ist ein kleiner Datenblock, der an eine Nachricht angehängt ist und vom Empfänger verwendet wird, um die Integrität der Nachricht zu überprüfen. Man könnte es sich vorstellen wie die Wachssiegel, die früher auf Briefen und formellen Korrespondenzen angebracht wurden, um die Identität des Absenders zu überprüfen und zu bestätigen, dass die Nachricht nicht geöffnet wurde. Solche Codes werden verwendet, wenn bestimmte Arten von verschlüsselten oder gesicherten Daten gesendet werden, damit der Absender überprüfen kann, ob die Nachricht nicht kompromittiert wurde. Nachrichtenauthentifizierungscodes können in Nachrichten wie elektronischen Überweisungen und E-Mails erscheinen.
Wenn eine Nachricht generiert wird, wird gleichzeitig der MAC erstellt. Die Nachricht wird an den Empfänger gesendet, und wenn der Empfänger sie öffnet, durchläuft der Inhalt der Nachricht einen Algorithmus, um einen neuen Nachrichtenauthentifizierungscode zu erstellen. Dieser neue Code wird mit dem zusammen mit der ursprünglichen Nachricht gesendeten Code verglichen. Wenn die Codes gleich sind, wird die Nachricht authentifiziert. Ein Unterschied weist darauf hin, dass sich zwischen Absender und Empfänger etwas an der Nachricht geändert hat.
Der Prozess des Generierens und Vergleichens von MACs findet normalerweise hinter den Kulissen statt. Sender und Empfänger verlassen sich auf die Verschlüsselungsprogramme, die sie verwenden, um den MAC zu handhaben. Das Programm, das den Nachrichtenauthentifizierungscode generiert, wird von einem Programmierer geschrieben, der mit den Anforderungen der Kryptographie vertraut ist. Benutzerdefinierte Anwendungen können für Hochsicherheitssituationen geschrieben werden, oder Benutzer können generische Programme verwenden, die leicht verfügbar sind.
Mehrere verschiedene Methoden können verwendet werden, um einen MAC zu erstellen, einschließlich einer Stromchiffre, einer Hash-Funktion oder einer Blockchiffre. Auch als Prüfsumme bekannt, kann der MAC eine von mehreren Sicherheitsebenen sein, die darauf ausgelegt sind, neugierige Blicke von Nachrichten fernzuhalten und sicherzustellen, dass Nachrichten nicht manipuliert oder verändert werden, ohne den Empfänger zu benachrichtigen. Wenn ein Empfänger eine kompromittierte Nachricht öffnet, wird eine Warnung angezeigt, um den Benutzer darauf hinzuweisen, dass der Nachrichtenauthentifizierungscode nicht übereinstimmt und ein Problem mit der Nachricht vorliegt.
Kryptographie ist ein sich ständig weiterentwickelnder Prozess. Wenn neue Techniken entwickelt werden, werden auch neue Methoden zu deren Knacken geschaffen. Personen, die sich für Datensicherheit interessieren, müssen mehrere Schritte vorausdenken, um Methoden zum Entschlüsseln der Kryptographie vorherzusagen, damit sie starke Sicherheitssysteme aufbauen können. Die Entwicklung von Supercomputern hat diesen Prozess unterstützt, indem sie Kryptographen ermöglicht, hochentwickelte Verschlüsselungsmethoden zu entwickeln und mit ihnen zu experimentieren.