C# BouncyCastle,生成RSA密钥对需要多长时间?

C# BouncyCastle,生成RSA密钥对需要多长时间?,c#,vb.net,bouncycastle,C#,Vb.net,Bouncycastle,我正在使用Bouncy Castle(c#/vb.net版本)并生成一个4096字节的RSA密钥对,以便在证书中使用此例程: Public Shared Function GenerateRSAKeypair(keylength As Integer) As AsymmetricCipherKeyPair Dim r As New RsaKeyPairGenerator() r.Init(New KeyGenerationParameters(New SecureRandom()

我正在使用Bouncy Castle(c#/vb.net版本)并生成一个4096字节的RSA密钥对,以便在证书中使用此例程:

Public Shared Function GenerateRSAKeypair(keylength As Integer) As AsymmetricCipherKeyPair
    Dim r As New RsaKeyPairGenerator()
    r.Init(New KeyGenerationParameters(New SecureRandom(), keylength))
    Dim keys As AsymmetricCipherKeyPair = r.GenerateKeyPair()
    Return keys
End Function
这个过程工作正常,但是需要很长时间,最多一分钟(我使用的是2.4ghz奔腾双核)

由于我对RSA和所有这些东西没有太多经验(几乎没有),我只想问一下,生成密钥花费这么长时间是正常的,还是我做错了什么


提前谢谢

在阅读了有关RSA的一些理论之后,我可以确认代码没有问题,生成这么大的密钥只需要这么长的时间。

代码看起来与中看到的密钥生成类似,因此我怀疑这就是所需的时间。你有没有分析过这些步骤来看看时间花在了哪里?是的,我从那里得到了代码:我想除了等待之外没有别的解决办法了。。。可能我会异步调用该方法,否则我的UI会冻结一分钟。。。谢谢