using System.Security.Cryptography;
public static void Main()
var rsa = new RSACryptoServiceProvider(2048);
var publicKey = rsa.ExportParameters(false);
var privateKey = rsa.ExportParameters(true);
string plainText="This is an example for asymmetric key.";
string encryptText=Encrypt(plainText,publicKey);
Console.WriteLine("Encrypted Text : "+encryptText);
string decryptText=Decrypt(encryptText,privateKey);
Console.WriteLine("Decrypted Text : "+decryptText);
public static string Encrypt(string data, RSAParameters rsaParameters)
using(var rsaCryptoServiceProvider = new RSACryptoServiceProvider())
rsaCryptoServiceProvider.ImportParameters(rsaParameters);
var byteData = Encoding.UTF8.GetBytes(data);
var encryptedData = rsaCryptoServiceProvider.Encrypt(byteData, false);
return Convert.ToBase64String(encryptedData);
public static string Decrypt(string cipherText, RSAParameters rsaParameters)
using(var rsaCryptoServiceProvider = new RSACryptoServiceProvider())
var cipherDataAsByte = Convert.FromBase64String(cipherText);
rsaCryptoServiceProvider.ImportParameters(rsaParameters);
var encryptedData = rsaCryptoServiceProvider.Decrypt(cipherDataAsByte, false);
return Encoding.UTF8.GetString(encryptedData);