2012-05-08 149 views
2

我使用充氣城堡(C#/ vb.net版),併產生一個4096字節的RSA密鑰對在我的證書與此程序的使用方法:BouncyCastle,需要多長時間才能生成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奔騰DualCore上)。

由於我沒有太多的經驗(幾乎沒有真正的)與RSA和所有這些東西,我只是想問,如果是正常的,需要這麼長的時間來生成密鑰,或者如果我做錯了什麼事情。

在此先感謝!

+0

該代碼看起來類似於http://stackoverflow.com/questions/844997/encrypting-a-bouncycastle-rsa-key-pair-and-storing-in-a-sql2008-database中所見的密鑰生成我懷疑,只要它需要。你有沒有簡要介紹這些步驟,看看時間花在哪裏? –

+0

是的,我從那裏得到了代碼:D猜測除了等待之外,沒有其他解決方案了......可能我會異步調用方法,否則我的UI會凍結一分鐘......謝謝。 –

回答

1

在閱讀了關於RSA的一些理論之後,我可以確認代碼沒有問題,只需要很長時間就可以生成如此大的密鑰。