HMAC

Hash-based Message Authentication Code

HMAC (Hash-based Message Authentication Code) è una tecnica crittografica utilizzata per garantire l'integrità e l'autenticità di un messaggio. Utilizza una funzione hash crittografica combinata con una chiave segreta per creare un codice di autenticazione del messaggio (MAC).

Quando si utilizza HMAC per generare firme, viene creato un codice di autenticazione del messaggio utilizzando una funzione hash (come SHA-256) e una chiave segreta condivisa. Questo codice viene poi aggiunto al messaggio originale. Solo le parti che possiedono la chiave segreta possono generare e verificare correttamente l'HMAC, garantendo così che il messaggio non sia stato alterato e che provenga da una fonte autentica.

Utilizzi:

  • Firme Digitali: Verificare l'autenticità e l'integrità dei messaggi o documenti digitali.
  • JSON Web Tokens (JWT): Verificare l'autenticità e l'integrità dei Payload dei JSON Web Tokens.
  • HOTP e TOTP: Gestione di HOTP (HMAC-based One-Time Password) e TOTP (Time-based One-Time Password) per generare codici OTP basati su una chiave segreta condivisa tra il client e il server.