Documentation
¶
Overview ¶
Package bls implements the Boneh-Lynn-Shacham (BLS) signature scheme which was introduced in the paper "Short Signatures from the Weil Pairing". BLS requires pairing-based cryptography.
Index ¶
- func AggregatePublicKeys(suite pairing.Suite, Xs ...kyber.Point) kyber.Point
- func AggregateSignatures(suite pairing.Suite, sigs ...[]byte) ([]byte, error)
- func NewKeyPair(suite pairing.Suite, random cipher.Stream) (kyber.Scalar, kyber.Point)
- func Sign(suite pairing.Suite, x kyber.Scalar, msg []byte) ([]byte, error)
- func Verify(suite pairing.Suite, X kyber.Point, msg, sig []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AggregatePublicKeys ¶
AggregatePublicKeys takes a slice of public G2 points and returns the sum of those points. This is used to verify multisignatures.
func AggregateSignatures ¶
AggregateSignatures combines signatures created using the Sign function
func NewKeyPair ¶
NewKeyPair creates a new BLS signing key pair. The private key x is a scalar and the public key X is a point on curve G2.
func Sign ¶
Sign creates a BLS signature S = x * H(m) on a message m using the private key x. The signature S is a point on curve G1.
Types ¶
This section is empty.