Struct esp32s2::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 - AES key register %s

source

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

Iterator for array of: 0x00..0x20 - AES key register %s

source

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

0x20..0x30 - Source data register %s

source

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

Iterator for array of: 0x20..0x30 - Source data register %s

source

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

0x30..0x40 - Result data register %s

source

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

Iterator for array of: 0x30..0x40 - Result data register %s

source

pub fn mode(&self) -> &MODE

0x40 - AES working mode configuration register

source

pub fn endian(&self) -> &ENDIAN

0x44 - Endian configuration register

source

pub fn trigger(&self) -> &TRIGGER

0x48 - Operation start controlling register

source

pub fn state(&self) -> &STATE

0x4c - Operation status register

source

pub fn iv_(&self, n: usize) -> &IV_

0x50..0x60 - initialization vector

source

pub fn iv__iter(&self) -> impl Iterator<Item = &IV_>

Iterator for array of: 0x50..0x60 - initialization vector

source

pub fn h_(&self, n: usize) -> &H_

0x60..0x70 - GCM hash subkey

source

pub fn h__iter(&self) -> impl Iterator<Item = &H_>

Iterator for array of: 0x60..0x70 - GCM hash subkey

source

pub fn j0_(&self, n: usize) -> &J0_

0x70..0x80 - J0

source

pub fn j0__iter(&self) -> impl Iterator<Item = &J0_>

Iterator for array of: 0x70..0x80 - J0

source

pub fn t0_(&self, n: usize) -> &T0_

0x80..0x90 - T0

source

pub fn t0__iter(&self) -> impl Iterator<Item = &T0_>

Iterator for array of: 0x80..0x90 - T0

source

pub fn dma_enable(&self) -> &DMA_ENABLE

0x90 - DMA enable register

source

pub fn block_mode(&self) -> &BLOCK_MODE

0x94 - Block operation type register

source

pub fn block_num(&self) -> &BLOCK_NUM

0x98 - Block number configuration register

source

pub fn inc_sel(&self) -> &INC_SEL

0x9c - Standard incrementing function register

source

pub fn aad_block_num(&self) -> &AAD_BLOCK_NUM

0xa0 - AAD block number configuration register

source

pub fn remainder_bit_num(&self) -> &REMAINDER_BIT_NUM

0xa4 - Remainder bit number of plaintext/ciphertext

source

pub fn continue_op(&self) -> &CONTINUE_OP

0xa8 - Operation continue controlling register

source

pub fn int_clr(&self) -> &INT_CLR

0xac - DMA-AES interrupt clear register

source

pub fn int_ena(&self) -> &INT_ENA

0xb0 - DMA-AES interrupt enable register

source

pub fn date(&self) -> &DATE

0xb4 - Version control register

source

pub fn dma_exit(&self) -> &DMA_EXIT

0xb8 - Operation exit controlling register

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