Keep SHA-2 when the protocol, certificate profile, signature scheme, validated module, or customer requirement names a SHA-2 function. Use SHA-3 when the surrounding design permits the corresponding FIPS 202 hash, or when an approved use needs variable-length output. The families use different internal constructions, but SHA3-256 does not automatically provide more than SHA-256. Record the exact function, output length, purpose, implementation, evidence, and FIPS 140-3 module boundary.
Side-by-side comparison
FIPS 180-4 SHA-2 vs FIPS 202 SHA-3: what changes operationally?
This comparison helps decide whether the work is algorithm selection, validation evidence, protocol compatibility, procurement wording, or FIPS 140-3 module assurance.
FIPS 180-4 applies to federal applications that select one of its secure hash algorithms, including systems operated for agencies under contract. Private and commercial organizations may also adopt it.
FIPS 202 applies to federal applications that select SHA-3, while uses must also follow the NIST publication that approves the particular XOF use. Private and commercial organizations may adopt these functions.
Use SHA-2 where protocol profiles, certificate ecosystems, or firmware require it; switch to SHA-3 only when the standard or design explicitly allows FIPS 202.
FIPS 202 can satisfy a secure-hash requirement with SHA-3 when that fixed-output function is appropriate. is an XOF, not an approved hash function, and its approved uses are specified separately by NIST.
Confirm the exact operation and approved use. SHA-2 and SHA-3 fixed-output hashes can both satisfy secure-hash requirements, but needs use-specific approval and all substitutions remain subject to interoperability constraints.
Point to the validation record for the specific function and implementation; SHA-2 and SHA-3 records are separate and cannot be reused across families.
Do not switch to SHA-3 just to modernize a label if the surrounding protocol, certificate profile, module certificate, or customer requirement does not support it.
Keep the existing algorithm if it is approved, validated, and supported by the current protocol profile; do not modernize labels without functional justification.
A SHA-2 validation confirms that the specific SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, or SHA-512/256 implementation produces correct outputs for the tested function. For a FIPS 140-3 module claim, the implementation must be inside the defined cryptographic boundary, the algorithm implementation must be listed as an approved security function on the module certificate, and the Security Policy must document the relevant approved service.
A SHA-3 or validation covers the specific SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, or SHAKE256 implementation tested. For use in a FIPS 140-3 module's approved mode, each implemented SHA-3 or SHAKE function must be CAVP tested and validated on all of the module's operating environments; outside standards that explicitly permit another use, SHAKE128 and SHAKE256 may only be used as standalone algorithms.
Check that the validation covers the specific function, capabilities, and operational environment being claimed; SHA-2 and SHA-3 validation entries are not interchangeable.
SHA-2 and SHA-3 are both NIST-approved secure-hash algorithm families and both are subject to validation requirements when used as approved hash algorithms in federal cryptographic modules.
Algorithm implementations for SHA-2 and SHA-3 are tested and validated under , but algorithm validation does not, by itself, constitute FIPS 140-3 module validation. Procurement evidence for either family should distinguish algorithm validation records from module validation certificates.
Check the current NIST status for the exact hash operation, and keep the algorithm-validation record separate from any CMVP module claim for both families.
For SHA-2, ask for the exact function, implementation version, validation entry, operating environment, and any FIPS 140-3 module boundary that uses it.
Ask for the exact function, implementation version, validation entry, and operational environment for either family; output length is an additional required field when SHAKE is used.
FIPS 180-4 applies to federal applications that select one of its secure hash algorithms, including systems operated for agencies under contract. Private and commercial organizations may also adopt it.
FIPS 202 applies to federal applications that select SHA-3, while uses must also follow the NIST publication that approves the particular XOF use. Private and commercial organizations may adopt these functions.
Use SHA-2 where protocol profiles, certificate ecosystems, or firmware require it; switch to SHA-3 only when the standard or design explicitly allows FIPS 202.
FIPS 202 can satisfy a secure-hash requirement with SHA-3 when that fixed-output function is appropriate. is an XOF, not an approved hash function, and its approved uses are specified separately by NIST.
Confirm the exact operation and approved use. SHA-2 and SHA-3 fixed-output hashes can both satisfy secure-hash requirements, but needs use-specific approval and all substitutions remain subject to interoperability constraints.
Point to the validation record for the specific function and implementation; SHA-2 and SHA-3 records are separate and cannot be reused across families.
Do not switch to SHA-3 just to modernize a label if the surrounding protocol, certificate profile, module certificate, or customer requirement does not support it.
Keep the existing algorithm if it is approved, validated, and supported by the current protocol profile; do not modernize labels without functional justification.
A SHA-2 validation confirms that the specific SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, or SHA-512/256 implementation produces correct outputs for the tested function. For a FIPS 140-3 module claim, the implementation must be inside the defined cryptographic boundary, the algorithm implementation must be listed as an approved security function on the module certificate, and the Security Policy must document the relevant approved service.
A SHA-3 or validation covers the specific SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, or SHAKE256 implementation tested. For use in a FIPS 140-3 module's approved mode, each implemented SHA-3 or SHAKE function must be CAVP tested and validated on all of the module's operating environments; outside standards that explicitly permit another use, SHAKE128 and SHAKE256 may only be used as standalone algorithms.
Check that the validation covers the specific function, capabilities, and operational environment being claimed; SHA-2 and SHA-3 validation entries are not interchangeable.
SHA-2 and SHA-3 are both NIST-approved secure-hash algorithm families and both are subject to validation requirements when used as approved hash algorithms in federal cryptographic modules.
Algorithm implementations for SHA-2 and SHA-3 are tested and validated under , but algorithm validation does not, by itself, constitute FIPS 140-3 module validation. Procurement evidence for either family should distinguish algorithm validation records from module validation certificates.
Check the current NIST status for the exact hash operation, and keep the algorithm-validation record separate from any CMVP module claim for both families.
For SHA-2, ask for the exact function, implementation version, validation entry, operating environment, and any FIPS 140-3 module boundary that uses it.
Ask for the exact function, implementation version, validation entry, and operational environment for either family; output length is an additional required field when SHAKE is used.
Use FIPS 180-4 SHA-2 when the protocol, certificate ecosystem, signature scheme, or procurement specification already relies on SHA-2 and the current NIST approval status is confirmed.
Use FIPS 202 SHA-3 or when the design, protocol, or NIST guidance explicitly requires a SHA-3 or extendable-output function and the implementation has a matching validation entry.
Do not migrate from SHA-2 to SHA-3 solely to modernize a label if the surrounding protocol, certificate, or module dependencies do not support the change.
Review the hash function choice after applicable NIST transition guidance, module revalidation cycles, or protocol updates change the permitted use or evidence required for either family.
1
Section 1
Use SHA-2 vs SHA-3 as a scope and evidence decision
Start by naming the exact function: SHA-256 is not the same claim as SHA-512/256, SHA3-256, or SHAKE256 with a chosen output length. The hash family, output length, implementation version, operational environment, and consuming protocol all affect the evidence a reviewer can rely on.
FIPS 180-4 says either FIPS 180-4 or FIPS 202 must be implemented wherever a secure hash algorithm is required for Federal applications. That does not require every SHA-2 deployment to move to SHA-3. The selected function must be approved for its particular use and fit the surrounding standard, protocol, validation, and assurance claim.
SHA-2 uses the iterative structure specified in FIPS 180-4, while SHA-3 uses KECCAK's sponge construction. Corresponding fixed-output pairs have the same generic collision strengths in FIPS 202: 112 bits for 224-bit digests, 128 for 256-bit digests, 192 for 384-bit digests, and 256 for 512-bit digests. SHA-3 also has resistance to length-extension attacks expected from a random function of the same output length, but that property alone does not make it a protocol-compatible substitute.
Use SHA-2 when the controlling protocol, certificate profile, signature scheme, KDF, or customer requirement names a FIPS 180-4 function.
Use SHA-3 when the controlling design, standard, or assurance case permits the fixed-output FIPS 202 hash. Use only for a purpose approved by the applicable NIST publication and record its output length.
Avoid rewriting a working SHA-2 design solely because SHA-3 exists; first check interoperability, validation coverage, and the actual relying standard.
Record the exact algorithm name and output length in procurement and evidence files so a reviewer does not infer unsupported coverage.
Do not confuse algorithm approval with module validation
A FIPS 180-4 or FIPS 202 citation supports the algorithm family and function definition. It does not by itself prove that a product, library, cloud service, HSM, firmware image, or software module is validated for a buyer's configuration.
For implementation evidence, look for the public validation entry and treat any ACVP/ACVTS session material as supporting test records. Where a product makes a FIPS 140-3 claim, check the CMVP module certificate and Security Policy separately. The useful evidence links the exact implementation and operational environment to the hash function being claimed.
Ask vendors for the algorithm certificate or validation entry for the specific hash implementation, not only a standards citation.
Ask whether the hash function is inside the validated cryptographic module boundary and approved mode when the claim depends on FIPS 140-3.
Treat a module certificate, algorithm validation, protocol conformance statement, and procurement answer as separate evidence items.
Recheck evidence after library, firmware, operating environment, module boundary, or service configuration changes.
SHA-3 supplements SHA-2; it is not a universal drop-in replacement for every deployed use. FIPS 202 says SHA-3 hash functions can be alternatives to SHA-2 functions, but the surrounding protocol or certificate profile still decides whether that alternative is allowed.
For many deployed systems, SHA-256 or SHA-384 remains the practical answer because TLS profiles, signature formats, certificate ecosystems, firmware update tooling, or customer controls already specify those functions. Adopt SHA-3 when a specific architecture or standard supports it and the product boundary has a validated implementation.
For SHAKE128 with d output bits, collision strength is min(d/2, 128) and preimage strength is at least min(d, 128); SHAKE256 uses a 256-bit ceiling. Longer output is an extension of shorter output for the same message, so protocols must bind the chosen output length and purpose rather than treating length as an incidental formatting choice.
Check whether the consuming protocol permits the target SHA-3 or function before changing code.
Check whether vendors can provide current validation evidence for the exact implementation and operational environment.
Keep decisions explicit because SHAKE128 and SHAKE256 are extendable-output functions, not fixed-length SHA3-128 or SHA3-256 aliases.
Document why SHA-2 remains acceptable when interoperability, validation, or customer requirements still depend on it.
Procurement language should require the evidence behind a SHA-2 or SHA-3 claim. A useful answer names the hash function, implementation, version, operating environment, validation reference, module boundary, approved-mode status, and any protocol that constrains the choice.
Be especially careful with broad statements such as "FIPS compliant hashing" or "SHA-3 ready." Those phrases are not enough for audit or customer assurance unless they are tied to a cited standard and implementation-specific validation evidence.
Which exact hash functions are used: SHA-256, SHA-384, SHA-512/256, SHA3-256, SHA3-384, SHAKE128, or SHAKE256?
Is the algorithm implementation validated, and what certificate or validation entry identifies it?
Is the hash used inside a FIPS 140-3 validated module boundary, and is the claimed service available in approved mode?
Which protocol, certificate profile, signature scheme, KDF, MAC, or internal design decision requires this hash choice?
What changes would require updated evidence: library version, firmware, operating environment, module boundary, protocol profile, or output length?
Use this checklist when a design review, customer answer, supplier review, or audit file depends on SHA-2 vs SHA-3. The resulting record should let a later reviewer identify the cryptographic boundary without reconstructing it from memory.
Name the exact FIPS source: FIPS 180-4 for SHA-2 functions, FIPS 202 for SHA-3 and functions.
Name the exact function and output length used by each product, protocol, certificate profile, or service.
Attach the public validation entry for the tested implementation when making an implementation-conformance claim; retain ACVP/ACVTS session records as internal supporting evidence rather than a substitute certificate.
Attach CMVP module evidence when the public claim depends on a FIPS 140-3 validated module or approved mode.
Record when SHA-2 is retained because the surrounding protocol, certificate ecosystem, customer requirement, or validation path controls the choice.
Record when SHA-3 or is adopted because the surrounding standard, design, or validation path actually supports it.
Requires each implemented SHA-3 and SHAKE function to be validated on all module operating environments and limits SHAKE use outside explicitly identified standards.