Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla-spongycastle.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2014-02-28 12:58:49 +0400
committerPeter Dettman <peter.dettman@bouncycastle.org>2014-02-28 12:58:49 +0400
commited2c838ccae77cd64fac5f498f00c2eb51fcc19a (patch)
treea37d2db65e18497c5ea67b680c7833deb1456464 /core/src/main/java/org
parent22595b8753e327ed0264656d4e05ecbe623c04e7 (diff)
Avoid a few negations in sqrt()
Diffstat (limited to 'core/src/main/java/org')
-rw-r--r--core/src/main/java/org/bouncycastle/math/ec/custom/sec/SecP224R1FieldElement.java15
1 files changed, 8 insertions, 7 deletions
diff --git a/core/src/main/java/org/bouncycastle/math/ec/custom/sec/SecP224R1FieldElement.java b/core/src/main/java/org/bouncycastle/math/ec/custom/sec/SecP224R1FieldElement.java
index 23a4ee82..b2a3b7cb 100644
--- a/core/src/main/java/org/bouncycastle/math/ec/custom/sec/SecP224R1FieldElement.java
+++ b/core/src/main/java/org/bouncycastle/math/ec/custom/sec/SecP224R1FieldElement.java
@@ -187,12 +187,11 @@ public class SecP224R1FieldElement extends ECFieldElement
return Q.hashCode() ^ Arrays.hashCode(x, 0, 7);
}
- private static void RM(int[] c, int[] d0, int[] e0, int[] d1, int[] e1, int[] f)
+ private static void RM(int[] nc, int[] d0, int[] e0, int[] d1, int[] e1, int[] f)
{
int[] t = Nat224.create();
SecP224R1Field.multiply(e1, e0, t);
- SecP224R1Field.multiply(t, c, t);
- SecP224R1Field.negate(t, t);
+ SecP224R1Field.multiply(t, nc, t);
SecP224R1Field.multiply(d1, d0, f);
SecP224R1Field.add(f, t, f);
SecP224R1Field.multiply(d1, e0, t);
@@ -200,13 +199,15 @@ public class SecP224R1FieldElement extends ECFieldElement
SecP224R1Field.multiply(e1, d0, e1);
SecP224R1Field.add(e1, t, e1);
SecP224R1Field.square(e1, f);
- SecP224R1Field.multiply(f, c, f);
- SecP224R1Field.negate(f, f);
+ SecP224R1Field.multiply(f, nc, f);
}
private static void RP(int[] c, int[] d1, int[] e1, int[] f)
{
- SecP224R1Field.negate(c, f);
+ int[] nc = Nat224.create();
+ SecP224R1Field.negate(c, nc);
+
+ Nat224.copy(nc, f);
int[] d0 = Nat224.create();
int[] e0 = Nat224.create();
@@ -222,7 +223,7 @@ public class SecP224R1FieldElement extends ECFieldElement
RS(d1, e1, f);
}
- RM(c, d0, e0, d1, e1, f);
+ RM(nc, d0, e0, d1, e1, f);
}
}