Windows 用于非基于SSL的签名和加密的硬件加速

Windows 用于非基于SSL的签名和加密的硬件加速,windows,encryption,hardware,hash,signing,Windows,Encryption,Hardware,Hash,Signing,我正在从事一个项目,该项目进行大量的散列、签名以及非对称和对称加密。由于这些步骤对我们的性能和可用负载有重大影响,我想知道是否有一个基于硬件的解决方案来卸载工作 我已经做了一些冲浪来找出答案,我能找到的唯一项目是专门用于基于SSL的通信。我需要一个更通用的解决方案,使我能够加快签名和加密,无论它发生在哪里 是否有可能调整这些基于SSL的解决方案(可能只是营销,在其他地方很容易重复使用)?是否有一个好的通用协处理器可以提供帮助 我需要在基于Windows Server 2008的机箱上安装此软件,

我正在从事一个项目,该项目进行大量的散列、签名以及非对称和对称加密。由于这些步骤对我们的性能和可用负载有重大影响,我想知道是否有一个基于硬件的解决方案来卸载工作

我已经做了一些冲浪来找出答案,我能找到的唯一项目是专门用于基于SSL的通信。我需要一个更通用的解决方案,使我能够加快签名和加密,无论它发生在哪里

是否有可能调整这些基于SSL的解决方案(可能只是营销,在其他地方很容易重复使用)?是否有一个好的通用协处理器可以提供帮助


我需要在基于Windows Server 2008的机箱上安装此软件,但我对任何平台上的解决方案都感兴趣。

我不确定这会有多大帮助,不过我看过一些关于使用图形硬件加速加密的论文


祝你好运。

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

如果您正在使用的算法是标准加密算法,如3DES和AES,那么肯定有可用的硬件。是最著名的,但也有一系列的芯片从他们的蓝钢收购数年前。还有一系列加密产品,不过当我上一次看到它们时(几年前),它们更关注安全密钥管理硬件,而不是块算法的加速

即使是为SSL设计的卡也可能对您有用,尽管您需要访问底层细节。SSL硬件的最大优势是指数运算器和宽乘法器单元,在我所知的硬件中,这两个单元通常可以独立访问。如果您使用的是非对称加密算法,那么这两个单元也可能对您有用

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


最后,未来的AMD(可能还有Intel)CPU将包括,它增加了对AES特别有用的指令。如果您能坚持到那时,您的下一次服务器升级可能会提供您需要的所有硬件支持。

最流行的硬件加密引擎包括在C3、C7和更高版本的处理器中。这些都是低性能、低功耗;但是(据推测)在加密算法上很容易超过Core2

Linux内核2.6.16及更高版本,适用于RNG、MD5、SHA1/256、SSL、GPG和其他标准产品。我不确定ssh


您提到了非SSL,因此您可能无法从现有代码中获益,但Via的网站提供了从用户空间使用它所需的文档。

在windows上,您希望找到一个具有支持MSCAPI、CAPING或PKCS的API的设备#11,第一个和最后一个都非常常见,但MSCAPI不支持硬件AES/3DES

nCipher(现在的泰雷兹)提供多个支持上述功能(并支持openssl)的机箱或PCI/PCIe卡,还支持其他平台,包括Linux和Solaris,Safenet也提供类似的硬件和类似的平台支持

如果一开始我会选择PKCS#11,那么您就可以选择好语言来编写,包括C或java

如果您想在C#/.Net中编写,那么可以使用.Net中的MSCAPI,也可以将PInvoke插入硬件的PKCS#11 DLL中