Glossary

ECC (Elliptic Curve Cryptography)

Last verified

Definition

ECC (Elliptic Curve Cryptography) is public-key cryptography based on elliptic curves over finite fields, giving strong security with small keys.

ECC is a family of public-key techniques whose security rests on the elliptic-curve discrete logarithm problem. In TLS it appears in two roles: key exchange with ECDHE, and signatures with ECDSA or EdDSA. Common curves are NIST P-256 and P-384, Curve25519 (used as X25519 for key exchange) and its Edwards form behind Ed25519 signatures.

Why it matters

ECC reaches a given security level with far smaller keys than RSA or finite-field Diffie-Hellman, which means smaller certificates, smaller handshakes and less CPU per connection. Nearly all TLS key exchange today is elliptic-curve based, and "ECC certificates" (certificates with ECDSA keys) are a standard option at most CAs. Like RSA, ECC would be broken by Shor's algorithm on a sufficiently large quantum computer, which is why it is being combined with post-quantum algorithms in hybrid key exchange.

Example

Approximate equivalent strengths, following NIST SP 800-57:

Security level   RSA / DH modulus   ECC key size
112 bits         2048 bits          224 bits
128 bits         3072 bits          256 bits (P-256, X25519)
192 bits         7680 bits          384 bits (P-384)

List the curves your OpenSSL build supports:

openssl ecparam -list_curves

Common misconceptions

  • "ECC is a type of certificate." ECC is the mathematics; an "ECC certificate" is simply a certificate containing an ECDSA public key.
  • "ECC is quantum-safe because it is newer than RSA." Shor's algorithm breaks both; post-quantum algorithms such as ML-KEM and ML-DSA are the replacements.
  • "Any curve can do any job." X25519 is a key-exchange function and cannot sign, so TLS server certificates use signature curves such as P-256.

See also