pub struct HelperSpecificInfo {
pub helper: Vec<u8>,
pub helper_params: Option<ParameterRange>,
}Expand description
HelperSpecificInfo captures per-helper metadata associated with a secret.
§Purpose
This message binds a specific Helper to:
- its identity (via a hash of its public encryption key)
- the parameters agreed during pairing with the Owner
This information allows the Owner to:
- track which Helpers are associated with a given secret
- reconstruct the correct configuration during recovery
- verify that Helpers are operating under the expected parameters
§Semantics
Each entry represents one Helper participating in the secret sharing scheme. The collection of these entries defines the Helper set for a given version of the secret.
§Identity Binding
The helper field is a SHA-384 hash of the Helper’s public encryption
key. This provides a stable identifier without exposing the key itself.
Implementations MUST ensure that:
- the hash corresponds to the exact public key used during pairing
- the mapping between Helper identity and key is preserved
§Parameter Agreement
The helperParams field records the parameter range agreed between
the Owner and the Helper during pairing. This ensures that:
- the share distribution is consistent with negotiated constraints
- recovery can validate expected parameters
Fields§
§helper: Vec<u8>SHA-384 hash of the Helper’s public encryption key.
This uniquely identifies the Helper within the context of the secret without exposing the raw key material.
helper_params: Option<ParameterRange>Parameters agreed upon between the Helper and the Owner.
These parameters originate from the intersection of both parties’ supported ranges during pairing.
Trait Implementations§
Source§impl Clone for HelperSpecificInfo
impl Clone for HelperSpecificInfo
Source§fn clone(&self) -> HelperSpecificInfo
fn clone(&self) -> HelperSpecificInfo
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HelperSpecificInfo
impl Debug for HelperSpecificInfo
Source§impl Default for HelperSpecificInfo
impl Default for HelperSpecificInfo
Source§impl Hash for HelperSpecificInfo
impl Hash for HelperSpecificInfo
Source§impl Message for HelperSpecificInfo
impl Message for HelperSpecificInfo
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.