diff --git a/lib/elliptic/eddsa/index.js b/lib/elliptic/eddsa/index.js index d777983..cb703a7 100644 --- a/lib/elliptic/eddsa/index.js +++ b/lib/elliptic/eddsa/index.js @@ -52,6 +52,9 @@ EDDSA.prototype.sign = function sign(message, secret) { EDDSA.prototype.verify = function verify(message, sig, pub) { message = parseBytes(message); sig = this.makeSignature(sig); + if (sig.S().gte(sig.eddsa.curve.n) || sig.S().isNeg()) { + return false; + } var key = this.keyFromPublic(pub); var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message); var SG = this.g.mul(sig.S());