Do most TLS 1.2 implementations express curves in a canonical form when performing EC arithmetic?

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.

• The curves used most often in TLS 1.2 are the "NIST curves", which cannot be expressed in Montgomery or Edwards form. – poncho Feb 10 '16 at 20:25
• So you can go from {Montgomery, Edwards} form to Weierstrass form, but not vice-versa? If so, that definitely simplifies things! – hodgepodge Feb 10 '16 at 20:31
• 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. – poncho Feb 10 '16 at 20:38
• @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. – CodesInChaos Feb 10 '16 at 20:47