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(); 

Добро пожаловать в любые исправления или каким-либо другим способом сделать это

Другие вопросы по тегам