最流行的硬件加密引擎是 威盛挂锁 ,包含在C3,C7和更高版本的处理器中。这些是低性能,低功耗;但是(据说)在加密算法上容易胜过Core2。
Linux内核2.6.16及更高版本 包括支持 适用于RNG,MD5,SHA1 / 256,SSL,GPG等标准配件。我不确定ssh。
您提到非SSL,因此您可能无法从现有代码中受益,但Via的站点具有从用户空间使用它所需的文档。
如果您正在使用的算法是3DES和AES等标准加密算法,那么肯定有可用的硬件。 Hifn公司 是最知名的,但是 博通 几年前,BlueSteel还收购了一系列芯片。 nCipher的 还有一系列加密产品,虽然最后我看过它们(多年前),他们更关注他们的安全密钥管理硬件,而不是加速块算法。
即使是为SSL设计的卡也可能对您有用,但您需要访问低级别的详细信息。 SSL硬件的最大胜利是一个指数器和宽乘法器单元,这两个单元通常可以在我所知的硬件中独立访问。如果您使用非对称加密算法,这两个单元也可能对您有用。
您还应该检查是否有更高效的软件实现。例如,Dan Bernstein和Peter Schwabe 发表 2008年9月关于优化现代CPU的AES的论文。软件实现已置于公共领域(即拒绝所有版权,无论您喜欢如何使用它)。
最后,未来的AMD(可能还有英特尔)CPU将包含 SSE5 ,它添加了对AES特别有用的指令。如果您可以坚持到那时,您的下一次服务器升级可能会提供您需要的所有硬件支持。
我不确定这会有多大帮助,但是我看过一些关于使用图形硬件来加速加密的论文
这是一个快速的谷歌搜索
祝好运。
有几家公司生产加密专用硬件。例如,我最近在一个nCipher硬件设备的应用程序中编写了支持,该设备在卡上处理AES(并支持许多其他加密算法)。它们并不便宜,但它们支持各种算法和操作模式。
在Windows上,您希望找到具有支持MSCAPI,CAPING或PKCS#11的API的设备,第一个和最后一个都很常见,但MSCAPI不支持硬件AES / 3DES。
nCipher(现在是Thales)做几个支持上述(并支持openssl)的盒子或PCI / PCIe卡,并且还支持包含Linux和Solaris的其他平台,Safenet也使用类似的平台支持做类似的硬件。
如果我开始我会选择PKCS#11,那么你可以选择用C或java编写的语言。
如果你想用C#/ .Net写,那么你可以使用.Net的MSCAPI,或者你可以为你的硬件PInvoke进入PKCS#11 DLL。