- Public validation-search source for algorithm certificate evidence.
"Cryptographic Algorithm Validation Program"
A practical guide for selecting SHA-2, SHA-3, or SHAKE functions and keeping the evidence clean for CAVP, ACVP, and FIPS 140-3 reviews.
Use it to separate algorithm conformance from module validation, protocol requirements, procurement wording, and internal migration policy.
Structured answer sets in this page tree.
Cited legal and guidance references.
Use this page when a design, validation package, procurement clause, or customer assurance request asks which FIPS secure hash algorithm is being used and how that claim is evidenced. FIPS 180-4 covers SHA-1 and the SHA-2 family, while FIPS 202 adds SHA-3 hash functions and SHAKE extendable-output functions. The implementation decision is not complete until the team can show the algorithm, parameters, tested implementation, operational environment, consuming protocol, and module boundary behind the claim.
Treat the page title as a selection problem, not a blanket approval statement. 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.
For new designs, record the consuming use case before selecting the primitive. A hash used inside a digital signature, HMAC, KDF, pseudorandom bit generation process, firmware integrity check, certificate profile, or protocol transcript may inherit extra requirements from that higher-level standard. A FIPS-listed hash alone does not prove the surrounding product or protocol is approved.
For assurance and procurement, split the claim into two layers. The hash algorithm implementation can have CAVP or ACVP evidence, but the cryptographic module that exposes the service is validated under CMVP to FIPS 140-3. A supplier should not use an algorithm certificate by itself as proof 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.
The practical choice is usually driven by the consuming standard and the assurance story. SHA-256 and SHA-384 often appear because protocols and signature schemes already specify them. SHA-3 may be a better fit when the design needs NIST-approved hash diversity based on different design principles. SHAKE is useful only when a variable-length output is allowed and the caller fixes the output length and security target.
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.
Use the hash selection, validation, module-boundary, and change-control notes as a shared evidence checklist before publishing a FIPS claim.
Convert SHA-2, SHA-3, and SHAKE decisions into accountable evidence tasks and review checkpoints.
Resolve hash-family, CAVP, ACVP, and FIPS 140-3 boundary questions before implementation.
Review the selected hash functions, validation evidence, module boundaries, and change triggers with Sorena.
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.
Most hash mistakes are evidence mistakes: the implementation may use a NIST-standardized primitive, but the public claim overstates what was validated. Keep the wording narrow enough that it survives procurement review, FIPS 140-3 validation review, and later migration work.
"Cryptographic Algorithm Validation Program"
"tested operational environment"
"shall employ Approved security functions"
"generation and verification of digital signatures"
"the XOFs are not approved as hash functions"