针对C#或C的高性能RSA实现

时间:2010-07-20 10:26:14

标签: c# c performance rsa rsacryptoserviceprovider

我有一个执行许多RSA签名操作的Web服务。我使用.net的CryptograhyProvider。这使用了Windows中的非托管CyptoAPI。

我经常遇到这个错误:

  

System.Security.Cryptography.CryptographicException:Der RPC-Server   istfürdiesenVorgang zu stark ausgelastet。 [= rpc服务器也是   忙着完成交易]

     

贝   System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(的Int32   hr)bei   System.Security.Cryptography.Utils._ImportKey(SafeProvHandle hCSP,   Int32 keyNumber,CspProviderFlags标志,对象cspObject,   SafeKeyHandle&安培; hKey)bei   System.Security.Cryptography.RSACryptoServiceProvider.ImportParameters(RSAParameters   参数)

我宁愿将DLLImport的RSA签名操作替换为高性能RSA C实现,而不是试图解决这个问题。

有人知道一个还是可以推荐一个?

OpenSSL比MS CryptoApi更快吗? 我还怀疑加载密钥可能会导致严重的开销。

谢谢!

3 个答案:

答案 0 :(得分:3)

我会推荐OpenSSL,但我不知道与MS CryptoAPI的比较。它的使用和文档简单,以及示例源代码。

检查API here的详细说明。

答案 1 :(得分:2)

您可能还想考虑NSSThis已有2年历史,但仍值得一试。

答案 2 :(得分:1)

http://www.cryptopp.com/ 可能是一个很好的图书馆。

它用于此速度测试: http://www.cryptopp.com/benchmarks.html

不幸的是,没有可用的OpenSSL进行比较