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

Smita Kamath svkamath at openjdk.java.net
Fri Jun 11 17:22:51 UTC 2021


On Fri, 11 Jun 2021 15:45:02 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> Smita Kamath has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   8267125:Updated intrinsic signature to remove copies of counter, state and subkeyHtbl
>
> src/hotspot/share/opto/library_call.cpp line 547:
> 
>> 545: 
>> 546:   case vmIntrinsics::_galoisCounterMode_AESCrypt:
>> 547:     return inline_galoisCounterMode_AESCrypt(intrinsic_id());
> 
> You don't need to pass `intrinsic_id()` for this implementation unless you plan to add decrypt intrinsic later.

Thanks for your comments Vladimir. The intrinsic is called for encrypt as well as decrypt operation.

> src/hotspot/share/opto/library_call.cpp line 6564:
> 
>> 6562:   Node* subkeyHtbl = load_field_from_object(ghash_object, "subkeyHtbl", "[J");
>> 6563:   Node* state = load_field_from_object(ghash_object, "state", "[J");
>> 6564:   if (embeddedCipherObj == NULL || counter == NULL || subkeyHtbl == NULL || state == NULL) return false;
> 
> Follow coding style for such long condition:
> 
> if () {
>   return false;
> }

I will make the change. Thanks.

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

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


More information about the security-dev mailing list