HMAC

Ein HMAC , das für Keyed-Hash Message Authentication Code steht , ist eine Art von Message Authentication Code (CAM) oder MAC ( Message Authentication Code ), der mithilfe einer kryptografischen Hash- Funktion in Kombination mit einem geheimen Schlüssel berechnet wird . Wie bei jeder CAM kann gleichzeitig verwendet werden , um zu überprüfen die Datenintegrität und Nachrichten Authentizität . Jede iterative Hash-Funktion, wie MD5 oder SHA-1, kann bei der Berechnung eines HMAC verwendet werden; der Name des resultierenden Algorithmus lautet HMAC-MD5 oder HMAC-SHA-1. Die kryptographische Qualität des HMAC hängt von der kryptographischen Qualität der Hash-Funktion und der Größe und Qualität des Schlüssels ab.

Eine iterative Hash-Funktion teilt eine Nachricht in Blöcke fester Größe auf und durchläuft sie mit einer Squeeze-Funktion . MD5 und SHA-1 arbeiten beispielsweise mit 512-Bit-Blöcken. Die Größe der HMAC-Ausgabe entspricht der der Hash-Funktion (128 bzw. 160 Bit bei MD5 und SHA-1), kann aber bei Bedarf gekürzt werden.

Konstruktion

Die HMAC-Funktion ist wie folgt definiert:

mit:

Die Konstruktion und Analyse von HMACs wurde erstmals 1996 von Mihir Bellare, Ran Canetti und Hugo Krawczyk (der RFC  2104) geschrieben hat, veröffentlicht. FIPS PUB 198 verallgemeinert und standardisiert die Verwendung von HMACs. HMAC-SHA-1 und HMAC-MD5 werden in IPsec- und TLS-Protokollen verwendet . HMAC SHA-256 wird für JWT Json Web Tokens ( RFC  7519) verwendet.

Siehe auch

Literaturverzeichnis

Verwandter Artikel

Externe Links

Verweise

  1. (en) Antrag auf Kommentare n o  2104 .
  2. (in) Antrag auf Kommentare n o  7519 .
  3. (in) Antrag auf Kommentare n o  2202 .
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">