NSA

A method of identifying user, generating digital signature, and verifying digital signature by selecting a modulus p in the form of p=(2dk−2ck−1)/r, p=(2dk−2(d−1)k+2(d−2)k− . . . −2k+1)/r, p=(2dk−2ck−1)/r, p=(2dk−2ck+1)/r, and p=(24k−23k+22k+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 wp and public key Wp=wpG; retrieving the prover's public key Wp; generating a private integer kp; combining kp and G to form K using p; sending K to the verifier; sending a challenge integer c to the prover; combining c, kp, and wp to form a response integer v; sending v to the verifier; combining cG, K, and Wp 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 ws; generating a private integer ks; combining ks and G to form K using p; combining K and a message M to form an integer h; combining h, ks, and ws to form an integer s; sending M and (K,s) as a digital signature of M; retrieving Wp; receiving M and (K,s); combining K and M to form an integer h; and combining h, K, and Wp using p and checking to see if the combination is equal to sG. If so, the digital signature is verified.

Inventors:

Solinas, Jerome Anthony

Patent Number:

Technical domain:

Communications

FIle Date:

2001-08-09

Grant Date:

2005-05-24

Grant time:

1,384 days

Grant time percentile rank:

25

Claim count percentile rank:

2

Citations percentile rank:

1

'Cited by' percentile rank:

2

Assignee:

NATIONAL SECURITY AGENCY