Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
kTimesG
on 23/05/2025, 09:22:51 UTC
Is it feasible in a non-constant-time implementation to detect the sign of a point from timing differences?

What are the main factors that could cause timing variations in these operations (coordinate inversion, branching, etc.)?

What best practices exist for measuring and exploiting such timing differences?

Are there known vulnerabilities or examples from popular libraries related to this?

There's no such thing as sign of a point. Points are pairs of coordinates.
There's no such thing as sign of a point's coordinate. Modular arithmetic doesn't have signs.
Best practices: don't run variable-time code if you don't want to expose everything your code computes, like any secret values. It's a critical vulnerability. If it's not required to be secure, use variable time code to gain more speed.
Known vulnerabilities: timing variations allow to completely retrieve the processed values.
Examples: a lot, OpenSSL had a while loop that ended prematurely. Some guy managed to retrieve private SSH keys remotely by timing server handshake responses.

Seems like people get more and more crazier directly proportional to the BTC prize.