BouncyCastle RSA Implementation
Style  


Almost all the naming of the parameters and methods are good.  
RsaProcessor() sounds like a noun. Based on the naming guidlines you should use verbs or verb phrases to name your methods. Maybe a simple name like Process() would be sufficient here.  


In the RsaProcessor() method I would suggest to introduce as Boolean forEncryption. In this way the meaning of this line

_engine.Init(!key.IsPrivate, key);  

will be obvious.  

private byte[] Process(byte[] data, int offset, int length, AsymmetricKeyParameter key)
{
    Boolean forEncryption = !key.IsPrivate;

    _engine.Init(forEncryption , key);

    var blockSize = _engine.GetInputBlockSize();

    var result = new List&lt;byte&gt;();
    for (var i = offset; i &lt; offset+length; i += blockSize)
    {
        var currentSize = Math.Min(blockSize, offset + length - i);
        result.AddRange(_engine.ProcessBlock(data, i, currentSize));
    }
    return result.ToArray();
}


Otherwise your code seems to look good.  

Regarding your Unsure about the certinaty parameter See https://stackoverflow.com/a/3087161/2655508  


  The RSA key generation requires prime numbers. However, it's impossible to generate absolute prime numbers. Like any other crypto libraries, BC uses probable prime numbers. The certainty indicate how certain you want the number to be prime. Anything above 80 will slow down key generation considerably.