When choosing an elliptic-curve look for a safe curve

This isn't generally something that the average implementation developer has to consider. Choices are largely already made by standards and crypto libraries (and you really shouldn't write your own crypto library, unless you already know all these things by heart).

In a web context, ECDSA is generally only used with P-256 or P-384. Chrome doesn't even support anything else.

For the Diffie-Hellman key exchange, modern implementations often also support x25519, but that's pretty much it. Everything else is niche. Sure, if you're doing your own thing you can do what you want, but if interoperability or certifications are required, you're not going to do well with much else.

Also, while the SafeCurves website is a really great resource, it is often misunderstood.

12 Likes