ecdsa: avoid 2-line if statements

This commit is contained in:
Daniel Cousens 2015-04-10 11:07:08 +10:00
parent 225cee8522
commit e073ee3d46

View file

@ -75,25 +75,21 @@ function deterministicGenerateK (curve, hash, d, checkSig) {
} }
function sign (curve, hash, d) { function sign (curve, hash, d) {
var r, s
var e = BigInteger.fromBuffer(hash) var e = BigInteger.fromBuffer(hash)
var n = curve.n var n = curve.n
var G = curve.G var G = curve.G
var r, s
deterministicGenerateK(curve, hash, d, function (k) { deterministicGenerateK(curve, hash, d, function (k) {
var Q = G.multiply(k) var Q = G.multiply(k)
if (curve.isInfinity(Q)) if (curve.isInfinity(Q)) return false
return false
r = Q.affineX.mod(n) r = Q.affineX.mod(n)
if (r.signum() === 0) if (r.signum() === 0) return false
return false
s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n) s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
if (s.signum() === 0) if (s.signum() === 0) return false
return false
return true return true
}) })