Versions in this module Expand all Collapse all v1 v1.11.0 Oct 31, 2023 Changes in this version + func K256GeneratorFromHashedBytes(bytes []byte) (x, y *big.Int, err error) + type Bls12381G1Curve struct + func Bls12381G1() *Bls12381G1Curve + func Bls12381G2() *Bls12381G1Curve + func (curve *Bls12381G1Curve) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) + func (curve *Bls12381G1Curve) CompressedBytesFromBigInts(x, y *big.Int) ([]byte, error) + func (curve *Bls12381G1Curve) Double(x1, y1 *big.Int) (*big.Int, *big.Int) + func (curve *Bls12381G1Curve) Hash(msg []byte) (*big.Int, *big.Int) + func (curve *Bls12381G1Curve) IsOnCurve(x, y *big.Int) bool + func (curve *Bls12381G1Curve) Params() *elliptic.CurveParams + func (curve *Bls12381G1Curve) ScalarBaseMult(k []byte) (*big.Int, *big.Int) + func (curve *Bls12381G1Curve) ScalarMult(Bx, By *big.Int, k []byte) (*big.Int, *big.Int) + type Bls12381G2Curve struct + func (curve *Bls12381G2Curve) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) + func (curve *Bls12381G2Curve) CompressedBytesFromBigInts(x, y *big.Int) ([]byte, error) + func (curve *Bls12381G2Curve) Double(x1, y1 *big.Int) (*big.Int, *big.Int) + func (curve *Bls12381G2Curve) Hash(msg []byte) (*big.Int, *big.Int) + func (curve *Bls12381G2Curve) IsOnCurve(x, y *big.Int) bool + func (curve *Bls12381G2Curve) Params() *elliptic.CurveParams + func (curve *Bls12381G2Curve) ScalarBaseMult(k []byte) (*big.Int, *big.Int) + func (curve *Bls12381G2Curve) ScalarMult(Bx, By *big.Int, k []byte) (*big.Int, *big.Int) + type Ed25519Curve struct + func Ed25519() *Ed25519Curve + func (curve *Ed25519Curve) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *big.Int) + func (curve *Ed25519Curve) Double(x1, y1 *big.Int) (*big.Int, *big.Int) + func (curve *Ed25519Curve) Hash(msg []byte) (*big.Int, *big.Int) + func (curve *Ed25519Curve) IsOnCurve(x, y *big.Int) bool + func (curve *Ed25519Curve) Neg(Bx, By *big.Int) (*big.Int, *big.Int) + func (curve *Ed25519Curve) Params() *elliptic.CurveParams + func (curve *Ed25519Curve) ScalarBaseMult(k []byte) (*big.Int, *big.Int) + func (curve *Ed25519Curve) ScalarMult(Bx, By *big.Int, k []byte) (*big.Int, *big.Int) + type Feldman struct + func NewFeldman(threshold, limit uint32, curve elliptic.Curve) (*Feldman, error) + func (f Feldman) Combine(shares ...*ShamirShare) ([]byte, error) + func (f Feldman) Split(secret []byte) ([]*ShareVerifier, []*ShamirShare, error) + func (f Feldman) Verify(share *ShamirShare, verifiers []*ShareVerifier) (bool, error) + type FeldmanResult struct + SecretShares []*ShamirShare + Verifiers []*ShareVerifier + type Pedersen struct + func NewPedersen(threshold, limit uint32, generator *curves.EcPoint) (*Pedersen, error) + func (pd Pedersen) Combine(shares ...*ShamirShare) ([]byte, error) + func (pd Pedersen) Split(secret []byte) (*PedersenResult, error) + func (pd Pedersen) Verify(share *ShamirShare, blinding *ShamirShare, blindedverifiers []*ShareVerifier) (bool, error) + type PedersenResult struct + BlindedVerifiers []*ShareVerifier + Blinding *big.Int + BlindingShares []*ShamirShare + SecretShares []*ShamirShare + Verifiers []*ShareVerifier + type Shamir struct + func NewShamir(threshold, limit int, field *curves.Field) (*Shamir, error) + func (s *Shamir) Combine(shares ...*ShamirShare) ([]byte, error) + func (s *Shamir) GetSharesAndPolynomial(secret []byte) ([]*ShamirShare, *polynomial, error) + func (s *Shamir) Interpolate(xCoordinates, yCoordinates []*curves.Element) (*curves.Element, error) + func (s *Shamir) Split(secret []byte) ([]*ShamirShare, error) + func (s Shamir) ComputeL(shares ...*ShamirShare) ([]*curves.Element, error) + type ShamirShare struct + Identifier uint32 + Value *curves.Element + func NewShamirShare(x uint32, y []byte, f *curves.Field) *ShamirShare + func (s ShamirShare) Add(other *ShamirShare) *ShamirShare + func (s ShamirShare) Bytes() []byte + type ShareVerifier = kryptology.EcPoint