Enum cggmp21_keygen::msg::threshold::Msg
source · pub enum Msg<E: Curve, L: SecurityLevel, D: Digest> {
Round1(MsgRound1<D>),
Round2Broad(MsgRound2Broad<E, L>),
Round2Uni(MsgRound2Uni<E>),
Round3(MsgRound3<E>),
ReliabilityCheck(MsgReliabilityCheck<D>),
}
Expand description
Message of key generation protocol
Variants§
Round1(MsgRound1<D>)
Round 1 message
Round2Broad(MsgRound2Broad<E, L>)
Round 2a message
Round2Uni(MsgRound2Uni<E>)
Round 2b message
Round3(MsgRound3<E>)
Round 3 message
ReliabilityCheck(MsgReliabilityCheck<D>)
Reliability check message (optional additional round)
Trait Implementations§
source§impl<'de, E: Curve, L: SecurityLevel, D: Digest> Deserialize<'de> for Msg<E, L, D>
impl<'de, E: Curve, L: SecurityLevel, D: Digest> Deserialize<'de> for Msg<E, L, D>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<E: Curve, L: SecurityLevel, D: Digest> ProtocolMessage for Msg<E, L, D>
impl<E: Curve, L: SecurityLevel, D: Digest> ProtocolMessage for Msg<E, L, D>
source§impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgReliabilityCheck<D>> for Msg<E, L, D>
impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgReliabilityCheck<D>> for Msg<E, L, D>
source§fn to_protocol_message(round_message: MsgReliabilityCheck<D>) -> Self
fn to_protocol_message(round_message: MsgReliabilityCheck<D>) -> Self
Converts round message into protocol message (never fails)
source§fn from_protocol_message(
protocol_message: Self
) -> Result<MsgReliabilityCheck<D>, Self>
fn from_protocol_message( protocol_message: Self ) -> Result<MsgReliabilityCheck<D>, Self>
Extracts round message from protocol message Read more
source§impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound1<D>> for Msg<E, L, D>
impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound1<D>> for Msg<E, L, D>
source§fn to_protocol_message(round_message: MsgRound1<D>) -> Self
fn to_protocol_message(round_message: MsgRound1<D>) -> Self
Converts round message into protocol message (never fails)
source§impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound2Broad<E, L>> for Msg<E, L, D>
impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound2Broad<E, L>> for Msg<E, L, D>
source§fn to_protocol_message(round_message: MsgRound2Broad<E, L>) -> Self
fn to_protocol_message(round_message: MsgRound2Broad<E, L>) -> Self
Converts round message into protocol message (never fails)
source§fn from_protocol_message(
protocol_message: Self
) -> Result<MsgRound2Broad<E, L>, Self>
fn from_protocol_message( protocol_message: Self ) -> Result<MsgRound2Broad<E, L>, Self>
Extracts round message from protocol message Read more
source§impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound2Uni<E>> for Msg<E, L, D>
impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound2Uni<E>> for Msg<E, L, D>
source§fn to_protocol_message(round_message: MsgRound2Uni<E>) -> Self
fn to_protocol_message(round_message: MsgRound2Uni<E>) -> Self
Converts round message into protocol message (never fails)
source§fn from_protocol_message(
protocol_message: Self
) -> Result<MsgRound2Uni<E>, Self>
fn from_protocol_message( protocol_message: Self ) -> Result<MsgRound2Uni<E>, Self>
Extracts round message from protocol message Read more
source§impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound3<E>> for Msg<E, L, D>
impl<E: Curve, L: SecurityLevel, D: Digest> RoundMessage<MsgRound3<E>> for Msg<E, L, D>
source§fn to_protocol_message(round_message: MsgRound3<E>) -> Self
fn to_protocol_message(round_message: MsgRound3<E>) -> Self
Converts round message into protocol message (never fails)
Auto Trait Implementations§
impl<E, L, D> Freeze for Msg<E, L, D>where
<<D as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: Freeze,
<E as Curve>::Point: Freeze,
<L as SecurityLevel>::Rid: Freeze,
<E as Curve>::Scalar: Freeze,
impl<E, L, D> RefUnwindSafe for Msg<E, L, D>where
<<D as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
<E as Curve>::Point: RefUnwindSafe,
<L as SecurityLevel>::Rid: RefUnwindSafe,
<E as Curve>::Scalar: RefUnwindSafe,
impl<E, L, D> Send for Msg<E, L, D>
impl<E, L, D> Sync for Msg<E, L, D>
impl<E, L, D> Unpin for Msg<E, L, D>
impl<E, L, D> UnwindSafe for Msg<E, L, D>where
<<D as OutputSizeUser>::OutputSize as ArrayLength<u8>>::ArrayType: UnwindSafe,
<E as Curve>::Point: UnwindSafe,
<L as SecurityLevel>::Rid: UnwindSafe,
<E as Curve>::Scalar: UnwindSafe,
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