C # RSA descifrado utilizando Bouncy Castle

Me dieron una cadena cifrada Codificada en Base64, que se cifró en Java usando Bouncy Castle. Ejemplo de fragmento de Java a continuación:

<code>Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, key.getPublic());
byte[] encryptedText = cipher.doFinal("xxxxx|xxxxx".getBytes("UTF-8"));
String encodedText = new BASE64Encoder().encode(encryptedText);
</code>

Necesito descifrar la cadena resultante usando Bouncy Castle, pero en C # me dieron un fragmento de código sobre cómo hacer esto en Java, pero no puedo convertir esto para C # (las razones son que estamos construyendo un sitio .net, y va a ser un iFrame dentro de un sitio Java. El sitio Java pasará a la cadena cifrada RSA al sitio .NET). Ejemplo de código Java para descifrar a continuación:

<code>Cipher cipherDec = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipherDec.init(Cipher.DECRYPT_MODE, key.getPrivate());
byte[] decodedText = new BASE64Decoder().decodeBuffer(encodedText);
byte[] decryptedText = cipherDec.doFinal(decodedText);
String finalValue = new String(decryptedText, "UTF-8");
</code>

He descargado los ejemplos dehttp://www.bouncycastle.org/csharp/ pero no parece haber un ejemplo de ingreso de un valor de cadena para ser cifrado, y luego pasa por el proceso de cifrado / descifrado.

Me han dado valores paramódulo, exponente publico, expontent privado, prime P, prime q, primer exponente p, primer exponente q ycoeficiente de crt.

He visto que puedo usar lo siguiente:

<code>IAsymmetricBlockCipher signer = new Pkcs1Encoding(new RsaEngine());
signer.Init(true, pubParameters);
</code>

Pero elsigner El objeto no parece tener los mismos métodos que los ejemplos de Java anteriores.

El único método que puedo usar es

<code>ProcessBlock(byte[] inbuf, int inOff, int inLen);
</code>

Pero no puedo ver cómo usar esto en mi contexto.

Cualquier ayuda aquí sería muy apreciada.

Respuestas a la pregunta(3)

Su respuesta a la pregunta