Java是否在可用时使用AES-NI?

时间:2014-08-26 12:29:29

标签: java cryptography aes instruction-set aes-ni

我刚刚听说过指令集扩展AES-NI。 Java的JIT编译器是否编译应用程序以使用AES-NI(如果它可用于提高性能)?

如果是,如果不确定是否会使用AES(例如使用TLS时),它是否也会这样做?

2 个答案:

答案 0 :(得分:4)

Java 87u40及更高版本包含对内置SunJCE提供程序的x86 AES内在函数的支持,但默认情况下未启用该功能(它是)。

globals.hpp搜索“AES”:

product(bool, UseAES, false,                                              \
        "Control whether AES instructions can be used on x86/x64")        \
...
product(bool, UseAESIntrinsics, false,                                    \
        "Use intrinsics for AES versions of crypto")                      \

您可以通过将-XX:+UseAES -XX:+UseAESIntrinsics选项传递给虚拟机来启用该功能。

答案 1 :(得分:0)