diff --git a/core/java/src/net/i2p/crypto/SigUtil.java b/core/java/src/net/i2p/crypto/SigUtil.java index 649f547fa..5926ea72b 100644 --- a/core/java/src/net/i2p/crypto/SigUtil.java +++ b/core/java/src/net/i2p/crypto/SigUtil.java @@ -44,6 +44,7 @@ import net.i2p.data.SigningPrivateKey; import net.i2p.data.SigningPublicKey; import net.i2p.util.LHMCache; import net.i2p.util.NativeBigInteger; +import net.i2p.util.SystemVersion; /** @@ -53,10 +54,11 @@ import net.i2p.util.NativeBigInteger; */ public final class SigUtil { - private static final Map _ECPubkeyCache = new LHMCache(64); - private static final Map _ECPrivkeyCache = new LHMCache(16); - private static final Map _EdPubkeyCache = new LHMCache(64); - private static final Map _EdPrivkeyCache = new LHMCache(16); + private static final int FACTOR = SystemVersion.isAndroid() ? 1 : 4; + private static final Map _ECPubkeyCache = new LHMCache(FACTOR * 8); + private static final Map _ECPrivkeyCache = new LHMCache(8); + private static final Map _EdPubkeyCache = new LHMCache(FACTOR * 64); + private static final Map _EdPrivkeyCache = new LHMCache(FACTOR * 4); private SigUtil() {}