Figure out how to fix `crypto/tls`.

Most of the Go crypto isn't constant time. I'm not sure if this matters for the install/version check/update and validation mechanisms, but if there is an easy way to fix this problem, it would be the sensible thing to do.

The status as of today is:

  • RSA - Vartime.
  • ECC - X25519/P-224/P-256 constant time.
  • AES - Vartime unless there is AES-NI.
  • GHASH - Vartime unless there is PCLMULQDQ (AES-NI).
  • Poly1305/ChaCha20 - Constant time.