Currently my knowledge about Elliptic curve is quite limited to the textbook and I don't know how a practical Elliptic curve cryptosystem works.

I read an example about key exchange using Elliptic curves. And I am wondering what is the public information (key) of a practical Elliptic curve cryptosystem.

First, the equation of the Elliptic curve should be public. How about other parameters? Such as the order of the curve ( number of points on the curve), the generator point of the curve and so on.

Can you give me a good reference about how a practical Elliptic curve cryptosystem works?

Thanks in advance.


To generate your pair of keys with elliptic curves first you have to chose your domain parameters (I think this name may comes from the P1363 naming convention, or perhaps it's previous).

Those domain parameters will be public. For example for curves over finite fields those parameters are: ${p,a,b,G,n,h}$. The lower level operations will be made in $\mathbb{F}_p$ and the operations will be made using points on a curve. Then $a$ and $b$ (or the equivalents is uses different notation) is also public and also the equation used. About the generator point $\langle G\rangle$, you can think like public it is in DLP over finite fields.

About the order of the cyclic subgroup of points where the ECDLP is defined is public ($ord(G)=n$), together with the cofactor $h$ (that shall be very small number and both primes, with relation $h \lll n$), and the product of them is the number of points of the curve.

The only thing secret is the secret key, often labelled as $d$, where the public key is $P=d[G]$.

  • $\begingroup$ Thanks for your answer. Can you recommend a reference about this? $\endgroup$ – Paradox May 15 '15 at 14:09
  • $\begingroup$ In the wikipedia link there are some links, but I think is good to read the IEEE P1363 and perhaps the X9.63. $\endgroup$ – srgblnch May 18 '15 at 14:24

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