AES-NI-Interna standardmäßig aktiviert?

Oracle hat dies zu sagen über die Java 8 mit Bezug auf AES-NI:

Hardware-Interna Hinzugefügt wurden, verwenden Advanced Encryption Standard
(AES). Die UseAES und UseAESIntrinsics flags zur Verfügung, um
die hardware-basierte AES-Interna für Intel-hardware. Die hardware
muss 2010 oder neuer Westmere-hardware. Zum Beispiel, um
hardware-AES, verwenden Sie die folgenden flags:

-XX:+UseAES -XX:+UseAESIntrinsics

Zu deaktivieren Sie die hardware-AES verwenden Sie die folgenden flags:

-XX:-UseAES -XX:-UseAESIntrinsics

Aber es zeigt nicht an, wenn AES systeminterne Funktionen sind standardmäßig aktiviert (für Prozessoren, die dies unterstützen). Die Frage ist also einfach: wenn der Prozessor unterstützt AES-NI, sind AES-Interna verwendet?

Bonus-Frage: gibt es eine Möglichkeit zu testen, wenn die AES-NI verwendet wird? Ich denke, man kann erraten, basierend auf der Leistung, aber das ist nicht eine optimale oder sicher Feuer Möglichkeit zu testen.


Für Leser, die nicht vertraut sind mit AES-NI-Interna: es ersetzt byte-code, der mit der vor-kompilierten Maschinencode, mit dem AES-NI-Befehlssatz. Dies geschieht durch die JVM, so dass es nicht zeigen, bis in der API von der Java-Laufzeit-oder bytecode.

Schreibe einen Kommentar