You need to call GetSubgroupGenerator() on the parameters object for the 
base point.

On Tue, Apr 06, 2004 at 03:15:48PM +0200, Hendrik Brandenburger wrote:
> Hello all,
> i am writing an application, with a few crypto-libraries.
> In this application i must transfer ECDSA-Keys from the Crypto++ library 
> to another library. To achieve this, i read out the key parameter like 
> cofactor, field, group order,  the curve parameters a and b, etc. But, 
> and this is my problem, i can't figure out how i can get the base point 
> G out of the private Key. I am using Crypto++ 5.1. Please, can someone 
> explain this to me?
> Below is my test code so you can see what i mean.
> 
> Thanks
> Hendrik
> 
> CryptoPP::DL_PrivateKey_EC<CryptoPP::ECP>* privKey = new      
>       CryptoPP::DL_PrivateKey_EC<CryptoPP::ECP>;
> CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP> parameter =
>         
> CryptoPP::DL_GroupParameters_EC<CryptoPP::ECP>(CryptoPP::ASN1::secp192r1());
> privKey->Initialize(random_pool, parameter);
> std::cout <<  std::hex << parameter.GetGroupOrder() << std::endl;
> std::cout << std::hex << parameter.GetCofactor() << std::endl;
> std::cout << std::hex << parameter.GetMaxExponent() << std::endl;
> CryptoPP::ECP curve = parameter.GetCurve();
> std::cout << std::hex << curve.GetA() << std::endl;
> std::cout << std::hex << curve.GetB() << std::endl;
> std::cout << std::dec << curve.FieldSize() << std::endl;
> std::cout << std::dec << curve.GetField().GetModulus() << std::endl;
> 
>  

Reply via email to