我想知道是否有人知道 BouncyCastle 的 AES 引擎是否支持硬件加速,例如使用 AES-NI。我的理解是需要调用一些“本机代码”才能加速,但我找不到任何代码。
BC 的 AES 引擎完全是软件实现吗?如果是这样,考虑到许多现代 MCU/CPU 都提供 AES 模块,那就不太好 - 对吗? 5年前有人问过类似的问题,但情况有所不同,因为硬件加速并不普遍。
根据 Bouncy Castle 的说法,现在和未来都不会支持: https://github.com/bcgit/bc-java/issues/221
BouncyCastle 的 LTS 版本现在支持 Linux 上的 AES-NI。
来自 https://www.bouncycastle.org/lts-java/
此版本的另一个功能是它包括对 Intel AES、DRBG/RNG 和 SHA2 以及 ARM AES 和 SHA2 的 JNI 支持。请注意,目前 JNI 支持仅在 Linux 上可用。