Browse Source

Fix to check for zero s value in sign function

If r OR s are zero then recalculate both r and s until they are both non-zero values.
patch-2
Rich Morgan 11 years ago
parent
commit
eab5c2896e
  1. 5
      lib/browser/Key.js

5
lib/browser/Key.js

@ -120,9 +120,8 @@ Key.prototype.signSync = function(hash) {
var G = ecparams.getG(); var G = ecparams.getG();
var Q = G.multiply(k); var Q = G.multiply(k);
var r = Q.getX().toBigInteger().mod(n); var r = Q.getX().toBigInteger().mod(n);
} while (r.compareTo(BigInteger.ZERO) <= 0); var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n);
} while (r.compareTo(BigInteger.ZERO) <= 0 || s.compareTo(BigInteger.ZERO) <= 0);
var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n);
return serializeSig(r, s); return serializeSig(r, s);
}; };

Loading…
Cancel
Save