From 3dcf298fed2d5fd65918dc560b3942b2aa0629e8 Mon Sep 17 00:00:00 2001 From: junderw Date: Fri, 23 Nov 2018 14:55:01 +0900 Subject: [PATCH] Fix one-off bug in signRFC6979 --- btcec/signature.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/btcec/signature.go b/btcec/signature.go index a4781b00..bddb2283 100644 --- a/btcec/signature.go +++ b/btcec/signature.go @@ -427,9 +427,7 @@ func signRFC6979(privateKey *PrivateKey, hash []byte) (*Signature, error) { k := nonceRFC6979(privkey.D, hash) inv := new(big.Int).ModInverse(k, N) r, _ := privkey.Curve.ScalarBaseMult(k.Bytes()) - if r.Cmp(N) == 1 { - r.Sub(r, N) - } + r.Mod(r, N) if r.Sign() == 0 { return nil, errors.New("calculated R is zero")