Documentation
¶
Overview ¶
Package common provides the BLS interfaces that are implemented by the various BLS wrappers.
This package should not be used by downstream consumers. These interfaces are re-exporter by github.com/prysmaticlabs/prysm/crypto/bls. This package exists to prevent an import circular dependency.
Index ¶
Constants ¶
const BLSPubkeyLength = 48
Variables ¶
var ErrInfinitePubKey = errors.New("received an infinite public key")
ErrInfinitePubKey describes an error due to an infinite public key.
var ErrSecretUnmarshal = errors.New("could not unmarshal bytes into secret key")
ErrSecretUnmarshal describes an error which happens during unmarshalling a secret key.
var ErrZeroKey = errors.New("received secret key is zero")
ErrZeroKey describes an error due to a zero secret key.
var InfinitePublicKey = [BLSPubkeyLength]byte{0xC0}
InfinitePublicKey represents an infinite public key (G1 Point at Infinity).
var InfiniteSignature = [96]byte{0xC0}
InfiniteSignature represents an infinite signature (G2 Point at Infinity).
var ZeroSecretKey = [32]byte{}
ZeroSecretKey represents a zero secret key.
Functions ¶
This section is empty.
Types ¶
type PublicKey ¶
type PublicKey interface {
Marshal() []byte
Copy() PublicKey
Aggregate(p2 PublicKey) PublicKey
IsInfinite() bool
Equals(p2 PublicKey) bool
}
PublicKey represents a BLS public key.
type Signature ¶
type Signature interface {
Verify(pubKey PublicKey, msg []byte) bool
// Deprecated: Use FastAggregateVerify or use this method in spectests only.
AggregateVerify(pubKeys []PublicKey, msgs [][32]byte) bool
FastAggregateVerify(pubKeys []PublicKey, msg [32]byte) bool
Eth2FastAggregateVerify(pubKeys []PublicKey, msg [32]byte) bool
Marshal() []byte
Copy() Signature
}
Signature represents a BLS signature.