Hardware-based security for high-level protection.

Crptographic hash functions

A cryptographic hash function is a mathematical algorithm that computes a fixed-length hash value for an arbitrarily long input message.

The hash value can be seen as a "fingerprint" of the message: if the message changes even slightly, then its hash value changes completely. A cryptographic hash algorithm must have three properties: it must be practically impossible to find (1) the input message, when given only the hash value, (2) another message with the same hash value, and (3) collisions, meaning any two messages that produce a common hash value.

Cryptographic hash algorithms are essential building blocks for many cryptographic protocols. In addition to their straightforward use for computing cryptographic hash values, they can be used for constructing other cryptographic primitives. For example, a hash algorithm combined with a secret key can be used for constructing Message Authentication Codes (MACs), also called as keyed hash algorithms, such as HMAC. They can be used for ensuring message authenticity in data communication. Hash algorithms are also the basis for Key Derivation Functions (KDFs) such as HKDF that can be used, for example, for computing cryptographic keys from passwords or for stretching a cryptographic key to a longer key or to several keys.

Notable cryptographic hash algorithms include the Secure Hash Algorithms (SHA) standardized by the U.S. NIST (National Institure of Standards and Technology), of which SHA-2 and SHA-3 algorithm families are considered secure and are used in numerous applications today.

SHA-2 (Secure Hash Algorithm 2)

All SHA-2 IP cores Comply with FIPS 180-4.

SHA-3 (Secure Hash Algorithm 3)

All SHA-3 IP cores comply with FIPS 202.

XIP3043H complies with NIST SP 800-15.

Message Authentication and Key Derivation Functions