TOTP (Time-based One-Time Password) Algorithm is used in Two factor authentication. I understand the algorithm and that current time is used as a variable to generate a token. Wiki page for reference: http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm

My question is, can current time be faked?

Suppose you have tokens T(0),...,T(n) where T(0) was generated at time = 0 and T(n) was generated at time = n.

Suppose I have the initial seed value for the algorithm, and I know current time is k, is it possible to generate T(k) without having generated T(0),...,T(k-1)?

In other words, can time elapsed be 'faked'? Or is T(k) based on every token in the set of tokens, T(0),...,T(k-1). If it is based on every previous token, does generating T(k) require at least (block of time) * (k-1) time to generate or can the process of elapsed time be fed to the algorithm to generate T(k) in less time?



The algorithm produces a password based on the value of the time that is input as an argument. That value does not have to be the current time. For the purposes for which TOTPs are generally used, there is no value in producing the password for a time other than the current time step - it won't be recognized by the validator.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.