Acronym · Safety & Security
SHA (Secure Hash Algorithm)
The NIST family of cryptographic hash functions, with SHA-2 (such as SHA-256 and SHA-384) in universal use and SHA-3 based on Keccak as a structurally different family that supplements rather than replaces SHA-2.
Hashes underpin signatures, measured boot and integrity checks.
- Also known as
- SHA-256, SHA-2, SHA-3
- Type
- Acronym
- Domain
- Safety & Security, Cryptographic hardware
Notes
SHA-1 is deprecated for signatures after practical collision attacks, though it lingers in legacy firmware formats.
Overview
SHA, the Secure Hash Algorithm family, is the set of cryptographic hash functions standardised by NIST that turn a message of any length into a short, fixed-length digest. Chips and firmware use these digests to check that code, keys and data have not been altered, and as the input to digital signatures and key derivation. The family has three generations in practice: the retired SHA-1, the SHA-2 family, and SHA-3, which is built on a different internal design.
How it works
A hash function processes its input in fixed-size blocks and mixes each block into an internal state through many rounds of simple operations such as additions, rotations and logic functions. SHA-1 and SHA-2 compress the message block by block into a chaining value: SHA-256 works on 32-bit words and 512-bit blocks, while SHA-512 uses 64-bit words and 1024-bit blocks. SHA-224, SHA-384 and the SHA-512/t variants are truncated versions. SHA-3, based on the Keccak algorithm chosen through a public NIST competition, instead absorbs data into a 1600-bit state and squeezes output from it, and adds two extendable-output functions, SHAKE128 and SHAKE256, that can produce output of any length.
A good hash makes it impractical to find two inputs with the same digest (collision resistance) or to find an input matching a given digest (preimage resistance). NIST rates SHA-256, for example, at 128 bits of collision strength. SHA-1 fell short of this: NIST deprecated it in 2011, disallowed it for digital signatures after 2013, and in 2022 announced a plan to move away from its remaining uses.
In silicon, SHA appears as a dedicated hash engine in a crypto accelerator or security subsystem, or as processor instructions. Designers trade area against throughput by choosing how many rounds to compute per clock cycle.
Examples
- A boot ROM that computes the SHA-256 digest of the first-stage bootloader and checks it against a signed value before running it.
- U-Boot verified boot, where each image in a FIT file carries a sha256 hash and the configuration is signed with RSA or ECDSA.
- Intel SHA Extensions, seven processor instructions that speed up SHA-1 and SHA-256 hashing in software.
- SHAKE256 used as a flexible-length hash inside some newer cryptographic schemes that call for extendable output.
Why it matters
Almost every security feature in a modern chip depends on a hash: secure boot checks a signed digest of each firmware image, attestation reports digests of what was loaded, and key derivation and random number generators use hash-based constructions. Security architects, crypto engine designers, firmware and certification engineers need to know which variants are approved, how fast the engine must be and how it will be validated.
Related terms
Part of the Safety & Security glossary, with every term in the topic and the lifecycles, tools and standards that use them.
Where it appears on the Hub
Used on 5 pages of the Hub. In each group, the pages that mention it most come first.
Suggest an improvement
Suggest an improvement to this entry
A clearer definition, an example, a correction or a source an editor can check. Editors review every suggestion before the entry changes.
Last reviewed . Written by The Semiconductor Hub editorial team. The full glossary