AT86RF231
When decrypting, due to the nature of AES algorithm, the initial key to be used is not the same
as the one used for encryption, but rather the last round key instead. This last round key is the
content of the key address space stored after running one full encryption cycle, and must be
saved for decryption. If the decryption key has not been saved, it has to be recomputed by first
running a dummy encryption (of an arbitrary plaintext) using the original encryption key, then
fetching the resulting round key from the key memory, and writing it back into the key memory as
the decryption key.
ECB decryption is not used by either IEEE 802.15.4 or ZigBee frame security. Both of these
standards do not directly encrypt the payload, but rather a nonce instead, and protect the pay-
load by applying an XOR operation between the resulting (AES-) cipher text and the original
payload. As the nonce is the same for encryption and decryption only ECB encryption is
required. Decryption is performed by XORing the received cipher text with its own encryption
result respectively, which results in the original plaintext payload upon success.
11.1.4.2
Cipher Block Chaining (CBC)
In CBC mode, the result of a previous AES operation is XORed with the new incoming vector,
forming the new plaintext to encrypt, see Figure 11-4 on page 131 . This mode is used for the
computation of a cryptographic checksum (message integrity code, MIC).
Figure 11-4. CBC Mode - Encryption
Plaintext
Initialization Vector (IV)
Plaintext
Encryption
Key
Block Cipher
Encryption
Ciphertext
ECB
mode
Encryption
Key
Block Cipher
Encryption
Ciphertext
CBC
mode
After preparing the AES key, and defining the AES operation direction using SRAM register bit
AES_DIR, the data has to be provided to the AES engine and the CBC operation can be started.
The first CBC run has to be configured as ECB to process the initial data (plaintext XORed with
an initialization vector provided by the microcontroller). All succeeding AES runs are to be con-
figured as CBC by setting register bits AES_MODE = 0x2 (register 0x83, AES_CTRL). Register
bit AES_DIR (register 0x83, AES_CTRL) must be set to AES_DIR = 0 to enable AES encryption.
The data to be processed has to be transferred to the SRAM starting with address 0x84 to 0x93
( r e g i s t e r A E S _ S T AT E ) . S e t t i n g r e g i s t e r b i t A E S _ R E Q U E S T = 1 ( r e g i s t e r 0 x 9 4 ,
AES_CTRL_MIRROR) as described in Section 11.1.4 “Security Operation Modes” on page 129
starts the first encryption within one SRAM access. This causes the next 128 bits of plaintext
data to be XORed with the previous cipher text data, see Figure 11-4 on page 131 .
According to IEEE 802.15.4 the input for the very first CBC operation has to be prepared by a
XORing a plaintext with an initialization vector (IV). The value of the initialization vector is 0.
However, for non-compliant usage any other initialization vector can be used. This operation has
to be prepared by the microcontroller.
131
8111C–MCU Wireless–09/09
相关PDF资料
AT86RF232-ZX 2.4 GHZ ZIGBEE TRANSCEIVER
AT88CK201BK BRD CRYPTORF READER AT88RF1354
AT88SC-ADK2 KIT ARIS+ DK CRYPTOMEM/COMPANION
AT88SC3216CRF-MY1 IC EEPROM 32KBIT 13MHZ TAG
ATA-2001 LVDT AMPLIFIER
ATAB5429-9-B BOARD BASESTATN UHF RCVR 915MHZ
ATAB5749-3 BOARD XMITTER FOR 315MHZ ATA5749
ATAKSTK511-3 KIT RF MODULE 315MHZ FOR STK500
相关代理商/技术参数
AT86RF231-ZU 功能描述:射频收发器 2.4GHz Zigbee Transceiver RoHS:否 制造商:Atmel 频率范围:2322 MHz to 2527 MHz 最大数据速率:2000 Kbps 调制格式:OQPSK 输出功率:4 dBm 类型: 工作电源电压:1.8 V to 3.6 V 最大工作温度:+ 85 C 接口类型:SPI 封装 / 箱体:QFN-32 封装:Tray
AT86RF231-ZU_09 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:Low Power 2.4 GHz Transceiver for ZigBee
AT86RF231-ZUR 功能描述:射频收发器 2.4GHz, Zigbee Transceiver RoHS:否 制造商:Atmel 频率范围:2322 MHz to 2527 MHz 最大数据速率:2000 Kbps 调制格式:OQPSK 输出功率:4 dBm 类型: 工作电源电压:1.8 V to 3.6 V 最大工作温度:+ 85 C 接口类型:SPI 封装 / 箱体:QFN-32 封装:Tray
AT86RF232-ZX 功能描述:射频收发器 2.4 GHZ ZIGBEE TRANSCEIVER RoHS:否 制造商:Atmel 频率范围:2322 MHz to 2527 MHz 最大数据速率:2000 Kbps 调制格式:OQPSK 输出功率:4 dBm 类型: 工作电源电压:1.8 V to 3.6 V 最大工作温度:+ 85 C 接口类型:SPI 封装 / 箱体:QFN-32 封装:Tray
AT86RF232-ZXR 功能描述:射频收发器 2.4 GHZ ZIGBEE TRANSCEIVER RoHS:否 制造商:Atmel 频率范围:2322 MHz to 2527 MHz 最大数据速率:2000 Kbps 调制格式:OQPSK 输出功率:4 dBm 类型: 工作电源电压:1.8 V to 3.6 V 最大工作温度:+ 85 C 接口类型:SPI 封装 / 箱体:QFN-32 封装:Tray
AT86RF233-ZF 功能描述:IC RF TXRX+MCU 802.15.4 32-VFQFN 制造商:microchip technology 系列:- 包装:托盘 零件状态:在售 类型:TxRx + MCU 射频系列/标准:802.15.4,通用 ISM > 1GHz 协议:6LoWPAN,Zigbee? 调制:O-QPSK 频率:2.4GHz 数据速率(最大值):2Mbps 功率 - 输出:4dBm 灵敏度:-101dBm 存储容量:128B SRAM 串行接口:SPI 电压 - 电源:1.8 V ~ 3.6 V 电流 - 接收:11.3mA ~ 11.8mA 电流 - 传输:7.2mA ~ 13.8mA 工作温度:-40°C ~ 125°C 封装/外壳:32-VFQFN 裸露焊盘 标准包装:490
AT86RF233-ZFR 功能描述:IC RF TXRX+MCU 802.15.4 32-VFQFN 制造商:microchip technology 系列:- 包装:剪切带(CT) 零件状态:在售 类型:TxRx + MCU 射频系列/标准:802.15.4,通用 ISM > 1GHz 协议:6LoWPAN,Zigbee? 调制:O-QPSK 频率:2.4GHz 数据速率(最大值):2Mbps 功率 - 输出:4dBm 灵敏度:-101dBm 存储容量:128B SRAM 串行接口:SPI 电压 - 电源:1.8 V ~ 3.6 V 电流 - 接收:11.3mA ~ 11.8mA 电流 - 传输:7.2mA ~ 13.8mA 工作温度:-40°C ~ 125°C 封装/外壳:32-VFQFN 裸露焊盘 标准包装:1
AT86RF233-ZU 功能描述:射频收发器 2.4GHz ZigBee Transceiver RoHS:否 制造商:Atmel 频率范围:2322 MHz to 2527 MHz 最大数据速率:2000 Kbps 调制格式:OQPSK 输出功率:4 dBm 类型: 工作电源电压:1.8 V to 3.6 V 最大工作温度:+ 85 C 接口类型:SPI 封装 / 箱体:QFN-32 封装:Tray