使用GPU进行加密硬件加速

Ser*_*sky 6 hardware encryption openssl cuda

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

我发现很少有像engine-cuda这样的开源解决方案.基准非常令人印象深刻.但我仍然怀疑它是否适用于真正的生产系统.

可能的缺点是:

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

Squ*_*ree 6

我不使用CUDA进行加速,但我不认为AES是您应该在SSL中优化的算法.AES的设计在软件方面非常高效,最新的英特尔处理器甚至还有专门的指令,可以在硬件中完全实现全面的AES.

此外,最近的一些攻击也促使许多站点将首选密码套件从AES切换到RC4,而RC4在软件中的速度更快.

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

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

  • 你似乎错过了[SSLShader](http://shader.kaist.edu/sslshader/sslshader.pdf),它有一个已发表的[工作库实现](http://shader.kaist.edu/sslshader/libgpucrypto/) (2认同)