RFR: 8371450: AES performance improvements for key schedule generation [v3]

Shawn M Emery duke at openjdk.org
Mon Nov 10 00:29:05 UTC 2025


On Sun, 9 Nov 2025 23:08:25 GMT, Shawn M Emery <duke at openjdk.org> wrote:

>> What were those "redundant shifts"? 
>> What I am suggesting is:
>>  return (SBOX(word >>>24] << 24) |
>>              (SBOX[(word >> 16) & 0xFF] << 16) |
>>              (SBOX[(word >> 8) & 0xFF] << 8) |
>>              SBOX[word & 0xFF];
>> 
>> if you define SBOX as an int[256] array.
>
> Yes, this would definitely speed up key schedule generation, but at the cost of additional memory; +768 bytes per instance, where the total AES cipher would be 1,268 bytes more per instance than the original Cryptix implementation.

The int[256] SBOX solution would increase performance by 2.64% for the AESReinit benchmark.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28188#discussion_r2508442533


More information about the security-dev mailing list