Hi Bill, It appears Wei is on sabbatical (though he is good about bouncing in). 4.2, is a bit old - so Wei generally has the quick fixes for it - I'm not that versed.
Jeff ----- Original Message ----- From: "Bill Shanahan" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Tuesday, October 18, 2005 7:59 PM Subject: RE: Upgrading ElGamalSig... functions > > I've made a little progress. Instead of trying to upgrade to 5.2, I > tried 4.2 instead. This was much more obvious. In this case the > classes I was looking for are "NRDigestVerifier" and "NRDigestSigner". > In these two classes the accessor functions have been renamed from > > GetPrime() > GetParameterQ() > GetParameterG() > GetParameterY() > GetParameterX() > > to > > GetModulus() > GetSubgroupSize() > GetGenerator() > GetPublicResidue() > GetPrivateExponent() > > When I make those changes, everything works great. > > But now my challenge is that the two classes NRDigestVerifier and > NRDigestSigner disappear from crypto++ in version 5.0. It looks like > I'm supposes to use something along the lines of "NR<SHA>::Signer" and > "NR<SHA>::Verifier". But those classes take different arguments to > their constructors, and don't have the same accessors. > > Help? > > > > > -----Original Message----- > From: Bill Shanahan [mailto:[EMAIL PROTECTED] > Sent: Friday, October 07, 2005 1:46 PM > To: [email protected] > Subject: Upgrading ElGamalSig... functions > > 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. > > > > >
