Elliptic Curve Digital Signature Algorithm

In order to sign and verify using the ECDSA scheme, first key pair needs to be generated:

  1. First, define an elliptic curve E:
    • With modulus P
    • Coefficients a and b
    • Generator point A that forms a cyclic group of prime order q
  1. An integer d is chosen randomly so that 0 < d < q.
  2. Calculate public key B so that B = d A.

The public key is the sextuple in the form shown here:

Kpb = (p,a,b,q,A,B)

The private key, d is randomly chosen in step 2:

Kpr = d

Now the signature can be generated using the private and public key.

  1. First, an ephemeral key Ke is chosen, where 0 < Ke < q. It should be ensured that Ke is truly random and that no two signatures have the same key; otherwise, the private key can be ...

Get Mastering Blockchain - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.