Шифрование RSA путем предоставления модуля и показателя степени

Я создаю приложение C# Winforms, которое отправляет данные на сервер по протоколу HTTPS.

Механизм входа в систему должен быть таким:

  1. Я отправляю имя пользователя на сервер, он отвечает rsa-модулем и rsa-экспонентой

  2. Я шифрую пароль, используя эти заданные параметры, и отправляю имя пользователя + пароль к серверу для аутентификации

Я попробовал класс RSACryptoServiceProvider, но не могу найти образцы или что-либо, что говорит о , как мы можем выполнить шифрование, используя заданный модуль и показатель степени?.

Я думаю, что без указания каких-либо значений он использует параметры шифрования по умолчанию..

Так что, если кто-то делал это раньше, может ли он дать мне несколько советов, пожалуйста? спасибо

ОБНОВЛЕНИЕ : по предложению г-на Карстена Конига, . Я пытался сделать это с помощью RSAParameters и RSA.ImportParameters, но он возвращает ошибку «BAD DATA» с криптографическим исключением. Мой код приведен ниже.

Я также пробовал RSA.FromXmlString(mykey); (где mykeyсодержит строку xml с модулем и выражением), но я также получаю ошибку "BAD DATA" с криптографическим исключением...любая идея кто-нибудь? или, если это какая-то ошибка Microsoft, может ли кто-нибудь предложить какую-нибудь другую приличную библиотеку, чтобы сделать это легко?

RSAParameters rsaparam = new RSAParameters(); 
rsaparam.Modulus = modbytes; 
rsaparam.Exponent = expbytes; 
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider() ; 
RSA.ImportParameters(rsaparam); 
byte[] encryptedData = RSA.Encrypt(dataToEncrypt, false)
7
задан Bob2Chiv 27 March 2012 в 18:04
поделиться