RM0453 Rev 1 23/1461
RM0453 Contents
43
23.4.5 AES decryption round key preparation . . . . . . . . . . . . . . . . . . . . . . . . 660
23.4.6 AES ciphertext stealing and data padding . . . . . . . . . . . . . . . . . . . . . . 660
23.4.7 AES task suspend and resume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
23.4.8 AES basic chaining modes (ECB, CBC) . . . . . . . . . . . . . . . . . . . . . . . 661
23.4.9 AES counter (CTR) mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
23.4.10 AES Galois/counter mode (GCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
23.4.11 AES Galois message authentication code (GMAC) . . . . . . . . . . . . . . 673
23.4.12 AES counter with CBC-MAC (CCM) . . . . . . . . . . . . . . . . . . . . . . . . . . 675
23.4.13 AES data registers and data swapping . . . . . . . . . . . . . . . . . . . . . . . . 681
23.4.14 AES key registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
23.4.15 AES initialization vector registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
23.4.16 AES DMA interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
23.4.17 AES error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
23.5 AES interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
23.6 AES processing latency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
23.7 AES registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
23.7.1 AES control register (AES_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
23.7.2 AES status register (AES_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
23.7.3 AES data input register (AES_DINR) . . . . . . . . . . . . . . . . . . . . . . . . . 690
23.7.4 AES data output register (AES_DOUTR) . . . . . . . . . . . . . . . . . . . . . . 691
23.7.5 AES key register 0 (AES_KEYR0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
23.7.6 AES key register 1 (AES_KEYR1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
23.7.7 AES key register 2 (AES_KEYR2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
23.7.8 AES key register 3 (AES_KEYR3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
23.7.9 AES initialization vector register 0 (AES_IVR0) . . . . . . . . . . . . . . . . . . 693
23.7.10 AES initialization vector register 1 (AES_IVR1) . . . . . . . . . . . . . . . . . . 694
23.7.11 AES initialization vector register 2 (AES_IVR2) . . . . . . . . . . . . . . . . . . 694
23.7.12 AES initialization vector register 3 (AES_IVR3) . . . . . . . . . . . . . . . . . . 694
23.7.13 AES key register 4 (AES_KEYR4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
23.7.14 AES key register 5 (AES_KEYR5) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
23.7.15 AES key register 6 (AES_KEYR6) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
23.7.16 AES key register 7 (AES_KEYR7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
23.7.17 AES suspend registers (AES_SUSPxR) . . . . . . . . . . . . . . . . . . . . . . . 696
23.7.18 AES register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
24 Public key accelerator (PKA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
24.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699