Enrollment and authentication of a user based on a sequence of discrete
graphical choices is described. A graphical interface presents various
images and memory cues that a user may associate with their original
graphical choices. Enrollment may require the input to have a security
parameter value that meets or exceeds a threshold. An acceptable sequence
of graphical choices is converted to a sequence of values and mapped to a
sequence of codewords. Both a hash of the sequence of codewords and a
sequence of offsets are stored for use in authenticating the user. An
offset is the difference between a value and its corresponding codeword.
Authentication requires the user to enter another sequence of discrete
graphical choices that is approximately the same as original. The offsets
are summed with the corresponding values before mapping to codewords.
Authentication requires the sequence of codewords, or a hash thereof, to
match.