You can do this using a SignerFilter object, or using the NewSignatureAccumulator() and Sign() functions of the Signer class instead of the SignMessage() function. (SignerFilter basically does the latter for you.) For verification, use VerifierFilter.
// untested sample code RSASS<PKCS1v15, SHA>::Signer priv; // initialize priv with key here std::string sig; SignerFilter f(rng, priv, new StringSink(sig)); f.Put(part1, length1); f.Put(part2, length2); // ... f.MessageEnd(); // sig now contains the signature -------------------------------------------------- From: "Cyptmon" <[EMAIL PROTECTED]> Sent: Sunday, October 21, 2007 12:32 PM To: "Crypto++ Users" <[EMAIL PROTECTED]> Subject: Re: RSA and SHA-1 speeds > > Is there a way to calculate the message digest using a chained > approach, wherein, I calculate the hash of data 512 bits at a time, > use this hash as an IV for the next round and finally get the hash of > the large chunk of data. At any time I do not want to be working on > more than 512 bits of data. Can I get this digest and then sign it > and subsequently verify it ? Or do we always have to pass the entire > data to the Signer class? > > On Oct 17, 5:43 pm, Cyptmon <[EMAIL PROTECTED]> wrote: >> Thanks everyone >> >> I had yet another question >> >> Say I use SHA-256 for computing the hash for verifying the signature. >> The data I need to sign is nearly 30MB, I just want to be sure that >> the implementation follows an incremental hash sort of a thing, >> wherein, the hash of one 512 bit block feeds to the next computation >> as the IV. Am I right on this? >> >> Thanks >> >> On Oct 11, 3:44 pm, "Jeffrey Walton" <[EMAIL PROTECTED]> wrote: >> >> > Hi Cyptmon, >> >> > > I get the private exponent as 1024 bits, the public >> > > exponent is the smaller one and it is 17 always. >> >> > You are interpreting incorrectly: 1024 is the size of the modulous. 17 >> > is the Public Exponent. >> >> > See the dump keys example athttp://www.cryptopp.com/wiki/RSA >> >> > > PS: I hope GenerateRandomWithKeySize >> >> > One possible way to generate keys... >> >> > Jeff >> >> > On 10/11/07, Cyptmon <[EMAIL PROTECTED]> wrote: >> >> > > Thanks for the replies, I am sorry I made a mistake, I get the >> > > private >> > > exponent as 1024 bits, the public exponent is the smaller one and it >> > > is 17 always. Why is it always 17 irrespective of the key size that I >> > > specify? >> >> > > Isnt the public key chosen as something that is relatively prime to >> > > Totient function of n (Phi (n ) where n is p * q) >> >> > > Thanks >> >> > > PS: I hope GenerateRandomWithKeySize is the right function to use to >> > > generate different sized keys for RSA as directed by the second >> > > argument passed to it >> >> > > [ SNIP ] > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [EMAIL PROTECTED] More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~---
