Versions in this module Expand all Collapse all v1 v1.0.1 Jan 24, 2025 v1.0.0 Feb 19, 2023 Changes in this version + const BLST_FP_BYTES + const BLST_P1_COMPRESS_BYTES + const BLST_P1_SERIALIZE_BYTES + const BLST_P2_COMPRESS_BYTES + const BLST_P2_SERIALIZE_BYTES + const BLST_SCALAR_BYTES + func Fp12FinalVerify(pt1 *Fp12, pt2 *Fp12) bool + func PairingAggregatePkInG1(ctx Pairing, PK *P1Affine, pkValidate bool, sig *P2Affine, sigGroupcheck bool, ...) int + func PairingAggregatePkInG2(ctx Pairing, PK *P2Affine, pkValidate bool, sig *P1Affine, sigGroupcheck bool, ...) int + func PairingCommit(ctx Pairing) + func PairingFinalVerify(ctx Pairing, optional ...*Fp12) bool + func PairingMerge(ctx Pairing, ctx1 Pairing) int + func PairingMulNAggregatePkInG1(ctx Pairing, PK *P1Affine, pkValidate bool, sig *P2Affine, sigGroupcheck bool, ...) int + func PairingMulNAggregatePkInG2(ctx Pairing, PK *P2Affine, pkValidate bool, sig *P1Affine, sigGroupcheck bool, ...) int + func PairingRawAggregate(ctx Pairing, q *P2Affine, p *P1Affine) + func PrintBytes(val []byte, name string) + func SetMaxProcs(max int) + func Uniq(msgs []Message) bool + type Fp = C.blst_fp + func (e1 *Fp) Equals(e2 *Fp) bool + func (fp *Fp) FromBEndian(arr []byte) *Fp + func (fp *Fp) FromLEndian(arr []byte) *Fp + func (fp *Fp) ToBEndian() []byte + func (fp *Fp) ToLEndian() []byte + type Fp12 = C.blst_fp12 + func Fp12MillerLoop(q *P2Affine, p *P1Affine) *Fp12 + func Fp12One() Fp12 + func PairingAsFp12(ctx Pairing) *Fp12 + func (pt *Fp12) FinalExp() + func (pt *Fp12) InGroup() bool + func (pt *Fp12) MulAssign(p *Fp12) + func (pt *Fp12) ToBendian() []byte + type Fp2 = C.blst_fp2 + func (e1 *Fp2) Equals(e2 *Fp2) bool + func (f *Fp2) Print(name string) + type Fp6 = C.blst_fp6 + type Message = []byte + type P1 = C.blst_p1 + func EncodeToG1(msg []byte, dst []byte, optional ...[]byte) *P1 + func HashToG1(msg []byte, dst []byte, optional ...[]byte) *P1 + func P1AffinesAdd(points []*P1Affine, optional ...int) *P1 + func P1AffinesMult(pointsIf interface{}, scalarsIf interface{}, nbits int) *P1 + func P1Generator() *P1 + func (acc *P1) MultNAccumulate(pointIf interface{}, scalarIf interface{}, optional ...int) *P1 + func (e1 *P1) Equals(e2 *P1) bool + func (p *P1) FromAffine(pa *P1Affine) + func (p *P1) Print(name string) + func (p *P1) ToAffine() *P1Affine + func (p1 *P1) Add(pointIf interface{}) *P1 + func (p1 *P1) AddAssign(pointIf interface{}) *P1 + func (p1 *P1) Compress() []byte + func (p1 *P1) Mult(scalarIf interface{}, optional ...int) *P1 + func (p1 *P1) MultAssign(scalarIf interface{}, optional ...int) *P1 + func (p1 *P1) Serialize() []byte + type P1Affine = C.blst_p1_affine + func (dummy *P1Affine) AggregateVerifyCompressed(sig []byte, sigGroupcheck bool, pks [][]byte, pksVerify bool, msgs []Message, ...) bool + func (dummy *P1Affine) BatchUncompress(in [][]byte) []*P1Affine + func (dummy *P1Affine) MultipleAggregateVerify(sigs []*P1Affine, sigsGroupcheck bool, pks []*P2Affine, pksVerify bool, ...) bool + func (dummy *P1Affine) VerifyCompressed(sig []byte, sigGroupcheck bool, pk []byte, pkValidate bool, msg Message, ...) bool + func (e1 *P1Affine) Equals(e2 *P1Affine) bool + func (p *P1Affine) Print(name string) + func (p1 *P1Affine) Compress() []byte + func (p1 *P1Affine) Deserialize(in []byte) *P1Affine + func (p1 *P1Affine) InG1() bool + func (p1 *P1Affine) Serialize() []byte + func (p1 *P1Affine) Uncompress(in []byte) *P1Affine + func (pk *P1Affine) From(s *Scalar) *P1Affine + func (pk *P1Affine) KeyValidate() bool + func (sig *P1Affine) AggregateVerify(sigGroupcheck bool, pks []*P2Affine, pksVerify bool, msgs []Message, ...) bool + func (sig *P1Affine) FastAggregateVerify(sigGroupcheck bool, pks []*P2Affine, msg Message, dst []byte, ...) bool + func (sig *P1Affine) SigValidate(sigInfcheck bool) bool + func (sig *P1Affine) Sign(sk *SecretKey, msg []byte, dst []byte, optional ...interface{}) *P1Affine + func (sig *P1Affine) Verify(sigGroupcheck bool, pk *P2Affine, pkValidate bool, msg Message, dst []byte, ...) bool + type P1Affines []P1Affine + func P1sToAffine(points []*P1, optional ...int) P1Affines + func (points P1Affines) Add() *P1 + func (points P1Affines) Mult(scalarsIf interface{}, nbits int) *P1 + type P1Aggregate struct + func (agg *P1Aggregate) Add(elmt *P1Affine, groupcheck bool) bool + func (agg *P1Aggregate) AddAggregate(other *P1Aggregate) + func (agg *P1Aggregate) Aggregate(elmts []*P1Affine, groupcheck bool) bool + func (agg *P1Aggregate) AggregateCompressed(elmts [][]byte, groupcheck bool) bool + func (agg *P1Aggregate) ToAffine() *P1Affine + type P1s []P1 + func (points P1s) Add() *P1 + func (points P1s) Mult(scalarsIf interface{}, nbits int) *P1 + func (points P1s) ToAffine(optional ...P1Affines) P1Affines + type P2 = C.blst_p2 + func EncodeToG2(msg []byte, dst []byte, optional ...[]byte) *P2 + func HashToG2(msg []byte, dst []byte, optional ...[]byte) *P2 + func P2AffinesAdd(points []*P2Affine, optional ...int) *P2 + func P2AffinesMult(pointsIf interface{}, scalarsIf interface{}, nbits int) *P2 + func P2Generator() *P2 + func (acc *P2) MultNAccumulate(pointIf interface{}, scalarIf interface{}, optional ...int) *P2 + func (e1 *P2) Equals(e2 *P2) bool + func (p *P2) FromAffine(pa *P2Affine) + func (p *P2) Print(name string) + func (p *P2) ToAffine() *P2Affine + func (p2 *P2) Add(pointIf interface{}) *P2 + func (p2 *P2) AddAssign(pointIf interface{}) *P2 + func (p2 *P2) Compress() []byte + func (p2 *P2) Mult(scalarIf interface{}, optional ...int) *P2 + func (p2 *P2) MultAssign(scalarIf interface{}, optional ...int) *P2 + func (p2 *P2) Serialize() []byte + type P2Affine = C.blst_p2_affine + func (dummy *P2Affine) AggregateVerifyCompressed(sig []byte, sigGroupcheck bool, pks [][]byte, pksVerify bool, msgs []Message, ...) bool + func (dummy *P2Affine) BatchUncompress(in [][]byte) []*P2Affine + func (dummy *P2Affine) MultipleAggregateVerify(sigs []*P2Affine, sigsGroupcheck bool, pks []*P1Affine, pksVerify bool, ...) bool + func (dummy *P2Affine) VerifyCompressed(sig []byte, sigGroupcheck bool, pk []byte, pkValidate bool, msg Message, ...) bool + func (e1 *P2Affine) Equals(e2 *P2Affine) bool + func (p *P2Affine) Print(name string) + func (p2 *P2Affine) Compress() []byte + func (p2 *P2Affine) Deserialize(in []byte) *P2Affine + func (p2 *P2Affine) InG2() bool + func (p2 *P2Affine) Serialize() []byte + func (p2 *P2Affine) Uncompress(in []byte) *P2Affine + func (pk *P2Affine) From(s *Scalar) *P2Affine + func (pk *P2Affine) KeyValidate() bool + func (sig *P2Affine) AggregateVerify(sigGroupcheck bool, pks []*P1Affine, pksVerify bool, msgs []Message, ...) bool + func (sig *P2Affine) FastAggregateVerify(sigGroupcheck bool, pks []*P1Affine, msg Message, dst []byte, ...) bool + func (sig *P2Affine) SigValidate(sigInfcheck bool) bool + func (sig *P2Affine) Sign(sk *SecretKey, msg []byte, dst []byte, optional ...interface{}) *P2Affine + func (sig *P2Affine) Verify(sigGroupcheck bool, pk *P1Affine, pkValidate bool, msg Message, dst []byte, ...) bool + type P2Affines []P2Affine + func P2sToAffine(points []*P2, optional ...int) P2Affines + func (points P2Affines) Add() *P2 + func (points P2Affines) Mult(scalarsIf interface{}, nbits int) *P2 + type P2Aggregate struct + func (agg *P2Aggregate) Add(elmt *P2Affine, groupcheck bool) bool + func (agg *P2Aggregate) AddAggregate(other *P2Aggregate) + func (agg *P2Aggregate) Aggregate(elmts []*P2Affine, groupcheck bool) bool + func (agg *P2Aggregate) AggregateCompressed(elmts [][]byte, groupcheck bool) bool + func (agg *P2Aggregate) ToAffine() *P2Affine + type P2s []P2 + func (points P2s) Add() *P2 + func (points P2s) Mult(scalarsIf interface{}, nbits int) *P2 + func (points P2s) ToAffine(optional ...P2Affines) P2Affines + type Pairing = []C.blst_pairing + func PairingCtx(hash_or_encode bool, DST []byte) Pairing + type Scalar = C.blst_scalar + func HashToScalar(msg []byte, dst []byte) *Scalar + func (a *Scalar) Add(b *Scalar) (*Scalar, bool) + func (a *Scalar) AddAssign(b *Scalar) (*Scalar, bool) + func (a *Scalar) Inverse() *Scalar + func (a *Scalar) Mul(b *Scalar) (*Scalar, bool) + func (a *Scalar) MulAssign(b *Scalar) (*Scalar, bool) + func (a *Scalar) Sub(b *Scalar) (*Scalar, bool) + func (a *Scalar) SubAssign(b *Scalar) (*Scalar, bool) + func (fr *Scalar) FromBEndian(arr []byte) *Scalar + func (fr *Scalar) FromLEndian(arr []byte) *Scalar + func (fr *Scalar) ToBEndian() []byte + func (fr *Scalar) ToLEndian() []byte + func (s *Scalar) Deserialize(in []byte) *Scalar + func (s *Scalar) HashTo(msg []byte, dst []byte) bool + func (s *Scalar) Print(name string) + func (s *Scalar) Serialize() []byte + func (s *Scalar) Valid() bool + func (s1 *Scalar) Equals(s2 *Scalar) bool + type SecretKey = Scalar + func DeriveMasterEip2333(ikm []byte) *SecretKey + func KeyGen(ikm []byte, optional ...[]byte) *SecretKey + func KeyGenV3(ikm []byte, optional ...[]byte) *SecretKey + func KeyGenV45(ikm []byte, salt []byte, optional ...[]byte) *SecretKey + func KeyGenV5(ikm []byte, salt []byte, optional ...[]byte) *SecretKey + func (master *SecretKey) DeriveChildEip2333(child_index uint32) *SecretKey + func (sk *SecretKey) Zeroize()