pub struct RSA { /* private fields */ }
Expand description
RSA (Rivest Shamir Adleman) Accelerator
Implementations§
Source§impl RSA
impl RSA
Sourcepub const PTR: *const RegisterBlock = {0x6008a000 as *const rsa::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x6008a000 as *const rsa::RegisterBlock}
Pointer to the register block
Sourcepub const fn ptr() -> *const RegisterBlock
pub const fn ptr() -> *const RegisterBlock
Return the pointer to the register block
Sourcepub unsafe fn steal() -> Self
pub unsafe fn steal() -> Self
Steal an instance of this peripheral
§Safety
Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.
Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.
Methods from Deref<Target = RegisterBlock>§
Sourcepub fn m_mem_iter(&self) -> impl Iterator<Item = &M_MEM>
pub fn m_mem_iter(&self) -> impl Iterator<Item = &M_MEM>
Iterator for array of: 0x00..0x180 - Represents M
Sourcepub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM>
pub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM>
Iterator for array of: 0x200..0x380 - Represents Z
Sourcepub fn y_mem_iter(&self) -> impl Iterator<Item = &Y_MEM>
pub fn y_mem_iter(&self) -> impl Iterator<Item = &Y_MEM>
Iterator for array of: 0x400..0x580 - Represents Y
Sourcepub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM>
pub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM>
Iterator for array of: 0x600..0x780 - Represents X
Sourcepub fn query_clean(&self) -> &QUERY_CLEAN
pub fn query_clean(&self) -> &QUERY_CLEAN
0x808 - RSA clean register
Sourcepub fn set_start_modexp(&self) -> &SET_START_MODEXP
pub fn set_start_modexp(&self) -> &SET_START_MODEXP
0x80c - Starts modular exponentiation
Sourcepub fn set_start_modmult(&self) -> &SET_START_MODMULT
pub fn set_start_modmult(&self) -> &SET_START_MODMULT
0x810 - Starts modular multiplication
Sourcepub fn set_start_mult(&self) -> &SET_START_MULT
pub fn set_start_mult(&self) -> &SET_START_MULT
0x814 - Starts multiplication
Sourcepub fn query_idle(&self) -> &QUERY_IDLE
pub fn query_idle(&self) -> &QUERY_IDLE
0x818 - Represents the RSA status
Sourcepub fn constant_time(&self) -> &CONSTANT_TIME
pub fn constant_time(&self) -> &CONSTANT_TIME
0x820 - Configures the constant_time option
Sourcepub fn search_enable(&self) -> &SEARCH_ENABLE
pub fn search_enable(&self) -> &SEARCH_ENABLE
0x824 - Configures the search option
Sourcepub fn search_pos(&self) -> &SEARCH_POS
pub fn search_pos(&self) -> &SEARCH_POS
0x828 - Configures the search position