RFR: 8318756 Create better internal buffer for AEADs [v2]

Anthony Scarpino ascarpino at openjdk.org
Fri Dec 1 22:42:47 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:

  comments update

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16487/files
  - new: https://git.openjdk.org/jdk/pull/16487/files/cf9784c9..80bf02b4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16487&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16487&range=00-01

  Stats: 126 lines in 13 files changed: 21 ins; 42 del; 63 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