BouncyCastle的AES引擎是否支持硬件加速?

3

我想知道是否有人知道BouncyCastle的AES引擎是否支持硬件加速,例如使用AES-NI。我的理解是需要调用一些“本地代码”才能加速,但我找不到任何相关信息。

BC的AES引擎是完全的软件实现吗?如果是这样的话,那么很多现代MCU / CPU都提供AES模块 - 是吗?类似的问题在5年前被问过,但当时硬件加速还没有普及。


CPU中有一些专门为AES设计的指令。例如,其中一个指令可以执行AES的一个轮次。由于这个轮函数完全是硬件实现的,所以非常快速。至于Bouncy Castle库,我不清楚。我想唯一能够访问这些指令的方式可能就是手动编写汇编代码。似乎编译器在编译后的代码中无法识别AES并将其转换为特殊的CPU指令。另一方面,也许C++中有一个专门编译成这些指令的特殊函数。但如果BC做了这些操作,我不清楚。 - undefined
2
Bouncycastle是纯Java的,因此无法利用AES硬件。实际上,一个优秀的Java即时编译器原则上可以解决这个问题,但现实中没有任何Java编译器会那么聪明。 - undefined
根据http://bouncy-castle.1462172.n4.nabble.com/AES-NI-support-td3305120.html的说法,目前还不支持。 - undefined
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接