DocID024597 Rev 3 21/1693
RM0351 Contents
43
25.3 AES functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
25.4 Encryption and derivation keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
25.5 AES chaining algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
25.5.1 Electronic codebook (ECB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
25.5.2 Cipher block chaining (CBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
25.5.3 Counter Mode (CTR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
25.6 Galois counter mode (GCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
25.7 AES cipher message authentication code mode (CMAC) . . . . . . . . . . . 727
25.8 Data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729
25.9 Operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
25.9.1 Mode 1: encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
25.9.2 Mode 2: key derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
25.9.3 Mode 3: decryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733
25.9.4 Mode 4: key derivation and decryption . . . . . . . . . . . . . . . . . . . . . . . . 733
25.10 AES DMA interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
25.11 Error flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
25.12 Processing time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
25.13 AES interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
25.14 AES registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
25.14.1 AES control register (AES_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738
25.14.2 AES status register (AES_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
25.14.3 AES data input register (AES_DINR) . . . . . . . . . . . . . . . . . . . . . . . . . 742
25.14.4 AES data output register (AES_DOUTR) . . . . . . . . . . . . . . . . . . . . . . 742
25.14.5 AES key register 0 (AES_KEYR0) (LSB: key [31:0]) . . . . . . . . . . . . . . 743
25.14.6 AES key register 1 (AES_KEYR1) (key[63:32]) . . . . . . . . . . . . . . . . . . 743
25.14.7 AES key register 2 (AES_KEYR2) (key [95:64]) . . . . . . . . . . . . . . . . . 744
25.14.8 AES key register 3 (AES_KEYR3) (MSB: key[127:96]) . . . . . . . . . . . . 744
25.14.9 AES initialization vector register 0 (AES_IVR0) (LSB: IVR[31:0]) . . . . 744
25.14.10 AES initialization vector register 1 (AES_IVR1) (IVR[63:32]) . . . . . . . 745
25.14.11 AES initialization vector register 2 (AES_IVR2) (IVR[95:64]) . . . . . . . 746
25.14.12 AES initialization vector register 3 (AES_IVR3) (MSB: IVR[127:96]) . 746
25.14.13 AES key register 4 (AES_KEYR4) (key[159:128]) . . . . . . . . . . . . . . . . 746
25.14.14 AES key register 5 (AES_KEYR5) (key[191:160]) . . . . . . . . . . . . . . . . 747
25.14.15 AES key register 6 (AES_KEYR6) (key[223:192]) . . . . . . . . . . . . . . . . 747
25.14.16 AES key register 7 (AES_KEYR7) (MSB: key[255:224]) . . . . . . . . . . . 747
25.14.17 AES Suspend registers (AES_SUSPxR) (x = 0..7) . . . . . . . . . . . . . . . 749