I was looking to elliptic curve manual at 
https://cryptopp.com/wiki/Elliptic_Curve_Cryptography
In this, they mention "The code below shows you how to exponentiate, 
multiple and add using the lower level primitives over secp256r1."

typedef DL_GroupParameters_EC<ECP> GroupParameters;

    typedef DL_GroupParameters_EC<ECP>::Element Element;

    AutoSeededRandomPool prng;    
    GroupParameters group;
    group.Initialize(ASN1::secp256r1());

    // private key
    Integer x(prng, Integer::One(), group.GetMaxExponent());
        
    // public key
    Element y = group.ExponentiateBase(x);
    
    // element addition
    Element u = group.GetCurve().Add(y, ECP::Point(2,3));

    // scalar multiplication
    Element v = group.GetCurve().ScalarMultiply(u, Integer::Two());


What is the difference between exponentiation and multiplication? I am also 
confused as one operation is done on the curve and the operation is done in 
the group.
After creating group variable, is there a function to get the base point (I 
want to the base to which x is being exponentiated)? 

-- 
You received this message because you are subscribed to "Crypto++ Users". More 
information about Crypto++ and this group is available at 
http://www.cryptopp.com and 
http://groups.google.com/forum/#!forum/cryptopp-users.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/cryptopp-users/c185e908-0574-4698-a66e-c026f8c855fa%40googlegroups.com.

Reply via email to