Documentation
¶
Index ¶
Constants ¶
View Source
const ( // SignatureBytes is the length of a BLS signature SignatureBytes = 48 // SecretKeyBytes is the length of a BLS private key SecretKeyBytes = 32 // PublicKeyBytes is the length of a BLS public key PublicKeyBytes = 96 )
Variables ¶
View Source
var ErrBytesLen = errors.New("invalid length of the compressed byte slice")
View Source
var ErrInvalidSig = errors.New("invalid signature")
View Source
var ErrSigMismatch = errors.New("signature mismatch")
Functions ¶
This section is empty.
Types ¶
type BlsManager ¶
type BlsManager interface {
// GenerateKey generates a fresh key-pair for BLS signatures.
GenerateKey() (SecretKey, PublicKey)
//Aggregate aggregates signatures together into a new signature.
Aggregate([]Signature) (Signature, error)
//AggregatePublic aggregates public keys together into a new PublicKey.
AggregatePublic([]PublicKey) (PublicKey, error)
// VerifyAggregatedOne verifies each public key against a message.
VerifyAggregatedOne([]PublicKey, Message, Signature) error
// VerifyAggregatedN verifies each public key against each message.
VerifyAggregatedN([]PublicKey, []Message, Signature) error
//DecPublicKey decompress a public key
DecPublicKey([]byte) (PublicKey, error)
//DecPublicKeyHex decompress a public key from a hex string
DecPublicKeyHex(string) (PublicKey, error)
//DecSecretKey decompress a secret key
DecSecretKey([]byte) (SecretKey, error)
//DecSecretKeyHex decompress a secret key from a hex string
DecSecretKeyHex(string) (SecretKey, error)
//DecSignature decompress a signature
DecSignature([]byte) (Signature, error)
//DecSignatureHex decompress a signature from a hex string
DecSignatureHex(string) (Signature, error)
}
func NewBlsManager ¶
func NewBlsManager() BlsManager
type CompressedPublic ¶
type CompressedPublic [PublicKeyBytes]byte
CompressedPublic is a compressed affine representing a PublicKey
func (CompressedPublic) Bytes ¶
func (b CompressedPublic) Bytes() []byte
func (CompressedPublic) String ¶
func (b CompressedPublic) String() string
type CompressedSecret ¶
type CompressedSecret [SecretKeyBytes]byte
CompressedSecret is a compressed affine representing a SecretKey
func (CompressedSecret) Bytes ¶
func (b CompressedSecret) Bytes() []byte
func (CompressedSecret) String ¶
func (b CompressedSecret) String() string
type CompressedSignature ¶
type CompressedSignature [SignatureBytes]byte
CompressedSignature is a compressed affine
func (CompressedSignature) Bytes ¶
func (b CompressedSignature) Bytes() []byte
func (CompressedSignature) String ¶
func (b CompressedSignature) String() string
type PublicKey ¶
type PublicKey interface {
// Verify verifies a signature against a message and the public key.
Verify(m Message, sig Signature) error
// Aggregate adds an other public key to the current.
Aggregate(other PublicKey) error
// Compress compresses the public key to a byte slice.
Compress() CompressedPublic
}
type SecretKey ¶
type SecretKey interface {
// Sign returns the BLS signature of the giving message.
Sign(m Message) Signature
// PubKey returns the corresponding public key.
PubKey() (PublicKey, error)
// Compress compresses the secret key to a byte slice.
Compress() CompressedSecret
}
type Signature ¶
type Signature interface {
// Compress compresses the signature to a byte slice.
Compress() CompressedSignature
}
Click to show internal directories.
Click to hide internal directories.