Patent ID: 7809130

Claim:
A computer-implemented method of recovering a password, the method comprising: (a) for a possible password to be tested, determining a length of a periodicity unit based on a number of symbols in the possible password and a size of a chunk used by a one-way function to convert the possible password into a test control value, wherein the length of the periodicity unit is shorter than an input string, that includes replicated possible password used to convert the possible password into the test control value; (b) setting an initial one-way function state; (c) for a first chunk in a first periodicity unit, extending the first chunk; (d) storing the value of the extension of the first chunk of the first periodicity unit; (e) updating the one-way function state using the value of the extension of the first chunk of the first periodicity unit; (f) repeating steps (c)-(e) for other chunks of the first periodicity unit; (g) for a first chunk of a second periodicity unit, updating the one-way function state using the stored value of the extension of the first chunk of the first periodicity unit; (h) repeating step (g) for other chunks of the second periodicity unit with corresponding stored values of the extensions of the chunks of the first periodicity unit; (i) repeating steps (g) and (h) for all remaining periodicity units; (j) extending a last chunk of the input string; (k) updating the one-way function state with a value of the extension of the last chunk, to generate the test control value; (l) testing the test control value for a match with a control value generated from an actual password; (m) repeating steps (a)-(l) for other possible passwords until a match is found; and (n) providing, to a user, indication of the match.