Ein auf Sender und Empfänger gleichlautender Schlüssel (shared key)
und das Datagramm sind in beiden Fällen die Eingabedaten für die
Hash-Funktion.
Während bei Keyed MD5 und Keyed SHA-1 schon das Endergebnis in
Form eines 128-(MD5) beziehungsweise 160-Bit-(SHA-1)-Hash-Wert
vorliegt, wird der Vorgang bei HMAC-Implementierungen wiederholt.
Diesmal jedoch mit dem Ergebnis aus der ersten Operation und
dem geheimen Schlüssel.
Aus dem Resultat der zweiten Berechnung finden die 96 höchstwertigen
Bits als Authentication Data im AH- beziehungsweise im ESP-Header
Verwendung.
Sofern der geheime Schlüssel zuvor sicher ausgetauscht wurde, kann
der Empfänger davon ausgehen, daß die Daten vom echten Absender
kommen.
Keyed- und HMAC-Hashes sorgen daher sowohl für eine Integritätskontrolle
als auch für eine Authentifizierung des Kommunikationspartners.
Wird als Algorithmus der
MD5 benützt so spricht man von einem HMAC-MD5.
Das AH-Protokoll unterstützt auch HMAC-SHA.
Bei Keyed MD5 und Keyed SHA-1 ist das Endergebnis ein 128 MD5 bzw. ein
160 SHA-1 Bit Hash Wert.