I read a brilliant, three part article on Elliptic Curve cryptography (one, two, three). It was able to explain Elliptic Curves to me in a way that didn't require a math degree to understand. The crux of the article is in page two, namely, when it discussed the "dot" operation:
In the brilliant animation above (all credit goes to the original author, Nick Sullivan), the author explained that the heart of EC Crypto is that if you take any two points on the curve, A and B, and draw a line from A to B, and then continue the line you end intersecting one, and only one, other point on the curve. You then go to the x-axis opposite (up or down) to find a third point, point C.
This is expressed in the article as:
A dot B = C
This can continue, using the initial point and the newly acquired point as necessary:
A dot C = D
A dot D = E
We can continue this process an arbitrary number of times, but we'll stop after, for the sake of an example, 25 steps and end up at a point Z. Now we know that if we started at A and applied the process above, it would take 25 total "dot" operations to get to Z. But supposedly, this is a number that is very difficult to determine from someone if they just knew where we started (point A) and where we ended (point Z):
It turns out that if you have two points, an initial point "dotted" with itself n times to arrive at a final point, finding out n when you only know the final point and the first point is hard. To continue our bizarro billiards metaphor, imagine that one person plays our game alone in a room for a random period of time. It is easy for him to hit the ball over and over following the rules described above. If someone walks into the room later and sees where the ball has ended up, even if they know all the rules of the game and where the ball started, they cannot determine the number of times the ball was struck to get there without running through the whole game again until the ball gets to the same point. Easy to do, hard to undo. This is the basis for a very good trapdoor function.
Now, here is my question: How do two parties use EC and the 'dot' operation to determine a shared secret over an unsecured medium? Effectively, how do they use A, B, Z, or 25 from the examples above to arrive at a shared secret?
For the purpose of this question, I am not concerned with how the curve is determined, I'm content with the fact that there are pre-existing curves that both parties choose to use.
Also, I am not concerned with Ephemeral variants of DH or not, at this point, knowing the basic concepts described in the article above, I just want to know what values each party start with, and what they do with those values, and what (if anything) is shared across the wire.