pub struct SetupMessage<SK = NoSigningKey, VK = NoVerifyingKey, MS = NoSignature, PS = PreSign> { /* private fields */ }
Expand description
A message used for finalizing signing operations in a multi-party computation protocol.
This struct encapsulates all necessary information for completing a signing operation, including participant information, cryptographic keys, and protocol parameters.
§Type Parameters
SK
- The type of signing key used for message signaturesVK
- The type of verifying key used to verify message signaturesMS
- The type of message signaturePS
- The type of pre-signature used in the protocol
Implementations§
Source§impl<SK, VK, MS, PS> SetupMessage<SK, VK, MS, PS>
impl<SK, VK, MS, PS> SetupMessage<SK, VK, MS, PS>
Sourcepub fn new(
instance: InstanceId,
party_idx: usize,
sk: SK,
vk: Vec<VK>,
pre: PS,
) -> Self
pub fn new( instance: InstanceId, party_idx: usize, sk: SK, vk: Vec<VK>, pre: PS, ) -> Self
Creates a new setup message for finalizing signing operations.
§Arguments
instance
- Instance identifier for the protocolparty_idx
- Index of the current partysk
- Signing key for the current partyvk
- Vector of verifying keys for all participantspre
- Pre-signature used in the final signing step
§Returns
A new SetupMessage
instance with default TTL and zero hash
Trait Implementations§
Source§impl<SK, VK, MS> FinalSignSetupMessage for SetupMessage<SK, VK, MS, PreSign>
impl<SK, VK, MS> FinalSignSetupMessage for SetupMessage<SK, VK, MS, PreSign>
Source§fn pre_signature(&self) -> &PreSign
fn pre_signature(&self) -> &PreSign
Returns a reference to the pre-signature.
Source§fn message_hash(&self) -> [u8; 32]
fn message_hash(&self) -> [u8; 32]
Returns the hash of the message to be signed.
Source§impl<SK, VK, MS, PS> ProtocolParticipant for SetupMessage<SK, VK, MS, PS>
impl<SK, VK, MS, PS> ProtocolParticipant for SetupMessage<SK, VK, MS, PS>
Source§fn signer(&self) -> &Self::MessageSigner
fn signer(&self) -> &Self::MessageSigner
Returns the signing key for the current participant.
Source§fn verifier(&self, index: usize) -> &Self::MessageVerifier
fn verifier(&self, index: usize) -> &Self::MessageVerifier
Source§fn instance_id(&self) -> &InstanceId
fn instance_id(&self) -> &InstanceId
Returns the instance identifier for the protocol.
Source§fn message_ttl(&self) -> Duration
fn message_ttl(&self) -> Duration
Returns the time-to-live duration for messages.
Source§fn participant_index(&self) -> usize
fn participant_index(&self) -> usize
Returns the index of the current participant.
Source§fn total_participants(&self) -> usize
fn total_participants(&self) -> usize
Returns the total number of participants in the protocol.
Source§type MessageSignature = MS
type MessageSignature = MS
Type of a signature, added at end of all broadcast messages
passed between participants.
Source§type MessageSigner = SK
type MessageSigner = SK
Type to sign broadcast messages, some kind of SecretKey.
Source§type MessageVerifier = VK
type MessageVerifier = VK
Type to verify signed message, a verifying key. AsRef<u8> is
used to get external representation of the key to derive
message ID.
Source§fn participant_verifier(&self) -> &Self::MessageVerifier
fn participant_verifier(&self) -> &Self::MessageVerifier
Return reference to participant’s own verifier
Source§fn all_other_parties(&self) -> AllOtherParties ⓘ
fn all_other_parties(&self) -> AllOtherParties ⓘ
Return iterator of all participant’s indexes except own one.
Source§fn msg_id(&self, receiver: Option<usize>, tag: MessageTag) -> MsgId
fn msg_id(&self, receiver: Option<usize>, tag: MessageTag) -> MsgId
Generate ID of a message from this party to some other (or broadcast)
if passed receiver is None.
Source§fn msg_id_from(
&self,
sender: usize,
receiver: Option<usize>,
tag: MessageTag,
) -> MsgId
fn msg_id_from( &self, sender: usize, receiver: Option<usize>, tag: MessageTag, ) -> MsgId
Generate ID of a message from given sender to a given
receiver. Receiver is designed by its index and is None for a
broadcase message.
Auto Trait Implementations§
impl<SK, VK, MS, PS> Freeze for SetupMessage<SK, VK, MS, PS>
impl<SK, VK, MS, PS> RefUnwindSafe for SetupMessage<SK, VK, MS, PS>
impl<SK, VK, MS, PS> Send for SetupMessage<SK, VK, MS, PS>
impl<SK, VK, MS, PS> Sync for SetupMessage<SK, VK, MS, PS>
impl<SK, VK, MS, PS> Unpin for SetupMessage<SK, VK, MS, PS>
impl<SK, VK, MS, PS> UnwindSafe for SetupMessage<SK, VK, MS, PS>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more