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; > >
