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.
This commit is contained in:
parent
bc84d1e82b
commit
eab5c2896e
|
@ -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…
Reference in New Issue