A practical way to choose approved cryptographic algorithms by service type, standard, parameter set, module boundary, and validation evidence.
Use it to structure engineering and assurance review. Do not treat algorithm approval as proof that a module, product, protocol, or deployment is FIPS 140-3 validated.
Choose the cryptographic service first, then the governing FIPS or NIST publication, algorithm or scheme, mode, parameter set, and supporting functions. The cited FIPS publications control covered U.S. federal systems and are available for private and commercial adoption; a protocol profile, agency rule, contract, or application standard may narrow the allowed choice. After selection, verify the implementation through the Cryptographic Algorithm Validation Program (). When the claim concerns a validated cryptographic module, also verify the separate Cryptographic Module Validation Program () certificate, public Security Policy, operational environment, module boundary, and approved-service indicator. An approved algorithm standard does not validate a product, protocol, deployment, or module.
1
Section 1
Start with the cryptographic service, not the algorithm name
The system or product owner names the service the module or product will provide: encryption, hashing, digital signature, key establishment, key derivation, message authentication, random bit generation, or a protocol component. The cryptographic engineer records the exact algorithm, mode, parameter set, and dependencies. The assurance reviewer matches that design to and evidence. The service determines which FIPS or NIST publication applies and what evidence can support the resulting claim.
Keep the claim narrow. AES in FIPS 197 specifies a block cipher with AES-128, AES-192, and AES-256, but the standard also says AES is used with a FIPS-approved or NIST-recommended mode of operation. A hash decision should point to FIPS 180-4 or FIPS 202. Signature decisions should distinguish FIPS 186-5, FIPS 204 ML-DSA, FIPS 205 SLH-DSA, and any application-level assurance requirements. Key-encapsulation decisions should identify the FIPS 203 ML-KEM parameter set.
Write one selector row per service, not one row per library or vendor package.
Record the source standard, algorithm family, mode or variant, parameter set, and intended security service.
Flag anything that is only a component or subroutine, such as K-PKE inside ML-KEM or WOTS+, XMSS, FORS, and hypertree components inside SLH-DSA.
Keep algorithm and module claims separate. A record supports the listed algorithm implementation and operational environment. A module-level claim also needs the applicable certificate, Security Policy, module boundary, tested environment, approved services, and usage conditions.
Supports ML-KEM service scope and approved parameter-set selection.
ML-KEM-512, ML-KEM-768, and ML-KEM-1024
2
Section 2
Selection checklist for common FIPS algorithm choices
This checklist is the first pass before library or vendor selection. It is intentionally limited to claims supported by the standards; implementation status and validated use still need separate evidence.
Symmetric encryption: FIPS 197 plus the applicable mode recommendation. Record: AES-128, AES-192, or AES-256, mode, IV or nonce handling, key management path. Evidence: algorithm certificate, module Security Policy, mode documentation.
Hashing or digest support: FIPS 180-4 or FIPS 202. Record: SHA-2 or SHA-3/SHAKE function, digest length, whether it is standalone or used inside another algorithm. Evidence: certificate or module evidence for the function actually used.
Classical signatures: FIPS 186-5. Record: RSA, ECDSA, or EdDSA use, key size or curve, hash function, key-generation assurance. Evidence: Signature algorithm validation and public/private key assurance evidence.
Post-quantum KEM: FIPS 203. Record: ML-KEM-512, ML-KEM-768, or ML-KEM-1024, input checking, key handling, encapsulation or decapsulation use. Evidence: Parameter-set decision, implementation validation status, module boundary.
Post-quantum signatures: FIPS 204 or FIPS 205. Record: ML-DSA or SLH-DSA, parameter set, pure or pre-hash variant where relevant. Evidence: Signature validation evidence and approved hash or XOF evidence when pre-hashing is used.
Message authentication: FIPS 198-1 or the applicable NIST mode recommendation. Record: HMAC or an approved block-cipher-based MAC, underlying hash or cipher, tag length, key handling. Evidence: entry for the exact MAC and parameters plus module evidence when a module claim is made.
Key derivation or protocol KDF: Applicable NIST recommendation or protocol-KDF reference recognized by guidance. Record: KDF family, inputs, output length, protocol context, and whether use is component-limited. Evidence: or Component Validation List (CVL) entry, usage restriction, Security Policy mapping, and protocol context.
Random bit generation: SP 800-90A and applicable entropy-source requirements. Record: Deterministic random bit generator (DRBG) construction, security strength, entropy source, personalization or nonce handling, reseed behavior. Evidence: DRBG validation entry plus module entropy and Security Policy evidence.
Treat the selector as a control input, not a certificate substitute.
When the standard says NIST will develop or provides validation-program information, check the live and records before making an implementation claim.
For pre-hash signature variants, record the approved hash function or XOF used to create the digest.
For PQC choices, record why the selected parameter set fits the application rather than copying the strongest available option into every service.
Provides the approved-mode conditions and usage limits for algorithm components, protocol KDFs, SP 800-108 KDFs, random bit generation, MACs, and sensitive security parameter establishment within a FIPS 140-3 module.
3
Section 3
Evidence checks before calling a service approved
After a candidate algorithm is selected, verify whether the implementation evidence matches the exact service. FIPS 140-3 Implementation Guidance states that addresses testing of approved security functions and approved sensitive security parameter generation and establishment methods referenced by the SP 800-140 series.
A algorithm certificate is not a FIPS 140-3 module certificate. The guidance says an algorithm certificate identifies the validated algorithm implementation and tested operational environment. When that certificate is bound into a module undergoing FIPS 140-3 testing, the CAVP-tested environment must be identical to, or fully included in, the module's test environment under the guidance's stated rules. Do not apply that binding rule as a blanket claim that every unlisted product environment is validated.
Match the certificate to the algorithm implementation name, version, processor or accelerator path, and operational environment.
Match the module claim to the cryptographic boundary, service list, approved and non-approved service separation, and Security Policy.
For approved-mode claims, verify the service indicator and the rule that non-approved security functions are not used in .
For protocol claims, check the component list instead of assuming a protocol version makes each KDF, MAC, cipher, or signature use approved.
Public source to look up a validation number, vendor, implementation, product type, included algorithms, and validation date before relying on supplier evidence.
Primary FIPS 140-3 source for module-level security requirements; use with CMVP guidance for approved-mode evidence.
Security Requirements for Cryptographic Modules
Recommended next step
Build a FIPS algorithm selection record
Use the selector output to assign evidence owners, identify validation gaps, and keep algorithm claims aligned with module boundaries and certificates.
Gate 1: Is the service in scope? Name the exact cryptographic service and reject selector rows that only name a broad product feature such as secure storage or secure transport.
Gate 2: Is the source family correct? Choose the FIPS or NIST source that covers the service: AES, secure hash, digital signature, key encapsulation, KDF, MAC, random bit generation, or protocol component.
Gate 3: Are the mode, parameter set, and supporting functions specified? Record AES mode, hash or XOF, signature parameter set, KEM parameter set, approved RBG dependency, and pre-hash details where relevant.
Gate 4: Does evidence match the implementation? Compare records, certificate and Security Policy text, service indicators, operational environment, hardware acceleration path, and module boundary.
Gate 5: What claim is allowed? Choose one bounded outcome: rejected because the service or governing source is unclear; selected at design level but missing implementation evidence; matched to a named -tested implementation; or matched to a named -validated module whose approved service is used under its Security Policy conditions. Record the owner, covered boundary, allowed wording, open evidence, and changes that reopen the decision.
Stop the workflow when the use case cannot be tied to a specific service and source standard.
Do not approve a selector row that lacks parameter-set detail for ML-KEM, ML-DSA, or SLH-DSA.
Do not carry a vendor certificate into a different module, platform, accelerator path, or operating environment without matching evidence.
Do not use the selector to make export, procurement acceptance, or customer compliance guarantees; it only documents the algorithm and evidence decision.
Supports approved-mode separation and service indicator review.
Non-approved security functions shall not be used in the approved mode of operation
5
Section 5
Selector record template
Copy these fields into the design review or assurance record for each cryptographic service. Leave a field blank only if the reviewer has explicitly marked it not applicable and explained why.
Use a gap statement when validation evidence is not available instead of weakening the wording to imply approval.
Record negative decisions, especially non-approved algorithms kept only for interoperability or no-security-claimed use.
Tie every external claim to a source URL and an evidence artifact rather than to the selector workflow itself.
Review the selector record before release, customer questionnaires, audits, procurements, and module-validation submissions, and reopen it after an algorithm, mode, parameter set, library, compiler, processor path, operational environment, protocol, module boundary, Security Policy, or certificate-status change.
Public source for confirming the validation number, implementation, vendor, algorithm coverage, product type, and validation date recorded in selector evidence.
Program guidance for algorithm certificates, operational-environment matching, approved security service indicators, and approved-mode separation.
Provides the approved-mode conditions and usage limits for algorithm components, protocol KDFs, SP 800-108 KDFs, random bit generation, MACs, and sensitive security parameter establishment within a FIPS 140-3 module.
Supports the distinction between CAVP algorithm testing, operational environments, approved-mode indicators, and FIPS 140-3 module evidence.
Show 2 more
Supports approved-mode separation and service indicator review.
Supports boundary, operational-environment, approved-service, and non-approved-service evidence checks.
"Cryptographic algorithm implementations are tested and validated under the Cryptographic Algorithm Validation Program (CAVP)."
More quoted passages
"Non-approved security functions shall not be used in the approved mode of operation"
"algorithm validation certificate states the name and version number"
Public source for checking validation numbers, vendors, implementations, product types, algorithm coverage, and validation dates before making an implementation claim.
Public source to look up a validation number, vendor, implementation, product type, included algorithms, and validation date before relying on supplier evidence.
Public source for confirming the validation number, implementation, vendor, algorithm coverage, product type, and validation date recorded in selector evidence.
Official explanation of CAVP scope, validation-list fields, ACVTS production testing, supported algorithm categories, and the boundary between algorithm and module validation.
Explains CAVP validation scope, public-listing fields, ACVTS Production testing, and the boundary between algorithm and module validation.
"validation testing of Approved (i.e., FIPS-approved and NIST-recommended) cryptographic algorithms"