From bbbf2612bc410c572c1907f489667dd8a7fe6ab9 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Wed, 19 Jul 2023 15:26:38 +0800 Subject: [PATCH] sm9/bn256: fix add same bug --- sm9/bn256/curve.go | 2 +- sm9/bn256/g1_test.go | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sm9/bn256/curve.go b/sm9/bn256/curve.go index 122920f..61c4133 100644 --- a/sm9/bn256/curve.go +++ b/sm9/bn256/curve.go @@ -133,7 +133,7 @@ func (c *curvePoint) Add(a, b *curvePoint) { gfpSub(t, s2, s1) - if h.Equal(zero) == 1 && t.Equal(one) == 1 { + if h.Equal(zero) == 1 && t.Equal(zero) == 1 { c.Double(a) return } diff --git a/sm9/bn256/g1_test.go b/sm9/bn256/g1_test.go index acc8bb8..25f990f 100644 --- a/sm9/bn256/g1_test.go +++ b/sm9/bn256/g1_test.go @@ -24,6 +24,16 @@ func TestG1AddNeg(t *testing.T) { } } +func TestG1AddSame(t *testing.T) { + g1, g2 := &G1{}, &G1{} + g1.Add(Gen1, Gen1) + g2.Double(Gen1) + + if !g1.Equal(g2) { + t.Fail() + } +} + type g1BaseMultTest struct { k string }