| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Software |
| Embodiment | Multi-Chip Stand Alone |
| Status | Active |
| Sunset date | 9/30/2029 |
| Caveat | When operated in approved mode. No assurance of the minimum strength of generated SSPs (e.g., keys) |
| Vendor | Amazon Web Services Inc. |
flowchart LR
%% Deterministic review-risk graph for AWS-LC Cryptographic Module (static)
%% Review prompts and evidence gaps, NOT vulnerability findings.
subgraph CMVP["CMVP-disclosed clues"]
C2["[low] Firmware update / recovery<br/>/ rollback (referenced in<br/>text)<br/><i>Recovery<br/>upgrade</i>"]
C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>UnAuth<br/>Status Output</i>"]
C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>SSH<br/>HTTPS</i>"]
C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<br/>application</i>"]
end
subgraph Inference["Derived inference"]
I2["Possible only, trusted<br/>code is reachable through<br/>update and recovery paths."]
I3["Possible only, some<br/>services may process input<br/>before, or without,<br/>operator authentication."]
I5["Possible only, a protocol<br/>is referenced, but whether<br/>it is a live channel or<br/>only a KDF/algorithm name<br/>is unconfirmed."]
I6["Possible only, a<br/>runtime/OS is referenced,<br/>but its membership in the<br/>cryptographic boundary is<br/>not established."]
end
subgraph Risk["Reviewer question"]
R2["Are update images<br/>authenticated before<br/>parsing, and are<br/>downgrade/rollback paths<br/>constrained?"]
R3["Can unauthenticated<br/>services leak state,<br/>consume resources, or<br/>transition security state?"]
R5["If a live TLS/SSH/IKE<br/>channel exists, could<br/>library CVEs apply, or is<br/>this only a<br/>KDF/documentation name?"]
R6["If the OS/runtime is<br/>in-boundary, could its<br/>CVEs be hidden by<br/>firmware-only versioning?"]
end
subgraph Evidence["Evidence needed to close"]
E2["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>update image format ·<br/>signature-before-parse<br/>proof · anti-rollback /<br/>downgrade policy"]
E3["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>pre-auth reachability<br/>matrix · rate limits and<br/>output redaction ·<br/>abuse-case tests"]
E5["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>library identity and<br/>version ·<br/>certificate-validation<br/>behaviour · protocol-CVE<br/>disposition"]
E6["confirm the disclosure<br/>itself (keyword hit,<br/>context unverified) ·<br/>runtime identity and<br/>config · kernel/runtime<br/>hardening profile ·<br/>patch/backport manifest"]
end
C2 --> I2 --> R2 --> E2
C3 --> I3 --> R3 --> E3
C5 --> I5 --> R5 --> E5
C6 --> I6 --> R6 --> E6
classDef clue fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef infer fill:#fff7e6,stroke:#b98500,color:#6b4e00;
classDef risk fill:#fbe9e9,stroke:#b02a2a,color:#7a1f1f;
classDef evidence fill:#e6f4ea,stroke:#1e7d34,color:#14532d;
class C2,C3,C5,C6 clue;
class I2,I3,I5,I6 infer;
class R2,R3,R5,R6 risk;
class E2,E3,E5,E6 evidence;flowchart LR
%% Deterministic clue tier for AWS-LC Cryptographic Module (static)
%% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
subgraph CMVP["CMVP-disclosed clues (deterministic)"]
C2["[low] Firmware update / recovery / rollback (referenced in text)<br/><i>Recovery<br/>upgrade</i><br/>src: text:keyword"]
C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>UnAuth<br/>Status Output</i><br/>src: text:keyword"]
C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>SSH<br/>HTTPS</i><br/>src: text:keyword"]
C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<br/>application</i><br/>src: text:keyword"]
end
classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
class C2,C3,C5,C6 clueLow;Amazon Web Services Inc. AWS-LC Cryptographic Module (static) Prepared by: atsec information security corporation
4516 Seton Center Pkwy, Suite 250
Austin, TX 78759 www.atsec.com
| # | Section | Page |
|---|
| Item | Page |
|---|---|
| Table 1: Security Levels | 5 |
| Table 2: Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets) | 7 |
| Table 3: Tested Operational Environments - Software, Firmware, Hybrid | 8 |
| Table 4: Modes List and Description | 8 |
| Table 5: Approved Algorithms | 23 |
| Table 6: Vendor-Affirmed Algorithms | 24 |
| Table 7: Non-Approved, Allowed Algorithms with No Security Claimed | 24 |
| Table 8: Non-Approved, Not Allowed Algorithms | 25 |
| Table 9: Security Function Implementations | 32 |
| Table 10: Ports and Interfaces | 36 |
| Table 11: Roles | 37 |
| Table 12: Approved Services | 42 |
| Table 13: Non-Approved Services | 43 |
| Table 14: EFP/EFT Information | 46 |
| Table 15: Hardness Testing Temperatures | 46 |
| Table 16: Storage Areas | 48 |
| Table 17: SSP Input-Output Methods | 48 |
| Table 18: SSP Zeroization Methods | 48 |
| Table 19: SSP Table 1 | 51 |
| Table 20: SSP Table 2 | 52 |
| Table 21: Pre-Operational Self-Tests | 54 |
| Table 22: Conditional Self-Tests | 55 |
| Table 23: Pre-Operational Periodic Information | 56 |
| Table 24: Conditional Periodic Information | 56 |
| Table 25: Error States | 57 |
| Figure 1: Block Diagram | 6 |
| Section | Title | Security Level |
|---|---|---|
| 1 | General | 1 |
| 2 | Cryptographic module specification | 1 |
| 3 | Cryptographic module interfaces | 1 |
| 4 | Roles, services, and authentication | 1 |
| 5 | Software/Firmware security | 1 |
| 6 | Operational environment | 1 |
| 7 | Physical security | N/A |
| 8 | Non-invasive security | N/A |
| 9 | Sensitive security parameter management | 1 |
| 10 | Self-tests | 1 |
| 11 | Life-cycle assurance | 1 |
| 12 | Mitigation of other attacks | 1 |
| Overall Level | 1 |
This document is the non-proprietary FIPS 140-3 Security Policy for version AWS-LC FIPS
2.0.0 of the AWS-LC Cryptographic Module (static). It contains the security rules under which
the module must operate and describes how this module meets the requirements as specified in FIPS PUB 140-3 (Federal Information Processing Standards Publication 140-3) for
This Security Policy describes the features and design of the module named AWS-LC Cryptographic Module (static) using the terminology contained in the FIPS 140-3 specification. The FIPS 140-3 Security Requirements for Cryptographic Module specifies the security requirements that will be satisfied by a cryptographic module utilized within a security system protecting sensitive but unclassified information. The NIST/CCCS Cryptographic Module Validation Program (CMVP) validates cryptographic module to FIPS 140-3. Validated products are accepted by the Federal agencies of both the USA and Canada for the protection of sensitive or designated information. intact and including this notice. Other documentation is proprietary to their authors. In preparing the Security Policy document, the laboratory formatted the vendor-supplied documentation for consolidation without altering the technical statements therein contained. The further refining of the Security Policy document was conducted iteratively throughout the conformance testing, wherein the Security Policy was submitted to the vendor, who would then edit, modify, and add technical contents. The vendor would also supply additional documentation, which the laboratory formatted into the existing Security Policy, and resubmitted to the vendor for their final editing.
Purpose and Use: The AWS-LC Cryptographic Module (static) (hereafter referred to as “the module”) provides cryptographic services to applications running in the user space of the underlying operating system through a C language Application Program Interface (API). Module Type: Software Module Embodiment: MultiChipStand Module Characteristics: Cryptographic Boundary: The block diagram in Figure 1 shows the cryptographic boundary of the module, its interfaces with the operational environment and the flow of information between the module and operator (depicted through the arrows). The cryptographic boundary is defined as the AWS-LC Cryptographic Module (static) which is a cryptographic library consisting of the bcm.o file (version AWS-LC FIPS 2.0.0). This file is statically linked to the userspace application during the compilation process. Tested Operational Environment’s Physical Perimeter (TOEPP): The TOEPP is the general-purpose computer on which the module is installed. Figure 1: Block Diagram
| Package or File Name | Software/ Firmware Version | Features | Integrity Test |
|---|---|---|---|
| bcm.o on Amazon Linux 2 with Intel ®Xeon ® Platinum 8275CL | AWS-LC FIPS 2.0.0 | N/A | HMAC-SHA2-256 |
| bcm.o on Amazon Linux 2023 with Intel ®Xeon ® Platinum 8275CL | AWS-LC FIPS 2.0.0 | N/A | HMAC-SHA2-256 |
| bcm.o on Ubuntu 22.04 with Intel ®Xeon ® Platinum 8275CL | AWS-LC FIPS 2.0.0 | N/A | HMAC-SHA2-256 |
| bcm.o on Amazon Linux 2 with Gravition3 | AWS-LC FIPS 2.0.0 | N/A | HMAC-SHA2-256 |
| bcm.o on Amazon Linux 2023 with Gravition3 | AWS-LC FIPS 2.0.0 | N/A | HMAC-SHA2-256 |
| bcm.o on Ubuntu 22.04 with Gravition3 | AWS-LC FIPS 2.0.0 | N/A | HMAC-SHA2-256 |
| Operating System | Hardware Platform | Processors | PAA/PAI | Hypervisor or Host OS | Version(s) |
|---|---|---|---|---|---|
| Amazon Linux 2 | Amazon EC2 c5.metal with 192 GiB system memory and Elastic Block Store (EBS) 200 GiB | Intel® Xeon® Platinum 8275CL | Yes | N/A | AWS-LC FIPS 2.0.0 |
| Amazon Linux 2023 | Amazon EC2 c5.metal with 192 GiB system memory and Elastic Block Store (EBS) 200 GiB | Intel® Xeon® Platinum 8275CL | Yes | N/A | AWS-LC FIPS 2.0.0 |
| Ubuntu 22.04 | Amazon EC2 c5.metal with 192 GiB system memory and Elastic Block Store (EBS) 200 GiB | Intel® Xeon® Platinum 8275CL | Yes | N/A | AWS-LC FIPS 2.0.0 |
| Amazon Linux 2 | Amazon EC2 c7g.metal with 128 GiB system memory and Elastic Block Store (EBS) 200 GiB | Graviton3 | Yes | N/A | AWS-LC FIPS 2.0.0 |
Identification Tested Module Identification
| Operating System | Hardware Platform | Processors | PAA/PAI | Hypervisor or Host OS | Version(s) |
|---|---|---|---|---|---|
| Amazon Linux 2023 | Amazon EC2 c7g.metal with 128 GiB system memory and Elastic Block Store (EBS) 200 GiB | Graviton3 | Yes | N/A | AWS-LC FIPS 2.0.0 |
| Ubuntu 22.04 | Amazon EC2 c7g.metal with 128 GiB system memory and Elastic Block Store (EBS) 200 GiB | Graviton3 | Yes | N/A | AWS-LC FIPS 2.0.0 |
| Mode Name | Description | Type | Status Indicator |
|---|---|---|---|
| Approved Mode | Automatically entered whenever an approved service is requested. | Approved | Equivalent to the indicator of the requested service. |
| Non-approved Mode | Automatically entered whenever a non- approved service is requested. | Non- Approved | Equivalent to the indicator of the requested service. |
Table 3: Tested Operational Environments - Software, Firmware, Hybrid Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid: N/A for this module. CMVP makes no statement as to the correct operation of the module or the security strengths of the generated keys when so ported if the specific operational environment is not listed on the validation certificate.
The module does not claim any excluded components.
Modes List and Description: Table 4: Modes List and Description When the module starts up successfully, after passing the pre-operational self-test and the cryptographic algorithms self-tests (CASTs), the module is operating in the approved mode of operation by default and can only be transitioned into the non-approved mode by calling one of the non-approved services listed in the Non-Approved Services table. The module will transition back to approved mode when approved service is called. Section 4 provides details on the service indicator implemented by the module. The service indicator identifies The module does not implement a degraded mode of operation.
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| ECDSA KeyGen (FIPS186-5) | A4509 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates | FIPS 186-5 |
| ECDSA KeyVer (FIPS186-5) | A4509 | Curve - P-224, P-256, P-384, P-521 | FIPS 186-5 |
| ECDSA SigGen (FIPS186-5) | A4509 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 Component - No | FIPS 186-5 |
| ECDSA SigVer (FIPS186-4) | A4509 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-5) | A4509 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | FIPS 186-5 |
| HMAC-SHA-1 | A4509 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-224 | A4509 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-256 | A4509 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-384 | A4509 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512 | A4509 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512/256 | A4509 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800- 56Ar3 | A4509 | Domain Parameter Generation Methods - P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDA HKDF Sp800- 56Cr1 | A4509 | Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-2048 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-56C Rev. 2 |
| KDF SSH (CVL) | A4509 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4509 | TLS Version - v1.0/1.1, v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| PBKDF | A4509 | Iteration Count - Iteration Count: 1000-10000 Increment 1 Password Length - Password Length: 14-128 Increment 1 | SP 800-132 |
| RSA KeyGen (FIPS186- 5) | A4509 | Key Generation Mode - probable Modulo - 2048, 3072, 4096 Primality Tests - 2powSecStr Private Key Format - standard | FIPS 186-5 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| RSA SigGen (FIPS186- 5) | A4509 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| RSA SigVer (FIPS186- 4) | A4509 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186- 5) | A4509 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| SHA-1 | A4509 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-224 | A4509 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-256 | A4509 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-384 | A4509 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512 | A4509 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512/256 | A4509 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| AES-CBC | A4510 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-CCM | A4510 | Key Length - 128 | SP 800-38C |
| AES-CMAC | A4510 | Direction - Generation, Verification Key Length - 128, 256 | SP 800-38B |
| AES-CTR | A4510 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-ECB | A4510 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-KW | A4510 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-KWP | A4510 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-XTS Testing Revision 2.0 | A4510 | Direction - Decrypt, Encrypt Key Length - 256 | SP 800-38E |
| Counter DRBG | A4510 | Prediction Resistance - No Mode - AES-256 Derivation Function Enabled - No | SP 800-90A Rev. 1 |
| AES-ECB | A4511 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4511 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4511 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| AES-ECB | A4512 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4512 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4512 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-CBC | A4513 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-CCM | A4513 | Key Length - 128 | SP 800-38C |
| AES-CMAC | A4513 | Direction - Generation, Verification Key Length - 128, 256 | SP 800-38B |
| AES-CTR | A4513 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-ECB | A4513 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-KW | A4513 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-KWP | A4513 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-XTS Testing Revision 2.0 | A4513 | Direction - Decrypt, Encrypt Key Length - 256 | SP 800-38E |
| Counter DRBG | A4513 | Prediction Resistance - No Mode - AES-256 Derivation Function Enabled - No | SP 800-90A Rev. 1 |
| AES-ECB | A4514 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4514 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4514 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-CBC | A4515 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-CCM | A4515 | Key Length - 128 | SP 800-38C |
| AES-CMAC | A4515 | Direction - Generation, Verification Key Length - 128, 256 | SP 800-38B |
| AES-CTR | A4515 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-ECB | A4515 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-KW | A4515 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-KWP | A4515 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| AES-XTS Testing Revision 2.0 | A4515 | Direction - Decrypt, Encrypt Key Length - 256 | SP 800-38E |
| Counter DRBG | A4515 | Prediction Resistance - No Mode - AES-256 Derivation Function Enabled - No | SP 800-90A Rev. 1 |
| AES-ECB | A4516 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4516 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4516 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| ECDSA KeyGen (FIPS186-5) | A4517 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates | FIPS 186-5 |
| ECDSA KeyVer (FIPS186-5) | A4517 | Curve - P-224, P-256, P-384, P-521 | FIPS 186-5 |
| ECDSA SigGen (FIPS186-5) | A4517 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 Component - No | FIPS 186-5 |
| ECDSA SigVer (FIPS186-4) | A4517 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-5) | A4517 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | FIPS 186-5 |
| HMAC-SHA-1 | A4517 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-224 | A4517 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-256 | A4517 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-384 | A4517 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512 | A4517 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512/256 | A4517 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800- 56Ar3 | A4517 | Domain Parameter Generation Methods - P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDA HKDF Sp800- 56Cr1 | A4517 | Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-2048 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-56C Rev. 2 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| KDF SSH (CVL) | A4517 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4517 | TLS Version - v1.0/1.1, v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| PBKDF | A4517 | Iteration Count - Iteration Count: 1000-10000 Increment 1 Password Length - Password Length: 14-128 Increment 1 | SP 800-132 |
| RSA KeyGen (FIPS186- 5) | A4517 | Key Generation Mode - probable Modulo - 2048, 3072, 4096 Primality Tests - 2powSecStr Private Key Format - standard | FIPS 186-5 |
| RSA SigGen (FIPS186- 5) | A4517 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| RSA SigVer (FIPS186- 4) | A4517 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186- 5) | A4517 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| SHA-1 | A4517 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-224 | A4517 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-256 | A4517 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-384 | A4517 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512 | A4517 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512/256 | A4517 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| ECDSA KeyGen (FIPS186-5) | A4518 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates | FIPS 186-5 |
| ECDSA KeyVer (FIPS186-5) | A4518 | Curve - P-224, P-256, P-384, P-521 | FIPS 186-5 |
| ECDSA SigGen (FIPS186-5) | A4518 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 Component - No | FIPS 186-5 |
| ECDSA SigVer (FIPS186-4) | A4518 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-5) | A4518 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | FIPS 186-5 |
| HMAC-SHA-1 | A4518 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| HMAC-SHA2-224 | A4518 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-256 | A4518 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-384 | A4518 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512 | A4518 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512/256 | A4518 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800- 56Ar3 | A4518 | Domain Parameter Generation Methods - P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDA HKDF Sp800- 56Cr1 | A4518 | Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-2048 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-56C Rev. 2 |
| KDF SSH (CVL) | A4518 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4518 | TLS Version - v1.0/1.1, v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| PBKDF | A4518 | Iteration Count - Iteration Count: 1000-10000 Increment 1 Password Length - Password Length: 14-128 Increment 1 | SP 800-132 |
| RSA KeyGen (FIPS186- 5) | A4518 | Key Generation Mode - probable Modulo - 2048, 3072, 4096 Primality Tests - 2powSecStr Private Key Format - standard | FIPS 186-5 |
| RSA SigGen (FIPS186- 5) | A4518 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| RSA SigVer (FIPS186- 4) | A4518 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186- 5) | A4518 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| SHA-1 | A4518 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-224 | A4518 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-256 | A4518 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-384 | A4518 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| SHA2-512 | A4518 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512/256 | A4518 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| AES-CBC | A4519 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-CCM | A4519 | Key Length - 128 | SP 800-38C |
| AES-CMAC | A4519 | Direction - Generation, Verification Key Length - 128, 256 | SP 800-38B |
| AES-CTR | A4519 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-ECB | A4519 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-KW | A4519 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-KWP | A4519 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-XTS Testing Revision 2.0 | A4519 | Direction - Decrypt, Encrypt Key Length - 256 | SP 800-38E |
| Counter DRBG | A4519 | Prediction Resistance - No Mode - AES-256 Derivation Function Enabled - No | SP 800-90A Rev. 1 |
| AES-ECB | A4520 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4520 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4520 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-ECB | A4521 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4521 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4521 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-ECB | A4522 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4522 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4522 | Direction - Decrypt, Encrypt IV Generation - External, Internal | SP 800-38D |
| Algorithm | CAVP Cert | Properties IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | Reference |
|---|---|---|---|
| AES-CBC | A4523 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-CCM | A4523 | Key Length - 128 | SP 800-38C |
| AES-CMAC | A4523 | Direction - Generation, Verification Key Length - 128, 256 | SP 800-38B |
| AES-CTR | A4523 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-ECB | A4523 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-KW | A4523 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-KWP | A4523 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-XTS Testing Revision 2.0 | A4523 | Direction - Decrypt, Encrypt Key Length - 256 | SP 800-38E |
| Counter DRBG | A4523 | Prediction Resistance - No Mode - AES-256 Derivation Function Enabled - No | SP 800-90A Rev. 1 |
| AES-ECB | A4524 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4524 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4524 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-ECB | A4525 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4525 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4525 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-ECB | A4526 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4526 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4526 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-CBC | A4527 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| AES-CCM | A4527 | Key Length - 128 | SP 800-38C |
| AES-CMAC | A4527 | Direction - Generation, Verification Key Length - 128, 256 | SP 800-38B |
| AES-CTR | A4527 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-ECB | A4527 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-KW | A4527 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-KWP | A4527 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38F |
| AES-XTS Testing Revision 2.0 | A4527 | Direction - Decrypt, Encrypt Key Length - 256 | SP 800-38E |
| Counter DRBG | A4527 | Prediction Resistance - No Mode - AES-256 Derivation Function Enabled - No | SP 800-90A Rev. 1 |
| AES-ECB | A4528 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4528 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4528 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-ECB | A4529 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4529 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4529 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-ECB | A4530 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4530 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| AES-GMAC | A4530 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 256 | SP 800-38D |
| ECDSA KeyGen (FIPS186-5) | A4531 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates | FIPS 186-5 |
| ECDSA KeyVer (FIPS186-5) | A4531 | Curve - P-224, P-256, P-384, P-521 | FIPS 186-5 |
| ECDSA SigGen (FIPS186-5) | A4531 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- | FIPS 186-5 |
| Algorithm | CAVP Cert | Properties 384, SHA2-512 Component - No | Reference |
|---|---|---|---|
| ECDSA SigVer (FIPS186-4) | A4531 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-5) | A4531 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | FIPS 186-5 |
| HMAC-SHA-1 | A4531 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-224 | A4531 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-256 | A4531 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-384 | A4531 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512 | A4531 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512/256 | A4531 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800- 56Ar3 | A4531 | Domain Parameter Generation Methods - P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDA HKDF Sp800- 56Cr1 | A4531 | Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-2048 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-56C Rev. 2 |
| KDF SSH (CVL) | A4531 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4531 | TLS Version - v1.0/1.1, v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| PBKDF | A4531 | Iteration Count - Iteration Count: 1000-10000 Increment 1 Password Length - Password Length: 14-128 Increment 1 | SP 800-132 |
| RSA KeyGen (FIPS186- 5) | A4531 | Key Generation Mode - probable Modulo - 2048, 3072, 4096 Primality Tests - 2powSecStr Private Key Format - standard | FIPS 186-5 |
| RSA SigGen (FIPS186- 5) | A4531 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| RSA SigVer (FIPS186- 4) | A4531 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186- 5) | A4531 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| SHA-1 | A4531 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| SHA2-224 | A4531 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-256 | A4531 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-384 | A4531 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512 | A4531 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512/256 | A4531 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| ECDSA KeyGen (FIPS186-5) | A4532 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates | FIPS 186-5 |
| ECDSA KeyVer (FIPS186-5) | A4532 | Curve - P-224, P-256, P-384, P-521 | FIPS 186-5 |
| ECDSA SigGen (FIPS186-5) | A4532 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 Component - No | FIPS 186-5 |
| ECDSA SigVer (FIPS186-4) | A4532 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-5) | A4532 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | FIPS 186-5 |
| HMAC-SHA-1 | A4532 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-224 | A4532 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-256 | A4532 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-384 | A4532 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512 | A4532 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512/256 | A4532 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800- 56Ar3 | A4532 | Domain Parameter Generation Methods - P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDA HKDF Sp800- 56Cr1 | A4532 | Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-2048 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-56C Rev. 2 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| KDF SSH (CVL) | A4532 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4532 | TLS Version - v1.0/1.1, v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| PBKDF | A4532 | Iteration Count - Iteration Count: 1000-10000 Increment 1 Password Length - Password Length: 14-128 Increment 1 | SP 800-132 |
| RSA KeyGen (FIPS186- 5) | A4532 | Key Generation Mode - probable Modulo - 2048, 3072, 4096 Primality Tests - 2powSecStr Private Key Format - standard | FIPS 186-5 |
| RSA SigGen (FIPS186- 5) | A4532 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| RSA SigVer (FIPS186- 4) | A4532 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186- 5) | A4532 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| SHA-1 | A4532 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-224 | A4532 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-256 | A4532 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-384 | A4532 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512 | A4532 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512/256 | A4532 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| ECDSA KeyGen (FIPS186-5) | A4533 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates | FIPS 186-5 |
| ECDSA KeyVer (FIPS186-5) | A4533 | Curve - P-224, P-256, P-384, P-521 | FIPS 186-5 |
| ECDSA SigGen (FIPS186-5) | A4533 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 Component - No | FIPS 186-5 |
| ECDSA SigVer (FIPS186-4) | A4533 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-5) | A4533 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | FIPS 186-5 |
| HMAC-SHA-1 | A4533 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| HMAC-SHA2-224 | A4533 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-256 | A4533 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-384 | A4533 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512 | A4533 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512/256 | A4533 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800- 56Ar3 | A4533 | Domain Parameter Generation Methods - P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDA HKDF Sp800- 56Cr1 | A4533 | Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-2048 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-56C Rev. 2 |
| KDF SSH (CVL) | A4533 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4533 | TLS Version - v1.0/1.1, v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| PBKDF | A4533 | Iteration Count - Iteration Count: 1000-10000 Increment 1 Password Length - Password Length: 14-128 Increment 1 | SP 800-132 |
| RSA KeyGen (FIPS186- 5) | A4533 | Key Generation Mode - probable Modulo - 2048, 3072, 4096 Primality Tests - 2powSecStr Private Key Format - standard | FIPS 186-5 |
| RSA SigGen (FIPS186- 5) | A4533 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| RSA SigVer (FIPS186- 4) | A4533 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186- 5) | A4533 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| SHA-1 | A4533 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-224 | A4533 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-256 | A4533 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-384 | A4533 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| SHA2-512 | A4533 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512/256 | A4533 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| ECDSA KeyGen (FIPS186-5) | A4534 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - testing candidates | FIPS 186-5 |
| ECDSA KeyVer (FIPS186-5) | A4534 | Curve - P-224, P-256, P-384, P-521 | FIPS 186-5 |
| ECDSA SigGen (FIPS186-5) | A4534 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 Component - No | FIPS 186-5 |
| ECDSA SigVer (FIPS186-4) | A4534 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-5) | A4534 | Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | FIPS 186-5 |
| HMAC-SHA-1 | A4534 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-224 | A4534 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-256 | A4534 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-384 | A4534 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512 | A4534 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| HMAC-SHA2-512/256 | A4534 | Key Length - Key Length: 112-524288 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800- 56Ar3 | A4534 | Domain Parameter Generation Methods - P-224, P-256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDA HKDF Sp800- 56Cr1 | A4534 | Derived Key Length - 2048 Shared Secret Length - Shared Secret Length: 224-2048 Increment 8 HMAC Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-56C Rev. 2 |
| KDF SSH (CVL) | A4534 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4534 | TLS Version - v1.0/1.1, v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| PBKDF | A4534 | Iteration Count - Iteration Count: 1000-10000 Increment 1 Password Length - Password Length: 14-128 Increment 1 | SP 800-132 |
| RSA KeyGen (FIPS186- 5) | A4534 | Key Generation Mode - probable Modulo - 2048, 3072, 4096 | FIPS 186-5 |
| Algorithm | CAVP Cert | Properties Primality Tests - 2powSecStr Private Key Format - standard | Reference |
|---|---|---|---|
| RSA SigGen (FIPS186- 5) | A4534 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| RSA SigVer (FIPS186- 4) | A4534 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186- 5) | A4534 | Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5, pss | FIPS 186-5 |
| SHA-1 | A4534 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-224 | A4534 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-256 | A4534 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-384 | A4534 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512 | A4534 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| SHA2-512/256 | A4534 | Message Length - Message Length: 0-65536 Increment 8 Large Message Sizes - 1, 2, 4, 8 | FIPS 180-4 |
| Name | Properties | Implementation | Reference |
|---|---|---|---|
| Cryptographic Key Generation (CKG) | RSA (FIPS 186-5):2048, 3072, 4096 bits with 112, 128, 149 bits of key strength. EC (FIPS 186-5):P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength | AWS-LC Cryptographic Module (static build) (SHA_ASM) | SP 800-133Rev2 section 5.1 and 5.2 |
| Cryptographic Key Generation (CKG) | RSA (FIPS 186-5):2048, 3072, 4096 bits with 112, 128, 149 bits of key strength. EC (FIPS 186-5):P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength. | AWS-LC Cryptographic Module (static build) (SHA_CE) | SP 800-133Rev2 section 5.1 and 5.2 |
| Cryptographic Key Generation (CKG) | RSA (FIPS 186-5):2048, 3072, 4096 bits with 112, 128, 149 bits of key strength EC (FIPS 186-5):P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength. | AWS-LC Cryptographic Module (static build) (NEON) | SP 800-133Rev2 section 5.1 and 5.2 |
| Cryptographic Key Generation (CKG) | RSA (FIPS 186-5):2048, 3072, 4096 bits with 112, 128, 149 bits of key strength. | AWS-LC Cryptographic Module (static build) (SHA_SHANI) | SP 800-133Rev2 section 5.1 and 5.2 |
Table 5: Approved Algorithms Vendor-Affirmed Algorithms:
| Name | Properties EC (FIPS 186-5):P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength. | Implementation | Reference |
|---|---|---|---|
| Cryptographic Key Generation (CKG) | RSA (FIPS 186-5):2048, 3072, 4096 bits with 112, 128, 149 bits of key strength. EC (FIPS 186-5):P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength. | AWS-LC Cryptographic Module (static build) (SHA_AVX2) | SP 800-133Rev2 section 5.1 and 5.2 |
| Cryptographic Key Generation (CKG) | RSA (FIPS 186-5):2048, 3072, 4096 bits with 112, 128, 149 bits of key strength. EC (FIPS 186-5):P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength. | AWS-LC Cryptographic Module (static build) (SHA_AVX) | SP 800-133Rev2 section 5.1 and 5.2 |
| Cryptographic Key Generation (CKG) | RSA (FIPS 186-5):2048, 3072, 4096 bits with 112, 128, 149 bits of key strength. EC (FIPS 186-5):P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength. | AWS-LC Cryptographic Module (static build) (SHA_SSSE3) | SP 800-133Rev2 section 5.1 and 5.2 |
| Name | Caveat | Use and Function |
|---|---|---|
| MD5 | Allowed per IG 2.4.A | Message Digest used in TLS 1.0/1.1 KDF only |
| Name | Use and Function |
|---|---|
| AES with OFB or CFB1, CFB8 modes | Encryption, Decryption |
| AES GCM, GCM, GMAC, XTS with keys not listed in Table 5 | Encryption, Decryption |
| AES using aes_*_generic function | Encryption, Decryption |
| AES GMAC using aes_*_generic | Message Authentication Generation |
| Curve secp256k1 | Signature Generation, Signature Verification, Shared Secret Computation |
| Diffie Hellman | Shared Secret Computation |
| HMAC-MD4, HMAC-MD5, HMAC-SHA1, HMAC-SHA-3, HMAC- RIPEMD-160 | Message Authentication Generation |
| MD4 | Message Digest |
Table 6: Vendor-Affirmed Algorithms Non-Approved, Allowed Algorithms: N/A for this module. The module does not implement non-approved algorithms that are allowed in the approved mode of operation. Non-Approved, Allowed Algorithms with No Security Claimed: Table 7: Non-Approved, Allowed Algorithms with No Security Claimed Non-Approved, Not Allowed Algorithms:
| Name | Use and Function |
|---|---|
| MD5 (outside of TLS) | Message Digest |
| RSA using RSA_generate_key_ex | Key Generation |
| ECDSA using EC_KEY_generate_key | Key Generation |
| RSA using keys less than 2048 bits | Signature Generation |
| RSA using keys less than 1024 bits | Signature Verification |
| RSA without hashing | Sign/Verify primitive operations |
| RSA encryption primitive with PKCS#1 v1.5 and OAEP padding | Encryption |
| SHA-1, SHA-3 | Signature Generation |
| SHAKE, RIPEMD-160, SHA-3 | Message Digest |
| TLS KDF using any SHA algorithms other than SHA2-256, SHA2-384, SHA2-512; or TLS KDF using non-extended master secret | Key Derivation |
| RSA | Key Encapsulation/Un-encapsulation |
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| Shared Secret Computation with EC Diffie-Hellman | KAS-SSC | Shared secret computation per SP 800-56ARev3 | Curves:P-224, P-256, P-384, P-521 elliptic curves with 112-256 bits of key strength Compliance:Compliant with IG D.F scenario 2(1) | KAS-ECC-SSC Sp800-56Ar3 KAS-ECC-SSC Sp800-56Ar3 KAS-ECC-SSC Sp800-56Ar3 KAS-ECC-SSC Sp800-56Ar3 KAS-ECC-SSC Sp800-56Ar3 KAS-ECC-SSC Sp800-56Ar3 KAS-ECC-SSC Sp800-56Ar3 |
| Key Wrapping/Unwrapping with AES KW, AES- KWP | KTS-Wrap | Key wrapping, key unwrapping using AES KW/KWP | Keys:128, 192, 256 bits with 128-256 bits of key strength Compliance:Compliant with IG D.G | AES-KW AES-KWP AES-KW AES-KWP AES-KW AES-KWP AES-KW AES-KWP AES-KW AES-KWP AES-KW AES-KWP |
| Key Wrapping/Unwrapping with AES GCM | KTS-Wrap | Key wrapping, key unwrapping using AES GCM | Keys:128 and 256 bits with 128 and 256 bits of key strength Compliance: Compliant with IG D.G | AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM |
Table 8: Non-Approved, Not Allowed Algorithms
| Name | Type | Description | Properties | Algorithms AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM |
|---|---|---|---|---|
| Key Wrapping/Unwrapping with AES CCM | KTS-Wrap | Key wrapping, key unwrapping using AES CCM | Keys:128 bits with 128 bits of key strength Compliance:Compliant with IG D.G | AES-CCM AES-CCM AES-CCM AES-CCM AES-CCM AES-CCM |
| Encryption/Decryption with AES | BC-UnAuth | Encryption, decryption using AES | Keys:128, 192, 256 bits keys with 128- 256 of key strength | AES-CBC AES-CTR AES-ECB AES-XTS Testing Revision 2.0 AES-ECB AES-ECB AES-CBC AES-CTR AES-ECB AES-XTS Testing Revision 2.0 AES-ECB AES-CBC AES-CTR AES-ECB AES-XTS Testing Revision 2.0 AES-ECB AES-CBC AES-CTR AES-ECB AES-XTS Testing Revision 2.0 AES-ECB AES-ECB AES-ECB AES-CBC AES-CTR AES-ECB AES-XTS Testing Revision 2.0 AES-ECB AES-ECB AES-ECB AES-CBC AES-CTR AES-ECB AES-XTS Testing Revision 2.0 AES-ECB AES-ECB AES-ECB |
| Signature Generation with RSA | DigSig-SigGen | Digital signature generation using RSA | Keys:2048, 3072, 4096 bits with 112- 150 bits of strength | RSA SigGen (FIPS186-5) RSA SigGen |
| Name | Type | Description | Properties | Algorithms (FIPS186-5) RSA SigGen (FIPS186-5) RSA SigGen (FIPS186-5) RSA SigGen (FIPS186-5) RSA SigGen (FIPS186-5) RSA SigGen (FIPS186-5) |
|---|---|---|---|---|
| Signature Generation with ECDSA | DigSig-SigGen | Digital signature generation using ECDSA | Curves:P-224, P-256, P-384, P-521 with 112-256 bits of key strength | ECDSA SigGen (FIPS186-5) ECDSA SigGen (FIPS186-5) ECDSA SigGen (FIPS186-5) ECDSA SigGen (FIPS186-5) ECDSA SigGen (FIPS186-5) ECDSA SigGen (FIPS186-5) ECDSA SigGen (FIPS186-5) |
| Key Generation with RSA | AsymKeyPair- KeyGen | Key generation using RSA | Keys:2048, 3072, 4096 bits key with 112-150 bits of strength | RSA KeyGen (FIPS186-5) RSA KeyGen (FIPS186-5) RSA KeyGen (FIPS186-5) RSA KeyGen (FIPS186-5) RSA KeyGen (FIPS186-5) RSA KeyGen (FIPS186-5) RSA KeyGen (FIPS186-5) |
| Key Generation with ECDSA | AsymKeyPair- KeyGen | Key generation using ECDSA | Curves:P-224, P-256, P-384, P-521 with 112-256 bits of strength | ECDSA KeyGen (FIPS186-5) ECDSA KeyGen (FIPS186-5) ECDSA KeyGen (FIPS186-5) ECDSA KeyGen (FIPS186-5) ECDSA KeyGen (FIPS186-5) ECDSA KeyGen (FIPS186-5) ECDSA KeyGen (FIPS186-5) |
| Signature Verification with ECDSA | DigSig-SigVer | Signature verification using ECDSA | Curves:P-224, P-256, P-384, P-521 with 112-256 bits of strength | ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-4) |
| Name | Type | Description | Properties | Algorithms ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-4) ECDSA SigVer (FIPS186-5) ECDSA SigVer (FIPS186-5) ECDSA SigVer (FIPS186-5) ECDSA SigVer (FIPS186-5) ECDSA SigVer (FIPS186-5) ECDSA SigVer (FIPS186-5) ECDSA SigVer (FIPS186-5) |
|---|---|---|---|---|
| Signature Verification with RSA | DigSig-SigVer | Signature verification using RSA | Keys:1024, 2048, 3072, 4096 bits with 80-150 bits of strength | RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-5) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-5) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-5) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-5) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-5) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-5) RSA SigVer (FIPS186-4) RSA SigVer (FIPS186-5) |
| Key Verification with ECDSA | AsymKeyPair- KeyVer | Key verification using ECDSA | Curves:P-224, P-256, P-384, P-521 with 112-256 bits of strength | ECDSA KeyVer (FIPS186-5) ECDSA KeyVer (FIPS186-5) ECDSA KeyVer (FIPS186-5) |
| Name | Type | Description | Properties | Algorithms ECDSA KeyVer (FIPS186-5) ECDSA KeyVer (FIPS186-5) ECDSA KeyVer (FIPS186-5) ECDSA KeyVer (FIPS186-5) |
|---|---|---|---|---|
| Key Derivation with TLS KDF | KAS-135KDF | Key derivation using TLS KDF | Derived keys:112 to 256 bits | KDF TLS KDF TLS KDF TLS KDF TLS KDF TLS KDF TLS KDF TLS |
| Key Derivation with SSH KDF | KAS-135KDF | Key derivation using SSH KDF | SSH Derived keys:112 to 256 bits | KDF SSH KDF SSH KDF SSH KDF SSH KDF SSH KDF SSH KDF SSH |
| Key Derivation with KDA HKDF | KAS-56CKDF | Key derivation using KDA HKDF | Derived keys:112 to 256 bits | KDA HKDF Sp800- 56Cr1 KDA HKDF Sp800- 56Cr1 KDA HKDF Sp800- 56Cr1 KDA HKDF Sp800- 56Cr1 KDA HKDF Sp800- 56Cr1 KDA HKDF Sp800- 56Cr1 KDA HKDF Sp800- 56Cr1 |
| Key Derivation with PBKDF | PBKDF | Key derivation using PBKDF | Derived keys:112 to 256 bits | PBKDF PBKDF PBKDF PBKDF PBKDF PBKDF PBKDF |
| Message Digest with SHA | SHA | Message digest using SHA | SHA-1 SHA2-224 SHA2-256 SHA2-384 SHA2-512 SHA2-512/256 SHA-1 SHA2-224 SHA2-256 SHA2-384 SHA2-512 SHA2-512/256 SHA-1 SHA2-224 |
| Name | Type | Description | Properties | Algorithms SHA2-256 SHA2-384 SHA2-512 SHA2-512/256 SHA-1 SHA2-224 SHA2-256 SHA2-384 SHA2-512 SHA2-512/256 SHA-1 SHA2-224 SHA2-256 SHA2-384 SHA2-512 SHA2-512/256 SHA-1 SHA2-224 SHA2-256 SHA2-384 SHA2-512 SHA2-512/256 SHA-1 SHA2-224 SHA2-256 SHA2-384 SHA2-512 SHA2-512/256 |
|---|---|---|---|---|
| Random Number Generation with DRBG | DRBG | Random number generation using DRBG | Compliance:Compliant with SP800-90ARev1 | Counter DRBG Counter DRBG Counter DRBG Counter DRBG Counter DRBG Counter DRBG |
| Message Authentication Generation with HMAC | MAC | Message authentication generation using HMAC | SHA algorithm:SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA2-512/256 | HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2- 512/256 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2- 512/256 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2- 512/256 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-256 |
| Name | Type | Description | Properties | Algorithms HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2- 512/256 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2- 512/256 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2- 512/256 HMAC-SHA-1 HMAC-SHA2-224 HMAC-SHA2-256 HMAC-SHA2-384 HMAC-SHA2-512 HMAC-SHA2- 512/256 |
|---|---|---|---|---|
| Message Authentication Generation with AES | MAC | Message authentication generation using AES CMAC/GMAC | Keys:128 or 256 bits with 128 or 256 bits of strength | AES-CMAC AES-GMAC AES-GMAC AES-CMAC AES-GMAC AES-CMAC AES-GMAC AES-CMAC AES-GMAC AES-GMAC AES-GMAC AES-CMAC AES-GMAC AES-GMAC AES-GMAC AES-CMAC AES-GMAC AES-GMAC AES-GMAC |
| Authenticated Encryption/Decryption with AES CCM | BC-Auth | Authenticated encryption and decryption using AES CCM | Keys:128 bits with 128 bits of strength | AES-CCM AES-CCM AES-CCM AES-CCM AES-CCM AES-CCM |
| Authenticated Encryption/Decryption with AES GCM | BC-Auth | Authenticated encryption and decryption using AES GCM | Keys:128 or 256 bits with 128 or 256 bits of strength Authenticated Encryption:Internal IV Mode 8.2.2 Authenticated Decryption:External IV | AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM AES-GCM |
Name
Type
Description
Properties
Algorithms AES-GCM AES-GCM AES-GCM AES-GCM
Table 9: Security Function Implementations
GCM IV The module offers three AES GCM implementations. The GCM IV generation for these implementations complies respectively with IG C.H under Scenario 1, Scenario 2, and Scenario 5. The GCM shall only be used in the context of the AES-GCM encryption executing under each scenario, and using the referenced APIs explained next. Scenario 1, TLS 1.2 For TLS 1.2, the module offers the GCM implementation via the functions EVP_aead_aes_128_gcm_tls12() and EVP_aead_aes_256_gcm_tls12(), and uses the context of Scenario 1 of IG C.H. The module is compliant with SP800-52rev2 and the mechanism for IV generation is compliant with RFC5288. The module supports acceptable AES-GCM ciphersuites from Section 3.3.1 of SP800-52rev2. The module explicitly ensures that the counter (the nonce_explicit part of the IV) does not exhaust the maximum number of possible values of 2^{64-1} for a given session key. If this exhaustion condition is observed, the module returns an error indication to the calling application, which will then need to either abort the connection, or trigger a handshake to establish a new encryption key. In the event the module’s power is lost and restored, the consuming application must ensure that a new key for use with the AES-GCM key encryption or decryption under this scenario shall be established. Scenario 2, Random IV In this implementation, the module offers the interfaces EVP_aead_aes_128_gcm_randnonce() and EVP_aead_aes_256_gcm_randnonce() for compliance with Scenario 2 of IG C.H and SP800-38D Section 8.2.2. The AES-GCM IV is generated randomly internal to the module using module’s approved DRBG. The DRBG seeds itself from the entropy source. The GCM IV is 96 bits in length. Per Section 9, this 96bit IV contains 96 bits of entropy. Scenario 5, TLS 1.3 August 2018, using the ciphersuites that explicitly select AES-GCM as the encryption/decryption cipher (Appendix B.4 of RFC8446). The module supports acceptable AES-GCM ciphersuites from Section 3.3.1 of SP800-52rev2. The module implements, within its boundary, an IV generation unit for TLS 1.3 that keeps control of the 64-bit counter value within the AES-GCM IV. If the exhaustion condition is observed, the module will return an error indication to the calling application, who will then need to either trigger a re-key of the session (i.e., a new key for AES-GCM), or terminate the connection.
In the event the module’s power is lost and restored, the consuming application must ensure that new AES-GCM keys encryption or decryption under this scenario are established. TLS
1.3 provides session resumption, but the resumption procedure derives new AES-GCM
encryption keys. AES XTS The length of a single data unit encrypted or decrypted with AES XTS shall not exceed 220 AES blocks, that is 16MB, of data per XTS instance. An XTS instance is defined in Section 4 of SP 800-38E. The XTS mode shall only be used for the cryptographic protection of data on storage devices. It shall not be used for other purposes, such as the encryption of data in transit. Key Derivation using SP 800-132 PBKDF2 The module provides password-based key derivation (PBKDF2), compliant with SP 800-132. The module supports option 1a from Section 5.4 of SP 800-132, in which the Master Key (MK) or a segment of it is used directly as the Data Protection Key (DPK). In accordance with SP 800-132 and FIPS 140-3 IG D.N, the following requirements shall be met:
N/A for this module. N/A for this module. The module provides an SP800-90Arev1-compliant Deterministic Random Bit Generator (DRBG) using CTR_DRBG mechanism with AES-256 for generation of key components of asymmetric keys, and random number generation. The DRBG is seeded with 256-bit of entropy input provided from an external entity to the module. This corresponds to scenario 2 (b) of IG 9.3.A i.e., the DRBG that receives a LOAD command with entropy obtained from inside the physical perimeter of the operational environment but outside of module's cryptographic boundary. The calling application shall use an entropy source that meets the security strength required for the CTR_DRBG as shown in NIST SP 800-90Arev1, Table 3 and should return an error if minimum strength cannot be met. Per the IG 9.3.A requirement, the module includes the caveat "No assurance of the minimum strength of generated keys".
The module implements Cryptographic Key Generation (CKG, vendor affirmed), compliant with SP 800-133Rev2. When random values are required, they are obtained from the SP 800-90ARev1 approved DRBG, compliant with Section 4 of SP 800-133Rev2. The following methods are implemented: ECDSA (FIPS 186-5, A.2.2 Rejection Sampling): P-224, P-256, P 384, P-521 elliptic curves with 112-256 bits of key strength. RSA (FIPS 186-5, A.1.3 Random Probable Primes): 2048, 3072, 4096 bits with 112, 128, 149 bits of key strength. Additionally, the module implements the following key derivation methods per SP800133Rev2 section 6.2: KDA HKDF (SP 800-56CRev1): 112-256 bits of key strength, using (HMAC) SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512. PBKDF (SP 800-133Rev2, option 1a): 112-256 bits of key strength, using (HMAC) SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512. SSH KDF (SP 800-135Rev1): 112-256 bits of key strength, using AES-128, AES-192, AES-256 with SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512. KDF TLS (SP 800-135Rev1): 112-256 bits of key strength, using SHA2-256, SHA2-384, SHA2512.
The module implements SSP agreement and SSP transport methods as listed in the Security Function Implementations table.
The module implements the SSH key derivation function for use in the SSH protocol (RFC
GCM with internal IV generation in the approved mode is compliant with versions 1.2 and 1.3 of the TLS protocol (RFC 5288 and 8446) and shall only be used in conjunction with the TLS protocol. Additionally, the module implements the TLS 1.2 and TLS 1.3 key derivation functions for use in the TLS protocol. No parts of the SSH, TLS, other than those mentioned above, have been tested by the CAVP and CMVP.
| Physical Port | Logical Interface(s) | Data That Passes |
|---|---|---|
| N/A | Data Input | API input parameters for data. |
| N/A | Data Output | API output parameters for data. |
| N/A | Control Input | API function calls. |
| N/A | Status Output | API return codes, error message. |
Table 10: Ports and Interfaces As a Software module, the module interfaces are defined as Software or Firmware Module Interfaces (SMFI), and there are no physical ports. The module does not implement a control
| Name | Type | Operator Type | Authentication Methods |
|---|---|---|---|
| Crypto Officer | Role | CO | None |
| Name | Description | Indicator | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| Encryption | Encryption | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | AES key, plaintext | Ciphertext | Encryption/Decrypt ion with AES | Crypto Officer - AES Key: W,E |
| Decryption | Decryption | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | AES key, ciphertext | Plaintext | Encryption/Decrypt ion with AES | Crypto Officer - AES Key: W,E |
| Authenticate d Encryption | Authenticated Encryption | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | AES key, plaintext | Ciphertext | Authenticated Encryption/Decrypt ion with AES CCM Authenticated Encryption/Decrypt ion with AES GCM | Crypto Officer - AES Key: W,E |
| Authenticate d Decryption | Authenticated Decryption | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | AES key, ciphertext | Plaintext | Authenticated Encryption/Decrypt ion with AES CCM Authenticated Encryption/Decrypt ion with AES GCM | Crypto Officer - AES Key: W,E |
| Key Wrapping | Encrypting a key | Return value 1 from the function: FIPS_ service_ | AES key wrapping key, Key | Wrapped key | Key Wrapping/Unwrapp ing with AES KW, AES-KWP | Crypto Officer - AES Key: W,E |
N/A for this module. The module does not support authentication.
Table 11: Roles The module does not support concurrent operators.
| Name | Description | Indicator indicator_ check_approve d() | Inputs to be wrapped | Outputs | Security Functions Key Wrapping/Unwrapp ing with AES GCM Key Wrapping/Unwrapp ing with AES CCM | SSP Access |
|---|---|---|---|---|---|---|
| Key unwrapping | Decrypting a key | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | AES key unwrappi ng key, Key to be unwrappe d | Unwrappe d key | Key Wrapping/Unwrapp ing with AES KW, AES-KWP Key Wrapping/Unwrapp ing with AES GCM Key Wrapping/Unwrapp ing with AES CCM | Crypto Officer - AES Key: W,E |
| Message Authenticati on Generation | MAC computation | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | AES key or HMAC key, message | MAC tag | Message Authentication Generation with HMAC Message Authentication Generation with AES | Crypto Officer - HMAC Key: W,E |
| Message Digest | Generating message digest | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Message | Message digest | Message Digest with SHA | Crypto Officer |
| Random Number Generation | Generating random numbers | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Output length | Random bytes | Random Number Generation with DRBG | Crypto Officer - Entropy Input: W,E - DRBG Seed: G,E - DRBG Internal State (V, Key): G,W,E |
| Key Generation | Generating a key pair | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Modulus size / Curve | RSA public key, RSA private key / EC public key, EC private key | Key Generation with RSA Key Generation with ECDSA | Crypto Officer - RSA Public Key : G,R - RSA Private Key: G,R - EC Public Key: G,R - EC Private Key: G,R |
| Name | Description | Indicator | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| Key Verification | Verifying the public key | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Public key | Success/ error | Key Verification with ECDSA | Crypto Officer - EC Public Key: W,E |
| Signature Generation | Generating signature | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Message, EC private key or RSA private key | Digital signature | Signature Generation with RSA Signature Generation with ECDSA | Crypto Officer - RSA Private Key: W,E - EC Private Key: W,E |
| Signature Verification | Verifying signature | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d( | Signature, EC public key or RSA public key | Digital signature verificatio n result | Signature Verification with ECDSA Signature Verification with RSA | Crypto Officer - RSA Public Key : W,E - EC Public Key: W,E |
| Shared Secret Computation | Calculating the Shared Secret | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | EC public key, EC private key | Shared Secret | Shared Secret Computation with EC Diffie-Hellman | Crypto Officer - EC Public Key: W,E - EC Private Key: W,E - Shared Secret: G,R |
| Key Derivation with TLS KDF | Deriving Keys | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | TLS Pre- Master Secret / TLS Master Secret | TLS Master secret / TLS Derived Key (AES/HMA C) | Key Derivation with TLS KDF | Crypto Officer - TLS Pre- Master Secret: W,E - TLS Master Secret : G,W,E - TLS Derived Key (AES/HMAC ): G |
| Key Derivation with PBKDF | Deriving Keys | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Password, salt, iteration count | PBKDF Derived Key | Key Derivation with PBKDF | Crypto Officer - PBKDF Derived Key: G,R - Password: W,E |
| Name | Description | Indicator | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| Key Derivation with KDA HKDF | Deriving Keys | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Shared Secret, Key Length, Digest | KDA Derived Key | Key Derivation with KDA HKDF | Crypto Officer - KDA Derived Key: G,R - Shared Secret: W,E |
| Key Derivation with SSH KDF | Deriving Keys | Return value 1 from the function: FIPS_ service_ indicator_ check_approve d() | Shared Secret, Key Length | SSH Derived Key | Key Derivation with SSH KDF | Crypto Officer - SSH Derived Key: G,R - Shared Secret: W,E |
| Zeroization | Zeroize SSP in volatile memory | N/A | SSP | N/A | None | Crypto Officer - AES Key: Z - HMAC Key: Z - Entropy Input: Z - DRBG Seed: Z - DRBG Internal State (V, Key): Z - RSA Public Key : Z - RSA Private Key: Z - RSA Private Key: Z - EC Public Key: Z - EC Private Key: Z - Shared Secret: Z - TLS Pre- Master Secret: Z - TLS Master Secret : Z - TLS Derived Key (AES/HMAC ): Z |
| Name | Description | Indicator | Inputs | Outputs | Security Functions | SSP Access - TLS Derived Key (AES/HMAC ): Z - Password: Z - Intermedia te Key Generation Value: Z |
|---|---|---|---|---|---|---|
| On-Demand Self-test | Initiate power-on self-tests by reset | N/A | N/A | Pass or fail | Shared Secret Computation with EC Diffie-Hellman Key Wrapping/Unwrapp ing with AES KW, AES-KWP Key Wrapping/Unwrapp ing with AES GCM Key Wrapping/Unwrapp ing with AES CCM Encryption/Decrypt ion with AES Signature Generation with RSA Signature Generation with ECDSA Key Generation with RSA Key Generation with ECDSA Key Generation with RSA Signature Verification with ECDSA Signature Verification with RSA Key Verification with ECDSA Key Derivation with TLS KDF Key Derivation with SSH KDF Key Derivation with KDA HKDF Key Derivation with PBKDF Message Digest | Crypto Officer |
| Name | Description | Indicator | Inputs | Outputs | Security Functions with SHA Random Number Generation with DRBG Message Authentication Generation with HMAC Message Authentication Generation with AES Authenticated Encryption/Decrypt ion with AES CCM Authenticated Encryption/Decrypt ion with AES GCM | SSP Access |
|---|---|---|---|---|---|---|
| On-Demand Integrity Test | Initiate integrity test on-demand | N/A | N/A | Pass or fail | Message Authentication Generation with HMAC | Crypto Officer |
| Show Status | Show status of the module state | N/A | N/A | Module status | None | Crypto Officer |
| Show Version | Show the version of the module using awslc_version_stri ng | N/A | N/A | Module name and version | None | Crypto Officer |
Table 12: Approved Services For the above table, the convention below applies when specifying the access permissions (types) that the service has for each SSP.
| Name | Description | Algorithms | Role |
|---|---|---|---|
| Encryption | Encryption | AES with OFB or CFB1, CFB8 modes AES GCM, GCM, GMAC, XTS with keys not listed in Table 5 AES using aes_*_generic function AES GMAC using aes_*_generic RSA encryption primitive with PKCS#1 v1.5 and OAEP padding | CO |
| Decryption | Decryption | AES with OFB or CFB1, CFB8 modes AES GCM, GCM, GMAC, XTS with keys not listed in Table 5 AES using aes_*_generic function AES GMAC using aes_*_generic | CO |
| Message Authentication Generation | MAC computation | AES GMAC using aes_*_generic HMAC-MD4, HMAC-MD5, HMAC-SHA1, HMAC-SHA-3, HMAC-RIPEMD-160 | CO |
| Message Digest | Generating message digest | MD4 MD5 (outside of TLS) SHAKE, RIPEMD-160, SHA-3 | CO |
| Signature Generation | Generating signatures | RSA using keys less than 2048 bits RSA without hashing SHA-1, SHA-3 | CO |
| Signature Verification | Verifying signatures | RSA using keys less than 1024 bits RSA without hashing | CO |
| Key Generation | Generating key pair | RSA using RSA_generate_key_ex ECDSA using EC_KEY_generate_key | CO |
| Shared Secret Computation | Calculating shared secret | Curve secp256k1 Diffie Hellman | CO |
| Key Derivation | Deriving TLS keys | TLS KDF using any SHA algorithms other than SHA2- 256, SHA2-384, SHA2-512; or TLS KDF using non- extended master secret | CO |
| Key Encapsulation | Encrypting a key | RSA | CO |
| Key Un- encapsulation | Decrypting a key | RSA | CO |
int after = FIPS_service_indicator_after_call(); • STEP 4: Return value 1 indicates approved service was invoked. int ret = FIPS_service_indicator_check_approved(before, after); Alternatively, all the above steps can be done by using a single call using the function CALL_SERVICE_AND_CHECK_APPROVED(approved, func).
Table 13: Non-Approved Services
The module does not support loading of external software or firmware.
The integrity of the module is verified by comparing a HMAC value calculated at run time on the bcm.o file, with the HMAC-SHA2-256 value stored within the module that was computed at build time.
The module provides on-demand integrity test. The integrity test can be performed on demand by reloading the module. Additionally, the integrity test can be performed using the On-Demand Integrity Test service, which calls the BORINGSSL_integrity_test function.
Type of Operational Environment: Modifiable How Requirements are Satisfied: The module should be compiled and installed as stated in section 11. The user should confirm that the module is installed correctly by following steps 4 and 5 listed in section 11.
Instrumentation tools like the ptrace system call, gdb and strace, userspace live patching, as well as other tracing mechanisms offered by the Linux environment such as ftrace or systemtap, shall not be used in the operational environment. The use of any of these tools implies that the cryptographic module is running in a non-validated operational environment.
Temp/Voltage Type LowTemperature HighTemperature LowVoltage HighVoltage
Temperature or Voltage
EFP or EFT
Result
Temperature Type LowTemperature HighTemperature
Temperature
N/A for this module. The module is comprised of software only and therefore this section is not applicable.
Table 14: EFP/EFT Information
Table 15: Hardness Testing Temperatures
The module claims no non-invasive security techniques.
| Storage Area Name | Description | Persistence Type |
|---|---|---|
| RAM | Temporary storage for SSPs used by the module as part of service execution. The module does not perform persistent storage of SSPs | Dynamic |
Name API input parameters API output parameters
From Operator calling application (TOEPP) Cryptographic module
To Cryptographic module Operator calling application (TOEPP)
Format Type Plaintext Plaintext
Distribution Type Manual Manual
Entry Type Electronic Electronic
SFI or Algorithm
| Zeroization Method | Description | Rationale | Operator Initiation |
|---|---|---|---|
| Free Cipher Handle | Zeroizes the SSPs contained within the cipher handle. | Memory occupied by SSPs is overwritten with zeroes, which renders the SSP values irretrievable. | By calling the appropriate zeroization functions: OpenSSL_cleanse, EVP_CIPHER_CTX_cleanup, EVP_AEAD_CTX_zero, HMAC_CTX_cleanup, CTR_DRBG_clear, RSA_free, EC_KEY_free |
| Module Reset | De-allocates the volatile memory used to store SSPs | Volatile memory used by the module is overwritten within nanoseconds when power is removed. | By unloading and reloading the module. |
| Automatically | Automatically zeroized when no longer needed | Memory occupied by SSPs is overwritten with zeros, which renders the SSP values irretrievable. | N/A |
Table 16: Storage Areas Table 17: SSP Input-Output Methods operational environment. The SSPs are provided to the module via API input parameters in the calling application running on the same operational environment. Table 18: SSP Zeroization Methods
Name AES Key HMAC Key Entropy Input DRBG Seed DRBG Internal State (V, Key) RSA Public Key RSA Private Key
Description AES key used for encryption, decryption, and computing MAC tags HMAC key for Message Authenticatio n Generation Entropy input used to seed the DRBGs DRBG seed derived from entropy input as defined in SP 800-90Ar1 Internal state of CTR_DRBG RSA public key used for RSA key generation, signature verification RSA private key used for RSA key generation, signature generation
Size - Strengt h 128-256 bits - 128-256 bits 112- 524288 bits - 112-256 bits 256 bits - 256 bits 256 bits - 256 bits 256 bits - 256 bits 1024, 2048, 3072, 4096 bits - 80-150 bits 2048, 3072, 4096 bits - 112-150 bits
Type - Category Symmetric key - CSP Authenticatio n key - CSP Entropy - CSP DRBG seed - CSP Internal state - CSP Public key - PSP Private key - CSP
Generate d By Random Number Generation with DRBG Random Number Generation with DRBG Key Generation with RSA Key Generation with RSA
Establishe d By
Used By Key Wrapping/Unwrappin g with AES KW, AES- KWP Key Wrapping/Unwrappin g with AES GCM Key Wrapping/Unwrappin g with AES CCM Encryption/Decryptio n with AES Message Authentication Generation with AES Authenticated Encryption/Decryptio n with AES CCM Authenticated Encryption/Decryptio n with AES GCM Message Authentication Generation with HMAC Random Number Generation with DRBG Random Number Generation with DRBG Random Number Generation with DRBG Key Generation with RSA Signature Verification with RSA Signature Generation with RSA Key Generation with RSA
Name EC Public Key EC Private Key Shared Secret TLS Pre- Master Secret TLS Master Secret TLS Derived Key (AES/HMAC) KDA Derived Key
Description EC public key used for EC key generation, key verification, signature verification, shared secret computation EC private key used for EC key generation, key verification, signature generation, shared secret computation Shared Secret generated by KAS-ECC-SSC TLS Pre- Master secret used for deriving the TLS Master Secret TLS Master secret used for deriving the TLS Derived Key TLS Derived Key from TLS Master Secret KDA HKDF derived key
Size - Strengt h P-224, P- 256, P- 384, P- 521 - 112-256 bits P-224, P- 256, P- 384, P- 521 - 112-256 bits P-224, P- 256, P- 384, P- 521 - 112-256 bits 112-256 bits - N/A 384 bits - N/A AES: 128- 256 bits HMAC: 112 to 256 bits - AES: 128-256 bits HMAC: 112 to 256 bits 112 to 256 bits - N/A
Type - Category Public key - PSP Private key - CSP Shard secret - CSP TLS pre- master secret - CSP TLS master secret - CSP Symmetric key - CSP Symmetric key - CSP
Generate d By Key Generation with ECDSA Key Generation with ECDSA Key Derivation with TLS KDF Key Derivation with KDA HKDF Key Derivation with TLS KDF Key Derivation with KDA HKDF
Establishe d By Shared Secret Computation with EC Diffie- Hellman
Used By Shared Secret Computation with EC Diffie-Hellman Key Generation with ECDSA Signature Verification with ECDSA Shared Secret Computation with EC Diffie-Hellman Signature Generation with ECDSA Key Generation with ECDSA Key Derivation with TLS KDF Key Derivation with SSH KDF Key Derivation with KDA HKDF Key Derivation with TLS KDF Key Derivation with KDA HKDF Key Derivation with TLS KDF Key Derivation with KDA HKDF Key Derivation with TLS KDF Key Derivation with KDA HKDF
Name SSH Derived Key PBKDF Derived Key Password Intermediat e Key Generation Value
Description SSH KDF derived key PBKDF derived key Password for PBKDF Intermediate key generation value
Size - Strengt h 112 to 256 bits - N/A 112 to 256 bits - N/A 112- 524288 bits - N/A 224-4096 bits - 112-256 bits
Type - Category Symmetric key - CSP Symmetric key - CSP Password - CSP Intermediate value - CSP
Generate d By Key Derivation with SSH KDF Key Derivation with PBKDF Key Generation with RSA Key Generation with ECDSA
Establishe d By
Used By Key Derivation with SSH KDF Key Derivation with PBKDF Key Derivation with PBKDF Key Generation with ECDSA Key Generation with RSA
| Name AES Key HMAC Key | Input - Output API input parameters API output parameters API input parameters API output parameters | Storage RAM:Plaintext RAM:Plaintext | Storage Duration From service invocation to service completion From service invocation to service completion | Zeroization Free Cipher Handle Module Reset Free Cipher Handle Module Reset | Related SSPs |
|---|---|---|---|---|---|
| Entropy Input | API input parameters | RAM:Plaintext | from service invocation to service completion | Automatically | DRBG Seed:Generation Of |
| DRBG Seed | RAM:Plaintext | from service invocation to service completion | Automatically | Entropy Input:Derived From | |
| DRBG Internal State (V, Key) | from service invocation to service completion | Automatically | DRBG Seed:Derived From | ||
| RSA Public Key | API input parameters API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | RSA Private Key:Paired With |
| RSA Private Key | API input parameters API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | RSA Public Key :Paired With |
| EC Public Key | API input parameters | RAM:Plaintext | from service invocation to | Free Cipher Handle Module Reset | EC Private Key:Paired With |
| Name | Input - Output API output parameters | Storage | Storage Duration service completion | Zeroization | Related SSPs Shared Secret:Generation Of |
|---|---|---|---|---|---|
| EC Private Key | API input parameters API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | EC Public Key:Paired With Shared Secret:Generation Of |
| Shared Secret | API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | EC Public Key:Derived From EC Private Key:Derived From |
| TLS Pre-Master Secret | API input parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | TLS Master Secret :Derivation Of |
| TLS Master Secret | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | TLS Pre-Master Secret:Derived From | |
| TLS Derived Key (AES/HMAC) | API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | TLS Master Secret :Derived From |
| KDA Derived Key | API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | Shared Secret:Derived From |
| SSH Derived Key | API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | Shared Secret:Derived From |
| PBKDF Derived Key | API output parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | Password:Derived From |
| Password | API input parameters | RAM:Plaintext | from service invocation to service completion | Free Cipher Handle Module Reset | Derived Key:Derivation Of |
| Intermediate Key Generation Value | from service invocation to service completion | Automatically | RSA Public Key :Generation Of RSA Private Key:Generation Of EC Public Key:Generation Of EC Private Key:Generation Of |
The SHA-1 algorithm as implemented by the module will be non-approved for all purposes, starting January 1, 2030.
| Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details |
|---|---|---|---|---|---|
| HMAC-SHA2-256 (A4509) | SHA2-256 | Message Authentication | SW/FW Integrity | Module becomes operational | Integrity test for bcm.o |
| Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | Conditions |
|---|---|---|---|---|---|---|
| AES-CBC (A4513) | 128-bit AES key | Encrypt KAT | CAST | Module is operational | Encrypt | Power up |
| AES-CBC (A4510) | 128-bit AES key | Decrypt KAT | CAST | Module is operational | Decrypt | Power up |
| AES-GCM (A4511) | 128-bit AES key | Encrypt KAT | CAST | Module is operational | Encrypt | Power up |
| AES-GCM (A4511) | 128-bit AES key | Decrypt KAT | CAST | Module is operational | Decrypt | Power up |
| SHA-1 (A4509) | N/A | SHA-1 KAT | CAST | Module is operational | Message digest | Power up |
| SHA2-256 (A4509) | N/A | SHA2-256 KAT | CAST | Module is operational | Message digest | Power up |
| SHA2-512 (A4509) | N/A | SHA2-512 KAT | CAST | Module is operational | Message digest | Power up |
| HMAC-SHA2- 256 (A4509) | SHA2-256 | HMAC KAT | CAST | Module is operational | Message authentication | Power up |
| Counter DRBG (A4513) | AES 256 | CTR_DRBG KAT | CAST | Module is operational | Seed Generation | Power up |
| Counter DRBG (A4513) | N/A | SP800-90Ar1 Section 11.3 Health Test | CAST | Module is operational | Seed Generation | Power up |
| ECDSA SigGen (FIPS186-5) (A4509) | P-256 Curve and SHA2-256 | Sign KAT | CAST | Module is operational | Sign | Signature Generation or Key Generation service request |
Table 21: Pre-Operational Self-Tests The module performs the pre-operational self-test automatically when the module is loaded into memory; the pre-operational self-test is the software integrity test that ensures that the module is not corrupted. While the module is executing the pre-operational self-test, services are not available, and input and output are inhibited. The software integrity test is performed after a set of conditional cryptographic algorithm self-tests (CASTs). The set of CASTs executed before the software integrity test consists of HMAC-SHA2-256 KAT, which is used in the pre-operational self-test, and the SHA2-256 KAT.
| Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | Conditions |
|---|---|---|---|---|---|---|
| ECDSA SigVer (FIPS186-4) (A4509) | P-256 Curve and SHA2-256 | Verify KAT | CAST | Module is operational | Verify | Signature verification or Key Generation service request |
| KAS-ECC-SSC Sp800-56Ar3 (A4509) | P-256 Curve | Z computation | CAST | Module is operational | Shared secret computation | Shared secret computation request |
| ECDSA KeyGen (FIPS186-5) (A4509) | Respective Curve and SHA2-256 | Signature generation and verification | PCT | Module is operational | Sign and Verify | Key generation |
| KDF TLS (A4509) | SHA2-256 | TLS 1.2 KAT | CAST | Module is operational | Key derivation | Power up |
| KDA HKDF Sp800-56Cr1 (A4509) | HMAC-SHA2- 256 | KDA HKDF KAT | CAST | Module is operational | Key derivation | Power up |
| PBKDF (A4509) | HMAC-SHA2- 256 | PBKDF2 KAT | CAST | Module is operational | Key derivation | Power up |
| RSA SigGen (FIPS186-5) (A4509) | PKCS#1 v1.5 with 2048 bit key and SHA2- 256 | Sign KAT | CAST | Module is operational | Sign | Signature Generation or Key Generation service request |
| RSA SigVer (FIPS186-4) (A4509) | PKCS#1 v1.5 with 2048 bit key and SHA2- 256 | Verify KAT | CAST | Module is operational | Verify | Signature Verification or Key Generation service request |
| RSA KeyGen (FIPS186-5) (A4509) | SHA2-256 and respective keys | Signature generation and verification | PCT | Module is operational | Sign and Verify | Key generation |
Table 22: Conditional Self-Tests Conditional Cryptographic Algorithm Tests The module performs self-tests on approved cryptographic algorithms, using the tests shown in Table 22. Data output through the data output interface is inhibited during the selftests. The CASTs are performed in the form of Known Answer Tests (KATs), in which the calculated output is compared with the expected known answer (that are hard-coded in the module). A failed match causes a failure of the self-test. If any of these self-tests fails, the module transitions to error state. Conditional Pair-Wise Consistency Tests pairwise consistency test (PCT) using sign and verify functions when the keys are generated (Table 22). If any of these self-tests fails, the module transitions to error state and is aborted.
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method |
|---|---|---|---|---|
| HMAC-SHA2-256 (A4509) | Message Authentication | SW/FW Integrity | On demand | Manually |
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method |
|---|---|---|---|---|
| AES-CBC (A4513) | Encrypt KAT | CAST | On demand | Manually |
| AES-CBC (A4510) | Decrypt KAT | CAST | On demand | Manually |
| AES-GCM (A4511) | Encrypt KAT | CAST | On demand | Manually |
| AES-GCM (A4511) | Decrypt KAT | CAST | On demand | Manually |
| SHA-1 (A4509) | SHA-1 KAT | CAST | On demand | Manually |
| SHA2-256 (A4509) | SHA2-256 KAT | CAST | On demand | Manually |
| SHA2-512 (A4509) | SHA2-512 KAT | CAST | On demand | Manually |
| HMAC-SHA2-256 (A4509) | HMAC KAT | CAST | On demand | Manually |
| Counter DRBG (A4513) | CTR_DRBG KAT | CAST | On demand | Manually |
| Counter DRBG (A4513) | SP800-90Ar1 Section 11.3 Health Test | CAST | On demand | Manually |
| ECDSA SigGen (FIPS186-5) (A4509) | Sign KAT | CAST | On demand | Manually |
| ECDSA SigVer (FIPS186-4) (A4509) | Verify KAT | CAST | On demand | Manually |
| KAS-ECC-SSC Sp800-56Ar3 (A4509) | Z computation | CAST | On demand | Manually |
| ECDSA KeyGen (FIPS186-5) (A4509) | Signature generation and verification | PCT | On demand | Manually |
| KDF TLS (A4509) | TLS 1.2 KAT | CAST | On demand | Manually |
| KDA HKDF Sp800- 56Cr1 (A4509) | KDA HKDF KAT | CAST | On demand | Manually |
| PBKDF (A4509) | PBKDF2 KAT | CAST | On demand | Manually |
| RSA SigGen (FIPS186-5) (A4509) | Sign KAT | CAST | On demand | Manually |
| RSA SigVer (FIPS186-4) (A4509) | Verify KAT | CAST | On demand | Manually |
| RSA KeyGen (FIPS186-5) (A4509) | Signature generation and verification | PCT | On demand | Manually |
Table 23: Pre-Operational Periodic Information Table 24: Conditional Periodic Information The module does not support periodic self-tests.
| Name | Description | Conditions | Recovery Method | Indicator |
|---|---|---|---|---|
| Error | The library is aborted with SIGABRT signal. Module is no longer operational the data output interface is inhibited | Pre- operational test failure | Module reset | Error message is output on the stderr and then the module is aborted. |
| PCT Error | The library is aborted with SIGABRT signal. Module is no longer operational the data output interface is inhibited | Conditional test failure | Module reset | For CAST failure, an error message is output on the stderr and then the module is aborted. For PCT failure, an error message is output in the error queue and then the module generates new key, If the PCT still does not pass, eventually the module will be aborted after 5 tries. |
Table 25: Error States If the module fails any of the self-tests, the module enters an error state. To recover from any error state, the module must be rebooted.
The software integrity tests and the CASTs for AES, SHS, DRBG, HMAC, KAS-ECC-SSC, TLS KDF, KDA HKDF, PBKDF2 can be invoked by unloading and subsequently re-initializing the module. The CASTs for ECDSA and RSA can be invoked by requesting the corresponding Key Generation or Digital Signature services. Additionally, all the CASTs can be invoked by calling the BORINGSSL_self_test function. The PCTs can be invoked on demand by requesting the Key Generation service.
The module bcm.o is embedded into the usersapce application which can be obtained by building the source code at the following location [1]. The set of files specified in the archive constitutes the complete set of source files of the validated module. There shall be no additions, deletions, or alterations of this set as used during module build. [1] https://github.com/aws/aws-lc/archive/refs/tags/AWS-LC-FIPS-2.0.0.zip The downloaded zip file can be verified by issuing the “sha256sum AWS-LC-FIPS-2.0.0.zip” command. The expected SHA2-256 digest value is: 6241EC2F13A5F80224EE9CD8592ED66A97D426481066FEAA4EFC6F24E60BBC96 After the zip file is extracted, the instructions listed below will compile the module. The compilation instructions must be executed separately on platforms that have different processors and/or operating systems. Due to six possible combinations of OS/processor, the module count is six (i.e., there are six separate binaries generated, one for each entry listed in the Tested Operational Environments table). Amazon Linux 2 and Amazon Linux 2023: 1. s u d o y u m g r o u p i n s t a l l " De v e l o p me n t To o l s "
3 . c d a ws - l c - f i p s - 2 0 2 2 - 1 1 - 0 2 /
6 . c ma k e 3 - DFI PS=1 . .
Ubuntu 22.04: 1. s udo a pt - ge t i ns t a l l bui l d- e s s e nt i a l
2 . s u d o a p t - g e t i n s t a l l c ma k e
3 . Ge t l a t e s t Go l a n g a r c h i v e f o r y o u r a r c h i t e c t u r e
4. s udo t a r - C / us r / l oc a l - xz f go*. t a r . gz
5 . c d a ws - l c - f i p s - 2 0 2 2 - 1 1 - 0 2 /
8 . c ma k e - DFI PS=1 - DGO_ EXECUTABLE=/ u s r / l o c a l / g o / b i n / g o . .
Upon completion of the build process, the module’s status can be verified by the command below. If the value obtained is “1” then the module has been installed and configured to operate in FIPS compliant manner. . / t ool / bs s l i s f i ps
Lastly, the user can call the “show version” service using awslc_version_string function and the expected output is “AWS-LC FIPS 2.0.0” which is the module version. This will confirm that the module is in the operational mode. Additionally, the “AWS-LC FIPS” also acts as the module identifier and the verification of the "static" part can be done using following command with an application that was used for static linking. The "T" in the output confirms that the module is statically linked. Command: nm <application_name> | grep awslc_version_string Example Output: 0000000000a5bdff T awslc_version_string
When the module is at end of life, for the GitHub repo, the README will be modified to mark the library as deprecated. After a 6-month window, more restrictive branch permissions will be added such that only administrators can read from the FIPS branch. The module does not possess persistent storage of SSPs. The SSP value only exists in volatile memory and that value vanishes when the module is powered off. So as a first step for the secure sanitization, the module needs to be powered off. Then for actual deprecation, the module will be upgraded to newer version that is approved. This upgrade process will uninstall/remove the old/terminated module and provide a new replacement.
RSA is vulnerable to timing attacks. In a setup where attackers can measure the time of RSA decryption or signature operations, blinding must be used to protect the RSA operation from that attack. The module provides the mechanism to use the blinding for RSA. When the blinding is on, the module generates a random value to form a blinding factor in the RSA key before the RSA key is used in the RSA cryptographic operations.