Randomizer

Struct Randomizer 

Source
pub struct Randomizer<C: Ciphersuite>(/* private fields */);
Expand description

A randomizer. A random scalar which is used to randomize the key.

Implementations§

Source§

impl<C> Randomizer<C>

Source

pub fn new<R: RngCore + CryptoRng>( rng: R, signing_package: &SigningPackage<C>, ) -> Result<Self, Error<C>>

Create a new random Randomizer.

The SigningPackage must be the signing package being used in the current FROST signing run. It is hashed into the randomizer calculation, which binds it to that specific package.

Source§

impl<C> Randomizer<C>
where C: Ciphersuite,

Source

pub fn from_scalar(scalar: Scalar<C>) -> Self

Create a new Randomizer from the given scalar. It MUST be randomly generated.

It is not recommended to use this method unless for compatibility reasons with specifications on how the randomizer must be generated. Use Randomizer::new() instead.

Source

pub fn serialize(&self) -> Vec<u8>

Serialize the identifier using the ciphersuite encoding.

Source

pub fn deserialize(buf: &[u8]) -> Result<Self, Error<C>>

Deserialize an Identifier from a serialized buffer. Returns an error if it attempts to deserialize zero.

Trait Implementations§

Source§

impl<C: Clone + Ciphersuite> Clone for Randomizer<C>

Source§

fn clone(&self) -> Randomizer<C>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<C> Debug for Randomizer<C>
where C: Ciphersuite,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de, C> Deserialize<'de> for Randomizer<C>
where C: Ciphersuite,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<C: PartialEq + Ciphersuite> PartialEq for Randomizer<C>

Source§

fn eq(&self, other: &Randomizer<C>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<C> Serialize for Randomizer<C>
where C: Ciphersuite,

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<C: Copy + Ciphersuite> Copy for Randomizer<C>

Source§

impl<C: Eq + Ciphersuite> Eq for Randomizer<C>

Source§

impl<C: Ciphersuite> StructuralPartialEq for Randomizer<C>

Auto Trait Implementations§

§

impl<C> Freeze for Randomizer<C>
where <<<C as Ciphersuite>::Group as Group>::Field as Field>::Scalar: Freeze,

§

impl<C> RefUnwindSafe for Randomizer<C>
where <<<C as Ciphersuite>::Group as Group>::Field as Field>::Scalar: RefUnwindSafe,

§

impl<C> Send for Randomizer<C>
where <<<C as Ciphersuite>::Group as Group>::Field as Field>::Scalar: Send,

§

impl<C> Sync for Randomizer<C>
where <<<C as Ciphersuite>::Group as Group>::Field as Field>::Scalar: Sync,

§

impl<C> Unpin for Randomizer<C>
where <<<C as Ciphersuite>::Group as Group>::Field as Field>::Scalar: Unpin,

§

impl<C> UnwindSafe for Randomizer<C>
where <<<C as Ciphersuite>::Group as Group>::Field as Field>::Scalar: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,