We present techniques for the efficient implementation of curve-based cryptography in software, targeting modern Intel and Arm CPUs. The techniques will range from finite fields to curve arithmetic formulas, and will demonstrate how state-of-the-art performance can be obtained while observing requirements for constant-time execution. The scope will be somewhat generic, but the main ideas will be illustrated with the GLS254 binary elliptic curve.