pub struct SecureAggregationPlan {
pub round_seed: u64,
pub participating_clients: Vec<String>,
pub public_keys: BTreeMap<String, ClientPublicKey>,
pub min_threshold: usize,
pub masking_enabled: bool,
pub masking_dimension: usize,
pub modulus: i64,
pub quantization_scale: f64,
pub max_update_magnitude: f64,
}Expand description
The public parameters of one aggregation round, published by the server.
Everything in here is public. The masks are protected by the clients’ X25519 secret keys, which never appear in a plan.
Fields§
§round_seed: u64Public per-round salt mixed into every pairwise seed.
participating_clients: Vec<String>Participating client identifiers, sorted.
public_keys: BTreeMap<String, ClientPublicKey>Public-key directory for the round.
min_threshold: usizeMinimum number of submissions the server will aggregate.
masking_enabled: boolAlways true: a plan is only issued when masking is active.
masking_dimension: usizeUpdate dimension.
modulus: i64Modulus of the additive group.
quantization_scale: f64Fixed-point scale.
max_update_magnitude: f64Per-coordinate bound each client must respect.
Trait Implementations§
Source§impl Clone for SecureAggregationPlan
impl Clone for SecureAggregationPlan
Source§fn clone(&self) -> SecureAggregationPlan
fn clone(&self) -> SecureAggregationPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SecureAggregationPlan
impl RefUnwindSafe for SecureAggregationPlan
impl Send for SecureAggregationPlan
impl Sync for SecureAggregationPlan
impl Unpin for SecureAggregationPlan
impl UnsafeUnpin for SecureAggregationPlan
impl UnwindSafe for SecureAggregationPlan
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.