pub struct RSA { /* private fields */ }
Expand description
RSA (Rivest Shamir Adleman) Accelerator
Implementations§
Source§impl RSA
impl RSA
Sourcepub const PTR: *const RegisterBlock = {0x6003c000 as *const rsa::RegisterBlock}
pub const PTR: *const RegisterBlock = {0x6003c000 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..0x200 - 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..0x400 - 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..0x600 - 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..0x800 - Represents X
Sourcepub fn modexp_start(&self) -> &MODEXP_START
pub fn modexp_start(&self) -> &MODEXP_START
0x80c - Modular exponentiation starting bit
Sourcepub fn modmult_start(&self) -> &MODMULT_START
pub fn modmult_start(&self) -> &MODMULT_START
0x810 - Modular multiplication starting bit
Sourcepub fn mult_start(&self) -> &MULT_START
pub fn mult_start(&self) -> &MULT_START
0x814 - Normal multiplication starting bit
Sourcepub fn constant_time(&self) -> &CONSTANT_TIME
pub fn constant_time(&self) -> &CONSTANT_TIME
0x820 - The constant_time option
Sourcepub fn search_enable(&self) -> &SEARCH_ENABLE
pub fn search_enable(&self) -> &SEARCH_ENABLE
0x824 - The search option
Sourcepub fn search_pos(&self) -> &SEARCH_POS
pub fn search_pos(&self) -> &SEARCH_POS
0x828 - The search position