Versions in this module Expand all Collapse all v1 v1.3.0 Jul 1, 2023 v1.2.5 Aug 5, 2022 v1.2.4 Sep 26, 2021 v1.2.3 Sep 16, 2021 v1.2.2 May 19, 2021 v1.2.1 May 19, 2021 v1.2.0 May 18, 2021 Changes in this version + func FromHex(s string) []byte + func Hex2Bytes(str string) []byte + type E = fe12 + func (e *E) IsOne() bool + func (e *E) One() *E + func (e *E) Set(e2 *E) *E + func (g *E) Equal(g2 *E) bool + type Engine struct + G1 *G1 + G2 *G2 + func NewPairingEngine() *Engine + func (e *Engine) AddPair(g1 *PointG1, g2 *PointG2) *Engine + func (e *Engine) AddPairInv(g1 *PointG1, g2 *PointG2) *Engine + func (e *Engine) Check() bool + func (e *Engine) GT() *GT + func (e *Engine) Reset() *Engine + func (e *Engine) Result() *E + type G1 struct + func NewG1() *G1 + func (g *G1) Add(r, p1, p2 *PointG1) *PointG1 + func (g *G1) Affine(p *PointG1) *PointG1 + func (g *G1) ClearCofactor(p *PointG1) + func (g *G1) DecodePoint(in []byte) (*PointG1, error) + func (g *G1) Double(r, p *PointG1) *PointG1 + func (g *G1) EncodePoint(p *PointG1) []byte + func (g *G1) Equal(p1, p2 *PointG1) bool + func (g *G1) FromBytes(in []byte) (*PointG1, error) + func (g *G1) InCorrectSubgroup(p *PointG1) bool + func (g *G1) IsAffine(p *PointG1) bool + func (g *G1) IsOnCurve(p *PointG1) bool + func (g *G1) IsZero(p *PointG1) bool + func (g *G1) MapToCurve(in []byte) (*PointG1, error) + func (g *G1) MulScalar(c, p *PointG1, e *big.Int) *PointG1 + func (g *G1) MultiExp(r *PointG1, points []*PointG1, powers []*big.Int) (*PointG1, error) + func (g *G1) Neg(r, p *PointG1) *PointG1 + func (g *G1) New() *PointG1 + func (g *G1) One() *PointG1 + func (g *G1) Q() *big.Int + func (g *G1) Sub(c, a, b *PointG1) *PointG1 + func (g *G1) ToBytes(p *PointG1) []byte + func (g *G1) Zero() *PointG1 + type G2 struct + func NewG2() *G2 + func (g *G2) Add(r, p1, p2 *PointG2) *PointG2 + func (g *G2) Affine(p *PointG2) *PointG2 + func (g *G2) ClearCofactor(p *PointG2) + func (g *G2) DecodePoint(in []byte) (*PointG2, error) + func (g *G2) Double(r, p *PointG2) *PointG2 + func (g *G2) EncodePoint(p *PointG2) []byte + func (g *G2) Equal(p1, p2 *PointG2) bool + func (g *G2) FromBytes(in []byte) (*PointG2, error) + func (g *G2) InCorrectSubgroup(p *PointG2) bool + func (g *G2) IsAffine(p *PointG2) bool + func (g *G2) IsOnCurve(p *PointG2) bool + func (g *G2) IsZero(p *PointG2) bool + func (g *G2) MapToCurve(in []byte) (*PointG2, error) + func (g *G2) MulScalar(c, p *PointG2, e *big.Int) *PointG2 + func (g *G2) MultiExp(r *PointG2, points []*PointG2, powers []*big.Int) (*PointG2, error) + func (g *G2) Neg(r, p *PointG2) *PointG2 + func (g *G2) New() *PointG2 + func (g *G2) One() *PointG2 + func (g *G2) Q() *big.Int + func (g *G2) Sub(c, a, b *PointG2) *PointG2 + func (g *G2) ToBytes(p *PointG2) []byte + func (g *G2) Zero() *PointG2 + type GT struct + func NewGT() *GT + func (g *GT) Add(c, a, b *E) + func (g *GT) Exp(c, a *E, s *big.Int) + func (g *GT) FromBytes(in []byte) (*E, error) + func (g *GT) Inverse(c, a *E) + func (g *GT) IsValid(e *E) bool + func (g *GT) Mul(c, a, b *E) + func (g *GT) New() *E + func (g *GT) Q() *big.Int + func (g *GT) Square(c, a *E) + func (g *GT) Sub(c, a, b *E) + func (g *GT) ToBytes(e *E) []byte + type PointG1 [3]fe + func (p *PointG1) Set(p2 *PointG1) *PointG1 + func (p *PointG1) Zero() *PointG1 + type PointG2 [3]fe2 + func (p *PointG2) Set(p2 *PointG2) *PointG2 + func (p *PointG2) Zero() *PointG2