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

Reply via email to