frost

package
v0.0.3-gama Latest Latest
Warning

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

Go to latest
Published: Dec 24, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

README

frost

import "github.com/coinbase/kryptology/pkg/dkg/frost"

Index

type DkgParticipant

type DkgParticipant struct {
    Curve *curves.Curve

    Id              uint32
    SkShare         curves.Scalar
    VerificationKey curves.Point
    VkShare         curves.Point
    // contains filtered or unexported fields
}
func NewDkgParticipant
func NewDkgParticipant(id, threshold uint32, ctx string, curve *curves.Curve, otherParticipants ...uint32) (*DkgParticipant, error)
func (*DkgParticipant) Round1
func (dp *DkgParticipant) Round1(secret []byte) (*Round1Bcast, Round1P2PSend, error)

Round1 implements dkg round 1 of FROST

func (*DkgParticipant) Round2
func (dp *DkgParticipant) Round2(bcast map[uint32]*Round1Bcast, p2psend map[uint32]*sharing.ShamirShare) (*Round2Bcast, error)

Round2 implements dkg round 2 of FROST

type Round1Bcast

Round1Bcast are values that are broadcast to all other participants after round1 completes

type Round1Bcast struct {
    Verifiers *sharing.FeldmanVerifier
    Wi, Ci    curves.Scalar
}

type Round1P2PSend

Round1P2PSend are values that are P2PSend to all other participants after round1 completes

type Round1P2PSend = map[uint32]*sharing.ShamirShare

type Round2Bcast

Round2Bcast are values that are broadcast to all other participants after round2 completes

type Round2Bcast struct {
    VerificationKey curves.Point
    VkShare         curves.Point
}

Generated by gomarkdoc

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DkgParticipant

type DkgParticipant struct {
	Curve *curves.Curve

	Id              uint32
	SkShare         curves.Scalar
	VerificationKey curves.Point
	VkShare         curves.Point
	// contains filtered or unexported fields
}

func NewDkgParticipant

func NewDkgParticipant(id, threshold uint32, ctx string, curve *curves.Curve, otherParticipants ...uint32) (*DkgParticipant, error)

func (*DkgParticipant) Round1

func (dp *DkgParticipant) Round1(secret []byte) (*Round1Bcast, Round1P2PSend, error)

Round1 implements dkg round 1 of FROST

func (*DkgParticipant) Round2

func (dp *DkgParticipant) Round2(bcast map[uint32]*Round1Bcast, p2psend map[uint32]*sharing.ShamirShare) (*Round2Bcast, error)

Round2 implements dkg round 2 of FROST

type Round1Bcast

type Round1Bcast struct {
	Verifiers *sharing.FeldmanVerifier
	Wi, Ci    curves.Scalar
}

Round1Bcast are values that are broadcast to all other participants after round1 completes

type Round1P2PSend

type Round1P2PSend = map[uint32]*sharing.ShamirShare

Round1P2PSend are values that are P2PSend to all other participants after round1 completes

type Round2Bcast

type Round2Bcast struct {
	VerificationKey curves.Point
	VkShare         curves.Point
}

Round2Bcast are values that are broadcast to all other participants after round2 completes

Jump to

Keyboard shortcuts

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