A method of identifying user, generating digital signature, and verifying digital signature by selecting a modulus p in the form of p=(2.sup.dk -2.sup.ck -1)/r, p=(2.sup.dk -2.sup.(d-1)k +2.sup.(d-2)k - . . . -2.sup.k +1)/r, p=(2.sup.dk -2.sup.ck -1)/r, p=(2.sup.dk -2.sup.ck +1)/r, and p=(2.sup.4k -2.sup.3k +2.sup.2k +1)/r, selecting an elliptic curve E and an order q; selecting a basepoint G; generating a private key w; generating a public key W=wG; distributing p, E, q, G, and W to at least a prover, a verifier, and a signer; generating the prover's private key w.sub.p and public key W.sub.p =w.sub.p G; retrieving the prover's public key W.sub.p ; generating a private integer k.sub.p ; combining k.sub.p and G to form K using p; sending K to the verifier; sending a challenge integer c to the prover; combining c, k.sub.p, and w.sub.p to form a response integer v; sending v to the verifier; combining cG, K, and W.sub.p using p and checking to see if the combination is equal to vG. If not so, stop. Otherwise, generating, by the signer, the signer's private key w.sub.s ; generating a private integer k.sub.s ; combining k.sub.s and G to form K using p; combining K and a message M to form an integer h; combining h, k.sub.s, and w.sub.s to form an integer s; sending M and (K,s) as a digital signature of M; retrieving W.sub.p ; receiving M and (K,s); combining K and M to form an integer h; and combining h, K, and W.sub.p using p and checking to see if the combination is equal to sG. If so, the digital signature is verified.Cryptographic identification and digital signature method using efficient elliptic curve689828424/05/200509/08/200120051,384Solinas; Jerome A.US Patent and Trademark OfficeGoogle Patent Searchpatentimages.storage.googleapis.com/US6898284B2/US06898284-20050524-D00000.pngUniquedigital signaturew.sub.ppublic key w.sub.psupproververifierintegersignerprivate key w.sub.sprivate integer k.sub.p