From e735a9182b241f52a19ea3739141ee9ccece168a Mon Sep 17 00:00:00 2001 From: Daniel Cousens Date: Wed, 4 Jun 2014 13:55:09 +1000 Subject: [PATCH] ec: use x1/x2, y1/y2 variables No logic change, just using the variables that are defined instead of repeating code. --- src/ec.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ec.js b/src/ec.js index f68977c..83ebc3a 100644 --- a/src/ec.js +++ b/src/ec.js @@ -117,10 +117,15 @@ function pointFpAdd(b) { if(this.isInfinity()) return b; if(b.isInfinity()) return this; + var x1 = this.x.toBigInteger() + var y1 = this.y.toBigInteger() + var x2 = b.x.toBigInteger() + var y2 = b.y.toBigInteger() + // u = Y2 * Z1 - Y1 * Z2 - var u = b.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(b.z)).mod(this.curve.q); + var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.q) // v = X2 * Z1 - X1 * Z2 - var v = b.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(b.z)).mod(this.curve.q); + var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.q) if(v.signum() === 0) { if(u.signum() === 0) { @@ -129,11 +134,6 @@ function pointFpAdd(b) { return this.curve.getInfinity(); // this = -b, so infinity } - var x1 = this.x.toBigInteger(); - var y1 = this.y.toBigInteger(); - var x2 = b.x.toBigInteger(); - var y2 = b.y.toBigInteger(); - var v2 = v.square(); var v3 = v2.multiply(v); var x1v2 = x1.multiply(v2);