pub struct Seed(/* private fields */);Expand description
A cryptographically secure seed for deterministic key generation.
Contains 256 bits of entropy for security. Keys generated from the same seed will be identical across all platforms and architectures.
§Examples
use sunscreen_tfhe::rand::Seed;
// Generate a random seed
let seed = Seed::generate();
// Or create from known bytes for reproducible results
let fixed_seed = Seed::from_bytes([42u8; 32]);Implementations§
Source§impl Seed
impl Seed
Sourcepub fn from_bytes(bytes: [u8; 32]) -> Seed
pub fn from_bytes(bytes: [u8; 32]) -> Seed
Create a seed from existing bytes.
Sourcepub fn create_rng(&self) -> ChaCha12Rng
pub fn create_rng(&self) -> ChaCha12Rng
Create a deterministic RNG from this seed.
Uses ChaCha12Rng for cross-platform consistency.
§Examples
use sunscreen_tfhe::rand::Seed;
let seed = Seed::from_bytes([42u8; 32]);
let mut rng = seed.create_rng();Trait Implementations§
Auto Trait Implementations§
impl Freeze for Seed
impl RefUnwindSafe for Seed
impl Send for Seed
impl Sync for Seed
impl Unpin for Seed
impl UnwindSafe for Seed
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
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
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.