| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Software |
| Embodiment | Multi-Chip Stand Alone |
| Status | Active |
| Sunset date | 8/8/2029 |
| Caveat | Interim validation. When operated in the approved mode. When installed, initialized and configured as specified in sections 11.1 and 11.2 of the Security Policy |
| Vendor | IBM Corporation |
flowchart LR
%% Deterministic review-risk graph for IBM® Crypto for C
%% 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>update</i>"]
C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Status Output<br/>Self-test</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 IBM® Crypto for C
%% 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>update</i><br/>src: text:keyword"]
C3["[low] Self-test / status surface (referenced in text)<br/><i>Status Output<br/>Self-test</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;IBM® Crypto for C version 8.8.1.0 Document version: 1.1 Last update: 2024-07-18 Prepared by: atsec information security corporation
4516 Seton Center Parkway, Suite 250
Austin, TX 78759 www.atsec.com © 2024 IBM® Corporation / atsec information security
| # | Section | Page |
|---|
| Item | Page |
|---|---|
| Table 1 - Security Levels | 4 |
| Table 2 - Tested Operational Environments | 5 |
| Table 3 - Approved Algorithms | 15 |
| Table 4 - Non-Approved Not Allowed in the Approved Mode of Operation | 16 |
| Table 5 - Ports and Interfaces | 18 |
| Table 6 – Roles and Services | 20 |
| Table 7 - Approved Services | 23 |
| Table 8 - Non-Approved Services | 24 |
| Table 9 – SSPs | 33 |
| Table 10 - Non-Deterministic Random Number Generation Specification | 34 |
| Table 11 - Cryptographic Algorithm Self-Tests | 37 |
| ISO/IEC 24759 Section 6. [Number Below] | FIPS 140-3 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 | Not Applicable |
| 8 | Non-invasive Security | Not Applicable |
| 9 | Sensitive Security Parameter Management | 1 |
| 10 | Self-tests | 1 |
| 11 | Life-cycle Assurance | 1 |
| 12 | Mitigation of Other Attacks | Not Applicable |
This document is a non-proprietary FIPS 140-3 Security Policy for the IBM® Crypto for C (ICC) cryptographic module. It contains a specification of the 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 a security level 1 multi-chip standalone The table below shows the security level claimed for each of the twelve sections that comprise the FIPS 140-3 standard. Table 1 - Security Levels © 2024 IBM® Corporation. / atsec information security.
4 of 47
| # | Operating System | Hardware Platform | Processor | Acceleration |
|---|---|---|---|---|
| 1 | Red Hat Linux Enterprise Server 8.4 64-bit (Little Endian) | Lenovo ThinkSystem SR630 | Intel® Xeon® Gold 5217 | AES-NI |
| 2 | Microsoft Windows Server 2019 64-bit | Lenovo ThinkSystem SR630 | Intel® Xeon® Gold 5217 | AES-NI |
| 3 | Red Hat Linux Enterprise Server 8.4 64-bit (Little Endian) on IBM PowerVM 3.1 | IBM Power System S914 (9009-41A) | IBM POWER9 | Power ISA |
| 4 | Red Hat Linux Enterprise Server 7.9 64-bit (Big Endian) on IBM PowerVM 3.1 | IBM Power System S914 (9009-41A) | IBM POWER9 | Power ISA |
| 5 | IBM AIX 7.2 64-bit (Big Endian) running on IBM PowerVM 3.1 | IBM Power System S914 (9009-41A) | IBM POWER9 | Power ISA |
| 6 | zLinux Red Hat Linux Enterprise Server 8.6 64-bit (Big Endian) on IBM z/VM 7.2 | IBM z/15 (8561 T01) | IBM z15 | CPACF |
| 7 | IBM z/OS 2.3 running on IBM z/VM 7.2 | IBM z/15 (8561 T01) | IBM z15 | CPACF |
The IBM® Crypto for C cryptographic module is implemented in the C programming language. It is packaged as a dynamic (shared) library usable by applications written in a language that supports C language linking conventions (e.g., C, C++, Java, Assembler, etc.) for use on commercially available operating systems. The ICC allows these applications to access cryptographic functions using an Application Programming Interface (API) provided through an ICC import library and based on the API defined by the OpenSSL group. The software provided to the customer consists of:
5 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| With PAA and PAI: | AES | AES-CBC | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| Without PAA and PAI: | AES | AES-CBC | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| With PAA and PAI: | AES | AES-CCM | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38C] | security strength | |||
| Without PAA and PAI: | AES | AES-CCM | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38C] | security strength | |||
| With PAA and PAI: | AES | AES-CFB1 | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| Without PAA and PAI: | AES | AES-CFB1 | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| With PAA and PAI: | AES | AES-CFB128 | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| Without PAA and PAI: | AES | AES-CFB128 | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| With PAA and PAI: | AES | AES-CFB8 | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| Without PAA and PAI: | AES | AES-CFB8 | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength |
• the module does not require modification to run in the new environment. 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 table below lists all approved algorithms of the module, including specific key strengths employed for approved services, and implemented modes of operation. Each algorithm specifies the CAVP certificate for each of the implementations (whether the module was set or unset to take advantage of the processor algorithm acceleration (PAA) or processor algorithm implementation (PAI) capabilities). The selection of the implementations with and without acceleration can be done using the ICC_CAPABILITY_MASK environment variable. © 2024 IBM® Corporation. / atsec information security.
6 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| With PAA and PAI: | AES | AES-CMAC | 128, 192 and 256 bits with | Message |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | authentication code | |
| [SP800-38B] | security strength | generation; Message authentication code verification | ||
| Without PAA and PAI: | AES | AES-CMAC | 128, 192 and 256 bits with | Message |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | authentication code | |
| [SP800-38B] | security strength | generation; Message authentication code verification | ||
| With PAA and PAI: | AES | AES-CTR | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| Without PAA and PAI: | AES | AES-CTR | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| With PAA and PAI: | AES | AES-ECB | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| Without PAA and PAI: | AES | AES-ECB | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| With PAA and PAI: | AES | AES-GCM | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38D] | security strength | |||
| Without PAA and PAI: | AES | AES-GCM | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38D] | security strength | |||
| With PAA and PAI: | AES | AES-OFB | 128, 192 and 256 bits with | Symmetric encryption; |
| A2619 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| Without PAA and PAI: | AES | AES-OFB | 128, 192 and 256 bits with | Symmetric encryption; |
| A2620 | [FIPS197] | 128, 192 and 256 bits of | Symmetric decryption | |
| [SP800-38A] | security strength | |||
| With PAA and PAI: | AES | AES-XTS | 128 and 256 bits with 128 | Symmetric encryption; |
| A2619 | [FIPS197] | and 256 bits of security | Symmetric decryption | |
| [SP800-38E] | strength | |||
| Without PAA and PAI: | AES | AES-XTS | 128 and 256 bits with 128 | Symmetric encryption; |
| A2620 | [FIPS197] | and 256 bits of security | Symmetric decryption | |
| [SP800-38E] | strength | |||
| Vendor Affirmed | CKG | RSA key generation | 2048, 3072 and 4096-bit | Key pair generation |
| [SP800-133rev2] | [FIPS-186-4] | keys with 112-149 bits of security strength | ||
| ECDSA key generation | P-224, P-256, P-384, P- 521 | |||
| [FIPS-186-4] | keys with 112-256 bits of security strength |
© 2024 IBM® Corporation. / atsec information security.
7 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method Safe prime key generation [SP800-56Arev3] | Description / Key Size(s) / Key Strength(s) 2048, 3072, 4096, 6144, 8192-bit keys with 112-200 bits of security strength | Use / Function |
|---|---|---|---|---|
| With PAA and PAI: | CTR_DRBG | AES-128, AES-192, AES-256 | 128, 192, 256-bit keys with | Random number |
| A2619 | [SP800-90Arev1] | with/without PR | 128, 192 and 256 bits of | generation |
| with DF | security strength | |||
| Without PAA and PAI: | CTR_DRBG | AES-128, AES-192, AES-256 | 128, 192, 256-bit keys with | Random number |
| A2620 | [SP800-90Arev1] | with/without PR | 128, 192 and 256 bits of | generation |
| with DF | security strength | |||
| With PAA and PAI: | DSA | Signature Verification | L=2048, N=224; | Digital signature |
| A2619 | [FIPS186-4] | using | L=2048, N=256; | verification |
| SHA2-224 for N=224, | L=3072, N=256; | |||
| SHA2-256 for N=256 | with 112 and 128 bits of security strength | |||
| Without PAA and PAI: | DSA | Signature Verification | L=2048, N=224; | Digital signature |
| A2620 | [FIPS186-4] | using | L=2048, N=256; | verification |
| SHA2-224 for N=224, | L=3072, N=256; | |||
| SHA2-256 for N=256 | with 112 and 128 bits of security strength |
© 2024 IBM® Corporation. / atsec information security.
8 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| With PAA and PAI: | ECDSA | ECDSA KeyGen (B.4.2 Testing Candidates) | P-224, P-256, P-384, P-521, | Key pair generation |
| A2619 | [FIPS 186-4] | K-233, K-283, K-409, K-571, B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength | ||
| Without PAA and PAI: | ECDSA | ECDSA KeyGen (B.4.2 Testing Candidates) | P-224, P-256, P-384, P-521, | Key pair generation |
| A2620 | [FIPS 186-4] | K-233, K-283, K-409, K-571, B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength |
© 2024 IBM® Corporation. / atsec information security.
9 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| With PAA and PAI: | ECDSA | Public Key Validation (PKV) | P-224, P-256, P-384, P-521, | Key pair validation |
| A2619 | [FIPS 186-4] | K-233, K-283, K-409, K-571, B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength | ||
| Without PAA and PAI: | ECDSA | Public Key Validation (PKV) | P-224, P-256, P-384, P-521, | Key pair validation |
| A2620 | [FIPS 186-4] | K-233, K-283, K-409, K-571, B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength | ||
| With PAA and PAI: | ECDSA | ECDSA SigGen using | P-224, P-256, P-384, P-521, | Digital signature |
| A2619 | [FIPS 186-4] | SHA2-224, SHA2-256, | K-233, K-283, K-409, K-571, | generation |
| SHA2-384, SHA2-512 | B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength | |||
| Without PAA and PAI: | ECDSA | ECDSA SigGen using | P-224, P-256, P-384, P-521, | Digital signature |
| A2620 | [FIPS 186-4] | SHA2-224, SHA2-256, | K-233, K-283, K-409, K-571, | generation |
| SHA2-384, SHA2-512 | B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength | |||
| With PAA and PAI: | ECDSA | ECDSA SigVer using | P-224, P-256, P-384, P-521, | Digital signature |
| A2619 | [FIPS 186-4] | SHA2-224, SHA2-256, | K-233, K-283, K-409, K-571, | verification |
| SHA2-384, SHA2-512 | B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength | |||
| Without PAA and PAI: | ECDSA | ECDSA SigVer using | P-224, P-256, P-384, P-521, | Digital signature |
| A2620 | [FIPS 186-4] | SHA2-224, SHA2-256, | K-233, K-283, K-409, K-571, | verification |
| SHA2-384, SHA2-512 | B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength | |||
| N/A | ENT (NP) | ENT (NP) | N/A | Random number |
| SP800-90B | generation | |||
| With PAA and PAI: | Hash_DRBG | SHA2-224, SHA2-256, | N/A | Random number |
| A2619 | [SP800-90Arev1] | SHA2-384, SHA2-512 with/without PR | generation | |
| Without PAA and PAI: | Hash_DRBG | SHA2-224, SHA2-256, | N/A | Random number |
| A2620 | [SP800-90Arev1] | SHA2-384, SHA2-512 with/without PR | generation |
© 2024 IBM® Corporation. / atsec information security.
10 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| With PAA and PAI: | HMAC | SHA2-224 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| Without PAA and PAI: | HMAC | SHA2-224 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC | SHA2-256 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| Without PAA and PAI: | HMAC | SHA2-256 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC | SHA2-384 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| Without PAA and PAI: | HMAC | SHA2-384 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC | SHA2-512 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| Without PAA and PAI: | HMAC | SHA2-512 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC | SHA3-224 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| Without PAA and PAI: | HMAC | SHA3-224 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC | SHA3-256 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification |
© 2024 IBM® Corporation. / atsec information security.
11 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| Without PAA and PAI: | HMAC | SHA3-256 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC | SHA3-384 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| Without PAA and PAI: | HMAC | SHA3-384 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC | SHA3-512 | Keys of 112 bits or greater | Message |
| A2619 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| Without PAA and PAI: | HMAC | SHA3-512 | Keys of 112 bits or greater | Message |
| A2620 | [FIPS 198-1] | with 112-256 bits of | authentication code | |
| security strength | generation; Message authentication code verification | |||
| With PAA and PAI: | HMAC_DRBG | SHA2-224, SHA2-256, | N/A | Random number |
| A2619 | [SP800-90Arev1] | SHA2-384, SHA2-512 with/without PR | generation | |
| Without PAA and PAI: | HMAC_DRBG | SHA2-224, SHA2-256, | N/A | Random number |
| A2620 | [SP800-90Arev1] | SHA2-384, SHA2-512 with/without PR | generation | |
| With PAA and PAI: | KAS-ECC-SSC | Scheme: Ephemeral Unified | Curves: P-224, P-256, | Shared secret |
| A2619 | [SP800-56Arev3] | KAS Role: initiator, | P-384, P-521 with 112, 128, | computation |
| responder | 192 and 256 bits of security strength | |||
| Without PAA and PAI: | KAS-ECC-SSC | Scheme: Ephemeral Unified | Curves: P-224, P-256, | Shared secret |
| A2620 | [SP800-56Arev3] | KAS Role: initiator, | P-384, P-521 with 112, 128, | computation |
| responder | 192 and 256 bits of security strength | |||
| With PAA and PAI: | KAS-FFC-SSC | Scheme: dhEphem | MODP-2048, MODP- 3072, | Shared secret |
| A2619 | [SP800-56Arev3] | KAS Role: initiator, | MODP-4096, MODP-6144, | computation |
| responder | MODP-8192, FFDHE-2048, FFDHE-3072, FFDHE-4096, FFDHE-6144, FFDHE-8192 with 112-200 bits of security strength | |||
| Without PAA and PAI: | KAS-FFC-SSC | Scheme: dhEphem | MODP-2048, MODP- 3072, | Shared secret |
| A2620 | [SP800-56Arev3] | KAS Role: initiator, | MODP-4096, MODP-6144, | computation |
| responder | MODP-8192, FFDHE-2048, FFDHE-3072, FFDHE-4096, FFDHE-6144, FFDHE-8192 with 112-200 bits of security strength |
© 2024 IBM® Corporation. / atsec information security.
12 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| With PAA and PAI: | KDA | HKDF to support the TLS | Keys of 112 bits or greater | Key derivation |
| A2619 | [SP800-56Crev1] | 1.3 PRF | with 112-256 bits of | |
| [RFC 5869] | SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512 | security strength | ||
| Without PAA and PAI: | KDA | HKDF to support the TLS | Keys of 112 bits or greater | Key derivation |
| A2620 | [SP800-56Crev1] | 1.3 PRF | with 112-256 bits of | |
| [RFC 5869] | SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512 | security strength | ||
| With PAA and PAI: | KTS | AES-KW | 128, 192 and 256 bits with | Key wrapping; Key |
| A2619 | [SP800-38F] | 112, 192 and 256 bits of security strength | unwrapping | |
| Without PAA and PAI: | KTS | AES-KW | 128, 192 and 256 bits with | Key wrapping; Key |
| A2620 | [SP800-38F] | 112, 192 and 256 bits of security strength | unwrapping | |
| With PAA and PAI: | KTS | AES-KWP | 128, 192 and 256 bits with | Key wrapping; Key |
| A2619 | [SP800-38F] | 112, 192 and 256 bits of security strength | unwrapping | |
| Without PAA and PAI: | KTS | AES-KWP | 128, 192 and 256 bits with | Key wrapping; Key |
| A2620 | [SP800-38F] | 112, 192 and 256 bits of security strength | unwrapping | |
| With PAA and PAI: | PBKDF | HMAC with: | N/A | Key derivation |
| A2619 | [SP800-132] | SHA2-224, SHA2-256, SHA2-384, SHA2-512 | ||
| Without PAA and PAI: | PBKDF | HMAC with: | N/A | Key derivation |
| A2620 | [SP800-132] | SHA2-224, SHA2-256, SHA2-384, SHA2-512 | ||
| With PAA and PAI: | RSA | RSA KeyGen | 2048, 3072, and 4096 bits | Asymmetric key |
| A2619 | [FIPS186-4] | (B.3.3 Random Probable | with 112, 128 and 149 bits | generation |
| Primes) | of security strength | |||
| Without PAA and PAI: | RSA | RSA KeyGen | 2048, 3072, and 4096 bits | Asymmetric key |
| A2620 | [FIPS186-4] | (B.3.3 Random Probable | with 112, 128 and 149 bits | generation |
| Primes) | of security strength | |||
| With PAA and PAI: | RSA | PKCS#1v1.5 and PSS | 2048, 3072, and 4096 bits | Digital signature |
| A2619 | [FIPS186-4] | using SHA2-224, SHA2-256, | with 112, 128 and 149 bits | generation |
| SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512 | of security strength | |||
| Without PAA and PAI: | RSA | PKCS#1v1.5 and PSS | 2048, 3072, and 4096 bits | Digital signature |
| A2620 | [FIPS186-4] | using SHA2-224, SHA2-256, | with 112, 128 and 149 bits | generation |
| SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512 | of security strength | |||
| With PAA and PAI: | RSA | PKCS#1v1.5 and PSS | 2048, 3072, and 4096 bits | Digital signature |
| A2619 | [FIPS186-4] | using SHA2-224, SHA2-256, | 112, 128 and 149 bits of | verification |
| SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512 | security strength |
© 2024 IBM® Corporation. / atsec information security.
13 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| Without PAA and PAI: | RSA | PKCS#1v1.5 and PSS | 2048, 3072, and 4096 bits | Digital signature |
| A2620 | [FIPS186-4] | using SHA2-224, SHA2-256, | 112, 128 and 149 bits of | verification |
| SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512 | security strength | |||
| With PAA and PAI: | Safe Primes Key | Section 5.6.1.1.4 Testing | MODP-2048, MODP- 3072, | Key generation |
| A2619 | Generation | Candidates | MODP-4096, MODP-6144, | |
| [SP800-56Arev3] | MODP-8192, FFDHE-2048, FFDHE-3072, FFDHE-4096, FFDHE-6144, FFDHE-8192 with 112-200 bits of security strength | |||
| Without PAA and PAI: | Safe Primes Key | Section 5.6.1.1.4 Testing | MODP-2048, MODP- 3072, | Key generation |
| A2620 | Generation | Candidates | MODP-4096, MODP-6144, MODP-8192, FFDHE-2048, FFDHE-3072, FFDHE-4096, FFDHE-6144, FFDHE-8192 with 112-200 bits of security strength | |
| With PAA and PAI: | SHA-3 | SHA3-224 | N/A | Message digest |
| A2619 | [FIPS 202] | |||
| Without PAA and PAI: | SHA-3 | SHA3-224 | N/A | Message digest |
| A2620 | [FIPS 202] | |||
| With PAA and PAI: | SHA-3 | SHA3-256 | N/A | Message digest |
| A2619 | [FIPS 202] | |||
| Without PAA and PAI: | SHA-3 | SHA3-256 | N/A | Message digest |
| A2620 | [FIPS 202] | |||
| With PAA and PAI: | SHA-3 | SHA3-384 | N/A | Message digest |
| A2619 | [FIPS 202] | |||
| Without PAA and PAI: | SHA-3 | SHA3-384 | N/A | Message digest |
| A2620 | [FIPS 202] | |||
| With PAA and PAI: | SHA-3 | SHA3-512 | N/A | Message digest |
| A2619 | [FIPS 202] | |||
| Without PAA and PAI: | SHA-3 | SHA3-512 | N/A | Message digest |
| A2620 | [FIPS 202] | |||
| With PAA and PAI: | SHS | SHA2-224 | N/A | Message digest |
| A2619 | [FIPS180-4] | |||
| Without PAA and PAI: | SHS | SHA2-224 | N/A | Message digest |
| A2620 | [FIPS180-4] | |||
| With PAA and PAI: | SHS | SHA2-256 | N/A | Message digest |
| A2619 | [FIPS180-4] | |||
| Without PAA and PAI: | SHS | SHA2-256 | N/A | Message digest |
| A2620 | [FIPS180-4] | |||
| With PAA and PAI: | SHS | SHA2-384 | N/A | Message digest |
| A2619 | [FIPS180-4] |
© 2024 IBM® Corporation. / atsec information security.
14 of 47
| CAVP Cert# | Algorithm / Standard | Mode / Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| Without PAA and PAI: | SHS | SHA2-384 | N/A | Message digest |
| A2620 | [FIPS180-4] | |||
| With PAA and PAI: | SHS | SHA2-512 | N/A | Message digest |
| A2619 | [FIPS180-4] | |||
| Without PAA and PAI: | SHS | SHA2-512 | N/A | Message digest |
| A2620 | [FIPS180-4] |
| Algorithm/Functions | Use/Function |
|---|---|
| DSA with any key sizes | Key pair generation, Domain parameter generation, Digital signature generation |
| DSA with keys generated with parameters L=512, N=160; L=1024, N=160 | Signature verification |
| ECDSA with P-192, K-163, B-163 elliptic curves | Key pair generation, Key pair validation, Digital signature generation, Digital signature verification |
| KBKDF | KBKDF key derivation |
| PBKDF with HMAC using SHA-1 | PBKDF key derivation |
| RSA with keys smaller than 2048 bits | Key generation, Digital signature generation, Digital signature verification |
| RSA encryption and decryption with any key sizes | RSA encapsulation, RSA unencapsulation |
| Diffie-Hellman with keys generated with domain parameters other than safe primes | Shared secret computation |
| EC Diffie-Hellman with P-192, K-163, B-163 elliptic curves | Shared secret computation |
| DES | Symmetric encryption, Symmetric decryption |
| Triple-DES | Symmetric encryption, Symmetric decryption |
| CAST | Symmetric encryption, Symmetric decryption |
| Camellia | Symmetric encryption, Symmetric decryption |
| Blowfish | Symmetric encryption, Symmetric decryption |
| RC2 | Symmetric encryption, Symmetric decryption |
| RC4 | Symmetric encryption, Symmetric decryption |
| MD2 | Message digest |
| MD4 | Message digest |
| MD5 | Message digest |
Table 3 - Approved Algorithms The Module contains no non-Approved but Allowed security functions, security claimed or otherwise. The table below lists Non-Approved security functions that are not Allowed in the Approved Mode of Operation. © 2024 IBM® Corporation. / atsec information security.
15 of 47
| Algorithm/Functions | Use/Function |
|---|---|
| SHA-1 | Message digest |
| HMAC-MD5 | Message authentication code generation, Message authentication code verification |
| HMAC-SHA1 | Message authentication code generation, Message authentication code verification |
| HMAC-DRBG-SHA1 | Random number generation |
| Hash-DRBG-SHA1 | Random number generation |
| MDC2 | Message digest |
| RIPEMD | Message digest |
| ChaCha20 | Symmetric encryption, Symmetric decryption |
| ChaCha20-Poly1305 | Authenticated encryption, Authenticated decryption |
Table 4 - Non-Approved Not Allowed in the Approved Mode of Operation The relationship between ICC and IBM applications is shown in the following diagram. ICC comprises a static stub linked into the IBM application which binds the API functions with the shared library containing the cryptographic functionality. (Figure 1) below depicts the following information:
16 of 47
Figure 1 - Logical Block Diagram © 2024 IBM® Corporation. / atsec information security.
17 of 47
| Logical Interface | Data that passes over port/interface |
|---|---|
| Data Input | The input data parameters of those API functions that accept, as their arguments, data to be used or processed by the module. |
| Data Output | Data output to the caller after generated or otherwise processed by the API functions. |
| Control Input | The API functions used to control the operation of the module. |
| Status Output | Defined as the API function ICC_GetStatus that provides information about the status of the module, return codes, and error messages. The function may be called once the context of the module has been obtained. |
The ICC meets the requirements of a multi-chip standalone module. Since the ICC is a software module, its interfaces are defined in terms of the API that it provides. These interfaces are described in the following table1: Note that because the module is a software only module, there are no physical ports. Table 5 - Ports and Interfaces 1The module does not implement a control output interface. © 2024 IBM® Corporation. / atsec information security.
18 of 47
| Role | Service | Input | Output |
|---|---|---|---|
| Crypto Officer | Symmetric encryption | Plaintext, key | Ciphertext |
| Crypto Officer | Symmetric decryption | Ciphertext, key | Plaintext |
| Crypto Officer | Authenticated encryption | Plaintext, key | Ciphertext, authentication tag |
| Crypto Officer | Authenticated decryption | Ciphertext, key, authentication tag | Plaintext, authentication result (true/false) |
| Crypto Officer | Key Pair Generation | Key size | Private key, Public key |
| Crypto Officer | Key Pair Validation | Private key, Public key | Validation result (true/false) |
| Crypto Officer | Signature generation | Message, hash algorithm, private key, | Signature |
| Crypto Officer | Signature verification | Message, hash algorithm, public key, signature | Verification result (true/false) |
| Crypto Officer | Key wrapping | Key wrapping key, key to be wrapped | Wrapped key |
| Crypto Officer | Key unwrapping | Key wrapping key, wrapped key | Key |
| Crypto Officer | Shared Secret Computation | Private key, public key from peer | Shared secret |
| Crypto Officer | Diffie-Hellman key generation | Domain parameters | Diffie-Hellman private key, Diffie- Hellman public key |
| Crypto Officer | Message digest generation | Message | Message digest |
| Crypto Officer | Message authentication code generation | Message, key | Message authentication code |
| Crypto Officer | Message Authentication Code verification | Message, key, message authentication code | Verification result (pass/fail) |
| Crypto Officer | PBKDF key derivation | Password/passphrase | PBKDF derived key |
| Crypto Officer | HKDF key derivation | Shared secret | HKDF derived key |
| Crypto Officer | KBKDF key derivation | Key | KBKDF derived key |
The ICC assumes the Crypto-Officer role only (there is no User or Maintenance Role). The module does not support operator identification or authentication. Only a single operator assuming the Crypto Officer role may operate the module at any particular moment in time as concurrent operation is not supported. The module provides a service indicator that specifies, for a given service, whether the service is approved or non-approved. The module provides the ICC_SetValue() function with the ICC_FIPS_CALLBACK parameter to register a callback function using the following prototype: void service_indicator_function(char *function, int nid, int status) This function is invoked by the module whenever a service is requested, providing the service name (function), the algorithm (nid), and the service indicator (status). A status value of 1 means the service is approved, 0 means non-approved. The module does not identify nor authenticate any user (in any role) that is accessing the module. The Crypto Officer role is implicitly assumed by the services that are requested. The available services are as follows: © 2024 IBM® Corporation. / atsec information security.
19 of 47
| Crypto Officer | Random number generation | Number of bits | Random numbers |
|---|---|---|---|
| Crypto Officer | DSA domain parameter generation | Key size | Domain parameters |
| Crypto Officer | DSA domain parameter verification | Domain parameters | Verification result (true/false) |
| Crypto Officer | Key encapsulation | Key to be encapsulated, key encapsulating key, | Encapsulated key |
| Crypto Officer | Key unencapsulation | Encapsulated key, key encapsulating key, | Key |
| Crypto Officer | Zeroization | Context containing SSPs | none |
| Crypto Officer | On-Demand Self-test | None | Result of self-test (pass/fail) |
| Crypto Officer | On-Demand Integrity Test | None | Result of test (pass/fail) |
| Crypto Officer | Get Status | None | Return codes and/or log messages |
| Crypto Officer | Module installation and configuration | API invocation | Operational/Error status |
| Crypto Officer | Show Version | None | Name and version information |
| Service | Description | Approved Security Functions | Keys and/or SSPs | Role | Access rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Symmetric encryption | Perform AES encryption | AES-CBC, AES-CFB1, AES-CFB128, AES- CFB8, AES-CTR, AES- ECB, AES-OFB, AES,XTS | AES key | CO | W, E | status =1 |
| Symmetric decryption | Perform AES decryption | AES-CBC, AES-CFB1, AES-CFB128, AES- CFB8, AES-CTR, AES- ECB, AES-OFB, AES,XTS | AES key | CO | W, E | status =1 |
| Authenticated encryption | Perform authenticated AES encryption | AES-CCM, AES-GCM | AES key | CO | W, E | status =1 |
Table 6 – Roles and Services The table below lists all approved services that can be used in the approved mode of operation. The abbreviations of the access rights to keys and SSPs have the following interpretation: G = Generate: The module generates or derives the SSP. R = Read: The SSP is read from the module (e.g. the SSP is output). W = Write: The SSP is updated, imported, or written to the module. E = Execute: The module uses the SSP in performing a cryptographic operation. Z = Zeroise: The module zeroises the SSP. N/A: The service does not access any SSP during its operation. © 2024 IBM® Corporation. / atsec information security.
20 of 47
| Service | Description | Approved Security Functions | Keys and/or SSPs | Role | Access rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Authenticated decryption | Perform authenticated AES decryption | AES-CCM, AES-GCM | AES key | CO | W, E | status =1 |
| DSA signature verification | Verify DSA signatures | DSA | DSA public key | CO | W, E | status =1 |
| ECDSA key pair generation | Generate ECDSA key pairs | ECDSA, DRBG | Module- generated ECDSA private key, Module- generated ECDSA public key | CO | G, R, E | status =1 |
| ECDSA key pair validation | Validate ECDSA key pairs | ECDSA, DRBG | ECDSA private key, ECDSA public key | CO | W, E | status =1 |
| ECDSA signature generation | Sign using ECDSA | ECDSA, DRBG, SHS | ECDSA private key | CO | W, E | status =1 |
| ECDSA signature verification | Verify ECDSA signatures | ECDSA, SHS | ECDSA public key | CO | W, E | status =1 |
| RSA key pair generation | Generate RSA key pairs | RSA, DRBG | Module- generated RSA private key, Module- generated RSA public key | CO | G, R, E | status =1 |
| RSA signature generation | Sign using RSA | RSA, SHS | RSA private key | CO | W, E | status =1 |
| RSA signature verification | Verify RSA signatures | RSA, SHS | RSA public key | CO | W, E | status =1 |
| Key wrapping | Perform AES-based key wrapping | AES-KW, AES-KWP | AES key | CO | W, E | status =1 |
| Key unwrapping | Perform AES-based key unwrapping | AES-KW, AES-KWP | AES key | CO | W, E | status =1 |
| Diffie-Hellman shared secret computation | Perform Diffie-Hellman shared secret computation | KAS FFC SSC | Diffie-Hellman private key | CO | W, E | status =1 |
| Diffie-Hellman public key from peer | W, E | |||||
| Diffie-Hellman Shared Secret | G, R, E | |||||
| EC Diffie-Hellman shared secret computation | Perform Elliptic Curve Diffie- Hellman shared secret computation | KAS ECC SSC | EC Diffie-Hellman private key | CO | W, E | status =1 |
| EC Diffie-Hellman public key from peer | W, E | |||||
| EC Diffie-Hellman shared secret | G, R, E |
© 2024 IBM® Corporation. / atsec information security.
21 of 47
| Service | Description | Approved Security Functions | Keys and/or SSPs | Role | Access rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Diffie-Hellman key pair generation using safe primes | Perform Diffie-Hellman key generation with safe primes | Safe Primes key generation | Module- generated Diffie- Hellman private key, Module- generated Diffie- Hellman public key | CO | G, R, E | status =1 |
| Message digest generation | Compute SHA hashes | SHA2-224, SHA2-256, SHA2-384, SHA2-512 | None | CO | N/A | status =1 |
| SHA3-224, SHA3-256, SHA3-384, SHA3-512 | None | CO | N/A | status =1 | ||
| Message authentication code (MAC) generation | Compute hash-based message authentication | SHA2-224, SHA2-256, SHA2-384, SHA2-512 SHA3-224, SHA3-256, SHA3-384, SHA3-512 | HMAC key | CO | W, E | status =1 |
| Compute AES-based message authentication | CMAC with AES | AES key | ||||
| Message authentication code (MAC) verification | Verify hash-based message authentication | SHA2-224, SHA2-256, SHA2-384, SHA2-512 SHA3-224, SHA3-256, SHA3-384, SHA3-512 | HMAC key | CO | W, E | status =1 |
| Verify AES-based hash-based message authentication | CMAC with AES | AES key | ||||
| HKDF key derivation | Key derivation for TLSv1.3 pseudorandom function (PRF) | HKDF | Diffie-Hellman shared secret or EC Diffie-Hellman shared secret | CO | W, E | status =1 |
| HKDF derived key, | G, R, E | |||||
| PBKDF key derivation | Perform password-based key derivation | PBKDF, HMAC with SHA2-224, SHA2-256, SHA2-384, SHA2-512 | PBKDF derived key | CO | G, R, E | status =1 |
| PBKDF password | W, E | |||||
| Random number generation | Generate random bitstrings | CTR_DRBG | Entropy Input | CO | W, E | status =1 |
| DRBG seed | G, E | |||||
| DRBG internal state (V, Key) | G, E | |||||
| Hash_DRBG, HMAC_DRBG | Entropy input | W, E | ||||
| DRBG seed | G, E | |||||
| DRBG internal state (V, C) | G, E | |||||
| Get status | Return module status | N/A | None | CO | N/A | status =1 |
© 2024 IBM® Corporation. / atsec information security.
22 of 47
| Service | Description | Approved Security Functions | Keys and/or SSPs | Role | Access rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Show module info | Return module name and versioning information | N/A | None | CO | N/A | status =1 |
| Self-tests | Perform pre-operational and cryptographic algorithm self- tests during power on. | AES, Diffie-Hellman, DSA, EC Diffie- Hellman, ECDSA, DRBG, HKDF, HMAC, RSA, SHS, PBKDF | None | CO | N/A | status =1 |
| On-demand self- tests | Perform cryptographic algorithm self-tests on demand. | AES, Diffie-Hellman, DSA, EC Diffie- Hellman, ECDSA, DRBG, HKDF, HMAC, RSA, SHS, PBKDF | None | CO | N/A | status =1 |
| On-demand integrity test | Perform module integrity test on demand. | RSA | None | CO | N/A | status =1 |
| Zeroization | Zeroize SSPs | N/A | All SSPs | CO | Z | status =1 |
| Module installation and configuration | Configure module for approved mode of operation | N/A | None | CO | N/A | status =1 |
| Service | Description | Algorithms Accessed | Role |
|---|---|---|---|
| Symmetric encryption | Compute the cipher for encryption | Triple-DES, Blowfish, Camellia, CAST, DES, RC2, RC4, ChaCha20 | CO |
| Symmetric decryption | Compute the plaintext for decryption | Triple-DES, Blowfish, Camellia, CAST, DES, RC2, RC4, ChaCha20 | CO |
| Authenticated encryption | Compute the cipher for encryption | ChaCha20-Poly1305 | CO |
| Authenticated decryption | Compute the plaintext for decryption | ChaCha20-Poly1305 | CO |
| DSA parameter generation | Generate DSA parameters | DSA | CO |
| DSA key generation | Generate DSA key pairs | DSA | CO |
| DSA signature generation | Sign using DSA | DSA | CO |
| DSA signature verification | Verify DSA signatures | DSA with keys generated with L=512, N=160; L=1024, N=160 | CO |
| ECDSA key pair generation | Generate ECDSA key pairs | ECDSA with P-192, K-163, B-163 curves | CO |
| ECDSA key pair validation | Validate ECDSA key pairs | ECDSA with P-192, K-163, B-163 curves | CO |
| ECDSA signature generation | Sign using ECDSA | ECDSA with P-192, K-163, B-163 curves | CO |
| ECDSA signature Verification | Verify using ECDSA | ECDSA with P-192, K-163, B-163 curves | CO |
| RSA key generation | Generate RSA key pairs | RSA with keys smaller than 2048 bits | CO |
| RSA signature generation | Sign using RSA | RSA with keys smaller than 2048 bits | CO |
Table 7 - Approved Services The following table shows the services and algorithms not allowed in the approved of operation. Requesting these services will implicitly put the module in the non-approved mode of operation. © 2024 IBM® Corporation. / atsec information security.
23 of 47
| Service | Description | Algorithms Accessed | Role |
|---|---|---|---|
| RSA signature verification | Verify RSA signatures | RSA with keys smaller than 2048 bits | CO |
| Key encapsulation | Perform RSA encapsulation | RSA encryption | CO |
| Key unencapsulation | Perform RSA unencapsulation | RSA decryption | CO |
| Diffie-Hellman shared secret computation | Shared secret computation | KAS-FFC-SSC with parameters other than safe primes | CO |
| EC Diffie-Hellman shared secret computation | Shared secret computation | KAS-ECC-SSC with P-192, K-163, B-163 curves | CO |
| Message digest | Hashing algorithms | SHA-1, MD2, MD4, MD5, MDC2, RIPEMD | CO |
| Random Number Generation | Generate random bitstrings | Hash_DRBG or HMAC_DRBG using SHA-1 | CO |
| Message authentication code (MAC) generation | Compute MAC | HMAC-MD5, HMAC-SHA-1 | CO |
| Message authentication code (MAC) verification | Verify MAC | HMAC-MD5, HMAC-SHA-1 | CO |
| Key Derivation Functions (KDF) | Key derivation | KBKDF, PBKDF with SHA-1 | CO |
Table 8 - Non-Approved Services © 2024 IBM® Corporation. / atsec information security.
24 of 47
The services provided by the Module to a User are effectively delivered using appropriate API calls. When a client process attempts to load an instance of the Module into memory, the Module runs an integrity test and the cryptographic algorithm self-tests. If all the tests pass successfully, the Module makes a transition to the "Operational" state, where the API calls can be used by the client to obtain desired cryptographic services. Otherwise, the Module enters to “Error” state and returns an error to the calling application. When the Module is in “Error” state, no services are available, and all of data input and data output except the status information are inhibited. The module uses an integrity test which uses a 2048-bit CAVP-validated RSA signature verification (PKCS#1v1.5) and SHA2-256 hashing. This RSA public key is stored inside the shared library.
Integrity tests are performed as part of the Pre-Operational Self-Tests. They are automatically executed at power-on. Integrity tests can also be requested on demand through the API function ICC_IntegrityCheck. © 2024 IBM® Corporation. / atsec information security.
25 of 47
The IBM® Crypto for C operates in a modifiable operational environment per FIPS 140-3 level 1 specifications. It is part of a commercially available general-purpose operating system executing on the hardware specified in section 2.
The following operational rules must be followed by any user of the cryptographic module: 1. Since the ICC runs on a general-purpose processor all main data paths of the computer system will contain cryptographic material. The following items need to apply relative to where the ICC will execute:
3 approved mode compliance after initial setup of the validated configuration. If the module is
removed from the above environment, it is assumed not to be operational in the validated mode until such time as it has been returned to the above environment and re-initialized by the user to the validated condition. © 2024 IBM® Corporation. / atsec information security.
26 of 47
The FIPS 140-3 physical security requirements do not apply to the IBM® Crypto for C, since it is a software module. © 2024 IBM® Corporation. / atsec information security.
27 of 47
Currently, the non-invasive security is not required by FIPS 140-3 (see NIST SP 800-140F). The requirements of this area are not applicable to the module. © 2024 IBM® Corporation. / atsec information security.
28 of 47
| Key/SSP Name /Type | Stre ngth | Security Function and Cert. Number | Generation | Import/Export | Establish ment | Stor age | Zeroisation | Use & related keys |
|---|---|---|---|---|---|---|---|---|
| AES key | 128, 192, 256 bits | AES-CBC, AES- CCM, AES- CFB1, AES- CFB128, AES- CFB8, AES- CMAC, AES- CTR, AES-GCM, AES-KW, AES- KWP, AES- OFB, AES-XTS, CTR- DRBG A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Symmetric encryption, Symmetric decryption, Authenticated encryption, Authenticated decryption, Message authenticated code (MAC) generation, Message authenticated code (MAC) verification. Related SSPs: None |
| HMAC key | 112 to 256 bits | HMAC A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A | N/A | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Message authenticated code (MAC) generation, Message authenticated code (MAC) verification. Related SSPs: None | |
| Module- generated ECDSA private key | 112, 128, 192, 256 bits | ECDSA A2619, A2620 | B.4.2 Testing Candidates Generated using the testing candidates method specified in FIPS 186-4; random values are obtained from the SP800- 90Arev1 DRBG | Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Key generation Related SSPs: Module- generated ECDSA public key |
| Module- generated ECDSA public key | 112, 128, 192, 256 bits | ECDSA A2619, A2620 | Use: Key generation Related SSPs: Module- generated ECDSA private key | |||||
| ECDSA private key | 112, 128, 192, 256 bits | ECDSA A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API parameters in | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is | Use: Key pair validation, Digital signature generation Related SSPs: ECDSA |
The following table summarizes the keys and Sensitive Security Parameters (SSPs) that are used by the cryptographic services implemented in the module: © 2024 IBM® Corporation. / atsec information security.
29 of 47
| Key/SSP Name /Type ECDSA public key | Stre ngth 112, 128, 192, 256 bits | Security Function and Cert. Number ECDSA A2619, A2620 | Generation | Import/Export plaintext (P) format. Export: N/A | Establish ment | Stor age | Zeroisation powered down | Use & related keys public key Use: Key pair validation, Digital signature verification Related SSPs: ECDSA private key |
|---|---|---|---|---|---|---|---|---|
| Module- generated RSA private key | 112, 128, 149 bits | RSA A2619, A2620 | Generated using the random probable primes method (B.3.3) specified in FIPS 186-4; random values are obtained from the SP800- 90Arev1 DRBG. | Import: N/A Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Key generation Related SSPs: Module- generated RSA public key |
| Module- generated RSA public key | 112, 128, 149 bits | RSA A2619, A2620 | Use: Digital signature verification Related SSPs: Module- generated RSA private key | |||||
| RSA private key | 112, 128, 149 bits | RSA A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Digital signature generation Related SSPs: RSA public key |
| RSA public key | 112, 128, 149 bits | RSA A2619, A2620 | Use: Digital signature verification Related SSPs: RSA private key | |||||
| DSA public key | 112, 128 bits | DSA signature verification, A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Digital Signature Verification Related SSPs: None |
| Entropy Input IG D.L compliant | 192 to 384 bits | CTR_DRBG, HMAC_DRBG, Hash_DRBG A2619, A2620 | Obtained from the SP800-90B ENT (NP) | Import: N/A. Export: N/A. It remains within | N/A | RAM | Automatic zeroization when structure is deallocated or when the | Use: Random number generation, Key generation, Digital |
© 2024 IBM® Corporation. / atsec information security.
30 of 47
| Key/SSP Name /Type DRBG seed IG D.L compliant DRBG internal state (V, C) IG D.L compliant DRBG internal state (V, Key) IG D.L compliant | Stre ngth 192 to 384 bits 128 to 256 bits 128 to 256 bits | Security Function and Cert. Number CTR_DRBG, HMAC_DRBG, Hash_DRBG A2619, A2620 HMAC_DRBG, Hash_DRBG A2619, A2620 CTR_DRBG A2619, A2620 | Generation Derived from the entropy input as defined by SP800-90Arev1 Computed as defined by SP800-90Arev1 | Import/Export the cryptographic boundary. | Establish ment N/A N/A N/A | Stor age RAM RAM RAM | Zeroisation system is powered down | Use & related keys signature generation Related SSPs: DRBG seed Use: Random number generation, Key generation, Digital signature generation Related SSPs: Entropy Input, DRBG internal state Use: Random number generation, Key generation, Digital signature generation Related SSPs: DRBG seed Use: Random number generation, Key generation, Digital signature generation Related SSPs: DRBG seed |
|---|---|---|---|---|---|---|---|---|
| PBKDF derived key | 112 to 256 bits | PBKDF A2619, A2620 | Generated during the PBKDF compliant with [SP800-132] | Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. | N/A | RAM | Automatic zeroization when the system is powered down | Use: PBKDF key derivation Related SSPs: PBKDF password |
| PBKDF password | N/A | PBKDF A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API | N/A | RAM | Use: PBKDF key derivation Related |
© 2024 IBM® Corporation. / atsec information security.
31 of 47
| Key/SSP Name /Type | Stre ngth | Security Function and Cert. Number | Generation | Import/Export parameters in plaintext (P) format. Export: N/A. | Establish ment | Stor age | Zeroisation | Use & related keys SSPs: PBKDF derived key |
|---|---|---|---|---|---|---|---|---|
| HKDF derived key | 112 to 256 bits | HKDF A2619, A2620 | Generated in accordance with SP800-56Crev1 Extraction and Expansion procedure, as referenced in SP800-135rev1 | Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. | N/A | RAM | Automatic zeroization when the system is powered down | Use: HKDF key derivation Related SSPs: None |
| Module- generated Diffie- Hellman private key | 112 to 200 bits | KAS-FFC-SSC A2619, A2620 | Generated using safe prime key generation method specified in SP800- 56Arev3; random values are obtained from the SP800- 90Arev1 | Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Key generation Related SSPs: Module- generated Diffie-Hellman public key |
| Module- generated Diffie- Hellman public key | N/A | RAM | Use: Key generation Related SSPs: Module- generated Diffie-Hellman private key | |||||
| Diffie- Hellman private key | 112 to 200 bits | KAS-FFC-SSC A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Diffie- Hellman shared secret computation Related SSPs: Diffie- Hellman shared secret |
| Diffie- Hellman public key from peer | N/A | RAM | Use: Diffie- Hellman shared secret computation Related SSPs: Diffie- Hellman shared secret | |||||
| Diffie- Hellman shared secret | 112 to 200 bits | KAS-FFC-SSC A2619, A2620 | N/A | Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) | Computed during the Diffie- Hellman shared secret computati on per SP800- | RAM | Use: Diffie- Hellman shared secret computation Related SSPs: Diffie- Hellman private key, |
© 2024 IBM® Corporation. / atsec information security.
32 of 47
| Key/SSP Name /Type | Stre ngth | Security Function and Cert. Number | Generation | Import/Export format. | Establish ment 56Arev3. | Stor age | Zeroisation | Use & related keys Diffie-Hellman public key from peer |
|---|---|---|---|---|---|---|---|---|
| Module- generated EC Diffie- Hellman private key | 112 to 256 bits | KAS-ECC-SSC A2619, A2620 | Generated using the testing candidates method specified in SP800- 56Arev3; random values are obtained from the SP800 90Arev1 DRBG. | Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: Key generation Related SSPs: Module- generated EC Diffie-Hellman public key |
| Module- generated EC Diffie- Hellman public key | N/A | RAM | Use: Key generation Related SSPs: Module- generated EC Diffie-Hellman private key | |||||
| EC Diffie- Hellman private key | 112 to 256 bits | EC Diffie Hellman shared secret computation, A2619, A2620 | N/A | Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A. | N/A | RAM | Automatic zeroization when structure is deallocated or when the system is powered down | Use: EC Diffie-Hellman shared secret computation Related SSPs: EC Diffie-Hellman shared secret |
| EC Diffie- Hellman public key from peer | N/A | RAM | Use: EC Diffie-Hellman shared secret computation Related SSPs: EC Diffie-Hellman shared secret | |||||
| EC Diffie- Hellman shared secret | 112 to 256 bits | EC Diffie Hellman shared secret computation, A2619, A2620 | N/A | Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. | Computed during the EC Diffie- Hellman shared secret computati on per SP800- 56Arev3. | RAM | Use: EC Diffie-Hellman shared secret computation Related SSPs: EC Diffie-Hellman private key, EC Diffie- Hellman public key from peer |
Table 9 – SSPs ICC employs a Deterministic Random Bit Generator (DRBG) based on [SP800-90Arev1] for the creation of asymmetric keys. In addition, the module provides a Random Number Generation service to calling applications. © 2024 IBM® Corporation. / atsec information security.
33 of 47
| Entropy Source | Minimum number of bits of entropy | Details |
|---|---|---|
| NIST SP800-90B compliant ENT (NP) | 256 | The seed is provided by the post-processed entropy data from non-physical noise source provided by CPU time jitter. |
The default algorithm is Hash_DRBG using SHA2-256 with no prediction resistance, but another algorithm from the Hash_DRBG, HMAC_DRBG and CTR_DRBG algorithms (see Table 3 for the complete list) can be also configured. CPU high-resolution timer. ENT(NP) is compliant with [SP800-90B], and guarantees an entropy rate of 0.5 bits per bit. The DRBG entropy input and nonce to form the seed are of the same length (64 bytes = 512 bits each) and obtained from separate and independent calls to the entropy source. Then, the DRBG is seeded during initialization with the entropy input and nonce containing 512 bits of entropy ((512 + 512) * 0.5 = 512), and with the entropy input containing 256 bits of entropy (512 * 0.5) during reseeding . Therefore, the DRBG supports 256 bits of effective security strength in its output. Table 10 - Non-Deterministic Random Number Generation Specification
The module generates Keys and SSPs in accordance with FIPS 140-3 IG D.H. The cryptographic module performs Cryptographic Key Generation (CKG) for asymmetric keys as per section 4, example 1, and section 5.1 [SP800-133rev2], compliant with [FIPS186-4] and [SP800-56Arev3]. A seed used for key generation is a direct output from DRBG compliant with [SP800-90A]. The security strength of 256 bits of the DRBG is equal to the security strength of the maximum key size that can be generated by the module. The key generation services for RSA, Diffie-Hellman and EC key pairs as well as the [SP 800-90A] DRBG have been tested under the CAVP with algorithm certificates found in Table 3. The ICC provides the following key derivation services in the approved mode of operation:
The ICC uses the following key establishment methodologies in the approved mode of operation:
34 of 47
Keys/SSPs are entered into and output from the ICC module in electronic form through the data input and output interface (i.e. API function parameters). The ICC module does not support manual key entry or intermediate key generation key output. The SSPs are provided to the module via API input parameters in the plaintext form and output via API output parameters in the plaintext form to and from the calling application.
The module does not provide any long-term key storage and no keys are ever stored on the hard disk.
The memory occupied by SSPs is allocated by regular memory allocation operating system calls. The calling application that is acting as the Crypto Officer is responsible for calling the appropriate functions provided in the module's API to zeroize the memory areas allocated by the module. Key zeroization services for cipher contexts are performed via the following API functions.
35 of 47
| Cryptographic Algorithm | Notes |
|---|---|
| AES–CBC with 256 bits AES–GCM with 128 bits AES–CCM with 128 bits AES–XTS with 128 bits | Separate encryption / decryption KATs are performed |
| AES KW and KWP with 128 bits | Separate wrapping / unwrapping KATs are performed |
| SHA3-512, SHAKE-128 | KATs |
| HMAC-SHA2-256 HMAC-SHA2-512 | KAT |
| CMAC with AES | KAT |
| SHA2-256, SHA2-512 | Covered by high level HMAC self-tests |
The ICC module implements a number of self-tests to check proper functioning of the module. This includes pre-operational self-tests and conditional self-tests. Pre-operational integrity test and Cryptographic Algorithm Self-Tests (CASTs) are automatically invoked by the module when the module is powered on from the default entry point (DEP) of the shared library.. When the module is performing self-tests, no API functions are available, and no data output is possible until the self-tests are successfully completed. After the pre-operational self-tests and CASTs are successfully completed, the module turns to approved mode of operation. Requesting any services from Table 8 will implicitly put the module in the non-approved mode of operation. The module performs self-tests automatically when it is loaded. Self-tests can also be requested on demand through the API functions ICC_SelfTest() and ICC_IntegrityCheck(). Whenever the startup tests are initiated the module performs the following; if any of these tests fail, the module enters the error state:
The module performs a pre-operational software integrity test automatically when the module is powered on, before the module transitions into the operational state. The integrity test is performed with a 2048-bit CAVP-validated RSA signature verification (PKCS#1v1.5) and SHA2-256 hashing. This RSA public key is stored inside the shared library. Prior to the invocation of the integrity test, the module runs the conditional Cryptographic Algorithm Self-Test (CAST) for RSA (2048-bit keys with SHA2-256) which verifies the proper functioning of all algorithms used as part of the integrity test.
The following sections describe the conditional tests supported by the IBM® Crypto for C. The IBM® Crypto for C runs all Cryptographic Algorithm Self-Tests during power-up, and consequently before the first operational use of the cryptographic algorithms. These tests are detailed in the following table. © 2024 IBM® Corporation. / atsec information security.
36 of 47
| Cryptographic Algorithm | Notes |
|---|---|
| RSA with 2048-bit keys and SHA2-256 | Separate signature generation/ verification KAT are performed |
| ECDSA with curves P-384 and B-233 and using SHA2-256 | Separate signature generation / verification KAT are performed |
| DSA with L=2048, N=224 and SHA2-256 | Signature verification KAT |
| Hash_DRBG with SHA-224, SHA-256, SHA-384 and SHA-512 HMAC_DRBG with SHA-224, SHA-256, SHA-384 and SHA-512 CTR_DRBG with AES-128, AES-192 and AES-256 | Each DRBG mode tested separately. |
| DRBG health tests | Health tests according to section 11.3 of [SP800- 90Arev1] |
| HKDF using SHA2-256 | KAT |
| PBKDF using SHA2-256 | KAT |
| Diffie-Hellman “Z” computation with 2048-bit key | KAT |
| EC Diffie-Hellman “Z” computation with P-521 curve | KAT |
| Repetitive Counter Test (RCT) | Startup tests of the ENT(NP) entropy source. Performed on 1024 consecutive samples. |
| Adaptive Proportion Test (APT) | Startup tests of the ENT(NP) entropy source. Performed on 1024 consecutive samples. |
The IBM® Crypto for C does generate asymmetric keys and performs all required pair-wise digital signature. If the digital signature cannot be verified, the test fails. Pair-wise consistency EC Diffie-Hellman is covered by ECDSA PCT as allowed by IG 10.3, additional comment 1. its operation, to detect intermittent and permanent failures in the noise source. The health tests compliant with the requirements of SP800-90B, and the minimum-entropy assessment test, which © 2024 IBM® Corporation. / atsec information security.
37 of 47
analyzes whether the noise source provides the expected entropy rate using the min-entropy calculation formula as specified in section 2.1 of SP800-90B. If the ICC module detects a permanent failure in any of the health tests, the module transitions to the error state and an error message is shown (“Insufficient entropy”).
When errors are detected (e.g., self-test failure) then all security related functions are disabled and no partial data is exposed through the data output interface. The only way to transition from the error state to an operational state is to reinitialize the cryptographic module (from an uninitialized state). The error state can be retrieved via the Show Status service. © 2024 IBM® Corporation. / atsec information security.
38 of 47
The following steps must be performed to install and initialize the module for operating in a FIPS 140-3 compliant manner:
It is the responsibility of the Crypto-Officer to configure the operating system to operate securely. The services provided by the Module to a User are effectively delivered by using the appropriate API calls. When a client process attempts to load an instance of the Module into memory, the Module runs an integrity test and several of cryptographic functionality self-tests. If all the tests pass successfully, the Module makes a transition to the "Operational" state, where the API calls can be used by the client to obtain desired cryptographic services. Otherwise, the Module enters to “Error” state and returns an error to the calling application. When the Module is in “Error” state, no services are available, and all of data input and data output except the status information are inhibited. The Crypto Officer shall consider the following requirements and restrictions when using the module:
39 of 47
explicitly select AES-GCM as the encryption/decryption cipher. The module supports acceptable AES-GCM ciphersuites from Section 3.3.1 of SP800-52rev2. The design of the TLS protocol implicitly ensures that the nonce_explicit, or counter portion of the IV will not exhaust all its possible values. In the event the module’s power is lost and restored, the consuming application must ensure that new AESGCM 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.
4096 bits. All RSA key sizes have been CAVP tested with the certificates listed in Table 3 in
Section 2. 8. For Diffie-Hellman or EC Diffie-Hellman shared secret computation, the module has to comply with the assurances found in Section 5.6.2 of [SP800-56Arev3] and IG D.F. The operator must obtain the ephemeral Diffie-Hellman or EC Diffie-Hellman key pairs on both ends either by using the approved key pair generation service provided by the module, or by using another FIPS-validated module. As part of the key pair generation service, the module internally performs the full key validation of the generated key pair. Similarly, the shared secret computation service internally performs the full public key validation of the peer public key, complying with Sections 5.6.2.2.1 and 5.6.2.2.2 of [SP800-56Arev3]. © 2024 IBM® Corporation. / atsec information security.
40 of 47
The module code is a component provided to IBM products, not a product on its own. Typically it is provided as part of IBM’s SSL component and creates packaging with the OS specific install tools. The module’s End-of-Life/sanitization procedure can take one of two forms:
41 of 47
The cryptographic module is not designed to mitigate any specific attacks. © 2024 IBM® Corporation. / atsec information security.
42 of 47
Appendix A. Glossary and Abbreviations AES Advanced Encryption Standard AES-NI Advanced Encryption Standard New Instructions CAVP Cryptographic Algorithm Validation Program CBC Cipher Block Chaining CCM Counter with Cipher Block Chaining-Message Authentication Code CFB Cipher Feedback CMAC Cipher-based Message Authentication Code CMVP Cryptographic Module Validation Program CSP Critical Security Parameter CTR Counter Mode DES Data Encryption Standard DF Derivation Function DSA Digital Signature Algorithm DRBG Deterministic Random Bit Generator ECB Electronic Code Book ECC Elliptic Curve Cryptography ENT NIST SP 800-90B compliant Entropy Source FFC Finite Field Cryptography FIPS Federal Information Processing Standards Publication FSM Finite State Model GCM Galois Counter Mode HMAC Hash Message Authentication Code KAS Key Agreement Schema KAT Known Answer Test KW AES Key Wrap KWP AES Key Wrap with Padding MAC Message Authentication Code NDF No Derivation Function NIST National Institute of Science and Technology OFB Output Feedback O/S Operating System PAA Processor Algorithm Acceleration PAI Processor Algorithm Implementation PR Prediction Resistance PSS Probabilistic Signature Scheme © 2024 IBM® Corporation. / atsec information security.
43 of 47
RNG Random Number Generator RSA Rivest, Shamir, Addleman SHA Secure Hash Algorithm SHS Secure Hash Standard SSH Secure Shell TDES Triple-DES XTS XEX-based Tweaked-codebook mode with cipher text Stealing © 2024 IBM® Corporation. / atsec information security.
44 of 47
| FIPS140-3 | FIPS PUB 140-3 - Security Requirements for Cryptographic Modules March 2019 https://doi.org/10.6028/NIST.FIPS.140-3 |
| SP 800-140x | CMVP FIPS 140-3 Related Reference https://csrc.nist.gov/Projects/cryptographic-module-validation-program/fips- 140-3-standards |
| FIPS140-3_IG | Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program September 2020 https://csrc.nist.gov/Projects/cryptographic-module-validation-program/fips- 140-3-ig-announcements |
| FIPS140-3_MM | CMVP FIPS 140-3 Management Manual September 2020 https://csrc.nist.gov/csrc/media/Projects/cryptographic-module-validation- program/documents/fips%20140-3/FIPS-140-3- CMVP%20Management%20Manual.pdf |
| FIPS180-4 | Secure Hash Standard (SHS) March 2012 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf |
| FIPS186-4 | Digital Signature Standard (DSS) July 2013 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf |
| FIPS197 | Advanced Encryption Standard November 2001 https://csrc.nist.gov/publications/fips/fips197/fips-197.pdf |
| FIPS198-1 | The Keyed Hash Message Authentication Code (HMAC) July 2008 https://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf |
| FIPS202 | SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions August 2015 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf |
| PKCS#1 | Public Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 February 2003 https://www.ietf.org/rfc/rfc3447.txt |
| RFC3394 | Advanced Encryption Standard (AES) Key Wrap Algorithm September 2002 https://www.ietf.org/rfc/rfc3394.txt |
| RFC5649 | Advanced Encryption Standard (AES) Key Wrap with Padding Algorithm September 2009 https://www.ietf.org/rfc/rfc5649.txt © 2024 IBM® Corporation. / atsec information security. 45 of 47 |
| SP800-38A | NIST Special Publication 800-38A - Recommendation for Block Cipher Modes of Operation Methods and Techniques December 2001 https://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf |
| SP800-38B | NIST Special Publication 800-38B - Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication May 2005 https://csrc.nist.gov/publications/nistpubs/800-38B/SP_800-38B.pdf |
| SP800-38C | NIST Special Publication 800-38C - Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality May 2004 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38c.pdf |
| SP800-38D | NIST Special Publication 800-38D - Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC November 2007 https://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf |
| SP800-38E | NIST Special Publication 800-38E - Recommendation for Block Cipher Modes of Operation: The XTS AES Mode for Confidentiality on Storage Devices January 2010 https://csrc.nist.gov/publications/nistpubs/800-38E/nist-sp-800-38E.pdf |
| SP800-38F | NIST Special Publication 800-38F - Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping December 2012 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38F.pdf |
| SP800-56Arev3 | Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography April, 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf |
| SP800-56Crev1 | Recommendation for Key-Derivation Methods in Key-Establishment Schemes August 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr1.pdf |
| SP800-57rev5 | NIST Special Publication 800-57 Part 1 Revision 5 - Recommendation for Key Management Part 1: General May 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf |
| SP800-90Arev1 | NIST Special Publication 800-90A - Revision 1 - Recommendation for Random Number Generation Using Deterministic Random Bit Generators June 2015 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf |
| SP800-90B | NIST Special Publication 800-90B - Recommendation for the Entropy Sources Used for Random Bit Generation January 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90B.pdf © 2024 IBM® Corporation. / atsec information security. 46 of 47 |
SP800-108 NIST Special Publication 800-108 - Recommendation for Key Derivation Using Pseudorandom Functions (Revised) October 2009 https://csrc.nist.gov/publications/nistpubs/800-108/sp800-108.pdf SP800-131Arev2 Transitioning the Use of Cryptographic Algorithms and Key Lengths March 2019 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf SP800-132 NIST Special Publication 800-132 - Recommendation for PasswordBased Key Derivation - Part 1: Storage Applications December 2010 https://csrc.nist.gov/publications/nistpubs/800-132/nist-sp800-132.pdf SP800-133rev2 Recommendation for Cryptographic Key Generation June 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-133r2.pdf © 2024 IBM® Corporation. / atsec information security.
47 of 47