Documentation
¶
Overview ¶
Package v2 provides a high-level wrapper around the DKLS19 sign, dkg, and refresh protocols, satisfying the protocol.Iterator interface for use in message-passing pipelines. Serialization, versioning, and step routing are handled here.
Index ¶
- Constants
- func DecodeAliceDkgResult(m *protocol.Message) (*dkg.AliceOutput, error)
- func DecodeBobDkgResult(m *protocol.Message) (*dkg.BobOutput, error)
- func DecodeSignature(m *protocol.Message) (*curves.EcdsaSignature, error)
- func EncodeAliceDkgOutput(out *dkg.AliceOutput, version uint) (*protocol.Message, error)
- func EncodeBobDkgOutput(out *dkg.BobOutput, version uint) (*protocol.Message, error)
- type AliceDkg
- type AliceRefresh
- type AliceSign
- type BobDkg
- type BobRefresh
- type BobSign
Constants ¶
const ( // Dkls19Dkg is the protocol identifier for the DKLS19 DKG. Dkls19Dkg = "DKLs19-DKG" // Dkls19Sign is the protocol identifier for the DKLS19 signing protocol. Dkls19Sign = "DKLs19-Sign" // Dkls19Refresh is the protocol identifier for the DKLS19 key-refresh protocol. Dkls19Refresh = "DKLs19-Refresh" // Version2 is the protocol version tag for all DKLS19 (v2) messages. Version2 = 300 )
Variables ¶
This section is empty.
Functions ¶
func DecodeAliceDkgResult ¶
func DecodeAliceDkgResult(m *protocol.Message) (*dkg.AliceOutput, error)
DecodeAliceDkgResult decodes Alice's DKG output from a protocol.Message.
func DecodeBobDkgResult ¶
DecodeBobDkgResult decodes Bob's DKG output from a protocol.Message.
func DecodeSignature ¶
func DecodeSignature(m *protocol.Message) (*curves.EcdsaSignature, error)
DecodeSignature decodes the ECDSA signature produced by Bob at the end of signing.
func EncodeAliceDkgOutput ¶
EncodeAliceDkgOutput serialises Alice's DKG output into a protocol.Message.
Types ¶
type AliceDkg ¶
AliceDkg wraps dkg.Alice and satisfies protocol.Iterator.
func NewAliceDkg ¶
NewAliceDkg creates a DKLS19 DKG iterator for Alice. Alice is the responder; she waits for Bob's seed before acting.
type AliceRefresh ¶
AliceRefresh wraps refresh.Alice and satisfies protocol.Iterator.
func NewAliceRefresh ¶
func NewAliceRefresh(curve *curves.Curve, dkgResult *protocol.Message, version uint) (*AliceRefresh, error)
NewAliceRefresh creates a DKLS19 key-refresh iterator for Alice.
type AliceSign ¶
AliceSign wraps sign.Alice and satisfies protocol.Iterator.
func NewAliceSign ¶
func NewAliceSign(curve *curves.Curve, hash hash.Hash, message []byte, dkgResult *protocol.Message, version uint) (*AliceSign, error)
NewAliceSign creates a DKLS19 signing iterator for Alice.
type BobDkg ¶
BobDkg wraps dkg.Bob and satisfies protocol.Iterator.
func NewBobDkg ¶
NewBobDkg creates a DKLS19 DKG iterator for Bob. Bob is the initiator; his first step requires no input.
type BobRefresh ¶
BobRefresh wraps refresh.Bob and satisfies protocol.Iterator.
func NewBobRefresh ¶
func NewBobRefresh(curve *curves.Curve, dkgResult *protocol.Message, version uint) (*BobRefresh, error)
NewBobRefresh creates a DKLS19 key-refresh iterator for Bob.
type BobSign ¶
BobSign wraps sign.Bob and satisfies protocol.Iterator.
func NewBobSign ¶
func NewBobSign(curve *curves.Curve, hash hash.Hash, message []byte, dkgResult *protocol.Message, version uint) (*BobSign, error)
NewBobSign creates a DKLS19 signing iterator for Bob.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package dealer implements key generation via a trusted dealer for DKLS19.
|
Package dealer implements key generation via a trusted dealer for DKLS19. |
|
Package dkg implements the Distributed Key Generation (DKG) protocol of [DKLS19](https://eprint.iacr.org/2019/523.pdf).
|
Package dkg implements the Distributed Key Generation (DKG) protocol of [DKLS19](https://eprint.iacr.org/2019/523.pdf). |
|
Package refresh implements the key-share refresh protocol for DKLS19.
|
Package refresh implements the key-share refresh protocol for DKLS19. |
|
This file implements the Oblivious Linear Evaluation (OLE / Multiplication) sub-protocol from DKLS19, Protocol 4.
|
This file implements the Oblivious Linear Evaluation (OLE / Multiplication) sub-protocol from DKLS19, Protocol 4. |