使用CUDA的AES解密

问题描述:

对于我正在开发的一个项目,我应该暴力破解AES加密的密文给予一部分密钥。密文的其余密钥空间是2^40。我想运行使用CUDA的解密(划分通过GPU核心的密钥空间),但我似乎无法找到合适的CUDA AES库。我想知道是否有解决方法,比如在内核中运行C AES库解密。使用CUDA的AES解密

看着this question表明这可能是不可能的。

另一种选择 - 我目前在python中有一个实现; (学习和)使用pyCuda并行化它会是可行的,还是会遇到与使用python AES库函数相同的问题?

还有任何替代建议,以实现我想要做的将不胜感激!谢谢!

+1

在我看来,这可能有点偏离主题,但无论如何,我发布了一个有两个建议的答案。 – Taro

如果您找不到适合您需求的库(意味着它具有您期望的功能的CUDA实现),则必须执行自己的实现。 但是,如果您有任何其他语言的来源,并且由于此问题似乎是纯粹的数学,您应该能够使用任何其他语言编写“等价物”。 我的建议是:

  • 首先编写Python实现你(“经典” CPU代码)自己的C口
  • 然后写此端口与C和CUDA C的适应使用一个或几个在计算的GPU

注意我说的“适应”,而不是“翻译”,因为它是不是从语言只是切换到另一个真正的不同:您将创建一个使用GPU的特定类型的工作项目你必须考虑CPU和GPU编程之间的所有差异。 无论如何,这可能对SO来说有点偏离主题,因为GPGPU过于宽泛,并且没有足够专注于您自己的源代码的特定问题。