Holds the list of public commitments associated with each identifier. These
must be the same across all participants. Each participant should verify
that all other participants have the same set by receiving a signed hash
of commitments from each participant and verifying that they are the same.
The first step to generate a distributed FROST key. This contains a secret
and a public commitment, the latter of which is to be shared between all
other participants.
The second step to generate a distributed FROST key. This provides the
secrets that must be shared to the participants of each given identifier
without revealing them to anyone else. Authentication and encryption must be
used to share the secrets.
This class represents information that should be shared to other
participants after the first round of the distributed key generation.
Participants must ensure that all other participants have the same set of
commitments before the DKG can be completed.
Holds the public commitments for signature nonces from signing participants
as collected by the coordinator and to be shared with each signing
participant.
Contains details required specifically for providing a signature share. This
contains the GroupKeyInfo and PrivateKeyInfo but excludes the
public shares which aren't needed.
The first stage of the signing process where each signing participant
generates nonces and a commitment to those nonces. The commitment is
to be shared to the signature aggregator with authentication to start the
signing process.
Thrown when the signature shares cannot be aggregated into a valid signature
and this is not due to an identifiably incorrect signature share (use
InvalidAggregationShare).
Thrown when a participant does not provide a valid commitment
proof-of-knowledge. culprit contains the identifier of the participant
with the invalid commitment. There may be other participants with invalid
proof-of-knowledge but only one of them is provided.