Choose the hash from the consuming construction first. FIPS 180-4 currently specifies SHA-1 and the family; FIPS 202 specifies four hash functions and two extendable-output functions. These FIPS publications govern covered U.S. federal uses and are available for non-federal adoption, but a protocol, signature scheme, KDF, contract, or internal policy may impose the narrower choice. Record the exact function, digest or output length, protocol or construction, tested implementation, operational environment, and module boundary. A standardized hash name does not by itself prove that the implementation, product, protocol, or FIPS 140-3 service is validated.
1
Section 1
Start with the hash function family and use case
FIPS 180-4 specifies SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256. FIPS 202 specifies SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, and SHAKE256. The and suffixes identify fixed digest lengths. In SHAKE128 and SHAKE256, the suffix indicates the security strength the XOF can generally support; the caller still chooses the output length.
Record the consuming use case before selecting the primitive. A hash used inside a digital signature, HMAC, KDF, pseudorandom bit generator, firmware integrity mechanism, certificate profile, or protocol transcript inherits requirements from that higher-level standard. It may also require domain separation, a minimum output length, a specific algorithm revision, or different validation coverage. If the higher-level construction names one function, do not substitute another merely because both functions appear in a FIPS publication.
Use FIPS 180-4 when the requirement calls for or an existing SHA-1/SHA-2 interface that must be evidenced against the Secure Hash Standard.
Use FIPS 202 when the design needs family diversity, SHA3 fixed-length hashes, or output that is explicitly allowed by the consuming NIST publication or protocol.
Treat SHAKE128 and SHAKE256 as XOFs, not fixed-output hash-function drop-ins. Cite the higher-level NIST publication or protocol that permits the use and fixes the output length.
If SHA-1 remains in scope, document the operation, legacy dependency, controlling transition rule, and removal owner. NIST has decided that the future revision of FIPS 180-4 will remove SHA-1, but FIPS 180-4 remains the published standard until that revision is issued.
Keep algorithm validation separate from module validation
For assurance and procurement, split the claim into two layers. The public entry can support the tested hash implementation, while ACVP and ACVTS artifacts are supporting test records. The cryptographic module that exposes the service is validated separately by against FIPS 140-3. An algorithm certificate does not prove that the product, module boundary, operational environment, or approved mode is validated.
The evidence package should name the algorithm certificate, implementation version, tested operational environment, module certificate, approved service, and the exact product build that consumes the hash. If the algorithm implementation changes during integration, or if the operational environment differs from the tested environment, the existing algorithm evidence may not carry forward without retesting or validation review.
Record the public validation entry for the actual , , or implementation and parameter set; link any internal ACVP/ACVTS test records separately.
Record evidence separately for the FIPS 140-3 module, including certificate number, module version, tested operating environment, approved mode, and Security Policy reference.
Check whether the hash operation is provided by the module itself, a bound module, or an embedded validated module, because the boundary changes what can be claimed.
Do not write procurement language that says a product is FIPS validated when only an algorithm implementation has been tested.
The consuming standard and required security strength usually control the choice. SHA-256 and SHA-384 commonly appear because protocols and signature schemes specify them. offers a Keccak-based design that differs from , but FIPS 202 does not make it a mandatory replacement. is appropriate only when the construction permits an XOF and fixes an output length that meets its security target. If no controlling construction permits the proposed function, stop the selection and record the design gap rather than treating a standalone FIPS citation as approval.
Write the decision record so a reviewer can reproduce the reasoning without hidden context. The record should state the function name, digest or output length, input domain, consuming construction, security-strength target, validation evidence, and migration trigger.
For digital signatures, record the signature standard or certificate profile that constrains the hash choice and digest length.
For HMAC, record the selected hash function and confirm whether the consuming implementation has the required validation evidence.
For KDF or pseudorandom bit generation use, cite the higher-level NIST publication or protocol that permits the selected , , or construction.
For file, firmware, or software checks, distinguish accidental-change detection from authenticity. A bare digest can detect a mismatch only when the expected digest is itself trusted; use the required signature, MAC, or approved integrity technique when an attacker could replace both the file and digest.
A useful hash evidence pack is more than a source citation. It should connect the standard to the actual implementation, validation certificate, module boundary, service name, and change-control record. This is what prevents an auditor or customer from having to guess whether the hash claim applies to the shipped build.
For FIPS 140-3 contexts, the evidence should also show whether the service runs in approved mode and whether the module Security Policy lists the hash algorithm or integrity mechanism in the relevant service table. If the hash comes through a bound or embedded module, keep the referenced module name, certificate number, version, and used functionality explicit.
Algorithm evidence: public validation identifier, implementation name and version, tested operating environment, algorithm mode or parameter set, and any linked internal ACVP/ACVTS test records.
Hash claims often fail because the evidence covers a narrower object than the wording. Name the function, construction, implementation, environment, and module service instead of expanding an algorithm citation into a product claim.
Do not say is a mandatory replacement for . FIPS 202 says SHA-3 supplements the FIPS 180-4 hash functions and provides design diversity.
Do not call SHAKE128 or SHAKE256 a hash function in approval language. Treat them as XOFs and cite the higher-level rule that permits the intended use.
Do not use a certificate from one operating environment to support a different module environment without checking the FIPS 140-3 binding rules.
Do not hide SHA-1 behind a generic Secure Hash Standard reference; name the function and the legacy or protocol reason it remains present.
Do not imply that hashing alone provides authenticity. Pair integrity claims with the signature, MAC, approved integrity technique, or module service that actually provides the assurance.