From 8a8c7b33283ebed6b843a7ae5db1f541c4a80204 Mon Sep 17 00:00:00 2001 From: Bert Massop Date: Sun, 8 Dec 2024 00:44:32 +0100 Subject: [PATCH] Optimize OCBBlockCipher_v149 by replacing Vector with List This saves about 10% time on AES block processing for AEAD buckets. --- src/freenet/crypt/OCBBlockCipher_v149.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/freenet/crypt/OCBBlockCipher_v149.java b/src/freenet/crypt/OCBBlockCipher_v149.java index b224c70f4d..d4ef933745 100644 --- a/src/freenet/crypt/OCBBlockCipher_v149.java +++ b/src/freenet/crypt/OCBBlockCipher_v149.java @@ -2,7 +2,8 @@ * GPL compatible. */ package freenet.crypt; -import java.util.Vector; +import java.util.ArrayList; +import java.util.List; import org.bouncycastle.crypto.BlockCipher; import org.bouncycastle.crypto.CipherParameters; @@ -49,7 +50,7 @@ public class OCBBlockCipher_v149 * KEY-DEPENDENT */ // NOTE: elements are lazily calculated - private Vector L; + private List L; private byte[] L_Asterisk, L_Dollar; /* @@ -195,8 +196,8 @@ else if (parameters instanceof ParametersWithIV) this.L_Dollar = OCB_double(L_Asterisk); - this.L = new Vector(); - this.L.addElement(OCB_double(L_Dollar)); + this.L = new ArrayList<>(); + this.L.add(OCB_double(L_Dollar)); /* * NONCE-DEPENDENT AND PER-ENCRYPTION/DECRYPTION INITIALISATION @@ -456,9 +457,9 @@ protected byte[] getLSub(int n) { while (n >= L.size()) { - L.addElement(OCB_double(L.lastElement())); + L.add(OCB_double(L.get(L.size() - 1))); } - return L.elementAt(n); + return L.get(n); } protected void processHashBlock()