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

Reply via email to