On 14 December 2012 15:02, jeetendra gangele <gangele...@gmail.com> wrote:
> On 14 December 2012 20:18, Matt Caswell (fr...@baggins.org) > <fr...@baggins.org> wrote: > > > > > > On 14 December 2012 14:20, jeetendra gangele <gangele...@gmail.com> > wrote: > >> > >> it looks very odd loading of public key during sign operation. > >> Ok tell me one thing I can load any valid point on the curve during > sign. > > > > > > An ECDSA sign operates on the curve and associated parameters, the > private > > key, and the message, and outputs two values (which are just numbers) r > and > > s. No points on the curve are provided as input or received as output > > (although they are used internally). > > > > What I have recommended to you is that you fill in both the private and > > public key in the EC_KEY object so that an EC_KEY_check_key call passes. > > This is not loading "any valid point on the curve"...it must be the > public > > key for the associated private key, or EC_KEY_check_key will not pass. > As I > > said in one of my first emails, it is straight forward to find the public > > key given the private key. > > > Here I wont agree because suppose if I loaded all the curve parameters > and try to load public key which wont lie on the curve,Its failing. > As previously mentioned the code to find a public key given a private key looks like this: if (!EC_POINT_mul(group, pub_key, pkey, NULL, NULL, ctx)) goto err; All you need is the curve and the private key and in one line you can get the public key. Matt