Nils (or anyone else), I know this was a while ago but I just got back to it. The one thing that I don't understand about the calls to EC_POINT_mul() and EC_POINTs_MUL() are what is n & m? Are they some aspect of the curve being used? Ar they the affine coordinates of the other point? all I know about them is that they are BIGNUM's. I need to do 2 things, multiply 2 points together and add two points together.
Thanks, Frank Nils Larsch wrote: > Hi Frank, > > Frank wrote: > > Nils, > > Thanks for the information. Had a couple more questions below. > ... > > > The result is stored in 'r' or EC_POINT_mul(group, r, n, p, m, NULL) > > > calculates r = n * g + m * p , where n,m are integers, g is the > > > generator of the group and p is another point on the elliptic curve. > > > > g or generator is the well known base point right? > > g is the generator of the cyclic group which we use for our ec operation > => yes, it's the base point of our group > > > n,m are integers, hmmm ok, can you elaborate a little? If I'm trying to > > multiply two points i.e. p * ?? > > We have a elliptic curve G , a point on that curve g and we define an > operation '+' via the usual 'chord-tangent process' (normally called > addition) giving us a well defined group. n*p (where n is an integer > and p is a point on the curve) is defined in the obvious way: > n*p = /sum_{i=0}^n p. I guess you really want to have p + q > (p,q points on the curve) and not p*q. > > > is n, m properties of that other point? > > i.e. the x,y affine coordinates of that point? > > no, n and m are arbitrary integers > > > > EC_POINT_mul() is only another interface for EC_POINTs_mul() (see > > > crypto/ec/ec_lib.c). Btw: if you frequently use multiplications > > > where one point is the generator consider calling > > > EC_GROUP_precompute_mult(). > > > > Humm, EC_GROUP_precompute_mult(EC_GROUP, CTX) does not take a point as a > > parameter how do you specify the point you want multiplied by the > > g/generator/base point and where is the result stored? > > EC_GROUP_precompute_mult() precomputes multiples of the generator. > The precomputed values are stored in the EC_GROUP structure (in a > EC_EXTRA_DATA object, see crypto/ec/ec_mult.c). > > Regards, > Nils > ______________________________________________________________________ > OpenSSL Project http://www.openssl.org > User Support Mailing List [EMAIL PROTECTED] > Automated List Manager [EMAIL PROTECTED] ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]