RSA example that do not use NoPadding

Posted by Tom Brito on Stack Overflow See other posts from Stack Overflow or by Tom Brito
Published on 2010-04-05T19:06:56Z Indexed on 2010/04/05 19:33 UTC
Read the original article Hit count: 373

Filed under:
|
|
|

Where can I find a RSA encrypt example that does not use "NoPadding"?

--update

Better: how to make this code run correctly without throw the "too much data for RSA block" exception?

import java.math.BigInteger;
import java.security.KeyFactory;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.RSAPrivateKeySpec;
import java.security.spec.RSAPublicKeySpec;

import javax.crypto.Cipher;

/**
 * Basic RSA example.
 */
public class TestRSA {

    public static void main(String[] args) throws Exception {

    byte[] input = new byte[100];

    Cipher cipher = Cipher.getInstance("RSA/None/NoPadding", "BC");
    KeyFactory keyFactory = KeyFactory.getInstance("RSA", "BC");

    // create the keys

    RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(new BigInteger("d46f473a2d746537de2056ae3092c451",
        16), new BigInteger("11", 16));
    RSAPrivateKeySpec privKeySpec = new RSAPrivateKeySpec(new BigInteger(
        "d46f473a2d746537de2056ae3092c451", 16), new BigInteger("57791d5430d593164082036ad8b29fb1",
        16));

    RSAPublicKey pubKey = (RSAPublicKey) keyFactory.generatePublic(pubKeySpec);
    RSAPrivateKey privKey = (RSAPrivateKey) keyFactory.generatePrivate(privKeySpec);

    // encryption step

    cipher.init(Cipher.ENCRYPT_MODE, pubKey);

    byte[] cipherText = cipher.doFinal(input);

    // decryption step

    cipher.init(Cipher.DECRYPT_MODE, privKey);

    byte[] plainText = cipher.doFinal(cipherText);

    }
}

© Stack Overflow or respective owner

Related posts about java

Related posts about security