Aller au contenu principal

7. HKDF- and SHA-Based HMACs (HKDF et HMAC basés sur SHA)

Ci-dessous figurent de brèves descriptions et des pointeurs vers des descriptions plus complètes et du code pour (1) les HMAC basés sur SHA et (2) une fonction de dérivation de clé d'extraction et d'expansion basée sur HMAC. HKDF et HMAC ont tous deux été conçus par Hugo Krawczyk.

7.1. HMAC basés sur SHA (SHA-Based HMACs)

HMAC est une méthode de calcul d'un MAC à clé (Message Authentication Code) utilisant une fonction de hachage comme décrit dans [RFC2104]. Il utilise une clé pour mélanger avec le texte d'entrée afin de produire le hachage final.

Un exemple de code est également fourni, dans la section 8.3 ci-dessous, pour effectuer HMAC basé sur l'un des algorithmes SHA décrits ici. L'exemple de code trouvé dans [RFC2104] a été écrit en termes de taille de texte spécifiée. Étant donné que SHA est défini en termes d'un nombre arbitraire de bits, l'exemple de code HMAC a été écrit pour permettre à l'entrée de texte de HMAC d'avoir un nombre arbitraire d'octets et de bits. Une interface de longueur fixe est également fournie.

7.2. HKDF

HKDF est une fonction de dérivation de clé (Key Derivation Function, KDF) spécifique, c'est-à-dire une fonction de matériel de clé initial à partir de laquelle le KDF dérive une ou plusieurs clés secrètes cryptographiquement fortes. HKDF, qui est décrit dans [RFC5869], est basé sur HMAC.

Un exemple de code pour HKDF est fourni dans la section 8.4 ci-dessous.