From aaabb09dac3945f3b6a0e4c4bf4bb310c3b4cb3b Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Tue, 30 Jan 2024 17:51:13 +0800 Subject: [PATCH] sm2: saving some temporary variables --- sm2/sm2.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sm2/sm2.go b/sm2/sm2.go index c2552fb..c43af1a 100644 --- a/sm2/sm2.go +++ b/sm2/sm2.go @@ -744,20 +744,20 @@ func verifySM2EC(c *sm2Curve, pub *ecdsa.PublicKey, hash, sig []byte) bool { e := bigmod.NewNat() hashToNat(c, e, hash) - // t = [r + s] - t := bigmod.NewNat().Set(r) - t.Add(s, c.N) - if t.IsZero() == 1 { - return false - } - // p₁ = [s]G p1, err := c.newPoint().ScalarBaseMult(s.Bytes(c.N)) if err != nil { return false } - // p₂ = [t]Q - p2, err := Q.ScalarMult(Q, t.Bytes(c.N)) + + // s = [r + s] + s.Add(r, c.N) + if s.IsZero() == 1 { + return false + } + + // p₂ = [r+s]Q + p2, err := Q.ScalarMult(Q, s.Bytes(c.N)) if err != nil { return false } @@ -768,13 +768,13 @@ func verifySM2EC(c *sm2Curve, pub *ecdsa.PublicKey, hash, sig []byte) bool { return false } - v, err := bigmod.NewNat().SetOverflowingBytes(Rx, c.N) + _, err = s.SetOverflowingBytes(Rx, c.N) if err != nil { return false } - v.Add(e, c.N) + s.Add(e, c.N) - return v.Equal(r) == 1 + return s.Equal(r) == 1 } // VerifyASN1WithSM2 verifies the signature in ASN.1 encoding format sig of raw msg