libotp implements RFC4226 and RFC6238. These RFCs are implemented by Google's Google Authenticator.
OTP can increases the security for various things, such as web services, servers and even private computers.
A secret is shared between the client and a device. Passwords are generated based on the shared secret.
It is possible to work in two modes:
- Counter based - The OTP is generated with a counter that is increased on each successful attempt.
- Time based - The OTP is generated based on time. Codes are valid for a pre-configured amount of time.