Для початку нам потрібно отримати відкритий і закритий ключі, далі їх потрібно десь зберегти для подальшої роботи.

Потім взяти потрібні дані, конвертувати їх в масив байтів і зашифрувати Ну а потім розшифрувати. Власне відкритим ми шифруємо, закритим дешіфруем. Власне ось приклад коду який все ілюструє

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            RSACryptoServiceProvider RsaKey = new RSACryptoServiceProvider();
            string publickey = RsaKey.ToXmlString (false); // отримаємо відкритий ключ
            string privatekey = RsaKey.ToXmlString (true); // отримаємо закритий ключ
 
            
 
            File.WriteAllText("private.xml", privatekey, Encoding.UTF8);
            File.WriteAllText("public.xml", publickey, Encoding.UTF8);
 
 
            byte[] EncryptedData;
            byte[] data = new byte[1024];
            data = Encoding.UTF8.GetBytes("Hello");
            EncryptedData = RsaKey.Encrypt(data, false);
 
 
            byte[] DecryptedData = new byte[1024];
            DecryptedData = RsaKey.Decrypt(EncryptedData, false);
 
 
            RSACryptoServiceProvider RsaKey_n = new RSACryptoServiceProvider();
            RsaKey_n.FromXmlString(publickey + privatekey); // можна використовувати тільки відкритий ключ, або пару відкритий і закриті
            DecryptedData = new byte[1024];
            DecryptedData = RsaKey.Decrypt(EncryptedData, false);
 
 
            Console.Read();
        }
     }       
}