In every implementation I can find, there is ge_frombytes_negate_vartime but not a regular ge_frombytes method.

I'm assuming there is a deep mathematical reason for things being this way that I'm hoping to uncover.

And since there are no ge_neg methods either, what's the most efficient way to negate the point that is read, in order for it to have the correct sign? Do I need to convert to any particular coordinate space and then manipulate one of the coordinates?


1 Answer 1


Bernstein only wrote the code required for key-generation, key-exchange and signatures, not a general purpose elliptic curve library. So when an operation is not required for those features it will be missing from the library.

Vartime operations are used during verification as verification does not require side channel resistance.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.