private void EncryptDecrypt (string msg, RSAManaged rsa)
{
RSAParameters param = rsa.ExportParameters (false);
byte[] data = { 0xFF, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13 };
// we don't need the private key to encrypt
RSAManaged pubkey = new RSAManaged ();
pubkey.ImportParameters (param);
byte[] enc = pubkey.EncryptValue (data);
byte[] dec = rsa.DecryptValue (enc);
// note: the decrypted value is now right padded with zeros
Assert.IsTrue (BitConverter.ToString (dec).EndsWith (BitConverter.ToString (data)), msg);
}