ECDSA, the Elliptic Curve Digital Signature Algorithm, is an elliptic-curve variant of DSA used to generate and verify digital signatures. It became widely adopted partly because elliptic-curve schemes provide smaller keys than comparable traditional approaches. section 7.3 section 7.3.3
An ECDSA signing flow uses these named components:
- Generate a random private number x, then compute the public key as [x]G, the scalar multiplication of x with the elliptic-curve base point G. section 7.3.3
- Hash the message to obtain H(m), and choose a random number k that is unique for this signature. section 7.3.3
- Compute the signature as two integers, r and s: r is the x-coordinate of [k]G, while s equals k⁻¹(H(m) + xr) modulo p. section 7.3.3
- Verify using H(m), the public key, and r and s; interoperability requires matching the same applicable standard. section 7.3.3
A practical deployment choice
ECDSA is often paired with NIST’s P-256 curve. Applications must check that their ECDSA implementations use compatible standards, because ISO 14888-3, ANSI X9.62, NIST FIPS 186-2, and IEEE P1363 are not all compatible. Treat signatures as validity proofs, not automatically unique artifacts: signatures may be malleable, and ambiguity about who signed can enable key-substitution attacks. section 7.3.3 section 7.5


