1.2. Background (Hintergrund)
1.2. Background (Hintergrund)
Wie in [RFC4226] definiert, basiert der HOTP-Algorithmus auf dem HMAC-SHA-1-Algorithmus (wie in [RFC2104] spezifiziert) und wird auf einen ansteigenden Zählerwert angewendet, der die Nachricht in der HMAC-Berechnung darstellt.
Grundsätzlich wird die Ausgabe der HMAC-SHA-1-Berechnung gekürzt, um benutzerfreundliche Werte zu erhalten:
HOTP(K,C) = Truncate(HMAC-SHA-1(K,C))
wobei Truncate die Funktion darstellt, die einen HMAC-SHA-1-Wert in einen HOTP-Wert konvertieren kann. K und C repräsentieren das gemeinsame Geheimnis und den Zählerwert; siehe [RFC4226] für detaillierte Definitionen.
TOTP ist die zeitbasierte Variante dieses Algorithmus, bei der ein Wert T, der aus einer Zeitreferenz und einem Zeitschritt abgeleitet wird, den Zähler C in der HOTP-Berechnung ersetzt.
TOTP-Implementierungen KÖNNEN HMAC-SHA-256- oder HMAC-SHA-512-Funktionen verwenden, die auf SHA-256- oder SHA-512-Hash-Funktionen [SHA2] basieren, anstelle der HMAC-SHA-1-Funktion, die für die HOTP-Berechnung in [RFC4226] spezifiziert wurde.