Thank you for your answer but, I'm sorry, my question was very badly asked.

What I want to do is to perform just the second step of a RSA signature
generation : encrypting a hashcode (generated by another mean, let's say for
example I have a SHA-1 digest of 20 bytes) with a private RSA key. In PKCS
this operation is called RSASP1(private key, message representative). 
Basically I think I just need to compute m**d mod n, where (n,d) is the
private RSA key, but I can't find a way to do this directly with CrytoPP
without using a RSA Signer class. RSAES_PKCS1v15_Encryptor is not more
useful since it uses a public key. 
Do I have to use InvertibleRSAFunction.CalculateInverse() ? I tried the
following code, which seems wrong because the signature length is said to be
incorrect when verifying :

        RSA::PrivateKey privkey;
        FileSource PrivKeyFile(PrivKeyFilename, true, new HexDecoder);
        privkey.Load( PrivKeyFile);

        // byte * pHashData pointing to the hashcode 

        Integer IHash( pHashData , HashLength );
        std::string str ;
        AutoSeededRandomPool rng;
        privkey.CalculateInverse(rng, IHash).DEREncode( HexEncoder(new
StringSink(str) ));

I'm not sure about the use of the Integer, neither about CalculateInverse...
Thanks in advance for any help.

Regards,
C�dric


-----Message d'origine-----
De: Jens Peter Secher [mailto:[EMAIL PROTECTED]
Date: mardi 22 juillet 2003 11:13
�: [EMAIL PROTECTED]
Objet: Re: Encipher short string with private key


[EMAIL PROTECTED] writes:

> BTW, can anyone tell me how to encipher a short string with a *private*
key

Look at the Rabin and RW tests in validate2.cpp (only Crypto++ version
5.1).  For these algorithms, the size of the signature from which one
can recover a message is

        min { m + 2h + 16 , k } bits

where m = message bits, h = hash bits, and k = key size in bits.  So if
you want very small signatures, you need to use small keys and small
hash functions.
-- 
                                                      Jens Peter Secher
 _jpsecher get2net dk DD6A 05B0 174E BFB2 D4D9 B52E 0EE5 978A FE63 E8A1_

Reply via email to