Documentation
      ¶
    
    
  
    
  
    Index ¶
- type PreSignature
 - func (sig *PreSignature) Group() curve.Curve
 - func (sig *PreSignature) Signature(shares map[party.ID]SignatureShare) *Signature
 - func (sig *PreSignature) SignatureShare(hash []byte) curve.Scalar
 - func (sig *PreSignature) SignerIDs() party.IDSlice
 - func (sig *PreSignature) Validate() error
 - func (sig *PreSignature) VerifySignatureShares(shares map[party.ID]SignatureShare, hash []byte) (culprits []party.ID)
 
- type Signature
 - type SignatureShare
 
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PreSignature ¶
type PreSignature struct {
	// ID is a random identifier for this specific presignature.
	ID types.RID
	// R = δ⁻¹⋅Γ = δ⁻¹⋅(∑ⱼ Γⱼ) = (∑ⱼδ⁻¹γⱼ)⋅G = k⁻¹⋅G
	R curve.Point
	// RBar[j] = δ⁻¹⋅Δⱼ = (δ⁻¹kⱼ)⋅Γ = (k⁻¹kⱼ)⋅G
	RBar *party.PointMap
	// S[j] = χⱼ⋅R
	S *party.PointMap
	KShare curve.Scalar
	ChiShare curve.Scalar
}
    func EmptyPreSignature ¶
func EmptyPreSignature(group curve.Curve) *PreSignature
EmptyPreSignature returns a PreSignature with a given group, ready for unmarshalling.
func (*PreSignature) Group ¶
func (sig *PreSignature) Group() curve.Curve
Group returns the elliptic curve group associated with this PreSignature.
func (*PreSignature) Signature ¶
func (sig *PreSignature) Signature(shares map[party.ID]SignatureShare) *Signature
Signature combines the given shares σⱼ and returns a pair (R,S), where S=∑ⱼσⱼ.
func (*PreSignature) SignatureShare ¶
func (sig *PreSignature) SignatureShare(hash []byte) curve.Scalar
SignatureShare returns this party's share σᵢ = kᵢm+rχᵢ, where s = ∑ⱼσⱼ.
func (*PreSignature) SignerIDs ¶
func (sig *PreSignature) SignerIDs() party.IDSlice
func (*PreSignature) Validate ¶
func (sig *PreSignature) Validate() error
func (*PreSignature) VerifySignatureShares ¶
func (sig *PreSignature) VerifySignatureShares(shares map[party.ID]SignatureShare, hash []byte) (culprits []party.ID)
VerifySignatureShares should be called if the signature returned by PreSignature.Signature is not valid. It returns the list of parties whose shares are invalid.
type Signature ¶
func EmptySignature ¶
EmptySignature returns a new signature with a given curve, ready to be unmarshalled.
type SignatureShare ¶
SignatureShare represents an individual additive share of the signature's "s" component.