
129
8111C–MCU Wireless–09/09
AT86RF231
The encryption or decryption is initiated with register bit AES_REQUEST = 1 (SRAM address
0x83, AES_CTRL or the mirrored version with SRAM address 0x94, AES_CTRL_MIRROR).
The AES module control registers are only accessible using SRAM read and write accesses on
address space 0x82 to 0x94. A configuration of the AES mode, providing the data and the start
of the operation can be combined within one SRAM access.
Notes
No additional register access is required to operate the security block.
Using AES in TRX_OFF state requires an activated clock at pin 17 (CLKM), i.e. register bits
Access to the security block is not possible while the radio transceiver is in state SLEEP.
All configurations of the security module, the SRAM content and keys are reset during
SLEEP or RESET states.
11.1.3
Security Key Setup
The setup of the key is prepared by setting register bits AES_MODE = 0x1 (SRAM address
0x83, AES_CTRL). Afterwards the 128 bit key must be written to SRAM addresses 0x84 through
0x93 (registers AES_KEY). It is recommended to combine the setting of control register 0x83
(AES_CTRL) and the 128 bit key transfer using only one SRAM access starting from address
0x83.
The address space for the 128-bit key and 128-bit data is identical from programming point of
view. However, both use different pages which are selected by register bit AES_MODE before
storing the data.
A read access to registers AES_KEY (0x84 - 0x93) returns the last round key of the preceding
security operation. After an ECB encryption operation, this is the key that is required for the cor-
responding ECB decryption operation. However, the initial AES key, written to the security
an AES operation. This initial key is used for the next AES run even it cannot be read from
AES_KEY.
Note
ECB decryption is not required for IEEE 802.15.4 or ZigBee security processing. The
AT86RF231 provides this functionality as an additional feature.
11.1.4
Security Operation Modes
11.1.4.1
Electronic Code Book (ECB)
ECB is the basic operating mode of the security module. After setting up the initial AES key, reg-
ister bits AES_MODE = 0 (SRAM address 0x83, AES_CTRL) sets up ECB mode. Register bit
AES_DIR (SRAM address 0x83, AES_CTRL) selects the direction, either encryption or decryp-
tion. The data to be processed has to be written to SRAM addresses 0x84 through 0x93
(registers AES_STATE).
assumes a suitable key has been loaded before.