Oracle имеет это сказать о Java 8 в отношении AES-NI:
Аппаратные свойства были добавлены для использования Advanced Encryption Standard (AES). Флаги UseAES и UseAESIntrinsics доступны для включения аппаратные функции AES для оборудования Intel. Аппаратное обеспечение должно быть 2010 или более новое оборудование Westmere. Например, чтобы включить аппаратного AES, используйте следующие флаги:
-XX:+UseAES -XX:+UseAESIntrinsics
Чтобы отключить аппаратное обеспечение AES, используйте следующие флаги:
-XX:-UseAES -XX:-UseAESIntrinsics
Но он не указывает, включены ли встроенные функции AES по умолчанию (для процессоров, которые его поддерживают). Итак, вопрос прост: если процессор поддерживает AES-NI, используются ли AES-функции?
Бонусный вопрос: есть ли способ проверить, используется ли AES-NI? Я думаю, вы можете догадаться, основываясь на производительности, но это не оптимальный или надежный способ тестирования.
Для считывателей, которые не знакомы с внутренними функциями AES-NI: он заменяет байтовый код на предварительно скомпилированный машинный код, используя набор инструкций AES-NI. Это происходит с помощью JVM, поэтому он не отображается в API исполняемого файла Java или байт-кода.