Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was just reading Ars Technica's primer on ECC. Somewhere near the middle of the second page, the author introduces the "dot" operation that takes an elliptic curve and two other known points, giving a third unique point.

However, the author then claims that A dot A equals B. That is, if the two first points are the same, it's possible to come up with a unique third intersecting point. How is this possible? Intuition tells me that there is an infinite number of possible intersections if the two first points are the same.

share|improve this question
Your geometric intuition is betraying you here, I think. Thinking of elliptic curve groups as lying in the Cartesian plane from high-school algebra is useful shorthand but can lead you astray if you take it too literally. This might help you understand elliptic curves algebraically. – pg1989 Nov 8 '13 at 21:15
To use the geometrical interpretation, for $A\cdot A$ we take the line tangential to the curve at $A$. – figlesquidge Nov 8 '13 at 21:56
up vote 7 down vote accepted

You are correct that a line through a single point can intersect the curve in many other points. But you don't choose just any line. You choose the tangent through $A$. And that line will intersect the curve in exactly one point (which usually isn't, but may actually be $A$).

It is an interesting and useful exercise to actually do these computations with the formulae. Choose an elliptic curve, choose a point (not with $y$-coordinate $0$), find the curve's tangent line, then compute the remaining intersection point. (This is easy. You have two equations $Y^2 = X^3 + aX + B$ and $Y=\alpha X + \beta$. Eliminating $Y$, you get a cubic equation in $X$ and you know a double zero, namely the $x$-coordinate of the point you are trying to double.)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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