Documentation ¶
Overview ¶
Package tbls implements the (t,n)-threshold Boneh-Lynn-Shacham signature scheme. During setup a group of n participants runs a distributed key generation algorithm (see kyber/share/dkg) to compute a joint public signing key X and one secret key share xi for each of the n signers. To compute a signature S on a message m, at least t ouf of n signers have to provide partial (BLS) signatures Si on m using their individual key shares xi which can then be used to recover the full (regular) BLS signature S via Lagrange interpolation. The signature S can be verified with the initially established group key X. Signatures are points on curve G1 and public keys are points on curve G2.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewThresholdSchemeOnG1 ¶
func NewThresholdSchemeOnG1(suite pairing.Suite) sign.ThresholdScheme
NewThresholdSchemeOnG1 returns a treshold scheme that computes bls signatures on G1
func NewThresholdSchemeOnG2 ¶
func NewThresholdSchemeOnG2(suite pairing.Suite) sign.ThresholdScheme
NewThresholdSchemeOnG2 returns a treshold scheme that computes bls signatures on G2
Types ¶
type SigShare ¶
type SigShare []byte
SigShare encodes a threshold BLS signature share Si = i || v where the 2-byte big-endian value i corresponds to the share's index and v represents the share's value. The signature share Si is a point on curve G1 or G2.