8
$\begingroup$

The only way to access the c25519 curve in GPG is through gpg --expert --full-gen-key. Why is that? From my knowledge, Curve25519 is one of the most secure (and fast) elliptic curves in cryptography. So why is RSA fine, but Curve25519 is considered a risk only experts should take?

$\endgroup$
10
$\begingroup$

The risk mainly resides in compatibility.

See, not all GPG users/systems are updated to the latest version. If you look at the GPG changelogs, you'll notice ECC was first introduced to GPG with version 2.1 in 2015:

  • Support for Elliptic Curve Cryptography (ECC) is now available. ⇒more

None of the pre v2.1 versions of GPG support ECC, which is something that can and most probably will cause several annoyances and interoperability issues — hence the "expert" toggle which can be interpreted as "herewith I confirm that I know what I'm doing and that I'm aware of related compatibility problems that may come within it".

Note that this is only an annoyance for the time being; things will surely brighten up while time goes by and more users/systems adopt newer GPG versions by updating

Also note the related dependencies and — last but not least — the OpenPGP specification "draft" status, which additionally influence adoption speed:

Encryption ECDH — RFC7748: Curve25519

OpenPGP specification: RFC4880bis draft

Dependencies:

  • libgcrypt >= 1.7.0

  • Gnuk >= 1.2.0

(Source: https://wiki.gnupg.org/ECC)

$\endgroup$
  • $\begingroup$ That draft is only for Curve25519. 3 NIST ECC curves are already in RFC 6637 according to the Wiki page you cite. $\endgroup$ – Franklin Yu Sep 5 at 14:30
2
$\begingroup$

Support for what GnuPG calls cv25519 public-key encryption keys, and for ed25519 public-key signature keys, is neither standardized nor widespread, so you're likely to hit compatibility issues with anyone else using OpenPGP.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.