RFR: 8318756 Create better internal buffer for AEADs [v3]
Anthony Scarpino
ascarpino at openjdk.org
Wed Dec 6 02:38:57 UTC 2023
> Hi,
>
> I need a review for a new internal buffer class called AEADBufferStream. AEADBufferStream extends ByteArrayOutputStream, but eliminates some data checking and copying that are not necessary for what GaloisCounterMode.java and ChaCha20Cipher.java need.
>
> The changes greatest benefit is with decryption operations. ChaCha20-Poly1305 had larger performance gains by adopting similar techniques that AES/GCM already uses.
>
> The new buffer shows up to 21% bytes/sec performance increase for decryption for ChaCha20-Poly1305 and 12% for AES/GCM. 16K data sizes saw a memory usage reduction of 46% with and 83% with ChaCha20-Poly1305. These results come from the JMH tests updated in this request and memory usage using the JMH gc profile gc.alloc.rate.norm entry
>
> thanks
>
> Tony
Anthony Scarpino has updated the pull request incrementally with one additional commit since the last revision:
Better aeadbuffer memory increments for CipherOutputStream
Changed aeadbuffer usage away from byte[].length to aeadbuffer.size()
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/16487/files
- new: https://git.openjdk.org/jdk/pull/16487/files/80bf02b4..f7388e7c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=16487&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=16487&range=01-02
Stats: 102 lines in 3 files changed: 31 ins; 36 del; 35 mod
Patch: https://git.openjdk.org/jdk/pull/16487.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/16487/head:pull/16487
PR: https://git.openjdk.org/jdk/pull/16487
More information about the security-dev
mailing list