Skip to main content

Config

Struct Config 

Source
#[non_exhaustive]
pub struct Config { /* private fields */ }
Expand description

RSA accelerator configuration.

The default is the most secure: constant time on and search acceleration off. The ESP32 has neither option, so its Config is empty.

Implementations§

Source§

impl Config

Source

pub fn with_constant_time(self, constant_time: bool) -> Self

Assign the given value to the constant_time field.

Source

pub fn constant_time(&self) -> bool

Constant time operation for modular exponentiation.

Turning it off makes modular exponentiation faster for an exponent with many 0 bits, and exposes the exponent to timing-based side-channel attacks. Turn it off only for a public exponent, such as when verifying a signature.

Default value: true.

Source

pub fn with_search_acceleration(self, search_acceleration: bool) -> Self

Assign the given value to the search_acceleration field.

Source

pub fn search_acceleration(&self) -> bool

Search acceleration for modular exponentiation.

Turning it on makes modular exponentiation faster by skipping the exponent’s bits above its most significant set bit, and exposes the exponent’s length. Turn it on only for a public exponent, such as when verifying a signature.

Default value: false.

Trait Implementations§

Source§

impl Clone for Config

Available on crate feature unstable only.
Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable)§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Config

Available on crate feature unstable only.
Source§

impl Debug for Config

Available on crate feature unstable only.
Source§

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

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

impl Default for Config

Available on crate feature unstable only.
Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Eq for Config

Available on crate feature unstable only.
Source§

impl Hash for Config

Available on crate feature unstable only.
Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given [Hasher]. Read more
1.3.0§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given [Hasher]. Read more
Source§

impl PartialEq for Config

Available on crate feature unstable only.
Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable)§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Config

Available on crate feature unstable only.

Auto Trait Implementations§

§

impl Freeze for Config

§

impl RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl UnsafeUnpin for Config

§

impl UnwindSafe for Config

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

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

§

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
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

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> Same for T

Source§

type Output = T

Should always be Self
§

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

§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.