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 payload 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 . 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
Atmel AT86RF232 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 configured as CBC by setting register bits AES_MODE = 2
(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 (register AES_STATE).
Setting register bit AES_REQUEST = 1 (register 0x94, AES_CTRL_MIRROR) as
described in Section 11.1.4 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 .
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
128
AT86RF232
8321A – MCU Wireless – 10/11
相关PDF资料
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
ATAKSTK512-3 KIT RF MOD REMOTE 315MHZ UNIDIR
相关代理商/技术参数
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
AT86RF233-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
AT86RF233-ZUS 功能描述:IC RF TxRx + MCU 802.15.4, General ISM > 1GHz 6LoWPAN, Zigbee? 2.4GHz 32-VFQFN Exposed Pad 制造商:atmel 系列:- 包装:托盘 零件状态:过期 类型:TxRx + MCU 射频系列/标准:802.15.4,通用 ISM > 1GHz 协议:6LoWPAN,Zigbee? 调制:O-QPSK 频率:2.4GHz 数据速率(最大值):2Mbps 功率 - 输出:4dBm 灵敏度:-101dBm 存储容量:128B SRAM 串行接口:SPI GPIO:- 电压 - 电源:1.8 V ~ 3.6 V 电流 - 接收:11.3mA ~ 11.8mA 电流 - 传输:7.2mA ~ 13.8mA 工作温度:-40°C ~ 85°C 封装/外壳:32-VFQFN 裸露焊盘 标准包装:490
AT86RF401 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:Smart RF Wireless Data Microtransmitter
AT86RF401E 制造商:ATMEL 制造商全称:ATMEL Corporation 功能描述:Smart RF Wireless Data Microtransmitter