Sorry if this is a silly question, but does anyone know if the cryptographic libraries which implement TLS 1.2 for Firefox, Chrome, etc. express a given curve in a canonical form (i.e. one of Weierstrass, Montgomery, or Edwards form for an arbitrary curve) where possible in order to simplify EC arithmetic?

I am just starting to learn about ECDH(E) and was wondering if EC curves are often represented in a common form in order to simplify EC operations where possible, since a given prime curve can often be represented in one form, over another since all EC curves are isomorphic to a curve in Weierstrass form.

  • 1
    $\begingroup$ The curves used most often in TLS 1.2 are the "NIST curves", which cannot be expressed in Montgomery or Edwards form. $\endgroup$ – poncho Feb 10 '16 at 20:25
  • $\begingroup$ So you can go from {Montgomery, Edwards} form to Weierstrass form, but not vice-versa? If so, that definitely simplifies things! $\endgroup$ – hodgepodge Feb 10 '16 at 20:31
  • 1
    $\begingroup$ Yes, that is correct. As you yourself stated, "all EC curves are isomorphic to a curve in Weierstrass form", however not all EC curves are isomorphic to a curve in Montgomery/Edwards form. $\endgroup$ – poncho Feb 10 '16 at 20:38
  • $\begingroup$ @hodgepodge Every curve is representable in Weiderstrass form, but not every curve is representable in Montgomery/Edwards form. But if it is, you can convert points from weierstrass. $\endgroup$ – CodesInChaos Feb 10 '16 at 20:47

Your Answer

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

Browse other questions tagged or ask your own question.