Struct esp32c3_hal::rsa::Rsa

source ·
pub struct Rsa<'d> { /* private fields */ }
Expand description

RSA peripheral container

Implementations§

source§

impl<'d> Rsa<'d>

source

pub fn ready(&mut self) -> Result<(), Error<Infallible>>

After the RSA Accelerator is released from reset, the memory blocks needs to be initialized, only after that peripheral should be used. This function would return without an error if the memory is initialized

source

pub fn enable_disable_interrupt(&mut self, enable: bool)

Enables/disables rsa interrupt, when enabled rsa perpheral would generate an interrupt when a operation is finished.

source

pub fn enable_disable_search_acceleration(&mut self, enable: bool)

Enables/disables search acceleration, when enabled it would increases the performance of modular exponentiation by discarding the exponent’s bits before the most significant set bit. Note: this might affect the security, for more info refer 18.3.4 of https://www.espressif.com/sites/default/files/documentation/esp32-c6_technical_reference_manual_en.pdf

source

pub fn enable_disable_constant_time_acceleration(&mut self, enable: bool)

Enables/disables constant time acceleration, when enabled it would increases the performance of modular exponentiation by simplifying the calculation concerning the 0 bits of the exponent i.e. lesser the hamming weight, greater the performance. Note : this might affect the security, for more info refer 18.3.4 of https://www.espressif.com/sites/default/files/documentation/esp32-c6_technical_reference_manual_en.pdf

source§

impl<'d> Rsa<'d>

source

pub fn new( rsa: impl Peripheral<P = RSA> + 'd, peripheral_clock_control: &mut PeripheralClockControl ) -> Rsa<'d>

Auto Trait Implementations§

§

impl<'d> RefUnwindSafe for Rsa<'d>

§

impl<'d> Send for Rsa<'d>

§

impl<'d> Sync for Rsa<'d>

§

impl<'d> Unpin for Rsa<'d>

§

impl<'d> !UnwindSafe for Rsa<'d>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.