The crypto++ library that our software links with is, well,
embarrassingly old -- 2.3.  We are trying to fix that.  The main problem
I am having right now is that I can't figure out how to duplicate the
functionality of the ElGamalSigPrivateKey and ElGamalSigPublicKey
classes.  Specifically, we have been constructing them like

ElGamalSigPrivateKey:
mpPrivateKey = new ElGamalSigPrivateKey( GetRNG(), mKeyBits );

ElGamalSigPublicKey:
mpPublicKey = new ElGamalSigPublicKey(*mpPrivateKey );

And serializing them (separately) like

ElGamalSigPrivateKey:

p = mpPrivateKey->GetPrime();
q = mpPrivateKey->GetParameterQ();
g = mpPrivateKey->GetParameterG();
y = mpPrivateKey->GetParameterY();
x = mpPrivateKey->GetParameterX();

ElGamalSigPublicKey:
p = mpPublicKey->GetPrime();
q = mpPublicKey->GetParameterQ();
g = mpPublicKey->GetParameterG();
y = mpPublicKey->GetParameterY();

And finally reconstructing them like

new ElGamalSigPrivateKey( p, q, g, y, x );

new ElGamalSigPublicKey( p, q, g, y );

In order to maintain backward compatibility, I need to be able
accomplish the equivalent with the 5.2 version of crypto++.  But I
haven't been able to figure out what classes to instantiate to do that.
If somebody could give me some guidance, I will probably be able to
figure out the ElGamalCrypto... stuff myself.  Thanks for your help.


Reply via email to