Unlike hash operations, elliptic curve operations have unpredictable machine cycle count.
I would expect a single point addition operation (P
3 = P
1 + P
2) to have a very predictable machine cycle count. It should be something like:
x
3 = λ
2+a
1λ−a
2−x
1−x
2y
3 = −a
1x
3−a
3−λx
3+λx
1−y
1λ = (y
2−y
1) / (x
2−x
1)
From:
https://crypto.stanford.edu/pbc/notes/elliptic/explicit.htmlHow precise is this formula?
That is the mathematics behind the point addition. The actual implementation of point addition would be optimized and very different.
I was just trying to make the point that a single point addition operation should take the same amount of time (same number of machine instructions) no matter what the actual point values are.
This is in contrast to the scalar multiplication function P = p*G which will take different amounts of time (different numbers of machine instructions) depending on the value of p.
But I see now that the division operation (or equivalently calculating the inverse of the denominator) could take varying amounts of time.
So, basically I was wrong because we have to calculate λ to add the two points.