INNER CODE UNIT · Go

TestPairNegativeG2

cloudflare/bn256 · bn256_test.go:217

func TestPairNegativeG2(t *testing.T) {
	g1Inf := new(G1).ScalarBaseMult(Order)
	g2Inf := new(G2).ScalarBaseMult(Order)
	gTInf := Pair(g1Inf, g2Inf)

	g1 := new(G1).ScalarBaseMult(big.NewInt(1))
	g2 := new(G2).ScalarBaseMult(big.NewInt(1))
	p1 := Pair(g1, g2)
	pn1 := Pair(new(G1).Neg(g1), g2)
	np1 := Pair(g1, new(G2).Neg(g2))

	p1np1 := new(GT).Add(p1, np1)
	if !bytes.Equal(p1np1.Marshal(), gTInf.Marshal()) {
		t.Errorf("p1 * np1 = %v want %v", p1np1, gTInf)
	}
	if !bytes.Equal(pn1.Marshal(), np1.Marshal()) {
		t.Errorf("e(-G1, G2) != e(G1, -G2)")
	}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…