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

标签 windows encryption hardware hash signing

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

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

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

我需要在基于 Windows Server 2008 的机器上使用此功能,但我对任何平台上的解决方案都感兴趣。

最佳答案

如果您正在研究的算法是 3DES 和 AES 等标准加密算法,那么肯定有可用的硬件。 Hifn是最著名的,但是 Broadcom还拥有多年前收购 BlueSteel 的一系列芯片。 nCipher也有一系列加密产品,尽管当我上次看到它们时(几年前),他们更关注安全 key 管理硬件而不是 block 算法的加速。

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

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

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

关于windows - 用于非基于 SSL 的签名和加密的硬件加速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/194869/

相关文章:

php - 在 Ruby 中解密 PHP MCRYPT_RIJNDAEL_256

c++ - 表示硬件设备的适当类结构

c - 如何正确初始化Raspberry?

c++ - 按住滚动条获取命令提示符以在 Windows 中暂停

php - 用PHP远程查询WMI

java - 是否可以从 Java 访问 Windows ESE?

iphone - ShareKit加密应用提交

windows - 在其他机器上运行C++程序

windows - 根据结果​​将批处理文件输出到文本文件

java - Android加密 "pad block corrupted"异常