使用GPU进行加密硬件加速

时间:2012-08-08 03:10:18

标签: encryption cuda openssl hardware

是否有人在生产中使用基于Nvidia CUDA的解决方案进行SSL / AES加速? 我对SSL卸载和AES加密/解密加速感兴趣。

我发现很少有像engine-cuda这样的开源解决方案。 Benchmarks are pretty impressive。 但我仍然怀疑它是否适用于真正的生产系统。

可能的缺点是:

  • 第三方开源解决方案还不够成熟,不能用于生产
  • 它不如合成测试那么有效
  • 它很容易与脚本语言集成,或者我将被迫分叉openssl

2 个答案:

答案 0 :(得分:6)

我不使用CUDA进行加速,但我不认为AES是您应该在SSL中优化的算法。 AES的设计在软件方面非常高效,而最新的英特尔处理器甚至可以specialized instructions完全在硬件中执行全面的AES。

此外,一些recent attacks也推动了许多网站将首选密码套件从AES切换到RC4,而RC4在软件中的速度更快。

在SSL中,最耗时的操作历来始终是服务器在初始握手期间必须执行的RSA私钥解密以及大多数密码套件。这是导致90年代后期市场上出现如此众多的电子商务网站硬件加速器的原因之一。软件中的RSA解密非常慢,这限制了每个网站可以承受的负载,即每秒的TCP / SSL连接数。

据我所知,这个主题有一些academic research。 GPU可以有效地加速RSA(或更准确地说,大整数的模幂运算),但不是一个令人惊讶的大因子。此外,根据您拥有的图形卡型号,延迟也可能是一个问题。我找不到很多用于在GPU中执行RSA的开源软件,更不用说集成到像openssl这样的SSL堆栈中的任何一个。

答案 1 :(得分:0)

有证据表明严重加密不应使用英特尔和威盛芯片提出的硬件加密指令。在Snowden泄漏之后,这些硬件产生的随机数可能会降低熵,因此声称不安全!有关详细信息:http://bit.ly/IDkRVq