RM0090 Contents
Doc ID 018909 Rev 4 18/1422
19.6.4 WWDG register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
20 Cryptographic processor (CRYP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
20.1 CRYP introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
20.2 CRYP main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
20.3 CRYP functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
20.3.1 DES/TDES cryptographic core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
20.3.2 AES cryptographic core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
20.3.3 Data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
20.3.4 Initialization vectors - CRYP_IV0...1(L/R) . . . . . . . . . . . . . . . . . . . . . . 569
20.3.5 CRYP busy state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
20.3.6 Procedure to perform an encryption or a decryption . . . . . . . . . . . . . . 572
20.3.7 Context swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
20.4 CRYP interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
20.5 CRYP DMA interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
20.6 CRYP registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
20.6.1 CRYP control register (CRYP_CR) for
STM32F405xx/07xx and STM32F415xx/17xx . . . . . . . . . . . . . . . . . . . 576
20.6.2 CRYP control register (CRYP_CR) for
STM32F42xxx and STM32F43xxx . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
20.6.3 CRYP status register (CRYP_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
20.6.4 CRYP data input register (CRYP_DIN) . . . . . . . . . . . . . . . . . . . . . . . . 582
20.6.5 CRYP data output register (CRYP_DOUT) . . . . . . . . . . . . . . . . . . . . . 583
20.6.6 CRYP DMA control register (CRYP_DMACR) . . . . . . . . . . . . . . . . . . . 584
20.6.7 CRYP interrupt mask set/clear register (CRYP_IMSCR) . . . . . . . . . . . 584
20.6.8 CRYP raw interrupt status register (CRYP_RISR) . . . . . . . . . . . . . . . . 585
20.6.9 CRYP masked interrupt status register (CRYP_MISR) . . . . . . . . . . . . 585
20.6.10 CRYP key registers (CRYP_K0...3(L/R)R) . . . . . . . . . . . . . . . . . . . . . . 586
20.6.11 CRYP initialization vector registers (CRYP_IV0...1(L/R)R) . . . . . . . . . 588
20.6.12 CRYP context swap registers (CRYP_CSGCMCCM0..7R and
CRYP_CSGCM0..7R) for STM32F42xxx and STM32F43xxx . . . . . . . 590
20.6.13 CRYP register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
21 Random number generator (RNG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
21.1 RNG introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
21.2 RNG main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
21.3 RNG functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594