
Hash processor (HASH)
RM0351
870/1830
DocID024597 Rev 5
29.6.4
HASH digest registers (HASH_HR0..7)
These registers contain the message digest result named as follows:
1.
H0, H1, H2, H3 and H4, respectively, in the SHA1 algorithm description
In this case, the HASH_H5 to HASH_H7 register is not used, and it is read as zero.
2. A, B, C and D, respectively, in the MD5 algorithm description
In this case, the HASH_H4 to HASH_H7 register is not used, and it is read as zero.
3. H0 to H6, respectively, in the SHA224 algorithm description,
In this case, the HASH_H7 register is not used, and it is read as zero.
4. H0 to H7, respectively, in the SHA256 algorithm description,
In all cases, the digest most significant bit is stored in HASH_H0[31].
If a read access to one of these registers is performed while the hash core is calculating an
intermediate digest or a final message digest (that is when the DCAL bit has been written to
1), then the read operation is stalled until the hash calculation completes.
Note:
H0, H1, H2, H3 and H4 mapping are duplicated in two memory regions.
HASH_HR0
Address offset: 0x0C and 0x310
Reset value: 0x0000 0000
HASH_HR1
Address offset: 0x10 and 0x314
Reset value: 0x0000 0000
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
H0
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
H0
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
H1
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
H1
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r
r