pub struct Rsa<'d, Dm: DriverMode> { /* private fields */ }unstable only.Expand description
RSA peripheral driver.
Implementations§
Source§impl<'d> Rsa<'d, Blocking>
impl<'d> Rsa<'d, Blocking>
Sourcepub fn new(rsa: RSA<'d>) -> Self
pub fn new(rsa: RSA<'d>) -> Self
Create a new instance in Blocking mode.
Optionally an interrupt handler can be bound.
Sourcepub fn into_async(self) -> Rsa<'d, Async>
pub fn into_async(self) -> Rsa<'d, Async>
Reconfigures the RSA driver to operate in asynchronous mode.
Sourcepub fn enable_disable_interrupt(&mut self, enable: bool)
pub fn enable_disable_interrupt(&mut self, enable: bool)
Enables/disables rsa interrupt.
When enabled rsa peripheral would generate an interrupt when a operation is finished.
Sourcepub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
pub fn set_interrupt_handler(&mut self, handler: InterruptHandler)
Registers an interrupt handler for the RSA peripheral.
Note that this will replace 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>
impl<'d> Rsa<'d, Async>
Sourcepub fn into_blocking(self) -> Rsa<'d, Blocking>
pub fn into_blocking(self) -> Rsa<'d, Blocking>
Create a new instance in crate::Blocking mode.
Source§impl<'d, Dm: DriverMode> Rsa<'d, Dm>
impl<'d, Dm: DriverMode> Rsa<'d, Dm>
Sourcepub fn disable_constant_time(&mut self, disable: bool)
Available on non-esp32 only.
pub fn disable_constant_time(&mut self, disable: bool)
esp32 only.Enables/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.
Note: this compromises security by enabling timing-based side-channel attacks.
For more information refer to the Technical Reference Manual
Sourcepub fn search_acceleration(&mut self, enable: bool)
Available on non-esp32 only.
pub fn search_acceleration(&mut self, enable: bool)
esp32 only.Enables/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.
Note: this 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>
§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.
impl InterruptConfigurable for Rsa<'_, Blocking>
§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.