All modules
CMVP Validated Module · FIPS 140-3 Security Policy

IBM® Crypto for C

Certificate#4755StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorIBM Corporation
Medium review priority  ·  no TCB surface named  ·  last validated 23 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date8/8/2029
CaveatInterim 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
VendorIBM Corporation

Approved Algorithms (90)

AlgorithmACVP Cert
AES-CBCA2619
AES-CBCA2620
AES-CCMA2619
AES-CCMA2620
AES-CFB1A2619
AES-CFB1A2620
AES-CFB128A2619
AES-CFB128A2620
AES-CFB8A2619
AES-CFB8A2620
AES-CMACA2619
AES-CMACA2620
AES-CTRA2619
AES-CTRA2620
AES-ECBA2619
AES-ECBA2620
AES-GCMA2619
AES-GCMA2620
AES-KWA2619
AES-KWA2620
AES-KWPA2619
AES-KWPA2620
AES-OFBA2619
AES-OFBA2620
AES-XTS Testing Revision 2.0A2619
AES-XTS Testing Revision 2.0A2620
Counter DRBGA2619
Counter DRBGA2620
DSA SigVer (FIPS186-4)A2619
DSA SigVer (FIPS186-4)A2620
ECDSA KeyGen (FIPS186-4)A2619
ECDSA KeyGen (FIPS186-4)A2620
ECDSA KeyVer (FIPS186-4)A2619
ECDSA KeyVer (FIPS186-4)A2620
ECDSA SigGen (FIPS186-4)A2619
ECDSA SigGen (FIPS186-4)A2620
ECDSA SigVer (FIPS186-4)A2619
ECDSA SigVer (FIPS186-4)A2620
Hash DRBGA2619
Hash DRBGA2620
HMAC DRBGA2619
HMAC DRBGA2620
HMAC-SHA2-224A2619
HMAC-SHA2-224A2620
HMAC-SHA2-256A2619
HMAC-SHA2-256A2620
HMAC-SHA2-384A2619
HMAC-SHA2-384A2620
HMAC-SHA2-512A2619
HMAC-SHA2-512A2620
HMAC-SHA3-224A2619
HMAC-SHA3-224A2620
HMAC-SHA3-256A2619
HMAC-SHA3-256A2620
HMAC-SHA3-384A2619
HMAC-SHA3-384A2620
HMAC-SHA3-512A2619
HMAC-SHA3-512A2620
KAS-ECC-SSC Sp800-56Ar3A2619
KAS-ECC-SSC Sp800-56Ar3A2620
KAS-FFC-SSC Sp800-56Ar3A2619
KAS-FFC-SSC Sp800-56Ar3A2620
KDA HKDF Sp800-56Cr1A2619
KDA HKDF Sp800-56Cr1A2620
PBKDFA2619
PBKDFA2620
RSA KeyGen (FIPS186-4)A2619
RSA KeyGen (FIPS186-4)A2620
RSA SigGen (FIPS186-4)A2619
RSA SigGen (FIPS186-4)A2620
RSA SigVer (FIPS186-4)A2619
RSA SigVer (FIPS186-4)A2620
Safe Primes Key GenerationA2619
Safe Primes Key GenerationA2620
SHA2-224A2619
SHA2-224A2620
SHA2-256A2619
SHA2-256A2620
SHA2-384A2619
SHA2-384A2620
SHA2-512A2619
SHA2-512A2620
SHA3-224A2619
SHA3-224A2620
SHA3-256A2619
SHA3-256A2620
SHA3-384A2619
SHA3-384A2620
SHA3-512A2619
SHA3-512A2620

Derived Review-Risk Graph (review prompts, not findings)

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;
Underlying clues
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;

Security Policy, page by page

Page 1

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

Page 2
Table of Contents
#SectionPage
Page 3
List of Tables
ItemPage
Table 1 - Security Levels4
Table 2 - Tested Operational Environments5
Table 3 - Approved Algorithms15
Table 4 - Non-Approved Not Allowed in the Approved Mode of Operation16
Table 5 - Ports and Interfaces18
Table 6 – Roles and Services20
Table 7 - Approved Services23
Table 8 - Non-Approved Services24
Table 9 – SSPs33
Table 10 - Non-Deterministic Random Number Generation Specification34
Table 11 - Cryptographic Algorithm Self-Tests37
Page 4
ISO/IEC 24759 Section 6. [Number Below]FIPS 140-3 Section TitleSecurity Level
1General1
2Cryptographic Module Specification1
3Cryptographic Module Interfaces1
4Roles, Services, and Authentication1
5Software/Firmware Security1
6Operational Environment1
7Physical SecurityNot Applicable
8Non-invasive SecurityNot Applicable
9Sensitive Security Parameter Management1
10Self-tests1
11Life-cycle Assurance1
12Mitigation of Other AttacksNot 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

Page 5
#Operating SystemHardware PlatformProcessorAcceleration
1Red Hat Linux Enterprise Server 8.4 64-bit (Little Endian)Lenovo ThinkSystem SR630Intel® Xeon® Gold 5217AES-NI
2Microsoft Windows Server 2019 64-bitLenovo ThinkSystem SR630Intel® Xeon® Gold 5217AES-NI
3Red Hat Linux Enterprise Server 8.4 64-bit (Little Endian) on IBM PowerVM 3.1IBM Power System S914 (9009-41A)IBM POWER9Power ISA
4Red Hat Linux Enterprise Server 7.9 64-bit (Big Endian) on IBM PowerVM 3.1IBM Power System S914 (9009-41A)IBM POWER9Power ISA
5IBM AIX 7.2 64-bit (Big Endian) running on IBM PowerVM 3.1IBM Power System S914 (9009-41A)IBM POWER9Power ISA
6zLinux Red Hat Linux Enterprise Server 8.6 64-bit (Big Endian) on IBM z/VM 7.2IBM z/15 (8561 T01)IBM z15CPACF
7IBM z/OS 2.3 running on IBM z/VM 7.2IBM z/15 (8561 T01)IBM z15CPACF
2 Cryptographic Module Specification

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

Page 6
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
With PAA and PAI:AESAES-CBC128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
Without PAA and PAI:AESAES-CBC128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
With PAA and PAI:AESAES-CCM128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38C]security strength
Without PAA and PAI:AESAES-CCM128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38C]security strength
With PAA and PAI:AESAES-CFB1128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
Without PAA and PAI:AESAES-CFB1128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
With PAA and PAI:AESAES-CFB128128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
Without PAA and PAI:AESAES-CFB128128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
With PAA and PAI:AESAES-CFB8128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
Without PAA and PAI:AESAES-CFB8128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric 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

Page 7
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
With PAA and PAI:AESAES-CMAC128, 192 and 256 bits withMessage
A2619[FIPS197]128, 192 and 256 bits ofauthentication code
[SP800-38B]security strengthgeneration; Message authentication code verification
Without PAA and PAI:AESAES-CMAC128, 192 and 256 bits withMessage
A2620[FIPS197]128, 192 and 256 bits ofauthentication code
[SP800-38B]security strengthgeneration; Message authentication code verification
With PAA and PAI:AESAES-CTR128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
Without PAA and PAI:AESAES-CTR128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
With PAA and PAI:AESAES-ECB128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
Without PAA and PAI:AESAES-ECB128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
With PAA and PAI:AESAES-GCM128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38D]security strength
Without PAA and PAI:AESAES-GCM128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38D]security strength
With PAA and PAI:AESAES-OFB128, 192 and 256 bits withSymmetric encryption;
A2619[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
Without PAA and PAI:AESAES-OFB128, 192 and 256 bits withSymmetric encryption;
A2620[FIPS197]128, 192 and 256 bits ofSymmetric decryption
[SP800-38A]security strength
With PAA and PAI:AESAES-XTS128 and 256 bits with 128Symmetric encryption;
A2619[FIPS197]and 256 bits of securitySymmetric decryption
[SP800-38E]strength
Without PAA and PAI:AESAES-XTS128 and 256 bits with 128Symmetric encryption;
A2620[FIPS197]and 256 bits of securitySymmetric decryption
[SP800-38E]strength
Vendor AffirmedCKGRSA key generation2048, 3072 and 4096-bitKey pair generation
[SP800-133rev2][FIPS-186-4]keys with 112-149 bits of security strength
ECDSA key generationP-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

Page 8
CAVP Cert#Algorithm / StandardMode / 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 strengthUse / Function
With PAA and PAI:CTR_DRBGAES-128, AES-192, AES-256128, 192, 256-bit keys withRandom number
A2619[SP800-90Arev1]with/without PR128, 192 and 256 bits ofgeneration
with DFsecurity strength
Without PAA and PAI:CTR_DRBGAES-128, AES-192, AES-256128, 192, 256-bit keys withRandom number
A2620[SP800-90Arev1]with/without PR128, 192 and 256 bits ofgeneration
with DFsecurity strength
With PAA and PAI:DSASignature VerificationL=2048, N=224;Digital signature
A2619[FIPS186-4]usingL=2048, N=256;verification
SHA2-224 for N=224,L=3072, N=256;
SHA2-256 for N=256with 112 and 128 bits of security strength
Without PAA and PAI:DSASignature VerificationL=2048, N=224;Digital signature
A2620[FIPS186-4]usingL=2048, N=256;verification
SHA2-224 for N=224,L=3072, N=256;
SHA2-256 for N=256with 112 and 128 bits of security strength

© 2024 IBM® Corporation. / atsec information security.

8 of 47

Page 9
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
With PAA and PAI:ECDSAECDSA 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:ECDSAECDSA 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

Page 10
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
With PAA and PAI:ECDSAPublic 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:ECDSAPublic 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:ECDSAECDSA SigGen usingP-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-512B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength
Without PAA and PAI:ECDSAECDSA SigGen usingP-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-512B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength
With PAA and PAI:ECDSAECDSA SigVer usingP-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-512B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength
Without PAA and PAI:ECDSAECDSA SigVer usingP-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-512B-233, B-283, B-409, B-571 with 112, 128, 192 and 256 bits of security strength
N/AENT (NP)ENT (NP)N/ARandom number
SP800-90Bgeneration
With PAA and PAI:Hash_DRBGSHA2-224, SHA2-256,N/ARandom number
A2619[SP800-90Arev1]SHA2-384, SHA2-512 with/without PRgeneration
Without PAA and PAI:Hash_DRBGSHA2-224, SHA2-256,N/ARandom number
A2620[SP800-90Arev1]SHA2-384, SHA2-512 with/without PRgeneration

© 2024 IBM® Corporation. / atsec information security.

10 of 47

Page 11
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
With PAA and PAI:HMACSHA2-224Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
Without PAA and PAI:HMACSHA2-224Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMACSHA2-256Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
Without PAA and PAI:HMACSHA2-256Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMACSHA2-384Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
Without PAA and PAI:HMACSHA2-384Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMACSHA2-512Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
Without PAA and PAI:HMACSHA2-512Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMACSHA3-224Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
Without PAA and PAI:HMACSHA3-224Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMACSHA3-256Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification

© 2024 IBM® Corporation. / atsec information security.

11 of 47

Page 12
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
Without PAA and PAI:HMACSHA3-256Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMACSHA3-384Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
Without PAA and PAI:HMACSHA3-384Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMACSHA3-512Keys of 112 bits or greaterMessage
A2619[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
Without PAA and PAI:HMACSHA3-512Keys of 112 bits or greaterMessage
A2620[FIPS 198-1]with 112-256 bits ofauthentication code
security strengthgeneration; Message authentication code verification
With PAA and PAI:HMAC_DRBGSHA2-224, SHA2-256,N/ARandom number
A2619[SP800-90Arev1]SHA2-384, SHA2-512 with/without PRgeneration
Without PAA and PAI:HMAC_DRBGSHA2-224, SHA2-256,N/ARandom number
A2620[SP800-90Arev1]SHA2-384, SHA2-512 with/without PRgeneration
With PAA and PAI:KAS-ECC-SSCScheme: Ephemeral UnifiedCurves: P-224, P-256,Shared secret
A2619[SP800-56Arev3]KAS Role: initiator,P-384, P-521 with 112, 128,computation
responder192 and 256 bits of security strength
Without PAA and PAI:KAS-ECC-SSCScheme: Ephemeral UnifiedCurves: P-224, P-256,Shared secret
A2620[SP800-56Arev3]KAS Role: initiator,P-384, P-521 with 112, 128,computation
responder192 and 256 bits of security strength
With PAA and PAI:KAS-FFC-SSCScheme: dhEphemMODP-2048, MODP- 3072,Shared secret
A2619[SP800-56Arev3]KAS Role: initiator,MODP-4096, MODP-6144,computation
responderMODP-8192, FFDHE-2048, FFDHE-3072, FFDHE-4096, FFDHE-6144, FFDHE-8192 with 112-200 bits of security strength
Without PAA and PAI:KAS-FFC-SSCScheme: dhEphemMODP-2048, MODP- 3072,Shared secret
A2620[SP800-56Arev3]KAS Role: initiator,MODP-4096, MODP-6144,computation
responderMODP-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

Page 13
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
With PAA and PAI:KDAHKDF to support the TLSKeys of 112 bits or greaterKey derivation
A2619[SP800-56Crev1]1.3 PRFwith 112-256 bits of
[RFC 5869]SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512security strength
Without PAA and PAI:KDAHKDF to support the TLSKeys of 112 bits or greaterKey derivation
A2620[SP800-56Crev1]1.3 PRFwith 112-256 bits of
[RFC 5869]SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512security strength
With PAA and PAI:KTSAES-KW128, 192 and 256 bits withKey wrapping; Key
A2619[SP800-38F]112, 192 and 256 bits of security strengthunwrapping
Without PAA and PAI:KTSAES-KW128, 192 and 256 bits withKey wrapping; Key
A2620[SP800-38F]112, 192 and 256 bits of security strengthunwrapping
With PAA and PAI:KTSAES-KWP128, 192 and 256 bits withKey wrapping; Key
A2619[SP800-38F]112, 192 and 256 bits of security strengthunwrapping
Without PAA and PAI:KTSAES-KWP128, 192 and 256 bits withKey wrapping; Key
A2620[SP800-38F]112, 192 and 256 bits of security strengthunwrapping
With PAA and PAI:PBKDFHMAC with:N/AKey derivation
A2619[SP800-132]SHA2-224, SHA2-256, SHA2-384, SHA2-512
Without PAA and PAI:PBKDFHMAC with:N/AKey derivation
A2620[SP800-132]SHA2-224, SHA2-256, SHA2-384, SHA2-512
With PAA and PAI:RSARSA KeyGen2048, 3072, and 4096 bitsAsymmetric key
A2619[FIPS186-4](B.3.3 Random Probablewith 112, 128 and 149 bitsgeneration
Primes)of security strength
Without PAA and PAI:RSARSA KeyGen2048, 3072, and 4096 bitsAsymmetric key
A2620[FIPS186-4](B.3.3 Random Probablewith 112, 128 and 149 bitsgeneration
Primes)of security strength
With PAA and PAI:RSAPKCS#1v1.5 and PSS2048, 3072, and 4096 bitsDigital signature
A2619[FIPS186-4]using SHA2-224, SHA2-256,with 112, 128 and 149 bitsgeneration
SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512of security strength
Without PAA and PAI:RSAPKCS#1v1.5 and PSS2048, 3072, and 4096 bitsDigital signature
A2620[FIPS186-4]using SHA2-224, SHA2-256,with 112, 128 and 149 bitsgeneration
SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512of security strength
With PAA and PAI:RSAPKCS#1v1.5 and PSS2048, 3072, and 4096 bitsDigital signature
A2619[FIPS186-4]using SHA2-224, SHA2-256,112, 128 and 149 bits ofverification
SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512security strength

© 2024 IBM® Corporation. / atsec information security.

13 of 47

Page 14
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
Without PAA and PAI:RSAPKCS#1v1.5 and PSS2048, 3072, and 4096 bitsDigital signature
A2620[FIPS186-4]using SHA2-224, SHA2-256,112, 128 and 149 bits ofverification
SHA2-384, SHA2-512 X9.31 using SHA2-256, SHA2-384, SHA2-512security strength
With PAA and PAI:Safe Primes KeySection 5.6.1.1.4 TestingMODP-2048, MODP- 3072,Key generation
A2619GenerationCandidatesMODP-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 KeySection 5.6.1.1.4 TestingMODP-2048, MODP- 3072,Key generation
A2620GenerationCandidatesMODP-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-3SHA3-224N/AMessage digest
A2619[FIPS 202]
Without PAA and PAI:SHA-3SHA3-224N/AMessage digest
A2620[FIPS 202]
With PAA and PAI:SHA-3SHA3-256N/AMessage digest
A2619[FIPS 202]
Without PAA and PAI:SHA-3SHA3-256N/AMessage digest
A2620[FIPS 202]
With PAA and PAI:SHA-3SHA3-384N/AMessage digest
A2619[FIPS 202]
Without PAA and PAI:SHA-3SHA3-384N/AMessage digest
A2620[FIPS 202]
With PAA and PAI:SHA-3SHA3-512N/AMessage digest
A2619[FIPS 202]
Without PAA and PAI:SHA-3SHA3-512N/AMessage digest
A2620[FIPS 202]
With PAA and PAI:SHSSHA2-224N/AMessage digest
A2619[FIPS180-4]
Without PAA and PAI:SHSSHA2-224N/AMessage digest
A2620[FIPS180-4]
With PAA and PAI:SHSSHA2-256N/AMessage digest
A2619[FIPS180-4]
Without PAA and PAI:SHSSHA2-256N/AMessage digest
A2620[FIPS180-4]
With PAA and PAI:SHSSHA2-384N/AMessage digest
A2619[FIPS180-4]

© 2024 IBM® Corporation. / atsec information security.

14 of 47

Page 15
CAVP Cert#Algorithm / StandardMode / MethodDescription / Key Size(s) / Key Strength(s)Use / Function
Without PAA and PAI:SHSSHA2-384N/AMessage digest
A2620[FIPS180-4]
With PAA and PAI:SHSSHA2-512N/AMessage digest
A2619[FIPS180-4]
Without PAA and PAI:SHSSHA2-512N/AMessage digest
A2620[FIPS180-4]
Algorithm/FunctionsUse/Function
DSA with any key sizesKey pair generation, Domain parameter generation, Digital signature generation
DSA with keys generated with parameters L=512, N=160; L=1024, N=160Signature verification
ECDSA with P-192, K-163, B-163 elliptic curvesKey pair generation, Key pair validation, Digital signature generation, Digital signature verification
KBKDFKBKDF key derivation
PBKDF with HMAC using SHA-1PBKDF key derivation
RSA with keys smaller than 2048 bitsKey generation, Digital signature generation, Digital signature verification
RSA encryption and decryption with any key sizesRSA encapsulation, RSA unencapsulation
Diffie-Hellman with keys generated with domain parameters other than safe primesShared secret computation
EC Diffie-Hellman with P-192, K-163, B-163 elliptic curvesShared secret computation
DESSymmetric encryption, Symmetric decryption
Triple-DESSymmetric encryption, Symmetric decryption
CASTSymmetric encryption, Symmetric decryption
CamelliaSymmetric encryption, Symmetric decryption
BlowfishSymmetric encryption, Symmetric decryption
RC2Symmetric encryption, Symmetric decryption
RC4Symmetric encryption, Symmetric decryption
MD2Message digest
MD4Message digest
MD5Message 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

Page 16
Algorithm/FunctionsUse/Function
SHA-1Message digest
HMAC-MD5Message authentication code generation, Message authentication code verification
HMAC-SHA1Message authentication code generation, Message authentication code verification
HMAC-DRBG-SHA1Random number generation
Hash-DRBG-SHA1Random number generation
MDC2Message digest
RIPEMDMessage digest
ChaCha20Symmetric encryption, Symmetric decryption
ChaCha20-Poly1305Authenticated 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

Page 17

Figure 1 - Logical Block Diagram © 2024 IBM® Corporation. / atsec information security.

17 of 47

Page 18
Logical InterfaceData that passes over port/interface
Data InputThe input data parameters of those API functions that accept, as their arguments, data to be used or processed by the module.
Data OutputData output to the caller after generated or otherwise processed by the API functions.
Control InputThe API functions used to control the operation of the module.
Status OutputDefined 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.
3 Cryptographic Module Ports and Interfaces

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

Page 19
RoleServiceInputOutput
Crypto OfficerSymmetric encryptionPlaintext, keyCiphertext
Crypto OfficerSymmetric decryptionCiphertext, keyPlaintext
Crypto OfficerAuthenticated encryptionPlaintext, keyCiphertext, authentication tag
Crypto OfficerAuthenticated decryptionCiphertext, key, authentication tagPlaintext, authentication result (true/false)
Crypto OfficerKey Pair GenerationKey sizePrivate key, Public key
Crypto OfficerKey Pair ValidationPrivate key, Public keyValidation result (true/false)
Crypto OfficerSignature generationMessage, hash algorithm, private key,Signature
Crypto OfficerSignature verificationMessage, hash algorithm, public key, signatureVerification result (true/false)
Crypto OfficerKey wrappingKey wrapping key, key to be wrappedWrapped key
Crypto OfficerKey unwrappingKey wrapping key, wrapped keyKey
Crypto OfficerShared Secret ComputationPrivate key, public key from peerShared secret
Crypto OfficerDiffie-Hellman key generationDomain parametersDiffie-Hellman private key, Diffie- Hellman public key
Crypto OfficerMessage digest generationMessageMessage digest
Crypto OfficerMessage authentication code generationMessage, keyMessage authentication code
Crypto OfficerMessage Authentication Code verificationMessage, key, message authentication codeVerification result (pass/fail)
Crypto OfficerPBKDF key derivationPassword/passphrasePBKDF derived key
Crypto OfficerHKDF key derivationShared secretHKDF derived key
Crypto OfficerKBKDF key derivationKeyKBKDF derived key
4 Roles, services, and authentication

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

Page 20
Crypto OfficerRandom number generationNumber of bitsRandom numbers
Crypto OfficerDSA domain parameter generationKey sizeDomain parameters
Crypto OfficerDSA domain parameter verificationDomain parametersVerification result (true/false)
Crypto OfficerKey encapsulationKey to be encapsulated, key encapsulating key,Encapsulated key
Crypto OfficerKey unencapsulationEncapsulated key, key encapsulating key,Key
Crypto OfficerZeroizationContext containing SSPsnone
Crypto OfficerOn-Demand Self-testNoneResult of self-test (pass/fail)
Crypto OfficerOn-Demand Integrity TestNoneResult of test (pass/fail)
Crypto OfficerGet StatusNoneReturn codes and/or log messages
Crypto OfficerModule installation and configurationAPI invocationOperational/Error status
Crypto OfficerShow VersionNoneName and version information
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRoleAccess rights to Keys and/or SSPsIndicator
Symmetric encryptionPerform AES encryptionAES-CBC, AES-CFB1, AES-CFB128, AES- CFB8, AES-CTR, AES- ECB, AES-OFB, AES,XTSAES keyCOW, Estatus =1
Symmetric decryptionPerform AES decryptionAES-CBC, AES-CFB1, AES-CFB128, AES- CFB8, AES-CTR, AES- ECB, AES-OFB, AES,XTSAES keyCOW, Estatus =1
Authenticated encryptionPerform authenticated AES encryptionAES-CCM, AES-GCMAES keyCOW, Estatus =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

Page 21
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRoleAccess rights to Keys and/or SSPsIndicator
Authenticated decryptionPerform authenticated AES decryptionAES-CCM, AES-GCMAES keyCOW, Estatus =1
DSA signature verificationVerify DSA signaturesDSADSA public keyCOW, Estatus =1
ECDSA key pair generationGenerate ECDSA key pairsECDSA, DRBGModule- generated ECDSA private key, Module- generated ECDSA public keyCOG, R, Estatus =1
ECDSA key pair validationValidate ECDSA key pairsECDSA, DRBGECDSA private key, ECDSA public keyCOW, Estatus =1
ECDSA signature generationSign using ECDSAECDSA, DRBG, SHSECDSA private keyCOW, Estatus =1
ECDSA signature verificationVerify ECDSA signaturesECDSA, SHSECDSA public keyCOW, Estatus =1
RSA key pair generationGenerate RSA key pairsRSA, DRBGModule- generated RSA private key, Module- generated RSA public keyCOG, R, Estatus =1
RSA signature generationSign using RSARSA, SHSRSA private keyCOW, Estatus =1
RSA signature verificationVerify RSA signaturesRSA, SHSRSA public keyCOW, Estatus =1
Key wrappingPerform AES-based key wrappingAES-KW, AES-KWPAES keyCOW, Estatus =1
Key unwrappingPerform AES-based key unwrappingAES-KW, AES-KWPAES keyCOW, Estatus =1
Diffie-Hellman shared secret computationPerform Diffie-Hellman shared secret computationKAS FFC SSCDiffie-Hellman private keyCOW, Estatus =1
Diffie-Hellman public key from peerW, E
Diffie-Hellman Shared SecretG, R, E
EC Diffie-Hellman shared secret computationPerform Elliptic Curve Diffie- Hellman shared secret computationKAS ECC SSCEC Diffie-Hellman private keyCOW, Estatus =1
EC Diffie-Hellman public key from peerW, E
EC Diffie-Hellman shared secretG, R, E

© 2024 IBM® Corporation. / atsec information security.

21 of 47

Page 22
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRoleAccess rights to Keys and/or SSPsIndicator
Diffie-Hellman key pair generation using safe primesPerform Diffie-Hellman key generation with safe primesSafe Primes key generationModule- generated Diffie- Hellman private key, Module- generated Diffie- Hellman public keyCOG, R, Estatus =1
Message digest generationCompute SHA hashesSHA2-224, SHA2-256, SHA2-384, SHA2-512NoneCON/Astatus =1
SHA3-224, SHA3-256, SHA3-384, SHA3-512NoneCON/Astatus =1
Message authentication code (MAC) generationCompute hash-based message authenticationSHA2-224, SHA2-256, SHA2-384, SHA2-512 SHA3-224, SHA3-256, SHA3-384, SHA3-512HMAC keyCOW, Estatus =1
Compute AES-based message authenticationCMAC with AESAES key
Message authentication code (MAC) verificationVerify hash-based message authenticationSHA2-224, SHA2-256, SHA2-384, SHA2-512 SHA3-224, SHA3-256, SHA3-384, SHA3-512HMAC keyCOW, Estatus =1
Verify AES-based hash-based message authenticationCMAC with AESAES key
HKDF key derivationKey derivation for TLSv1.3 pseudorandom function (PRF)HKDFDiffie-Hellman shared secret or EC Diffie-Hellman shared secretCOW, Estatus =1
HKDF derived key,G, R, E
PBKDF key derivationPerform password-based key derivationPBKDF, HMAC with SHA2-224, SHA2-256, SHA2-384, SHA2-512PBKDF derived keyCOG, R, Estatus =1
PBKDF passwordW, E
Random number generationGenerate random bitstringsCTR_DRBGEntropy InputCOW, Estatus =1
DRBG seedG, E
DRBG internal state (V, Key)G, E
Hash_DRBG, HMAC_DRBGEntropy inputW, E
DRBG seedG, E
DRBG internal state (V, C)G, E
Get statusReturn module statusN/ANoneCON/Astatus =1

© 2024 IBM® Corporation. / atsec information security.

22 of 47

Page 23
ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRoleAccess rights to Keys and/or SSPsIndicator
Show module infoReturn module name and versioning informationN/ANoneCON/Astatus =1
Self-testsPerform pre-operational and cryptographic algorithm self- tests during power on.AES, Diffie-Hellman, DSA, EC Diffie- Hellman, ECDSA, DRBG, HKDF, HMAC, RSA, SHS, PBKDFNoneCON/Astatus =1
On-demand self- testsPerform cryptographic algorithm self-tests on demand.AES, Diffie-Hellman, DSA, EC Diffie- Hellman, ECDSA, DRBG, HKDF, HMAC, RSA, SHS, PBKDFNoneCON/Astatus =1
On-demand integrity testPerform module integrity test on demand.RSANoneCON/Astatus =1
ZeroizationZeroize SSPsN/AAll SSPsCOZstatus =1
Module installation and configurationConfigure module for approved mode of operationN/ANoneCON/Astatus =1
ServiceDescriptionAlgorithms AccessedRole
Symmetric encryptionCompute the cipher for encryptionTriple-DES, Blowfish, Camellia, CAST, DES, RC2, RC4, ChaCha20CO
Symmetric decryptionCompute the plaintext for decryptionTriple-DES, Blowfish, Camellia, CAST, DES, RC2, RC4, ChaCha20CO
Authenticated encryptionCompute the cipher for encryptionChaCha20-Poly1305CO
Authenticated decryptionCompute the plaintext for decryptionChaCha20-Poly1305CO
DSA parameter generationGenerate DSA parametersDSACO
DSA key generationGenerate DSA key pairsDSACO
DSA signature generationSign using DSADSACO
DSA signature verificationVerify DSA signaturesDSA with keys generated with L=512, N=160; L=1024, N=160CO
ECDSA key pair generationGenerate ECDSA key pairsECDSA with P-192, K-163, B-163 curvesCO
ECDSA key pair validationValidate ECDSA key pairsECDSA with P-192, K-163, B-163 curvesCO
ECDSA signature generationSign using ECDSAECDSA with P-192, K-163, B-163 curvesCO
ECDSA signature VerificationVerify using ECDSAECDSA with P-192, K-163, B-163 curvesCO
RSA key generationGenerate RSA key pairsRSA with keys smaller than 2048 bitsCO
RSA signature generationSign using RSARSA with keys smaller than 2048 bitsCO

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

Page 24
ServiceDescriptionAlgorithms AccessedRole
RSA signature verificationVerify RSA signaturesRSA with keys smaller than 2048 bitsCO
Key encapsulationPerform RSA encapsulationRSA encryptionCO
Key unencapsulationPerform RSA unencapsulationRSA decryptionCO
Diffie-Hellman shared secret computationShared secret computationKAS-FFC-SSC with parameters other than safe primesCO
EC Diffie-Hellman shared secret computationShared secret computationKAS-ECC-SSC with P-192, K-163, B-163 curvesCO
Message digestHashing algorithmsSHA-1, MD2, MD4, MD5, MDC2, RIPEMDCO
Random Number GenerationGenerate random bitstringsHash_DRBG or HMAC_DRBG using SHA-1CO
Message authentication code (MAC) generationCompute MACHMAC-MD5, HMAC-SHA-1CO
Message authentication code (MAC) verificationVerify MACHMAC-MD5, HMAC-SHA-1CO
Key Derivation Functions (KDF)Key derivationKBKDF, PBKDF with SHA-1CO

Table 8 - Non-Approved Services © 2024 IBM® Corporation. / atsec information security.

24 of 47

Page 25
5 Software/Firmware security
5.1 Integrity Techniques

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.

5.2 On-Demand Integrity Test

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

Page 26
6 Operational Environment
6.1 Applicability

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.

6.2 Requirements

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

Page 27
7 Physical Security

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

Page 28
8 Non-invasive Security

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

Page 29
Key/SSP Name /TypeStre ngthSecurity Function and Cert. NumberGenerationImport/ExportEstablish mentStor ageZeroisationUse & related keys
AES key128, 192, 256 bitsAES-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, A2620N/AImport: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/AN/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Symmetric encryption, Symmetric decryption, Authenticated encryption, Authenticated decryption, Message authenticated code (MAC) generation, Message authenticated code (MAC) verification. Related SSPs: None
HMAC key112 to 256 bitsHMAC A2619, A2620N/AImport: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/AN/AAutomatic zeroization when structure is deallocated or when the system is powered downUse: Message authenticated code (MAC) generation, Message authenticated code (MAC) verification. Related SSPs: None
Module- generated ECDSA private key112, 128, 192, 256 bitsECDSA A2619, A2620B.4.2 Testing Candidates Generated using the testing candidates method specified in FIPS 186-4; random values are obtained from the SP800- 90Arev1 DRBGImport: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Key generation Related SSPs: Module- generated ECDSA public key
Module- generated ECDSA public key112, 128, 192, 256 bitsECDSA A2619, A2620Use: Key generation Related SSPs: Module- generated ECDSA private key
ECDSA private key112, 128, 192, 256 bitsECDSA A2619, A2620N/AImport: CM from TOEPP Path. Passed to the module via API parameters inN/ARAMAutomatic zeroization when structure is deallocated or when the system isUse: Key pair validation, Digital signature generation Related SSPs: ECDSA
9 Sensitive Security Parameter Management

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

Page 30
Key/SSP Name /Type ECDSA public keyStre ngth 112, 128, 192, 256 bitsSecurity Function and Cert. Number ECDSA A2619, A2620GenerationImport/Export plaintext (P) format. Export: N/AEstablish mentStor ageZeroisation powered downUse & related keys public key Use: Key pair validation, Digital signature verification Related SSPs: ECDSA private key
Module- generated RSA private key112, 128, 149 bitsRSA A2619, A2620Generated 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/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Key generation Related SSPs: Module- generated RSA public key
Module- generated RSA public key112, 128, 149 bitsRSA A2619, A2620Use: Digital signature verification Related SSPs: Module- generated RSA private key
RSA private key112, 128, 149 bitsRSA A2619, A2620N/AImport: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A.N/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Digital signature generation Related SSPs: RSA public key
RSA public key112, 128, 149 bitsRSA A2619, A2620Use: Digital signature verification Related SSPs: RSA private key
DSA public key112, 128 bitsDSA signature verification, A2619, A2620N/AImport: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A.N/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Digital Signature Verification Related SSPs: None
Entropy Input IG D.L compliant192 to 384 bitsCTR_DRBG, HMAC_DRBG, Hash_DRBG A2619, A2620Obtained from the SP800-90B ENT (NP)Import: N/A. Export: N/A. It remains withinN/ARAMAutomatic zeroization when structure is deallocated or when theUse: Random number generation, Key generation, Digital

© 2024 IBM® Corporation. / atsec information security.

30 of 47

Page 31
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 compliantStre ngth 192 to 384 bits 128 to 256 bits 128 to 256 bitsSecurity Function and Cert. Number CTR_DRBG, HMAC_DRBG, Hash_DRBG A2619, A2620 HMAC_DRBG, Hash_DRBG A2619, A2620 CTR_DRBG A2619, A2620Generation Derived from the entropy input as defined by SP800-90Arev1 Computed as defined by SP800-90Arev1Import/Export the cryptographic boundary.Establish ment N/A N/A N/AStor age RAM RAM RAMZeroisation system is powered downUse & 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 key112 to 256 bitsPBKDF A2619, A2620Generated 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/ARAMAutomatic zeroization when the system is powered downUse: PBKDF key derivation Related SSPs: PBKDF password
PBKDF passwordN/APBKDF A2619, A2620N/AImport: CM from TOEPP Path. Passed to the module via APIN/ARAMUse: PBKDF key derivation Related

© 2024 IBM® Corporation. / atsec information security.

31 of 47

Page 32
Key/SSP Name /TypeStre ngthSecurity Function and Cert. NumberGenerationImport/Export parameters in plaintext (P) format. Export: N/A.Establish mentStor ageZeroisationUse & related keys SSPs: PBKDF derived key
HKDF derived key112 to 256 bitsHKDF A2619, A2620Generated in accordance with SP800-56Crev1 Extraction and Expansion procedure, as referenced in SP800-135rev1Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMAutomatic zeroization when the system is powered downUse: HKDF key derivation Related SSPs: None
Module- generated Diffie- Hellman private key112 to 200 bitsKAS-FFC-SSC A2619, A2620Generated using safe prime key generation method specified in SP800- 56Arev3; random values are obtained from the SP800- 90Arev1Import: N/A. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Key generation Related SSPs: Module- generated Diffie-Hellman public key
Module- generated Diffie- Hellman public keyN/ARAMUse: Key generation Related SSPs: Module- generated Diffie-Hellman private key
Diffie- Hellman private key112 to 200 bitsKAS-FFC-SSC A2619, A2620N/AImport: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A.N/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Diffie- Hellman shared secret computation Related SSPs: Diffie- Hellman shared secret
Diffie- Hellman public key from peerN/ARAMUse: Diffie- Hellman shared secret computation Related SSPs: Diffie- Hellman shared secret
Diffie- Hellman shared secret112 to 200 bitsKAS-FFC-SSC A2619, A2620N/AImport: 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-RAMUse: Diffie- Hellman shared secret computation Related SSPs: Diffie- Hellman private key,

© 2024 IBM® Corporation. / atsec information security.

32 of 47

Page 33
Key/SSP Name /TypeStre ngthSecurity Function and Cert. NumberGenerationImport/Export format.Establish ment 56Arev3.Stor ageZeroisationUse & related keys Diffie-Hellman public key from peer
Module- generated EC Diffie- Hellman private key112 to 256 bitsKAS-ECC-SSC A2619, A2620Generated 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/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: Key generation Related SSPs: Module- generated EC Diffie-Hellman public key
Module- generated EC Diffie- Hellman public keyN/ARAMUse: Key generation Related SSPs: Module- generated EC Diffie-Hellman private key
EC Diffie- Hellman private key112 to 256 bitsEC Diffie Hellman shared secret computation, A2619, A2620N/AImport: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: N/A.N/ARAMAutomatic zeroization when structure is deallocated or when the system is powered downUse: EC Diffie-Hellman shared secret computation Related SSPs: EC Diffie-Hellman shared secret
EC Diffie- Hellman public key from peerN/ARAMUse: EC Diffie-Hellman shared secret computation Related SSPs: EC Diffie-Hellman shared secret
EC Diffie- Hellman shared secret112 to 256 bitsEC Diffie Hellman shared secret computation, A2619, A2620N/AImport: 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.RAMUse: 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

Page 34
Entropy SourceMinimum number of bits of entropyDetails
NIST SP800-90B compliant ENT (NP)256The 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

9.2 SSPs Generation

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:

9.3 SSPs Establishment

The ICC uses the following key establishment methodologies in the approved mode of operation:

34 of 47

Page 35
9.4 SSPs Import/Export

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.

9.5 SSPs Storage

The module does not provide any long-term key storage and no keys are ever stored on the hard disk.

9.6 SSPs Zeroization

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

Page 36
Cryptographic AlgorithmNotes
AES–CBC with 256 bits AES–GCM with 128 bits AES–CCM with 128 bits AES–XTS with 128 bitsSeparate encryption / decryption KATs are performed
AES KW and KWP with 128 bitsSeparate wrapping / unwrapping KATs are performed
SHA3-512, SHAKE-128KATs
HMAC-SHA2-256 HMAC-SHA2-512KAT
CMAC with AESKAT
SHA2-256, SHA2-512Covered 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:

10.1 Pre-operational Software Integrity Test

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.

10.2 Conditional Self-Tests

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

Page 37
Cryptographic AlgorithmNotes
RSA with 2048-bit keys and SHA2-256Separate signature generation/ verification KAT are performed
ECDSA with curves P-384 and B-233 and using SHA2-256Separate signature generation / verification KAT are performed
DSA with L=2048, N=224 and SHA2-256Signature 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-256Each DRBG mode tested separately.
DRBG health testsHealth tests according to section 11.3 of [SP800- 90Arev1]
HKDF using SHA2-256KAT
PBKDF using SHA2-256KAT
Diffie-Hellman “Z” computation with 2048-bit keyKAT
EC Diffie-Hellman “Z” computation with P-521 curveKAT
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.
10.2.2 Pairwise Consistency Test

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

Page 38

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”).

10.3 Error Handling

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

Page 39
11 Life-cycle assurance
11.1 Delivery and Operation

The following steps must be performed to install and initialize the module for operating in a FIPS 140-3 compliant manner:

  1. The operating system must be configured to operate securely and to prevent remote login. This is accomplished by disabling all services (within the Administrative tools) that provide remote access (e.g., – ftp, telnet, ssh, and server) and disallowing multiple operators to log in at once.
  2. Before the module initialization, the user has a choice to configure the default DRBG algorithm to use. This can be set using the environment variable ‘ICC_RANDOM_GENERATOR’.
  3. The module is initialized automatically when the shared library is loaded in the calling application process space. The module executes the pre-operational self tests (POST) and, if they are successful, the module enters the approved mode of operation. The calling application must include the following calling sequence to have access to the cryptographic services: • ICC_Init() creates the crypto module context. • ICC_Attach() binds the cryptographic functions with the API entry points.
11.2 Crypto Officer Guidance

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:

  1. The AES algorithm in XTS mode can be only used for the cryptographic protection of data on storage devices, as specified in [SP800-38E]. The length of a single data unit encrypted with the XTS-AES shall not exceed 2²⁰ AES blocks (16MB of data).
  2. To meet the requirement in [FIPS140-3-IG] C.I, the module implements a check to ensure that the two AES keys used in the XTS-AES algorithm are not identical.
  3. AES-GCM IV is constructed in compliance with IG C.H scenario
  4. In case the module’s power is lost and then restored, the keys used for the AES GCM encryption/decryption shall be re-distributed. The GCM is used in the context of TLS version 1.2. The mechanism for IV generation is compliant with RFC 5288 as described in 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.
  5. The module also offers an AES-GCM implementation under the context of Scenario 5 of IG C.H. The protocol that provides this compliance is TLS 1.3, using the ciphersuites that © 2024 IBM® Corporation. / atsec information security.

39 of 47

Page 40

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.

  1. For PBKDF, the module implements a CAVP compliance tested key derivation function compliant to [SP800-132] and IG D.N. The service returns the key derived from the provided password to the caller. PBKDF is implemented to support the option 1a specified in section 5.4 of [SP800-132]. The keys derived from [SP800-132] map to section 4.1 of [SP800-133rev2] as indirect generation from DRBG. In accordance with [SP800-132], the following requirements shall be met: a. Derived keys shall only be used in storage applications. The Master Key (MK) shall not be used for other purposes. The length of the MK or Data Protection Key (DPK) shall be of 112 bits or more. b. A portion of the salt, with a length of at least 128 bits, shall be generated randomly using the SP800-90A DRBG, c. The iteration count shall be equal or greater than 1000, so as to make the key derivation computationally intensive. d. Passwords or passphrases, used as an input for the PBKDF, shall not be used as cryptographic keys. e. The length of the password or passphrase shall be at least ten characters long, and may consist of lower-case, upper-case, numeric, or special characters. At a minimum length of ten characters, and assuming a worst case scenario where the password uses a combination of only lower case and numbers (36 symbols), the chance of randomly guessing this password is 1 / 3610 = 3.656 10-15.
  2. For SHA-3 algorithms, the module implements HMAC with SHA3-224, SHA3-256, SHA3-384, SHA3-512. The CAVP certificates have been obtained for the HMAC and HKDF algorithms as well as for all the SHA-3 implementations. The CAVP certificates are listed in Table 3 in Section 2.
  3. The module implements FIPS 186-4 RSA SigGen and SigVer. RSA SigGen is supported with key sizes of 2048, 3072, 4096 bits while RSA SigVer is supported with 1024, 2048, 3072,

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

Page 41

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

Page 42
12 Mitigation of other attacks

The cryptographic module is not designed to mitigate any specific attacks. © 2024 IBM® Corporation. / atsec information security.

42 of 47

Page 43
Table, extracted as text (did not parse into structured rows)
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

Page 44
Table, extracted as text (did not parse into structured rows)
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

Page 45
FIPS140-3FIPS PUB 140-3 - Security Requirements for Cryptographic Modules March 2019 https://doi.org/10.6028/NIST.FIPS.140-3
SP 800-140xCMVP FIPS 140-3 Related Reference https://csrc.nist.gov/Projects/cryptographic-module-validation-program/fips- 140-3-standards
FIPS140-3_IGImplementation 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_MMCMVP 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-4Secure Hash Standard (SHS) March 2012 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
FIPS186-4Digital Signature Standard (DSS) July 2013 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
FIPS197Advanced Encryption Standard November 2001 https://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
FIPS198-1The Keyed Hash Message Authentication Code (HMAC) July 2008 https://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf
FIPS202SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions August 2015 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
PKCS#1Public Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 February 2003 https://www.ietf.org/rfc/rfc3447.txt
RFC3394Advanced Encryption Standard (AES) Key Wrap Algorithm September 2002 https://www.ietf.org/rfc/rfc3394.txt
RFC5649Advanced 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
Page 46
SP800-38ANIST 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-38BNIST 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-38CNIST 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-38DNIST 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-38ENIST 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-38FNIST 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-56Arev3Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography April, 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf
SP800-56Crev1Recommendation for Key-Derivation Methods in Key-Establishment Schemes August 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Cr1.pdf
SP800-57rev5NIST 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-90Arev1NIST 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-90BNIST 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
Page 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