TOTP replaces a reusable, low-entropy password with a short code derived from a shared random symmetric key and the current time. The code changes over time, limiting reuse. section 11.2.3
A typical TOTP login follows these steps:
- During registration, the service communicates a symmetric key to the user, often through a QR code. section 11.2.3
- The user’s authenticator computes HMAC using the key and current time, then displays a truncated, human-readable code. section 11.2.3
- The user submits the code; the service recomputes it from the associated key and compares both values in constant time. section 11.2.3
Authenticator-app login
A user imports a service-specific key into an authenticator application, reads its changing six-digit code, and enters that code on the service. The service independently derives the expected value.
