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

Reply via email to