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_0(&self) -> &KEY_0

0x00 - Key material key_0 configure register

source

pub fn key_1(&self) -> &KEY_1

0x04 - Key material key_1 configure register

source

pub fn key_2(&self) -> &KEY_2

0x08 - Key material key_2 configure register

source

pub fn key_3(&self) -> &KEY_3

0x0c - Key material key_3 configure register

source

pub fn key_4(&self) -> &KEY_4

0x10 - Key material key_4 configure register

source

pub fn key_5(&self) -> &KEY_5

0x14 - Key material key_5 configure register

source

pub fn key_6(&self) -> &KEY_6

0x18 - Key material key_6 configure register

source

pub fn key_7(&self) -> &KEY_7

0x1c - Key material key_7 configure register

source

pub fn text_in_0(&self) -> &TEXT_IN_0

0x20 - source text material text_in_0 configure register

source

pub fn text_in_1(&self) -> &TEXT_IN_1

0x24 - source text material text_in_1 configure register

source

pub fn text_in_2(&self) -> &TEXT_IN_2

0x28 - source text material text_in_2 configure register

source

pub fn text_in_3(&self) -> &TEXT_IN_3

0x2c - source text material text_in_3 configure register

source

pub fn text_out_0(&self) -> &TEXT_OUT_0

0x30 - result text material text_out_0 configure register

source

pub fn text_out_1(&self) -> &TEXT_OUT_1

0x34 - result text material text_out_1 configure register

source

pub fn text_out_2(&self) -> &TEXT_OUT_2

0x38 - result text material text_out_2 configure register

source

pub fn text_out_3(&self) -> &TEXT_OUT_3

0x3c - result text material text_out_3 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_clear(&self) -> &INT_CLEAR

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

§

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

§

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

§

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.