Struct esp32c3::AES

source ·
pub struct AES { /* private fields */ }
Expand description

AES (Advanced Encryption Standard) Accelerator

Implementations§

source§

impl AES

source

pub const PTR: *const RegisterBlock = {0x6003a000 as *const aes::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

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>§

source

pub fn key(&self, n: usize) -> &KEY

0x00..0x20 - Key material key_%s configure register

source

pub fn key_iter(&self) -> impl Iterator<Item = &KEY>

Iterator for array of: 0x00..0x20 - Key material key_%s configure register

source

pub fn text_in(&self, n: usize) -> &TEXT_IN

0x20..0x30 - source text material text_in_%s configure register

source

pub fn text_in_iter(&self) -> impl Iterator<Item = &TEXT_IN>

Iterator for array of: 0x20..0x30 - source text material text_in_%s configure register

source

pub fn text_out(&self, n: usize) -> &TEXT_OUT

0x30..0x40 - result text material text_out_%s configure register

source

pub fn text_out_iter(&self) -> impl Iterator<Item = &TEXT_OUT>

Iterator for array of: 0x30..0x40 - result text material text_out_%s configure register

source

pub fn mode(&self) -> &MODE

0x40 - AES Mode register

source

pub fn endian(&self) -> &ENDIAN

0x44 - AES Endian configure register

source

pub fn trigger(&self) -> &TRIGGER

0x48 - AES trigger register

source

pub fn state(&self) -> &STATE

0x4c - AES state register

source

pub fn iv_mem(&self, n: usize) -> &IV_MEM

0x50..0x60 - The memory that stores initialization vector

source

pub fn iv_mem_iter(&self) -> impl Iterator<Item = &IV_MEM>

Iterator for array of: 0x50..0x60 - The memory that stores initialization vector

source

pub fn h_mem(&self, n: usize) -> &H_MEM

0x60..0x70 - The memory that stores GCM hash subkey

source

pub fn h_mem_iter(&self) -> impl Iterator<Item = &H_MEM>

Iterator for array of: 0x60..0x70 - The memory that stores GCM hash subkey

source

pub fn j0_mem(&self, n: usize) -> &J0_MEM

0x70..0x80 - The memory that stores J0

source

pub fn j0_mem_iter(&self) -> impl Iterator<Item = &J0_MEM>

Iterator for array of: 0x70..0x80 - The memory that stores J0

source

pub fn t0_mem(&self, n: usize) -> &T0_MEM

0x80..0x90 - The memory that stores T0

source

pub fn t0_mem_iter(&self) -> impl Iterator<Item = &T0_MEM>

Iterator for array of: 0x80..0x90 - The memory that stores T0

source

pub fn dma_enable(&self) -> &DMA_ENABLE

0x90 - DMA-AES working mode register

source

pub fn block_mode(&self) -> &BLOCK_MODE

0x94 - AES cipher block mode register

source

pub fn block_num(&self) -> &BLOCK_NUM

0x98 - AES block number register

source

pub fn inc_sel(&self) -> &INC_SEL

0x9c - Standard incrementing function configure register

source

pub fn aad_block_num(&self) -> &AAD_BLOCK_NUM

0xa0 - Additional Authential Data block number register

source

pub fn remainder_bit_num(&self) -> &REMAINDER_BIT_NUM

0xa4 - AES remainder bit number register

source

pub fn continue_(&self) -> &CONTINUE

0xa8 - AES continue register

source

pub fn int_clr(&self) -> &INT_CLR

0xac - AES Interrupt clear register

source

pub fn int_ena(&self) -> &INT_ENA

0xb0 - AES Interrupt enable register

source

pub fn date(&self) -> &DATE

0xb4 - AES version control register

source

pub fn dma_exit(&self) -> &DMA_EXIT

0xb8 - AES-DMA exit config

Trait Implementations§

source§

impl Debug for AES

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for AES

source§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for AES

Auto Trait Implementations§

§

impl Freeze for AES

§

impl RefUnwindSafe for AES

§

impl !Sync for AES

§

impl Unpin for AES

§

impl UnwindSafe for AES

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, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.