Versions in this module Expand all Collapse all v0 v0.1.1 Feb 20, 2022 Changes in this version + var G1One = g1One + var G2One = g2One + 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 NewEngine() *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 Fr [4]uint64 + func NewFr() *Fr + func (e *Fr) Add(a, b *Fr) + func (e *Fr) Bit(at int) bool + func (e *Fr) Cmp(e1 *Fr) int + func (e *Fr) Double(a *Fr) + func (e *Fr) Equal(e2 *Fr) bool + func (e *Fr) Exp(a *Fr, ee *big.Int) + func (e *Fr) FromBytes(in []byte) *Fr + func (e *Fr) FromRed() + func (e *Fr) Inverse(a *Fr) + func (e *Fr) IsOne() bool + func (e *Fr) IsRedOne() bool + func (e *Fr) IsZero() bool + func (e *Fr) Mul(a, b *Fr) + func (e *Fr) Neg(a *Fr) + func (e *Fr) One() *Fr + func (e *Fr) Rand(r io.Reader) (*Fr, error) + func (e *Fr) RedExp(a *Fr, ee *big.Int) + func (e *Fr) RedFromBytes(in []byte) *Fr + func (e *Fr) RedInverse(ei *Fr) + func (e *Fr) RedMul(a, b *Fr) + func (e *Fr) RedOne() *Fr + func (e *Fr) RedSquare(a *Fr) + func (e *Fr) RedToBig() *big.Int + func (e *Fr) RedToBytes() []byte + func (e *Fr) Set(e2 *Fr) *Fr + func (e *Fr) Square(a *Fr) + func (e *Fr) Sub(a, b *Fr) + func (e *Fr) ToBig() *big.Int + func (e *Fr) ToBytes() []byte + func (e *Fr) ToRed() + func (e *Fr) Zero() *Fr + type G1 struct + func NewG1() *G1 + func (g *G1) Add(r, p1, p2 *PointG1) *PointG1 + func (g *G1) AddMixed(r, p1, p2 *PointG1) *PointG1 + func (g *G1) Affine(p *PointG1) *PointG1 + func (g *G1) AffineBatch(p []*PointG1) + func (g *G1) ClearCofactor(p *PointG1) *PointG1 + func (g *G1) Double(r, p *PointG1) *PointG1 + func (g *G1) EncodeToCurve(msg, domain []byte) (*PointG1, error) + func (g *G1) Equal(p1, p2 *PointG1) bool + func (g *G1) FromBytes(in []byte) (*PointG1, error) + func (g *G1) FromCompressed(compressed []byte) (*PointG1, error) + func (g *G1) FromUncompressed(uncompressed []byte) (*PointG1, error) + func (g *G1) HashToCurve(msg, domain []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(r, p *PointG1, e *Fr) *PointG1 + func (g *G1) MulScalarBig(r, p *PointG1, e *big.Int) *PointG1 + func (g *G1) MultiExp(r *PointG1, points []*PointG1, scalars []*Fr) (*PointG1, error) + func (g *G1) MultiExpBig(r *PointG1, points []*PointG1, scalars []*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) ToCompressed(p *PointG1) []byte + func (g *G1) ToUncompressed(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) AddMixed(r, p1, p2 *PointG2) *PointG2 + func (g *G2) Affine(p *PointG2) *PointG2 + func (g *G2) AffineBatch(p []*PointG2) + func (g *G2) ClearCofactor(p *PointG2) *PointG2 + func (g *G2) Double(r, p *PointG2) *PointG2 + func (g *G2) EncodeToCurve(msg, domain []byte) (*PointG2, error) + func (g *G2) Equal(p1, p2 *PointG2) bool + func (g *G2) FromBytes(in []byte) (*PointG2, error) + func (g *G2) FromCompressed(compressed []byte) (*PointG2, error) + func (g *G2) FromUncompressed(uncompressed []byte) (*PointG2, error) + func (g *G2) HashToCurve(msg, domain []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(r, p *PointG2, e *Fr) *PointG2 + func (g *G2) MulScalarBig(r, p *PointG2, e *big.Int) *PointG2 + func (g *G2) MultiExp(r *PointG2, points []*PointG2, scalars []*Fr) (*PointG2, error) + func (g *G2) MultiExpBig(r *PointG2, points []*PointG2, scalars []*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) ToCompressed(p *PointG2) []byte + func (g *G2) ToUncompressed(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) IsAffine() bool + func (p *PointG1) Set(p2 *PointG1) *PointG1 + func (p *PointG1) Zero() *PointG1 + type PointG2 [3]fe2 + func (p *PointG2) IsAffine() bool + func (p *PointG2) Set(p2 *PointG2) *PointG2 + func (p *PointG2) Zero() *PointG2