1.2. Background (Contexte)
1.2. Background (Contexte)
Comme défini dans [RFC4226], l'algorithme HOTP est basé sur l'algorithme HMAC-SHA-1 (tel que spécifié dans [RFC2104]) et appliqué à une valeur de compteur croissante représentant le message dans le calcul HMAC.
Fondamentalement, la sortie du calcul HMAC-SHA-1 est tronquée pour obtenir des valeurs conviviales:
HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))
où Truncate représente la fonction qui peut convertir une valeur HMAC-SHA-1 en une valeur HOTP. K et C représentent le secret partagé et la valeur du compteur; voir [RFC4226] pour des définitions détaillées.
TOTP est la variante basée sur le temps de cet algorithme, où une valeur T, dérivée d'une référence temporelle et d'un pas de temps, remplace le compteur C dans le calcul HOTP.
Les implémentations TOTP PEUVENT utiliser des fonctions HMAC-SHA-256 ou HMAC-SHA-512, basées sur les fonctions de hachage SHA-256 ou SHA-512 [SHA2], au lieu de la fonction HMAC-SHA-1 qui a été spécifiée pour le calcul HOTP dans [RFC4226].