Module nrf5x::aes [] [src]

aes128 driver, nRF5X-family

Provides a simple driver for userspace applications to encrypt and decrypt messages using aes128-ctr mode on top of aes128-ecb.

Roughly, the module three buffers with the following content:

Key

The key is used for getting a key and configure it in the AES chip

Initial Counter

Counter to be used for aes-ctr and it is entered into AES to generate the the keystream. After each encryption the initial counter is incremented

Payload

Data to be encrypted or decrypted it is XOR:ed with the generated keystream

Things to highlight that can be improved:

Authors

Reexports

use core::cell::Cell;
use kernel;
use kernel::ReturnCode;
use kernel::common::take_cell::TakeCell;
use kernel::hil::symmetric_encryption;
use peripheral_registers;

Structs

AesECB

Constants

CIPHERTEXT_END
CIPHERTEXT_START
KEY_END
KEY_START
MAX_LENGTH
NRF_INTR_ENDECB
NRF_INTR_ERRORECB
PLAINTEXT_END
PLAINTEXT_START

Statics

AESECB
ECB_DATA