Versions in this module Expand all Collapse all v1 v1.7.1 Mar 11, 2022 Changes in this version + const PrivateKeySize + const PublicKeySize + const SeedSize + const SignatureSize + func ExpandSeed(seed []byte) []byte + func GenerateKey(rand io.Reader) (PublicKey, PrivateKey, error) + func GenerateSharedKey(config *ShareConfiguration) (PublicKey, []*KeyShare, Commitments, error) + func GenerateSharedNonce(config *ShareConfiguration, s *KeyShare, p PublicKey, m Message) (PublicKey, []*NonceShare, Commitments, error) + func PublicKeyFromBytes(bytes []byte) ([]byte, error) + func Reconstruct(keyShares []*KeyShare, config *ShareConfiguration) ([]byte, error) + func Sign(privateKey PrivateKey, message []byte) ([]byte, error) + func ThresholdSign(expandedSecretKeyShare []byte, publicKey PublicKey, message []byte, ...) []byte + func Verify(publicKey PublicKey, message, sig []byte) (bool, error) + type Commitments []curves.Point + func CommitmentsFromBytes(bytes [][]byte) (Commitments, error) + func (commitments Commitments) CommitmentsToBytes() [][]byte + type KeyShare struct + func KeyShareFromBytes(bytes []byte) *KeyShare + func NewKeyShare(identifier byte, secret []byte) *KeyShare + func (share *KeyShare) VerifyVSS(commitments Commitments, config *ShareConfiguration) (bool, error) + type Message []byte + func (m Message) String() string + type NonceShare struct + func NewNonceShare(identifier byte, secret []byte) *NonceShare + func NonceShareFromBytes(bytes []byte) *NonceShare + func (n NonceShare) Add(other *NonceShare) *NonceShare + type PartialSignature struct + ShareIdentifier byte + Sig []byte + func NewPartialSignature(identifier byte, sig []byte) *PartialSignature + func TSign(message Message, key *KeyShare, pub PublicKey, nonce *NonceShare, ...) *PartialSignature + func (sig *PartialSignature) Bytes() []byte + func (sig *PartialSignature) R() []byte + func (sig *PartialSignature) S() []byte + type PrivateKey []byte + func NewKeyFromSeed(seed []byte) (PrivateKey, error) + func (priv PrivateKey) Public() crypto.PublicKey + func (priv PrivateKey) Seed() []byte + func (priv PrivateKey) Sign(rand io.Reader, message []byte, opts crypto.SignerOpts) (signature []byte, err error) + type PublicKey []byte + func GeAdd(a PublicKey, b PublicKey) PublicKey + func (p PublicKey) Bytes() []byte + type ShareConfiguration struct + N int + T int + type Signature = []byte + func Aggregate(sigs []*PartialSignature, config *ShareConfiguration) (Signature, error)