8 security module (aes), 1 overview, 2 security module preparation – Rainbow Electronics ATmega128RFA1 User Manual
Page 92: Security module (aes)" on, Atmega128rfa1

92
8266A-MCU Wireless-12/09
ATmega128RFA1
Protection prevents that a new valid frame passes to the Frame Buffer until the buffer
protection bit is cleared (RX_SAFE_MODE = 0).
A received frame is automatically protected against overwriting:
•
in Basic Operating Mode, if its FCS is valid
•
in Extended Operating Mode, if an TRX24_RX_END interrupt is generated
The Dynamic Frame Buffer Protection is enabled, if register bit RX_SAFE_MODE
(register TRX_CTRL_2, see
"TRX_CTRL_2 – Transceiver Control Register 2" on page
) is set and the radio transceiver state is RX_ON or RX_AACK_ON.
Note that Dynamic Frame Buffer Protection only prevents write accesses from the air
interface not from the application software. The application software may still modify the
Frame Buffer content.
9.8.8 Security Module (AES)
The security module (AES) is characterized by:
•
Hardware accelerated encryption and decryption;
•
Compatible with AES-128 standard (128 bit key and data block size);
•
ECB (encryption/decryption) mode and CBC (encryption) mode support;
•
Stand-alone operation, independent of other blocks;
See TBD Application regarding the AES security module usage.
9.8.8.1 Overview
The security module is based on an AES-128 core according to the FIPS197 standard
[5]. and provides two modes, the Electronic Code Book (ECB) and the Cipher Block
Chaining (CBC). The security module works independent of other building blocks of the
radio transceiver. Encryption and decryption can be performed in parallel to a frame
transmission or reception.
The ECB and CBC modules including the AES core are clocked with the 16 MHz Radio
Transceiver Crystal Oscillator.
Controlling the security block is possible over 5 Registers within AVR I/O space:
Table 9-24. Security Module Address Space Overview
Register Name
Description
AES_STATUS
AES status register
AES_CTRL
AES control register
AES_KEY
Access to 16 Byte key buffer
AES_STATE
Access to 16 Byte data buffer
9.8.8.2 Security Module Preparation
The use of the security module requires a configuration of the security engine before
starting a security operation. The following steps are required:
Table 9-25. AES Engine Configuration Steps
Step
Description
Description
1
Key Setup
Write encryption or decryption key to KEY
buffer
(16 consecutive byte writes to AES_KEY)