The SHA/MD5 module provides hardware-accelerated hash functions and can run:
- MD5 message digest algorithm developed by Ron Rivest in 1991
- SHA-1 algorithm compliant with the FIPS 180-3 standard
- SHA-2 (SHA-224 and SHA-256) algorithm compliant with the FIPS 180-3 standard
- Hash message authentication code (HMAC) operation
The algorithms produce a condensed representation of a message or a data file, called digest or signature, which can then be used to verify the message integrity.
- Hashing of 0 to 233 – 2 bytes of data (of which 232 – 1 bytes are in one pass) using the MD5, SHA-1, SHA-224, or SHA-256 hash algorithm (byte granularity only, no support for bit granularity)
- Automatic HMAC key preprocessing for HMAC keys up to 64 bytes
- Host-assisted HMAC key preprocessing for HMAC keys larger than 64 bytes
- HMAC from precomputes (inner and outer digest) for improved performance on small blocks
- Supports µDMA operation for data and context in as well as result out transfers
- Supports interrupt to read the digest (signature)