58.5.3.1 Message Digest Example

Considering the following 512-bit message (example given in FIPS 180-2):

“61626380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018”

The message is written to memory in a Little Endian (LE) system architecture.

Table 58-2. 512-bit Message Memory Mapping
Memory Address Address Offset / Byte Lane
0x7 / 63:56 0x6 / 55:48 0x5 / 47:40 0x4 / 39:32 0x3 / 31:24 0x2 / 23:16 0x1 / 15:8 0x0 / 7:0
0x000 00 00 00 00 80 63 62 61
0x008–0x030 00 00 00 00 00 00 00 00
0x038 18 00 00 00 00 00 00 00

The digest is stored at the memory location pointed at by the ICM_HASH pointer with a Region Offset.

Table 58-3. LE Resulting SHA-160 Message Digest Memory Mapping
Memory Address Address Offset / Byte Lane
0x7 / 63:56 0x6 / 55:48 0x5 / 47:40 0x4 / 39:32 0x3 / 31:24 0x2 / 23:16 0x1 / 15:8 0x0 / 7:0
0x000 6a 81 06 47 36 3e 99 a9
0x008 6c c2 50 78 71 25 3e ba
0x010 9d d8 d0 9c
Table 58-4. Resulting SHA-256 Message Digest Memory Mapping
Memory Address Address Offset / Byte Lane
0x7 / 63:56 0x6 / 55:48 0x5 / 47:40 0x4 / 39:32 0x3 / 31:24 0x2 / 23:16 0x1 / 15:8 0x0 / 7:0
0x000 ea cf 01 8f bf 16 78 ba
0x008 23 22 ae 5d de 40 41 41
0x010 9c 7a 17 96 a3 61 03 b0
0x018 ad 15 00 f2 61 ff 10 b4

Considering the following 1024-bit message (example given in FIPS 180-2):

“6162638000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000018”

The message is written to memory in a Little Endian (LE) system architecture.

Table 58-5. 1024 bits Message Memory Mapping
Memory Address Address Offset / Byte Lane
0x7 / 63:56 0x6 / 55:48 0x5 / 47:40 0x4 / 39:32 0x3 / 31:24 0x2 / 23:16 0x1 / 15:8 0x0 / 7:0
0x000 00 00 00 00 80 63 62 61
0x008–0x070 00 00 00 00 00 00 00 00
0x078 18 00 00 00 00 00 00 00