RFR: 8267125: AES Galois CounterMode (GCM) interleaved implementation using AVX512 + VAES instructions [v7]

Valerie Peng valeriep at openjdk.java.net
Fri Aug 6 20:00:38 UTC 2021


On Wed, 4 Aug 2021 02:24:05 GMT, Smita Kamath <svkamath at openjdk.org> wrote:

>> I would like to submit AES-GCM optimization for x86_64 architectures supporting AVX3+VAES (Evex encoded AES). This optimization interleaves AES and GHASH operations.
>> Performance gain of ~1.5x - 2x for message sizes 8k and above.
>
> Smita Kamath has updated the pull request incrementally with five additional commits since the last revision:
> 
>  - Merge branch 'aes-gcm' of github.com:smita-kamath/jdk into aes-gcm
>  - Updates, comment and variable cleanup
>  - merge rest
>  - merge
>  - fixes and code comments

src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java line 1120:

> 1118:                 inOfs += r;
> 1119:                 inLen -= r;
> 1120:             }

Have you considered move the "if (inLen >= PARALLEL_LEN) block" into EncryptOp.update() impl (just like the Encrypt.doFinal() impl) ? Even though not all op.update() calls process large data, but it'd reduce code duplication and ensures that all large data processed by EncryptOp.update() calls would call the intrinsified method.

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

PR: https://git.openjdk.java.net/jdk/pull/4019



More information about the security-dev mailing list