针对基于非SSL的签名和encryption的硬件加速

我正在做一个项目,做大量的哈希签名,以及非对称和对称encryption。 由于这些步骤对我们的性能和可用负载有显着影响,所以我想知道是否有基于硬件的解决scheme来卸载工作。

我已经做了一些上网查找,唯一可以find的项目是致力于基于SSL的通信。 我需要一个更通用的解决scheme,使我能够加快签名和encryption,无论它在哪里发生。

是否有可能适应这些基于SSL的解决scheme(也许这只是市场营销,很容易在其他地方重复使用)? 有没有一个好的通用协处理器可以帮忙?

我需要这个基于Windows Server 2008的盒子,但是我会对任何平台上的解决scheme感兴趣。

如果你正在使用的算法是标准的加密算法,如3DES和AES,肯定有硬件可用。 Hifn是最知名的,但Broadcom在几年前也收购了BlueSteel的一系列芯片。 nCipher也有一系列的加密产品,但是当我最后一次查看它们时(几年前),他们更关注于安全密钥管理硬件,而不是块加密算法。

甚至为SSL设计的卡可能对您有用,但您需要访问低级别的详细信息。 SSL硬件最大的胜利是一个指数乘法器和宽倍数单元,这两个单元通常可以在我所知的硬件中独立访问。 如果你使用的是非对称加密算法,这两个单元对你来说可能也是有用的。

您还应该检查是否有更高效的软件实现。 例如,Dan Bernstein和Peter Schwabe于2008年9月发表了一篇关于优化现代CPU的AES的论文。 软件的实施已经被放置在公共领域(即,不承认所有的版权,不管你喜欢使用它)。

最后,未来的AMD(也可能是英特尔)CPU将包括SSE5 ,它增加了对AES特别有用的指令。 如果你能坚持下去,那么你的下一次服务器升级可能会提供你所需要的所有硬件支持。

我不知道这将是多么有帮助,但是我已经看到一些文章处理使用图形硬件加速加密

继承人快速谷歌搜索

祝你好运。

有几家公司生产密码专用硬件。 例如,我最近在用于处理卡上AES(并支持许多其他加密算法)的nCipher硬件设备的应用程序中编写了支持。 它们并不便宜,但它们确实支持各种算法和操作模式。

VIA Padlock是最受欢迎的硬件加密引擎,包含在C3,C7和更高版本的处理器中。 这些是低性能,低功耗的; 但(据说)在加密算法上轻松胜过Core2。

Linux内核2.6.16和更高版本包括支持 RNG,MD5,SHA1 / 256,SSL,GPG和其他标准的东西。 我不确定ssh。

你提到非SSL,所以你可能不会从现有的代码中受益,但是Via的站点有从用户空间使用它的文档。

在Windows上你想找到一个支持MSCAPI,CAPING或者PKCS#11的API的设备,第一个和最后一个都是很常见的,但MSCAPI却不支持硬件AES / 3DES。

nCipher(现在的泰雷兹)做几个支持上述(并支持openssl)的盒子或者PCI / PCIe卡,并且还支持其他包括Linux和Solaris的平台,Safenet也有类似的平台支持。

如果我刚开始,我会选择PKCS#11,然后你可以选择很好的语言来编写C或java。

如果你想在C#/ .Net中编写,那么你可以使用.Net中的MSCAPI,或者你可以将PInvoke转换成你的硬件的PKCS#11 DLL。