diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-10-03 06:53:54 +0400 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2013-10-03 06:53:54 +0400 |
commit | 2a3806269e4ff1b667c2ca2e9bbf30d51b7e7576 (patch) | |
tree | 06c0279840c23eb8af087ae0bc63424a9d1f7a2b /core/src | |
parent | db8968be90af50ed8fdcc531ab7f750e2d9a21f6 (diff) |
Use square32 instead of square16
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/main/java/org/bouncycastle/math/ec/LongArray.java | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/core/src/main/java/org/bouncycastle/math/ec/LongArray.java b/core/src/main/java/org/bouncycastle/math/ec/LongArray.java index 5cc48947..ad3e6225 100644 --- a/core/src/main/java/org/bouncycastle/math/ec/LongArray.java +++ b/core/src/main/java/org/bouncycastle/math/ec/LongArray.java @@ -678,28 +678,18 @@ class LongArray while (pos < _2len) { long mi = m_ints[pos >>> 1]; - - { - int mi00 = (int)mi; - int r00 = square16(mi00 & 0xFFFF); - int r32 = square16(mi00 >>> 16); - r[pos++] = (r32 & 0xFFFFFFFFL) << 32 | (r00 & 0xFFFFFFFFL); - } - - { - int mi32 = (int)(mi >>> 32); - int r00 = square16(mi32 & 0xFFFF); - int r32 = square16(mi32 >>> 16); - r[pos++] = (r32 & 0xFFFFFFFFL) << 32 | (r00 & 0xFFFFFFFFL); - } + r[pos++] = square32((int)mi); + r[pos++] = square32((int)(mi >>> 32)); } return new LongArray(r); } - private static int square16(int n) + private static long square32(int n) { - return EXPANSION_TABLE[n & 0xFF] | EXPANSION_TABLE[n >>> 8] << 16; + int r00 = EXPANSION_TABLE[n & 0xFF] | EXPANSION_TABLE[(n >>> 8) & 0xFF] << 16; + int r32 = EXPANSION_TABLE[(n >>> 16) & 0xFF] | EXPANSION_TABLE[(n >>> 24) & 0xFF] << 16; + return (r32 & 0xFFFFFFFFL) << 32 | (r00 & 0xFFFFFFFFL); } public LongArray modInverse(int m, int[] ks) |