Criptografia RSA, grandes blocos

Olá, pessoal.

Estou com um problema para criptografar dados usando Cipher.getInstance(“RSA/ECB/PKCS1Padding”)

Como minha chave é de 1024 bits, só aceita criptografar blocos de até 127 bytes. :roll: Alguém sabe trabalhar com blocos maiores sem ter que aumentar a chave ? Ou terei mesmo que criar uma técnica própria para isso ?

Thanks :wink:

[code]
// data -> String com os dados (maior do que 117 bytes)
// pub -> PublicKey (RSA)

Cipher encCipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
encCipher.init(Cipher.ENCRYPT_MODE,pub);

ByteArrayOutputStream outBuf = new ByteArrayOutputStream();
CipherOutputStream cipherOUT = new CipherOutputStream( outBuf, encCipher );

int maxBlockSize = 117;
int totalSize = data.getBytes().length;
for( int i=0; i<totalSize; i += maxBlockSize ) {
int blockSize = maxBlockSize;
if( totalSize - i < blockSize ) {
blockSize = totalSize - i;
}
cipherOUT.write(data.getBytes(),i,blockSize);
}
cipherOUT.close();
[/code][/code]