Skip to main content

Rsa

Struct Rsa 

Source
pub struct Rsa<'d, Dm: DriverMode> { /* private fields */ }
Expand description

RSA peripheral driver.

Implementations§

Source§

impl<'d> Rsa<'d, Blocking>

Source

pub fn new(rsa: RSA<'d>) -> Self

Creates a new instance in Blocking mode.

Optionally an interrupt handler can be bound.

Source

pub fn into_async(self) -> Rsa<'d, Async>

Reconfigures the RSA driver to operate in asynchronous mode.

Source

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

Enables or disables the RSA interrupt.

When enabled rsa peripheral would generate an interrupt when a operation is finished.

Source

pub fn set_interrupt_handler(&mut self, handler: InterruptHandler)

Available on crate feature unstable only.

Registers an interrupt handler for the RSA peripheral.

Replaces any previously registered interrupt handlers.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source§

impl<'d> Rsa<'d, Async>

Source

pub fn into_blocking(self) -> Rsa<'d, Blocking>

Reconfigures the RSA driver to operate in Blocking mode.

Source§

impl<'d, Dm: DriverMode> Rsa<'d, Dm>

Source

pub fn disable_constant_time(&mut self, disable: bool)

Enables or disables constant time operation.

Disabling constant time operation increases the performance of modular exponentiation by simplifying the calculation concerning the 0 bits of the exponent. I.e. the less the Hamming weight, the greater the performance.

Compromises security by enabling timing-based side-channel attacks.

For more information refer to the Technical Reference Manual

Source

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

Enables or disables search acceleration.

When enabled it would increase the performance of modular exponentiation by discarding the exponent’s bits before the most significant set bit.

Compromises security by effectively decreasing the key length.

For more information refer to the Technical Reference Manual

Trait Implementations§

Source§

impl InterruptConfigurable for Rsa<'_, Blocking>

Available on crate feature unstable only.

§Stability

This API is marked as unstable and is only available when the unstable crate feature is enabled. This comes with no stability guarantees, and could be changed or removed at any time.

Source§

fn set_interrupt_handler(&mut self, handler: InterruptHandler)

Registers an interrupt handler for the peripheral. Read more

Auto Trait Implementations§

§

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

§

impl<'d, Dm> Freeze for Rsa<'d, Dm>
where PhantomData<Dm>: Freeze,

§

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

§

impl<'d, Dm> Send for Rsa<'d, Dm>
where PhantomData<Dm>: Send,

§

impl<'d, Dm> Sync for Rsa<'d, Dm>
where PhantomData<Dm>: Sync,

§

impl<'d, Dm> Unpin for Rsa<'d, Dm>
where PhantomData<Dm>: Unpin,

§

impl<'d, Dm> UnsafeUnpin for Rsa<'d, Dm>

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

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

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

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.