tbls

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 18, 2024 License: MPL-2.0 Imports: 8 Imported by: 15

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.

func (SigShare) Index

func (s SigShare) Index() (int, error)

Index returns the index i of the TBLS share Si.

func (*SigShare) Value

func (s *SigShare) Value() []byte

Value returns the value v of the TBLS share Si.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL