Earlier quoted context omitted.
I missed my edit window... I actually take the above back. Scalar multiplication on a point IS constant-time (the two distributions are indistinguishable). Field exponentiation isn't constant-time and I will work on that.
The way your scalar multiplication is performed leaves you open to two attacks: - Scalar multiplication is variable-time, with the variation being correlated with the position of the most significant bit of the exponent (see https://github.com/Bren2010/ecc/blob/bd75261b6fe7839ddc751d6... ). An attack like [1] on ECDSA seems plausible. - The Montgomery ladder uses different code paths depending on whether the exponent…
Issue #2: Rust has explicitly taken all memory management away from me. There's nothing I can do about that.