Documentation ¶
Index ¶
- func AggregateSignatures(s pbc.PairingSuite, public *share.PubPoly, msg []byte, sigs []*ThresholdSig, ...) ([]byte, error)
- func NewKeyPair(s pbc.PairingSuite, r cipher.Stream) (kyber.Scalar, kyber.Point)
- func Sign(s pbc.PairingSuite, private kyber.Scalar, msg []byte) []byte
- func ThresholdVerify(s pbc.PairingSuite, public *share.PubPoly, msg []byte, sig *ThresholdSig) bool
- func Verify(s pbc.PairingSuite, public kyber.Point, msg, sig []byte) error
- type DistKeyShare
- type ThresholdSig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AggregateSignatures ¶
func AggregateSignatures(s pbc.PairingSuite, public *share.PubPoly, msg []byte, sigs []*ThresholdSig, n, t int) ([]byte, error)
AggregateSignatures takes a list of threshold signatures, verifies them against the message and the given public polynomial. If there are enough valid threshold signatures, the final BLS signature is generated.
func NewKeyPair ¶
func Sign ¶
Performs a BLS signature operation. Namely, it computes:
x * H(m) as a point on G1
where x is the private key, and m the message.
func ThresholdVerify ¶
func ThresholdVerify(s pbc.PairingSuite, public *share.PubPoly, msg []byte, sig *ThresholdSig) bool
ThresholdVerify verifies that the threshold signature is have been correctly generated from the private share generated during a DKG.
Types ¶
type DistKeyShare ¶
type DistKeyShare interface {}
type ThresholdSig ¶
func ThresholdSign ¶
func ThresholdSign(s pbc.PairingSuite, private *share.PriShare, msg []byte) *ThresholdSig
ThresholdSign generates the regular BLS signature and also computes a discrete log equality proof to show that the signature have been correctly generated from the private share generated during a DKG.