RFR: 8253821: Improve ByteBuffer performance with GCM [v2]

Anthony Scarpino ascarpino at openjdk.java.net
Thu Oct 8 22:04:26 UTC 2020


On Thu, 8 Oct 2020 01:08:44 GMT, Anthony Scarpino <ascarpino at openjdk.org> wrote:

>> src/java.base/share/classes/com/sun/crypto/provider/AESCipher.java line 658:
>> 
>>> 656:             BadPaddingException {
>>> 657:         return bufferCrypt(input, output, false);
>>> 658:     }
>> 
>> Is the override of this method for using a different bufferCrypt impl? There is also engineUpdate(ByteBuffer,
>> ByteBuffer) in CipherSpi, is there a reason for not overriding that here?
>
> Yes. thanks.. The IDE covered that up by going to the one in CipherSpi and I thought it was calling the AES one.  TLS
> doesn't use update() so the perf numbers won't change.  I'll have to run the tests again.

I'm not going to do the update() method, leaving it as is.  There is some complications with the Encrypt.java test were
the update is done with a direct bytebuffer, but the doFinal() is an empty buffer, which sends it to the byte[]
doFinal().  CipherCore mitigates this situation inefficiently and I'd rather optimize that in future changeset that I'm
already planning for byte[] methods.

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

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



More information about the security-dev mailing list