Background:
- "Elliptic curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. One of the main benefits in comparison with non-ECC cryptography [...] is the same level of security provided by keys of smaller size.", ECC at Wikipedia, 2015-11-05
- GnuPG 2.1 supports ECC.
Table of ECC supported functions:
| Function | Protocol | Curve | OpenPGP spec. | Library dependency | Token |
|---|---|---|---|---|---|
| Signature | ECDSA | NIST ECC: P-256 | RFC6637 | Gnuk 1.2 | |
| Signature | ECDSA | NIST ECC: P-384 | RFC6637 | ||
| Signature | ECDSA | NIST ECC: P-521 | RFC6637 | ||
| Signature | ECDSA | ECC Brainpool: brainpoolP256r1 | |||
| Signature | ECDSA | ECC Brainpool: brainpoolP384r1 | |||
| Signature | ECDSA | ECC Brainpool: brainpoolP512r1 | |||
| Signature | ECDSA | SECG: secp256k1 | libgcrypt 1.7 | Gnuk 1.2 | |
| Signature | EdDSA | RFC8032: Ed25519 | RFC4880bis draft | Gnuk 1.2 | |
| Encryption | ECDH | NIST ECC: P-256 | RFC6637 | Gnuk 1.2 | |
| Encryption | ECDH | NIST ECC: P-384 | RFC6637 | ||
| Encryption | ECDH | NIST ECC: P-521 | RFC6637 | ||
| Encryption | ECDH | ECC Brainpool: brainpoolP256r1 | |||
| Encryption | ECDH | ECC Brainpool: brainpoolP384r1 | |||
| Encryption | ECDH | ECC Brainpool: brainpoolP512r1 | |||
| Encryption | ECDH | SECG: secp256k1 | libgcrypt 1.7 | Gnuk 1.2 | |
| Encryption | ECDH | RFC7748: Curve25519 | libgcrypt 1.7 | Gnuk 1.2 |
