pub struct VerifiableSecretSharingCommitment<C: Ciphersuite>(/* private fields */);
Expand description
Contains the commitments to the coefficients for our secret polynomial f, used to generate participants’ key shares.
VerifiableSecretSharingCommitment
contains a set of commitments to the coefficients (which
themselves are scalars) for a secret polynomial f, where f is used to
generate each ith participant’s key share f(i). Participants use this set of
commitments to perform verifiable secret sharing.
Note that participants MUST be assured that they have the same
VerifiableSecretSharingCommitment
, either by performing pairwise comparison, or by using
some agreed-upon public location for publication, where each participant can
ensure that they received the correct (and same) value.
Implementations§
source§impl<C> VerifiableSecretSharingCommitment<C>where
C: Ciphersuite,
impl<C> VerifiableSecretSharingCommitment<C>where
C: Ciphersuite,
sourcepub fn serialize(&self) -> Result<Vec<Vec<u8>>, Error<C>>
pub fn serialize(&self) -> Result<Vec<Vec<u8>>, Error<C>>
Returns serialized coefficent commitments
sourcepub fn deserialize<I, V>(
serialized_coefficient_commitments: I,
) -> Result<Self, Error<C>>
pub fn deserialize<I, V>( serialized_coefficient_commitments: I, ) -> Result<Self, Error<C>>
Returns VerifiableSecretSharingCommitment from an iterator of serialized
CoefficientCommitments (e.g. a Vec<Vec<u8>>
).
Trait Implementations§
source§impl<C: Clone + Ciphersuite> Clone for VerifiableSecretSharingCommitment<C>
impl<C: Clone + Ciphersuite> Clone for VerifiableSecretSharingCommitment<C>
source§fn clone(&self) -> VerifiableSecretSharingCommitment<C>
fn clone(&self) -> VerifiableSecretSharingCommitment<C>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<C: Debug + Ciphersuite> Debug for VerifiableSecretSharingCommitment<C>
impl<C: Debug + Ciphersuite> Debug for VerifiableSecretSharingCommitment<C>
source§impl<'de, C> Deserialize<'de> for VerifiableSecretSharingCommitment<C>where
C: Ciphersuite,
impl<'de, C> Deserialize<'de> for VerifiableSecretSharingCommitment<C>where
C: Ciphersuite,
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>,
source§impl<C: PartialEq + Ciphersuite> PartialEq for VerifiableSecretSharingCommitment<C>
impl<C: PartialEq + Ciphersuite> PartialEq for VerifiableSecretSharingCommitment<C>
source§fn eq(&self, other: &VerifiableSecretSharingCommitment<C>) -> bool
fn eq(&self, other: &VerifiableSecretSharingCommitment<C>) -> bool
self
and other
values to be equal, and is used by ==
.source§impl<C> Serialize for VerifiableSecretSharingCommitment<C>where
C: Ciphersuite,
impl<C> Serialize for VerifiableSecretSharingCommitment<C>where
C: Ciphersuite,
impl<C: Eq + Ciphersuite> Eq for VerifiableSecretSharingCommitment<C>
impl<C: Ciphersuite> StructuralPartialEq for VerifiableSecretSharingCommitment<C>
Auto Trait Implementations§
impl<C> Freeze for VerifiableSecretSharingCommitment<C>
impl<C> RefUnwindSafe for VerifiableSecretSharingCommitment<C>
impl<C> Send for VerifiableSecretSharingCommitment<C>
impl<C> Sync for VerifiableSecretSharingCommitment<C>
impl<C> Unpin for VerifiableSecretSharingCommitment<C>
impl<C> UnwindSafe for VerifiableSecretSharingCommitment<C>
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)