RFR: 8371820: Further AES performance improvements for key schedule generation

Shawn M Emery duke at openjdk.org
Fri Nov 14 07:31:13 UTC 2025


On Thu, 13 Nov 2025 16:48:28 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

> This fix simplifies the hotspot intrinsics for some platforms and optimizes the key computation for encryption. We can save the `genInvRoundKeys` computation when we only do encryption.
> 
> The micro:org.openjdk.bench.javax.crypto.AESReinit benchmark results are improved by 17% for ppc64 and 26% for x86_64.

src/java.base/share/classes/com/sun/crypto/provider/AES_Crypt.java line 61:

> 59:     // used for everything else.
> 60:     private int[] sessionKe = null; // key for encryption
> 61:     private int[] sessionKd = null; // preprocessed key for decryption

We really don't need sessionKd, since it's just assigned to K, but I'm fine leaving it as is.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/28299#discussion_r2526136351


More information about the security-dev mailing list