![Texas Instruments SimpleLink Ethernet MSP432E401Y Technical Reference Manual Download Page 1590](http://html1.mh-extra.com/html/texas-instruments/simplelink-ethernet-msp432e401y/simplelink-ethernet-msp432e401y_technical-reference-manual_10955781590.webp)
SHA/MD5 Functional Description
1590
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
SHA/MD5 Accelerator
The module detects that a 64-byte block is available, and then moves the data to a working register space
for processing and asserts the INPUT_READY bit in the SHA_IRQSTATUS register to 1. If the DMA_EN
bit in the SHA_SYSCONFIG register has been set to 1, a new µDMA request triggers a new block
transfer; otherwise, the processor polls the INPUT_READY bit and writes the 16 data words of 32 bits
when it equals 1.
This operation is repeated until the length of the message to hash is reached. The OUPUT_READY bit in
the SHA_IRQSTATUS register then indicates that the hash operation is complete. If the IT_EN bit in the
SHA_SYSCONFIG register is set, an interrupt (active low) is also generated to indicate the hash
completion.
The processor can then read the eight digest registers A through H that contain the hash and/or HMAC
result. If the hash is an intermediate result of a larger hash, the digest count register must also be read
and saved.
NOTE:
The number of digest registers used depends on the algorithm selected for the SHA/MD5
Module (MD5, SHA-1, SHA-224, or SHA-256) (see
and
Table 25-3. Outer Digest Registers
Register
Address
MD5 (Read/Write)
SHA-1
(Read/Write)
SHA-2
(Read/Write)
HMAC Key
Processing
(write)
SHA_ODIGEST_A
0x000
Outer digest
[127:96]
Outer digest
[159:128]
Outer digest
[255:224]
HMAC Key [31:0]
SHA_ODIGEST_B
0x004
Outer digest
[95:64]
Outer digest
[127:96]
Outer digest
[223:192]
HMAC key [63:32]
SHA_ODIGEST_C
0x008
Outer digest
[63:32]
Outer digest
[95:64]
Outer digest
[191:160]
HMAC key [95:64]
SHA_ODIGEST_D
0x00C
Outer digest [31:0]
Outer digest
[63:32]
Outer digest
[159:128]
HMAC key
[127:96]
SHA_ODIGEST_E
0x010
Outer digest [31:0]
Outer digest
[127:96]
HMAC key
[159:128]
SHA_ODIGEST_F
0x014
Outer digest
[95:64]
HMAC key
[191:160]
SHA_ODIGEST_G
0x018
Outer digest
[63:32]
HMAC key
[223:192]
SHA_ODIGEST_H
0x01C
Outer digest [31:0]
HMAC key
[255:224]
Table 25-4. Inner Digest Registers
Register
Address
MD5
(Read/Write)
SHA-1
(Read/Write)
SHA-2
(Read/Write)
SHA-256
(Read/Write)
HMAC Key
Processing
(write)
SHA_IDIGEST_A
0x020
Inner digest
[127:96]
Inner digest
[159:128]
Inner digest
[223:192]
Inner digest
[255:224]
HMAC key
[287:256]
SHA_IDIGEST_B
0x024
Inner digest
[95:64]
Inner digest
[127:96]
Inner digest
[191:160]
Inner digest
[223:192]
HMAC key
[319:288]
SHA_IDIGEST_C
0x028
Inner digest
[63:32]
Inner digest
[95:64]
Inner digest
[159:128]
Inner digest
[191:160]
HMAC key
[351:320]
SHA_IDIGEST_D
0x02C
Inner digest
[31:0]
Inner digest
[63:32]
Inner digest
[127:96]
Inner digest
[159:128]
HMAC key
[383:352]
SHA_IDIGEST_E
0x030
Inner
digest[31:0]
Inner digest
[95:64]
Inner digest
[127:96]
HMAC key
[415:384]
SHA_IDIGEST_F
0x034
Inner digest
[63:32]
Inner digest
[95:64]
HMAC key
[447:416]
SHA_IDIGEST_G
0x038
Inner digest
[31:0]
Inner digest
[63:32]
HMAC key
[479:448]