From 7bb7903ce2da1d0dd9b28963d1f311081651f66a Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Sat, 1 Jun 2024 10:31:29 +0800 Subject: [PATCH] sm2: recover public keys --- sm2/sm2.go | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/sm2/sm2.go b/sm2/sm2.go index d7a5c6d6..1ec36950 100644 --- a/sm2/sm2.go +++ b/sm2/sm2.go @@ -747,18 +747,11 @@ func RecoverPublicKeysFromSM2Signature(hash, sig []byte) ([]*ecdsa.PublicKey, er } // Rx = r - e - if r.CmpGeq(e) == 0 { - // If r < e, then Rx = N - e + r - n0 := bigmod.NewNat().Set(c.N.Nat()) - n0.Sub(e, c.P) - r.Add(n0, c.P) - } else { - r.Sub(e, c.P) - } + r.Sub(e, c.N) if r.IsZero() == 1 { return nil, ErrInvalidSignature } - rBytes = r.Bytes(c.P) + rBytes = r.Bytes(c.N) tmp := make([]byte, len(rBytes)+1) copy(tmp[1:], rBytes) compressFlags := []byte{compressed02, compressed03}