Updates the sequence and the keeps last approved password on success
On the next authentication, the stored password is hashed and checked up
against the one given by the user. If they match, the sequencecounter is
decreased and the circle is closed.
Method Summary |
|
__init__ (self,
passwd,
sequence,
hash)
Initialize the OTP-Sequence, and discard the password |
|
authenticate (self,
phrase)
Test the phrase against the last challenge issued |
|
challenge (self)
Return a challenge string |
Inherited from OTPAuthenticator |
|
calculateParity (self,
otp)
Calculate the parity from a 64bit OTP |
|
foldDigest (self,
otp)
|
|
foldDigest128 (self,
otp128)
Fold a 128 bit digest to 64 bit |
|
foldDigest160 (self,
otp160)
Fold a 160 bit digest to 64 bit |
|
generateOTP (self,
seed,
passwd,
sequence)
Return a 64 bit OTP based on inputs Run through makeReadable to get a
6 word pass-phrase |
|
generateSeed (self)
Return a 10 char random seed, with 6 lowercase chars and 4 digits |
|
hashUpdate (self,
digest)
Run through the hash and fold to 64 bit |
|
makeReadable (self,
otp)
Returns a 6 word pass-phrase from a 64bit OTP |
|
parsePhrase (self,
phrase)
Decode the phrase, and return a 64bit OTP I will raise Unauthorized if
the parity is wrong TODO: Add support for hex (MUST) and the '2nd
scheme'(SHOULD) |