From acbf849b44006202337106b1a2ba3d4be813f605 Mon Sep 17 00:00:00 2001 From: zzz <zzz@i2pmail.org> Date: Mon, 28 Mar 2022 08:08:22 -0400 Subject: [PATCH] Crypto: Micro-optimize AES encrypt loop --- core/java/src/net/i2p/crypto/CryptixAESEngine.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/core/java/src/net/i2p/crypto/CryptixAESEngine.java b/core/java/src/net/i2p/crypto/CryptixAESEngine.java index e0ee108715..2a51fa1e5b 100644 --- a/core/java/src/net/i2p/crypto/CryptixAESEngine.java +++ b/core/java/src/net/i2p/crypto/CryptixAESEngine.java @@ -127,13 +127,12 @@ public final class CryptixAESEngine extends AESEngine { } } - int numblock = length / 16; - DataHelper.xor(iv, ivOffset, payload, payloadIndex, out, outIndex, 16); encryptBlock(out, outIndex, sessionKey, out, outIndex); - for (int x = 1; x < numblock; x++) { - DataHelper.xor(out, outIndex + (x-1) * 16, payload, payloadIndex + x * 16, out, outIndex + x * 16, 16); - encryptBlock(out, outIndex + x * 16, sessionKey, out, outIndex + x * 16); + for (int x = 16; x < length; x += 16) { + int off = outIndex + x; + DataHelper.xor(out, off - 16, payload, payloadIndex + x, out, off, 16); + encryptBlock(out, off, sessionKey, out, off); } } -- GitLab