Struct sam4l::aes::Aes [] [src]

pub struct Aes<'a> {
    registers: *const AesRegisters,
    client: Cell<Option<&'a Client<'a>>>,
    source: TakeCell<'a, [u8]>,
    dest: TakeCell<'a, [u8]>,
    write_index: Cell<usize>,
    read_index: Cell<usize>,
    stop_index: Cell<usize>,
}

Fields

Methods

impl<'a> Aes<'a>
[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

[src]

Handle an interrupt, which will indicate either that the AESA's input buffer is ready for more data, or that it has completed a block of output for us to consume

Trait Implementations

impl<'a> AES128<'a> for Aes<'a>
[src]

[src]

Enable the AES hardware. Must be called before any other methods Read more

[src]

Disable the AES hardware

[src]

Set the client instance which will receive crypt_done() callbacks

[src]

Set the encryption key. Returns EINVAL if length is not AES128_KEY_SIZE Read more

[src]

Set the IV (or initial counter). Returns EINVAL if length is not AES128_BLOCK_SIZE Read more

[src]

Begin a new message (with the configured IV) when crypt() is next called. Multiple calls to crypt() may be made between calls to start_message(), allowing the encryption context to extend over non-contiguous extents of data. Read more

[src]

Request an encryption/decryption Read more

impl<'a> AES128Ctr for Aes<'a>
[src]

[src]

Call before AES128::crypt() to perform AES128Ctr

impl<'a> AES128CBC for Aes<'a>
[src]

[src]

Call before AES128::crypt() to perform AES128CBC