Patent ID: 6898284

Claim:
A method of identifying a user, comprising the steps of: a) selecting, by the user, a modulus p from the group of equations consisting of: p =(2 dk −2 ck −1)/ r, where 0<2c<=d, where r does not equal to 1, and where GCD(c,d)=1; p =(2 dk −2 (d-1)k +2 (d-2)k − . . . −2 k +1)/ r, where d is even, and where k is not equal to 2 (mod 4); p =(2 dk −2 ck −1)/ r, where 3d<6c<4d, and where GCD(c,d)=1; p =(2 dk −2 ck +1)/ r, where 0<2c<=d, where r does not equal to 1, and where GCD(c,d)=1; and p =(2 4k −2 3k +2 2k +1)/ r; b) selecting, by the user, an elliptic curve E and an order q; c) selecting, by the user, a basepoint G; d) generating, by the user, a private key w; e) generating, by the user, a public key W=wG; f) distributing, by the user, p, E, q, G, and W in an authentic manner; g) generating, by a prover, the prover's private key w p and public key W p and distributing W p ; h) retrieving, by a verifier, the prover's public key W p ; i) generating, by the prover, a private integer k p ; j) combining, by the prover, k p and G to form K using the form of the modulus p; k) sending, by the prover, K to the verifier; l) sending, by the verifier, a challenge integer c to prover; m) combining, by the prover, c, k p , and w p to form a response integer v; n) sending, by the prover, v to the verifier; and o) combining, by the verifier, cG, K, and W p using the form of the modulus p and checking to see if the combination is equal to vG, if so the user is identified as the user, otherwise the user is not identified as the user.