ECC (Elliptic Curve Cryptography)
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.