Integrated: 8318756 Create better internal buffer for AEADs

Anthony Scarpino ascarpino at openjdk.org
Wed Dec 6 18:11:53 UTC 2023


On Fri, 3 Nov 2023 04:08:27 GMT, Anthony Scarpino <ascarpino at openjdk.org> wrote:

> 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

This pull request has now been integrated.

Changeset: dc9c77be
Author:    Anthony Scarpino <ascarpino at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/dc9c77bebe28570096345d3d22fd3ed10280acad
Stats:     2915 lines in 15 files changed: 1789 ins; 1061 del; 65 mod

8318756: Create better internal buffer for AEADs

Reviewed-by: djelinski

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

PR: https://git.openjdk.org/jdk/pull/16487



More information about the security-dev mailing list