DocID018909 Rev 11 23/1731
RM0090 Contents
39
23.6.13 CRYP register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
24 Random number generator (RNG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
24.1 RNG introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
24.2 RNG main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
24.3 RNG functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
24.3.1 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
24.3.2 Error management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
24.4 RNG registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
24.4.1 RNG control register (RNG_CR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
24.4.2 RNG status register (RNG_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760
24.4.3 RNG data register (RNG_DR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
24.4.4 RNG register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
25 Hash processor (HASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
25.1 HASH introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
25.2 HASH main features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
25.3 HASH functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
25.3.1 Duration of the processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
25.3.2 Data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
25.3.3 Message digest computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
25.3.4 Message padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
25.3.5 Hash operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
25.3.6 HMAC operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
25.3.7 Context swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
25.3.8 HASH interrupt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
25.4 HASH registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773
25.4.1 HASH control register (HASH_CR) for STM32F415/417xx . . . . . . . . . 773
25.4.2 HASH control register (HASH_CR) for STM32F43xxx . . . . . . . . . . . . 776
25.4.3 HASH data input register (HASH_DIN) . . . . . . . . . . . . . . . . . . . . . . . . 779
25.4.4 HASH start register (HASH_STR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
25.4.5 HASH digest registers (HASH_HR0..4/5/6/7) . . . . . . . . . . . . . . . . . . . 781
25.4.6 HASH interrupt enable register (HASH_IMR) . . . . . . . . . . . . . . . . . . . 783
25.4.7 HASH status register (HASH_SR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
25.4.8 HASH context swap registers (HASH_CSRx) . . . . . . . . . . . . . . . . . . . 785
25.4.9 HASH register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786