gpt4 book ai didi

encryption - 是否可以使用 BitSlice 方法在 GPU 上加速 AES 批量加密?

转载 作者:行者123 更新时间:2023-12-03 01:13:40 25 4
gpt4 key购买 nike

我有兴趣在我的项目中使用位片方法在 GPU 上为 HPC 应用程序进行 AES 批量加密。在这方面,我找到了很多论文,讨论使用查找表方法在GPU上进行批量加密。我没有找到任何讨论使用 Bitslice 方法在 GPU 上进行批量加密的论文。 Jason Yang 和 James Goodman 发表了一篇题为“Symmetric Key Cryptography on Modern Graphics Hardware”的论文,其中讨论了用于 key 搜索应用程序的 GPU 上 AES 和 DES 的 Bitslice 实现。

一篇题为“GPU 上的快速、可扩展且安全的加密”的论文提到,Yang 的上述 Bitslice 实现需要大量依赖于输入的预处理,因此完全不适合 HPC 应用程序。看来使用Bitslice方法在GPU上进行AES批量加密并没有什么好处。

任何人都可以解释一下并向我保证使用 Bitslice 方法在 GPU 上进行批量加密是否可行

提前致谢!

最佳答案

可以在 GPU 上使用位片方法进行批量加密,但在大多数情况下,它会比基于表的方法慢。通过位切片,每个线程将并行计算 32 个 AES block 。然而,主要计算可能非常快,正如已经提到的,预处理和后处理是这里的问题。

位切片的 AES-128 不会生成保存单个加密 block 的 4 个 32 位位置,而是会生成 128 个 32 位位置,其中位置 0 处的所有位都是 block 0 加密的结果,所有位位于位位置 1 是 block 1 的结果,依此类推。输入必须采用相同的格式。因此,您需要转置位矩阵才能以通常预期的方式获得结果。转置位矩阵是非常低效的。关键搜索应用可以避免位转置并在未转置域中进行比较。

如果您不关心兼容性,但绝对需要极高的加密率,您可以实现位切片 CTR 模式 AES 加密,并将生成的 AES 输出位与明文进行异或,而无需先转置输出位。这应该与常规 CTR 模式一样安全,但对于使用未进行位切片的 AES 实现的任何人来说,这将是非标准模式并且解密速度很慢。

关于encryption - 是否可以使用 BitSlice 方法在 GPU 上加速 AES 批量加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com