#[non_exhaustive]pub enum SharingScheme {
RiteSssV1,
}Expand description
The secret sharing scheme a split_secret step names.
DSL vocabulary, like CertProfile: the author writes the name and the
transcript records it. One scheme today. The enum exists so a second one
(a prime field, a verifiable variant, codex32) is a variant rather than a
flag, and so a name this build does not implement is refused at rite check.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RiteSssV1
Shamir over GF(2^8), one polynomial per byte, the rite-sss/v1
share format.
Implementations§
Source§impl SharingScheme
impl SharingScheme
The most shares a split under this scheme may make.
A policy limit rather than what the arithmetic allows: a share index
is a byte, so rite-sss/v1 could evaluate 255 points, and 100 is a
round number well past any split a room of custodians receives. Kept
low on purpose, since raising it later costs nothing and lowering it
would break a ceremony that ran. It also leaves the indexes SLIP-0039
reserves (254 for a digest, 255 for the secret) free for a scheme that
wants them.
Sourcepub fn header_len(self) -> usize
pub fn header_len(self) -> usize
The bytes in front of a share’s values: for rite-sss/v1, a
version, a threshold and an index.
The length in bytes of one share of a secret of secret_len bytes,
as a sheet or a transport holds it: the header, then one byte per
byte of the secret.
Trait Implementations§
Source§impl Clone for SharingScheme
impl Clone for SharingScheme
impl Copy for SharingScheme
Source§impl Debug for SharingScheme
impl Debug for SharingScheme
Source§impl<'de> Deserialize<'de> for SharingScheme
impl<'de> Deserialize<'de> for SharingScheme
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 Display for SharingScheme
impl Display for SharingScheme
impl Eq for SharingScheme
Source§impl From<SharingScheme> for String
impl From<SharingScheme> for String
Source§fn from(scheme: SharingScheme) -> Self
fn from(scheme: SharingScheme) -> Self
Source§impl FromStr for SharingScheme
impl FromStr for SharingScheme
Source§impl PartialEq for SharingScheme
impl PartialEq for SharingScheme
Source§impl Serialize for SharingScheme
impl Serialize for SharingScheme
impl StructuralPartialEq for SharingScheme
Auto Trait Implementations§
impl Freeze for SharingScheme
impl RefUnwindSafe for SharingScheme
impl Send for SharingScheme
impl Sync for SharingScheme
impl Unpin for SharingScheme
impl UnsafeUnpin for SharingScheme
impl UnwindSafe for SharingScheme
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.