On Fri, 16 Jul 2021 19:41:53 GMT, Valerie Peng <valer...@openjdk.org> wrote:

>> src/java.base/share/classes/com/sun/crypto/provider/GaloisCounterMode.java 
>> line 629:
>> 
>>> 627:         GCTR gctr;
>>> 628:         GHASH ghash;
>>> 629:         GCMOperation op;
>> 
>> It seems clearer to initialize "op" in GCMEngine ctor since it's declared 
>> here. There is already logic in its method checking whether we are doing 
>> encryption or decryption.
>
> Now that you have GCMOperation op, but there is still if-else blocks checking 
> whether it's encryption/decryption and uses gctr and ghash instead of op. 
> Looks like a bit adhoc? Can GaloisCounterMode.implGCMCrypt(...) just take 
> GCMOperation op instead, no need for ct, ctOfs, gctr and ghash?

Initializing op in abstract GCMEngine would mean another 'if(encryption)', when 
that would not be needed in the  GCMEncrypt() or GCMDecrypt().  I don't see why 
that is clearer. 

GaloisCounterMode.implGCMCrypt(...) is the intrinsic, so I have to use what is 
used by hotspot.

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

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

Reply via email to