Aller au contenu principal
Cryptographie

HMAC-SHA512

HMAC-SHA512 est une fonction d'authentification basée sur SHA-512, produisant 512 bits. Bitcoin l'utilise dans BIP-32 pour la dérivation hiérarchique des clés. Elle prend en entrée une clé et un message et garantit leur intégrité jointe. C'est le moteur cryptographique des wallets HD.

Une primitive d'authentification

HMAC-SHA512 combine la fonction de hachage SHA-512 avec une clé secrète pour produire un code d'authentification de message. Sa sortie de 64 octets garantit à la fois l'intégrité et l'authenticité de la donnée signée.

Rôle dans la dérivation HD

BIP32 utilise HMAC-SHA512 pour dériver les clés enfants à partir d'une clé parente. La sortie de 512 bits est divisée en deux moitiés : la première sert à dériver la nouvelle clé, la seconde devient le nouveau code de chaîne.

Sécurité du construction

La construction HMAC est prouvée résistante tant que la fonction de hachage sous-jacente reste solide. SHA-512 offre une marge de sécurité confortable et n'a connu aucune attaque pratique.

Présence dans Lightning et ailleurs

HMAC-SHA512 apparaît aussi dans le protocole Sphinx utilisé par Lightning pour le routage en oignon, où il authentifie chaque couche du paquet. C'est une primitive discrète mais omniprésente dans Bitcoin.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.