1. A computer-implemented method for creating an order-invariant fuzzy commitment, comprising: (a) receiving a first input element comprising a sequence of at least one value (a 1 ,. .. , a n ) from a predetermined set; (b) generating a codeword of an error-correcting code for generating the commitment; (c) constructing a first sequence of coordinate sets (x i ,y i ), for i in {1,. .. n}, each of the coordinate sets having a first value (x i ) corresponding to a representation of an associated one (a i ) of the at least one value of the first input element and a second value (y i ) corresponding to a symbol in the codeword, wherein the symbol corresponds to the x i th symbol in the codeword, wherein an order-invariant fuzzy commitment is formed, the commitment having the property that it may be algorithmically combined with at least one set of values comprising at least one value of the first input element so as to yield the codeword; reordering the first sequence based upon the first value; outputting the first sequence; and utilizing the first sequence, in response to receiving a second input element from a user, to authenticate the user to a secured system associated with the first sequence.