SPRUJB6B November 2024 – May 2025 AM2612
The procedure in Table 7-154 continues a prior HMAC calculation interrupted from a high priority task.
| Step | Register/Bit Field/Programming Model | Value |
|---|---|---|
| Load the initial digest for the used hash algorithm. | S_IDIGEST_i[31:0] DATA | – |
| Restore the digest counter with the value before the switch to the high-priority task. | S_DIGEST_COUNT[31:0] COUNT | – |
| Use the already loaded in the engine key. | S_MODE[5] HMAC_KEY_PROC | 0x0 |
| Do not use the constants of the selected hash algorithm. | S_MODE[3] ALGO_CONSTANT | 0x0 |
| Select the SHA-1 hash algorithm. | S_HASH512_MODE[2:0] ALGORITHM | 0x010 |
| IF: This is the last 64-byte data block from the input message? | User decision | |
| Close the hash; an appropriate padding is added. | S_MODE[4] CLOSE_HASH | 0x1 |
| ENDIF | ||
| Load the block length; this is the trigger to start processing. | S_LENGTH[31:0] LENGTH | – |
This initial digest is the intermediate digest from the previous calculation before switching to the high priority task. The value is equal to context1.
The block length is equal to the context3 value.