pub struct Rsa<'d, Dm: DriverMode> { /* private fields */ }
unstable
only.Expand description
RSA peripheral container
Implementations§
Source§impl<Dm: DriverMode> Rsa<'_, Dm>
impl<Dm: DriverMode> Rsa<'_, Dm>
Sourcepub fn ready(&mut self) -> Result<(), Infallible>
pub fn ready(&mut self) -> Result<(), 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
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 enable_disable_search_acceleration(&mut self, enable: bool)
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 decrease security.
For more information refer to 18.3.4 of https://www.espressif.com/sites/default/files/documentation/esp32-c6_technical_reference_manual_en.pdf
Sourcepub fn enable_disable_constant_time_acceleration(&mut self, enable: bool)
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 decrease security.
For more information refer to 18.3.4 of https://www.espressif.com/sites/default/files/documentation/esp32-c6_technical_reference_manual_en.pdf.
Source§impl<'d> Rsa<'d, Blocking>
impl<'d> Rsa<'d, Blocking>
Sourcepub fn new(rsa: impl Peripheral<P = RSA> + 'd) -> Self
pub fn new(rsa: impl Peripheral<P = RSA> + 'd) -> Self
Create a new instance in crate::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 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.
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.