RFR: 8253821: Improve ByteBuffer performance with GCM [v3]
Anthony Scarpino
ascarpino at openjdk.java.net
Thu Nov 5 20:07:01 UTC 2020
On Mon, 12 Oct 2020 20:57:50 GMT, Valerie Peng <valeriep at openjdk.org> wrote:
>> I didn't see a way to override this because CipherSpi is a public class, any methods I added would become a new API.
>> Also bufferCrypt is private, so I had to copy it. CipherSpi does not know which mode is being used, but AESCipher does. Maybe I'm missing something, I'd rather it not be a copy, but I couldn't see a better way. If you have a specific idea, please give me details.
>
> How about overriding
> protected int engineDoFinal(ByteBuffer input, ByteBuffer output) throws ... {
> if (core.getMode() == CipherCore.GCM_MODE && !input.hasArray()) {
> // call your own optimized byte buffer code path
> } else {
> super.engineDoFinal(input, output);
> }
> }
>
> Would this work? If yes, then no need to duplicate the whole bufferCrypt() method.
Good call.. I wouldn't have thought about super.
-------------
PR: https://git.openjdk.java.net/jdk/pull/411
More information about the security-dev
mailing list