Создайте объект RSACryptoServiceProvider с предпочитаемым размером ключей (512/1024/2048 ...):
int keySize = 1024;
m_ServiceProvider = new RSACryptoServiceProvider(keySize);
Или используйте размер по умолчанию:
m_ServiceProvider = new RSACryptoServiceProvider();
Затем используйте ExportParameters, чтобы получить то, что вам нужно, в байтовом массиве, например, чтобы получить часть модуля использования открытого ключа:
byte[] publicModulus = m_ServiceProvider.ExportParameters(true).Modulus;
Я передал истинное значение в ExportParameters, потому что вы хотели получить доступ к параметрам личного ключа.
и тогда вам нужно только преобразовать байтовый массив в строку:
string publicModulusStr = Convert.ToBase64String(modulus);
Позже, когда вы захотите прочитать из web.config и воссоздать объект RSACryptoServiceProvider, создайте объект RSAParameters с текстом, который вы сохранили в файле, а затем передайте RSAParameters конструктору RSACryptoServiceProvider.
И просто примечание: файл web.config, который вы сохраняете, должен быть очень закрытым, поскольку вы храните свои личные ключи внутри.