C# Как создать пару ключей RSA из случайных чисел, сгенерированных с использованием PRNG
Я сгенерировал случайное число с помощью RNGCryptoServiceProvider. Следующее требование - сгенерировать частную, открытую пару ключей RSA, которую можно использовать для целей шифрования / дешифрования.
Как создать объект RSAParameters с использованием этого случайного числа, поскольку параметры RSA можно импортировать для создания объекта RSACryptoServiceProvider, который в конечном итоге будет использоваться для шифрования необработанных данных.
1 ответ
Вот как я преобразовал случайное число в пару секретный / открытый ключ, используя BouncyCastlelink
byte[] btRandomNumber = new byte[1000000];
using (RNGCryptoServiceProvider r = new RNGCryptoServiceProvider())
{
r.GetBytes(btRandomNumber);
}
int RsaKeySize = 1024;
Org.BouncyCastle.Security.SecureRandom secureRandom = new Org.BouncyCastle.Security.SecureRandom(btRandomNumber);
var keyGenerationParameters = new Org.BouncyCastle.Crypto.KeyGenerationParameters(secureRandom, RsaKeySize);
var keyPairGenerator = new Org.BouncyCastle.Crypto.Generators.RsaKeyPairGenerator();
keyPairGenerator.Init(keyGenerationParameters);
Org.BouncyCastle.Crypto.AsymmetricCipherKeyPair keyPair = keyPairGenerator.GenerateKeyPair();
Добро пожаловать в любые исправления или каким-либо другим способом сделать это