...the world's most energy friendly microcontrollers
Figure 27.1. AES Key and Data Definitions
Encryption
PlainText
PlainKey
Decryption
Encryption
Decryption
CipherText
CipherKey
27.3.1 Encryption/Decryption
The AES module can be set to encrypt or decrypt by clearing/setting the DECRYPT bit in AES_CTRL.
The AES256 bit in AES_CTRL configures the size of the key used for encryption/decryption. The
AES_CTRL register should not be altered while AES is running, as this may lead to unpredictable
behaviour.
An AES encryption/decryption can be started in the following ways:
? Writing a 1 to the START bit in AES_CMD
? Writing 4 times 32 bits to AES_DATA when the DATASTART control bit is set
? Writing 4 times 32 bits to AES_XORDATA when the XORSTART control bit is set
An AES encryption/decryption can be stopped by writing a 1 to the STOP bit in AES_CMD. The
RUNNING bit in AES_STATUS indicates that an AES encryption/decryption is ongoing.
27.3.2 Data and Key Access
The AES module contains a 128-bit DATA (State) register and two 128-bit KEY registers defined as
DATA3-DATA0, KEY3-KEY0 (KEYL) and KEY7-KEY4 (KEYH). In AES128 mode, the 128-bit key is read
from KEYL, while both KEYH and KEYL is used in AES256 mode. See Figure 27.2 (p. 381) . The
figure presents the key byte order for 256-bit keys. In 128-bit mode a 16 represents the first byte of the
128-bit key.
It is important to note the order of the individual bytes in the key and state in relation to how they are
defined in the Advanced Encryption Standard (FIPS-197).
Figure 27.2. AES Data and Key Orientation as Defined in the Advanced Encryption Standard
DATA
KEYH
KEYL
[ 31:24]
[ 23:16]
[ 15:8]
[ 7:0]
S 0,0
S 1,0
S 2,0
S 3,0
S 0,1
S 1,1
S 2,1
S 3,1
S 0,2
S 1,2
S 2,2
S 3,2
S 0,3
S 1,3
S 2,3
S 3,3
a 0
a 1
a 2
a 3
a 4
a 5
a 6
a 7
a 8
a 9
a 10
a 11
a 12
a 13
a 14
a 15
a 16
a 17
a 18
a 19
a 20
a 21
a 22
a 23
a 24
a 25
a 26
a 27
a 28
a 29
a 30
a 31
The registers DATA3-DATA0, are not memory mapped directly, but can be written/read by accessing
AES_DATA or AES_XORDATA. The same applies for the key registers, KEY3-KEY0 which are
accessed through AES_KEYLn (n=A, B, C or D), while KEY7-KEY4 are accessed through KEYHn
(n=A, B, C or D). Writing DATA3-DATA0 is then done through 4 consecutive writes to AES_DATA (or
AES_XORDATA), starting with the word which is to be written to DATA0. For each write, the words will
2011-04-12 - d0001_Rev1.10
381
www.energymicro.com
相关PDF资料
EFM32GG-STK3700 KIT STARTER GIANT GECKO
EFM32LG-DK3650 KIT DEV EFM32 LEOPARD GECKO
EK-K7-KC705-CES-G-J KINTEX-7 FPGA KC705 EVAL KIT
EK-S6-SP601-G KIT EVAL SPARTAN 6 SP601
EK-S6-SP605-G KIT EVAL SPARTAN 6 SP605
EK-V6-ML631-G-J VIRTEX-6 HXT FPGA ML631 EVAL KIT
EK-V7-VC707-CES-G VIRTEX-7 VC707 EVAL KIT
EK-Z7-ZC702-CES-G ZYNQ-7000 EPP ZC702 EVAL KIT
相关代理商/技术参数
EFM32GG230F1024 功能描述:ARM微控制器 - MCU 1024KB FL 128KB RAM RoHS:否 制造商:STMicroelectronics 核心:ARM Cortex M4F 处理器系列:STM32F373xx 数据总线宽度:32 bit 最大时钟频率:72 MHz 程序存储器大小:256 KB 数据 RAM 大小:32 KB 片上 ADC:Yes 工作电源电压:1.65 V to 3.6 V, 2 V to 3.6 V, 2.2 V to 3.6 V 工作温度范围:- 40 C to + 85 C 封装 / 箱体:LQFP-48 安装风格:SMD/SMT
EFM32GG230F1024G-E-QFN64R 功能描述:IC MCU 32BIT 1MB FLASH 64QFN 制造商:silicon labs 系列:Giant Gecko 包装:剪切带(CT) 零件状态:在售 核心处理器:ARM? Cortex?-M3 核心尺寸:32-位 速度:48MHz 连接性:I2C,IrDA,智能卡,SPI,UART/USART 外设:欠压检测/复位,DMA,POR,PWM,WDT I/O 数:56 程序存储容量:1MB(1M x 8) 程序存储器类型:闪存 EEPROM 容量:- RAM 容量:128K x 8 电压 - 电源(Vcc/Vdd):1.98 V ~ 3.8 V 数据转换器:A/D 8x12b,D/A 2x12b 振荡器类型:内部 工作温度:-40°C ~ 85°C(TA) 封装/外壳:64-VFQFN 裸露焊盘 供应商器件封装:64-QFN(9x9) 标准包装:1
EFM32GG230F1024-QFN64 制造商:Energy Micro AS 功能描述:GIANT GECKO MCU - Cut TR (SOS) 制造商:Energy Micro 功能描述:GIANT GECKO MCU 制造商:Energy Micro AS 功能描述:IC MCU 32BIT 1MB FLASH 64QFN
EFM32GG230F1024-QFN64T 制造商:Energy Micro AS 功能描述:GIANT GECKO MCU - Trays
EFM32GG230F1024-QFN64-T 制造商:Energy Micro AS 功能描述:IC MCU 32BIT 1MB FLASH 64QFN
EFM32-GG230F1024-SK 制造商:Energy Micro AS 功能描述:GIANT GECKO SAMPLE KIT - Bulk
EFM32GG230F1024-T 制造商:Energy Micro AS 功能描述:IC MCU 32BIT 1MB FLASH 64QFN
EFM32GG230F512 功能描述:ARM微控制器 - MCU 512KB FL 128KB RAM RoHS:否 制造商:STMicroelectronics 核心:ARM Cortex M4F 处理器系列:STM32F373xx 数据总线宽度:32 bit 最大时钟频率:72 MHz 程序存储器大小:256 KB 数据 RAM 大小:32 KB 片上 ADC:Yes 工作电源电压:1.65 V to 3.6 V, 2 V to 3.6 V, 2.2 V to 3.6 V 工作温度范围:- 40 C to + 85 C 封装 / 箱体:LQFP-48 安装风格:SMD/SMT