Hi Jeff,

I'm still struggling to solve this.
How to specify No Padding usage using Cryptopp?
Because i want to encrypt the data with length is the same with
modulus length.
As far as i know, in Cryptopp there're only 2 typedef option which can
be used, but all of these classes uses Padding..

typedef RSAES<PKCS1v15>::Decryptor RSAES_PKCS1v15_Decryptor;
typedef RSAES<PKCS1v15>::Encryptor RSAES_PKCS1v15_Encryptor;

typedef RSAES<OAEP<SHA> >::Decryptor RSAES_OAEP_SHA_Decryptor;
typedef RSAES<OAEP<SHA> >::Encryptor RSAES_OAEP_SHA_Encryptor;

Please help me regarding this.

Thanks

Leo

On Feb 9, 4:37 pm, Jeffrey Walton <[email protected]> wrote:
> On Feb 9, 4:33 am, Jeffrey Walton <[email protected]> wrote:
>
> > On Feb 8, 5:42 am, Leo Mifare <[email protected]> wrote:
>
> > > Hi friends..
>
> > > i'm really confused how to encrypt data using PrivateKey , NO Padding, and
> > > Decrypt it using PublicKey.
> > > Hmm, actually i can solve this problem easily using Java..
> > > But i want implement the process in my C++ application..
>
> > > *Snippet Code :*
> > >         byte[] inputEncryption =
> > > ByteUtils.StringToHex("@ABCDEFGHIJKLMNO@ABCDEFGHIJKLMNO
> > > @ABCDEFGHIJKLMNO@ABCDEFGHIJKLMNO");
>
> > > //404142434445464748494A4B4C4D4E4F404142434445464748494A4B4C4D4E4F404142434­­445464748494A4B4C4D4E4F404142434445464748494A4B4C4D4E4F
>
> > >         Cipher rsaCipher2 = Cipher.getInstance("RSA/None/NoPadding");
> > >         RSAPublicKey myPubKEY = (RSAPublicKey)
> > > KeyFactory.getInstance("RSA").generatePublic(rsaPublicKeySpec);
> > >         RSAPrivateKey myPrivKEY = (RSAPrivateKey)
> > > KeyFactory.getInstance("RSA").generatePrivate(rsaPrivateKeySpec);
> > >         rsaCipher2.init(Cipher.ENCRYPT_MODE, myPrivKEY);
> > >         byte[] output = rsaCipher2.doFinal(inputEncryption);
> > >         System.out.println("OUTPUT Encryption = " +
> > > ByteUtils.HexToString(output));
>
> > >         rsaCipher2.init(Cipher.DECRYPT_MODE, myPubKEY);
> > >         output = rsaCipher2.doFinal(output);
> > >         System.out.println("OUTPUT = " + ByteUtils.HexToString(output));
>
> > > *Snippet Console Output :*
> > > RSA Private Key Modulus =
> > > 00A9C985E853C94ADDA1969486896B657257580E695C7C92AC891DCB4041C8552F6F30CC9B7­­CA97C1213E31C8C8985EFB475B5572B73BE4446077AC31E614DFA67
> > > RSA Private Key Exponent =
> > > 00806DDC69997F28AF2EFC7D0AAB45DE6DB81DF680C221C4BCD7D6FE987369FAEC73CB964D6­­E3F5C87BE3DBE8FE034FC96D13940E51EC4D82B791E84B334C951B9
> > > Encrypted Data =
> > > 903B72E6DA4BEB674670A7723E17CFE6D6CC0939BD4CD43166B49A10194B3AC08F3433C1CF2­­484CC25C233AEA9A958DBF128AA19D8555BD87BA618E497B414B9
> > > Decrypted Data =
> > > 404142434445464748494A4B4C4D4E4F404142434445464748494A4B4C4D4E4F40414243444­­5464748494A4B4C4D4E4F404142434445464748494A4B4C4D4E4F
>
> > > How to achieve that using Cryptopp
>
> > > Please help me regarding this..
>
> > > Sorry i'm pretty new in this field..
>
> > The other folks are pretty much spot on regarding the 'encrypt with
> > private key'. The public exponent (e) is generally 3, 17, or 65537.
> > The private exponent (d) has a relationship to the public exponent
> > (ie, the trap door). The relationship is e*d === 1 mod (PHI(n)).
> > Anyway, you could swap 'e' and 'd' and things would still work. You
> > could also select any {e,d} pair that satisifies the congruence. But
> > its not recommended.
>
> > Since you have you modulus, pub and prv exponent, package them into a
> > key manually. You will be interested in the 'Initialize' function of
> > RSA::PublicKey and RSA::PrivateKey. Seehttp://www.cryptopp.com/wiki/Rsa.
>
> Actually, this is the page for loading the 
> keys:http://www.cryptopp.com/wiki/RSA_Signature_Schemes. See 'RSA Signature
> Generation Given d and n' and 'RSA Signature Verification Given e and
> n'. After loading the keys, encrypt/decrypt rather than sign/verify.
>
> Jeff

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