doerner

package
v0.6.0-alpha-20...-5109cf1 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Keygen

func Keygen(group curve.Curve, receiver bool, selfID, otherID party.ID, pl *pool.Pool) protocol.StartFunc

Keygen initiates the Doerner key generation protocol.

The goal of this protocol is to create a new key-pair, with the private portion shared between two participants.

One of the participants is marked as the "Receiver", and the other is the "Sender". The return type of this protocol depends on the role. The Receiver will get a ConfigReceiver, but the Sender will get a ConfigSender instead.

A pool can be passed to this function, to parallelize certain operations and improve performance.

func RefreshReceiver

func RefreshReceiver(config *ConfigReceiver, selfID, otherID party.ID, pl *pool.Pool) protocol.StartFunc

RefreshReceiver initiates a key-refresh protocol, from the Receiver's perspective.

The goal of this protocol is to refresh the shares of the secret key, and other auxilary secret data, while preserving the shared public key.

This won't change the value of the public key, but it will change the value of the chaining key. If this isn't desirable, then the new chain key can simply be overwritten with the previous value.

func RefreshSender

func RefreshSender(config *ConfigSender, selfID, otherID party.ID, pl *pool.Pool) protocol.StartFunc

RefreshSender initiates a key-refresh protocol, from the Sender's perspective.

See RefreshReceiver.

func SignReceiver

func SignReceiver(config *ConfigReceiver, selfID, otherID party.ID, hash []byte, pl *pool.Pool) protocol.StartFunc

SignReceiver initiates the signing process, given a message hash.

This function has another version, SignSender, which uses the config for the Sender instead.

The result, in both cases, will be an ecdsa.Signature type.

A pool can be passed to this function, to parallelize certain operations and improve performance.

func SignSender

func SignSender(config *ConfigSender, selfID, otherID party.ID, hash []byte, pl *pool.Pool) protocol.StartFunc

SignSender is like SignReceiver, but using the Sender's results from key generation.

See SignReceiver for more information.

Types

type ConfigReceiver

type ConfigReceiver = keygen.ConfigReceiver

func EmptyConfigReceiver

func EmptyConfigReceiver(group curve.Curve) *ConfigReceiver

EmptyConfigReceiver creates a ConfigReceiever that's ready to be unmarshalled.

Because ConfigReceiver contains group dependent data, it needs to be initialized with a concrete group to be unmarshalled correctly.

type ConfigSender

type ConfigSender = keygen.ConfigSender

func EmptyConfigSender

func EmptyConfigSender(group curve.Curve) *ConfigSender

EmptyConfigSender creates a ConfigSender that's ready to be unmarshalled.

Because ConfigSender contains group dependent data, it needs to be initialized with a concrete group to be unmarshalled correctly.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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