Enum sda_protocol::LinearSecretSharingScheme
[−]
[src]
pub enum LinearSecretSharingScheme {
Additive {
share_count: usize,
modulus: i64,
},
PackedShamir {
secret_count: usize,
share_count: usize,
privacy_threshold: usize,
prime_modulus: i64,
omega_secrets: i64,
omega_shares: i64,
},
}Supported secret sharing schemes and their parameters.
Variants
AdditiveComputionally efficient basic scheme.
Fields of Additive
Number of shares to generate for each secret. | |
modulus: i64 | Modulus specifying the additive group in which to operate. |
PackedShamirPacked Shamir scheme allowing for work to be distributed across many clerks.
Fields of PackedShamir
secret_count: usize | Dimension of secrets, i.e. number of components in vector. |
Number of shares to generate for each vector of secrets. | |
privacy_threshold: usize | Number of shares needed to reconstruct. |
prime_modulus: i64 | Prime number specifying the prime field in which to operate. |
omega_secrets: i64 | TODO |
TODO |
Methods
impl LinearSecretSharingScheme[src]
Derived properties of the secret sharing schemes.
fn input_size(&self) -> usize
Number of secrets shared together.
fn output_size(&self) -> usize
Number of shares output by the scheme, which must match the number of clerks in the aggregation's committee.
fn privacy_threshold(&self) -> usize
Upper bound for the number of clerks that must collaborate with the server before privacy is leaked.
fn reconstruction_threshold(&self) -> usize
Lower bound for the number of clerks needed to correctly reconstruct.
Trait Implementations
impl Clone for LinearSecretSharingScheme[src]
fn clone(&self) -> LinearSecretSharingScheme
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl Debug for LinearSecretSharingScheme[src]
impl Eq for LinearSecretSharingScheme[src]
impl PartialEq for LinearSecretSharingScheme[src]
fn eq(&self, __arg_0: &LinearSecretSharingScheme) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &LinearSecretSharingScheme) -> bool
This method tests for !=.