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

Rocky Linux 8 Kernel Cryptographic API

Certificate#5095StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorCtrl IQ, Inc.
Medium review priority  ·  exposes kernel crypto consumer  ·  Linux kernel upstream has published 3932 CVEs since this module's initial validation  ·  last validated 8 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date11/23/2030
CaveatWhen operated in approved mode. No assurance of minimum security of SSPs (e.g., keys, bit strings) that are externally loaded, or of SSPs established with externally loaded SSPs.
VendorCtrl IQ, Inc.

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

flowchart LR
  %% Deterministic review-risk graph for Rocky Linux 8 Kernel Cryptographic API
  %% 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<br/>Recovery</i>"]
    C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>UnAuth</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>IKEV<br/>IPSEC<br/>HTTPS</i>"]
    C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>operating system<br/>linux<br/>kernel</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 Rocky Linux 8 Kernel Cryptographic API
  %% 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<br/>Recovery</i><br/>src: text:keyword"]
    C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>UnAuth</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>IKEV<br/>IPSEC<br/>HTTPS</i><br/>src: text:keyword"]
    C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>operating system<br/>linux<br/>kernel</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

Ctrl IQ, Inc. Rocky Linux 8 Kernel Cryptographic API Prepared by: atsec information security corporation

4516 Seton Center Pkwy, Suite 250

Austin, TX 78759 Document version: 1.2 www.atsec.com Last update: 2025-11-12 © 2025 Ctrl IQ, Inc., atsec information security.

Page 2
Table of Contents
#SectionPage
Page 3

© 2025 Ctrl IQ, Inc., atsec information security.

Page 4
List of Tables
ItemPage
Table 1: Security Levels5
Table 3: Tested Operational Environments - Software, Firmware, Hybrid8
Table 4: Modes List and Description8
Table 5: Approved Algorithms11
Table 6: Non-Approved, Not Allowed Algorithms12
Table 7: Security Function Implementations15
Table 8: Entropy Certificates16
Table 9: Entropy Sources16
Table 10: Ports and Interfaces18
Table 11: Roles19
Table 12: Approved Services23
Table 13: Non-Approved Services23
Table 14: Storage Areas28
Table 15: SSP Input-Output Methods28
Table 16: SSP Zeroization Methods29
Table 17: SSP Table 130
Table 18: SSP Table 231
Table 19: Pre-Operational Self-Tests33
Table 20: Conditional Self-Tests40
Table 21: Pre-Operational Periodic Information40
Table 22: Conditional Periodic Information44
Table 23: Error States45
Figure 1: Block Diagram7
Page 5
SectionTitleSecurity Level
1General1
2Cryptographic module specification1
3Cryptographic module interfaces1
4Roles, services, and authentication1
5Software/Firmware security1
6Operational environment1
7Physical securityN/A
8Non-invasive securityN/A
9Sensitive security parameter management1
10Self-tests1
11Life-cycle assurance1
12Mitigation of other attacksN/A
Overall Level1
1.1 Overview

This document is the non-proprietary FIPS 140-3 Security Policy for version kernel rocky8.20240923; libkcapi 1.2.0-2.el8 of the Rocky Linux 8 Kernel Cryptographic API module. It contains the security rules under which the module must operate and describes how this module meets the requirements as specified in FIPS PUB 140-3 (Federal Information Processing Standards Publication 140-3) for an overall Security Level 1 module. intact and including this notice. Other documentation is proprietary to their authors.

1.1.1 How this Security Policy was prepared

In preparing the Security Policy document, the laboratory formatted the vendor-supplied documentation for consolidation without altering the technical statements therein contained. The further refining of the Security Policy document was conducted iteratively throughout the conformance testing, wherein the Security Policy was submitted to the vendor, who would then edit, modify, and add technical contents. The vendor would also supply additional documentation, which the laboratory formatted into the existing Security Policy, and resubmitted to the vendor for their final editing.

1.2 Security Levels

Table 1: Security Levels © 2025 Ctrl IQ, Inc., atsec information security.

Page 6
2 Cryptographic Module Specification
2.1 Description

Purpose and Use: The Rocky Linux 8 Kernel Cryptographic API (hereafter referred to as “the module”) provides a C language application program interface (API) for use by other (kernel space and user space) processes that require cryptographic functionality. The module operates on a generalpurpose computer as part of the Linux kernel. Its cryptographic functionality can be accessed using the Linux Kernel Crypto API. Module Type: Software Module Embodiment: MultiChipStand Cryptographic Boundary: The cryptographic boundary of the module is defined as the kernel binary and the kernel crypto object files, the libkcapi shared library, and the sha512hmac binary, which is used to verify the integrity of the software components. In addition, the cryptographic boundary contains the .hmac files which store the expected integrity values for each of the software components. Tested Operational Environment’s Physical Perimeter (TOEPP): The TOEPP of the module is defined as the general-purpose computer on which the module is installed. The PAA provided by the processor is located within the module’s physical perimeter and outside of the module’s cryptographic boundary. The cryptographic boundary and TOEPP are schematically represented in Figure 1. © 2025 Ctrl IQ, Inc., atsec information security.

Page 7
Package or File NameSoftware/ Firmware VersionFeatur esIntegrity Test
/boot/vmlinuz-4.18.0- 553.16.1.el8_6.ciqfips.0.5.x86_64; *.ko.xz files in /usr/lib/modules/4.18.0- 553.16.1.el8_6.ciqfips.0.5.x86_64/kernel/crypto and /usr/lib/modules/4.18.0- 553.16.1.el8_6.ciqfips.0.5.x86_64/kernel/arch/x8 6/crypto; /usr/bin/sha512hmac; /lib64/libkcapi.so.1.2.0kernel rocky8.202409 23; libkcapi 1.2.0-2.el8N/AHMAC- SHA2-256 (libkcapi.so ); HMAC- SHA2-512 (vmlinuz, sha512hma c); RSA signature verification (*.ko.xz files)

2.2 Tested and Vendor Affirmed Module Version and

Identification Tested Module Identification

Page 8
Operating SystemHardware PlatformProcessorsPAA/PAIHypervisor or Host OSVersion(s)
Rocky Linux 8SuperMicro SuperServer 5039MSIntel Xeon E3-1270 v6Yeskernel rocky8.20240923; libkcapi 1.2.0-2.el8
Rocky Linux 8SuperMicro SuperServer 5039MSIntel Xeon E3-1270 v6Nokernel rocky8.20240923; libkcapi 1.2.0-2.el8
Mode NameDescriptionTypeStatus Indicator
Approved modeAutomatically entered whenever an approved service is requestedApprovedMapped to approved service indicator in Section 4.3 for all approved algorithms except GCM: respective approved service function returns indicator 0. For GCM: crypto_aead_get_flags(tfm) has the CRYPTO_TFM_FIPS_COMPLIANCE flag set
Non- approved modeAutomatically entered whenever a non- approved service is requestedNon- ApprovedNo service indicator required for non-approved services per IG 2.4.C

Table 3: Tested Operational Environments - Software, Firmware, Hybrid The module implements Processor Algorithm Acceleration (PAA) for the tested platforms listed above. There is no Processor Algorithm Implementation (PAI). Vendor-Affirmed Operational Environments - Software, Firmware, Hybrid: N/A for this module.

2.3 Excluded Components

There are no components within the cryptographic boundary excluded from the FIPS 140-3 requirements.

2.4 Modes of Operation

Modes List and Description: Table 4: Modes List and Description After passing all pre-operational self-tests and conditional self-tests executed on startup, the to reach this point. Mode Change Instructions and Status: The module automatically switches between the approved and non-approved modes depending on the services requested by the operator. The status indicator of the mode of operation is equivalent to the indicator of the service that was requested. © 2025 Ctrl IQ, Inc., atsec information security.

Page 9
AlgorithmCAVP CertPropertiesReference
AES-CBCA5807, A5810, A5813, A5816, A5819Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CBC-CS3A5807, A5810, A5816, A5819Direction - decrypt, encrypt Key Length - 128, 192, 256SP 800-38A
AES-CCMA5807, A5810, A5816, A5819Key Length - 128, 192, 256SP 800-38C
AES-CFB128A5807, A5810, A5816, A5819Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-CMACA5807, A5810, A5816, A5819Direction - Generation, Verification Key Length - 128, 192, 256SP 800-38B
AES-CTRA5807, A5810, A5813, A5816, A5819Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-ECBA5807, A5808, A5809, A5810, A5811, A5812, A5813, A5814, A5815, A5816, A5817, A5818, A5819, A5820, A5821Direction - Decrypt, Encrypt Key Length - 128, 192, 256SP 800-38A
AES-GCMA5807, A5809, A5810, A5812, A5813, A5815, A5816, A5818, A5819, A5821Direction - Decrypt, Encrypt IV Generation - External Key Length - 128, 192, 256SP 800-38D
AES-GCMA5808, A5811, A5814, A5817, A5820Direction - Decrypt, Encrypt IV Generation - Internal IV Generation Mode - 8.2.1 Key Length - 128, 192, 256SP 800-38D
AES-GMACA5807, A5810, A5816, A5819Direction - Decrypt, Encrypt IV Generation - External Key Length - 128, 192, 256SP 800-38D
AES-KWA5807, A5810, A5816, A5819Direction - Decrypt, EncryptSP 800-38F
2.5 Algorithms

Approved Algorithms: 8.2.1 © 2025 Ctrl IQ, Inc., atsec information security.

Page 10
AlgorithmCAVP CertPropertiesReference
Key Length - 128, 192, 256
AES-XTS Testing Revision 2.0A5807, A5810, A5813, A5816, A5819Direction - Decrypt, Encrypt Key Length - 128, 256SP 800-38E
Counter DRBGA5807, A5808, A5809, A5810, A5811, A5812, A5813, A5814, A5815, A5816, A5817, A5818, A5819, A5820, A5821Prediction Resistance - No, Yes Mode - AES-128, AES- 192, AES-256 Derivation Function Enabled - YesSP 800-90A Rev. 1
Hash DRBGA5807, A5822, A5823, A5824Prediction Resistance - No, Yes Mode - SHA-1, SHA2- 256, SHA2-512SP 800-90A Rev. 1
HMAC DRBGA5807, A5822, A5823, A5824Prediction Resistance - No, Yes Mode - SHA-1, SHA2- 256, SHA2-512SP 800-90A Rev. 1
HMAC-SHA-1A5807, A5822, A5823, A5824Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 224A5807, A5822, A5823, A5824Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 256A5807, A5822, A5823, A5824Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 384A5807, A5822, A5823, A5824Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA2- 512A5807, A5822, A5823, A5824Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA3- 224A5807Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA3- 256A5807Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA3- 384A5807Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
HMAC-SHA3- 512A5807Key Length - Key Length: 112-524288 Increment 8FIPS 198-1
RSA SigVer (FIPS186-5)A5807Modulo - 2048, 3072, 4096 Signature Type - pkcs1v1.5FIPS 186-5
SHA-1A5807, A5822, A5823, A5824Message Length - Message Length: 0-FIPS 180-4

© 2025 Ctrl IQ, Inc., atsec information security.

Page 11
AlgorithmCAVP CertPropertiesReference
65536 Increment 8 Large Message Sizes - 1, 2
SHA2-224A5807, A5822, A5823, A5824Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 180-4
SHA2-256A5807, A5822, A5823, A5824Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 180-4
SHA2-384A5807, A5822, A5823, A5824Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 180-4
SHA2-512A5807, A5822, A5823, A5824Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 180-4
SHA3-224A5807Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 202
SHA3-256A5807Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 202
SHA3-384A5807Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 202
SHA3-512A5807Message Length - Message Length: 0- 65536 Increment 8 Large Message Sizes - 1, 2FIPS 202

1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2 Table 5: Approved Algorithms Vendor-Affirmed Algorithms: N/A for this module. Non-Approved, Allowed Algorithms: N/A for this module. © 2025 Ctrl IQ, Inc., atsec information security.

Page 12
NameUse and Function
AES-GCM with external IVEncryption with external IV (not compliant to FIPS 140-3 IG C.H)
KBKDF in libkcapiKey derivation with implementation not tested by CAVP
HKDF in libkcapiKey derivation with implementation not tested by CAVP
PBKDF2 in libkcapiPassword-based key derivation with implementation not tested by CAVP
RSA PKCS#1 v1.5 with pre- hashed messageSignature generation; Signature verification
RSA PKCS#1 v1.5Key encapsulation (not compliant to SP 800-56Br2); Key un- encapsulation (not compliant to SP 800-56Br2)
RSA primitiveEncryption primitive; Decryption primitive (not compliant to SP 800-56Br2)
NameTypeDescriptionPropertiesAlgorithms
EncryptionBC-UnAuthEncrypt a plaintextAES-CBC: (A5807, A5810, A5813, A5816, A5819) AES-CBC-CS3: (A5807, A5810, A5816, A5819) AES-CFB128: (A5807, A5810, A5816, A5819) AES-CTR: (A5807, A5810, A5813, A5816, A5819) AES-ECB: (A5807, A5808, A5809, A5810, A5811, A5812, A5813, A5814, A5815, A5816, A5817, A5818, A5819, A5820, A5821) AES-XTS Testing Revision 2.0: (A5807, A5810,

Non-Approved, Allowed Algorithms with No Security Claimed: N/A for this module. Non-Approved, Not Allowed Algorithms: C.H) Table 6: Non-Approved, Not Allowed Algorithms

2.6 Security Function Implementations

© 2025 Ctrl IQ, Inc., atsec information security.

Page 13
NameTypeDescriptionPropertiesAlgorithms
A5813, A5816, A5819)
DecryptionBC-UnAuthDecrypt a ciphertextAES-CBC: (A5807, A5810, A5813, A5816, A5819) AES-CBC-CS3: (A5807, A5810, A5816, A5819) AES-CFB128: (A5807, A5810, A5816, A5819) AES-CTR: (A5807, A5810, A5813, A5816, A5819) AES-ECB: (A5807, A5808, A5809, A5810, A5811, A5812, A5813, A5814, A5815, A5816, A5817, A5818, A5819, A5820, A5821) AES-XTS Testing Revision 2.0: (A5807, A5810, A5813, A5816, A5819)
Authenticated encryptionBC-AuthEncrypt and authenticate a plaintextAES-CCM: (A5807, A5810, A5816, A5819) AES-KW: (A5807, A5810, A5816, A5819) AES-GCM: (A5808, A5811, A5814, A5817, A5820)
Authenticated decryptionBC-UnAuthDecrypt and authenticate a ciphertextAES-CCM: (A5807, A5810, A5816, A5819) AES-KW: (A5807, A5810, A5816, A5819) AES-GCM: (A5807, A5809, A5810, A5812, A5813, A5815, A5816, A5818, A5819, A5821)

© 2025 Ctrl IQ, Inc., atsec information security.

Page 14
NameTypeDescriptionPropertiesAlgorithms
Message digestSHACompute a message digestSHA-1: (A5807, A5822, A5823, A5824) SHA2-224: (A5807, A5822, A5823, A5824) SHA2-256: (A5807, A5822, A5823, A5824) SHA2-384: (A5807, A5822, A5823, A5824) SHA2-512: (A5807, A5822, A5823, A5824) SHA3-224: (A5807) SHA3-256: (A5807) SHA3-384: (A5807) SHA3-512: (A5807)
Message authenticationMACCompute a MAC tagAES-CMAC: (A5807, A5810, A5816, A5819) AES-GMAC: (A5807, A5810, A5816, A5819) HMAC-SHA-1: (A5807, A5822, A5823, A5824) HMAC-SHA2- 224: (A5807, A5822, A5823, A5824) HMAC-SHA2- 256: (A5807, A5822, A5823, A5824) HMAC-SHA2- 384: (A5807, A5822, A5823, A5824) HMAC-SHA2- 512: (A5807, A5822, A5823, A5824) HMAC-SHA3- 224: (A5807) HMAC-SHA3- 256: (A5807) HMAC-SHA3-

© 2025 Ctrl IQ, Inc., atsec information security.

Page 15
NameTypeDescriptionPropertiesAlgorithms
384: (A5807) HMAC-SHA3- 512: (A5807)
Random number generationDRBGGenerate random bytesCounter DRBG: (A5807, A5808, A5809, A5810, A5811, A5812, A5813, A5814, A5815, A5816, A5817, A5818, A5819, A5820, A5821) Hash DRBG: (A5807, A5822, A5823, A5824) HMAC DRBG: (A5807, A5822, A5823, A5824)
Signature verificationDigSig-SigVerVerify a digital signatureRSA SigVer (FIPS186-5): (A5807)

Table 7: Security Function Implementations

2.7 Algorithm Specific Information
2.7.1 AES-GCM IV

For IPsec, the module offers the AES-GCM implementation and uses the context of Scenario 1 of FIPS 140-3 IG C.H. The mechanism for IV generation is compliant with RFC 4106. IVs generated using this mechanism may only be used in the context of AES GCM encryption within the IPsec protocol. The module does not implement IPsec. The module’s implementation of AES GCM is used together with an application that runs outside the module’s cryptographic boundary. This application must use RFC 7296 compliant IKEv2 to establish the shared secret SKEYSEED from which the AES-GCM encryption keys are derived. The design of the IPsec protocol implicitly ensures that the counter (the nonce_explicit part of the IV) does not exhaust the maximum number of possible values for a given session key. In the event the module’s power is lost and restored, the consuming application must ensure that a new key for use with the AES-GCM key encryption or decryption under this scenario shall be established. The module also provides a non-approved AES-GCM encryption service which accepts arbitrary external IVs from the operator. This service can be requested by invoking the crypto_aead_encrypt API function with an AES-GCM handle. When this is the case, the API will not set an approved service indicator, as described in this document.

2.7.2 AES-XTS

© 2025 Ctrl IQ, Inc., atsec information security.

Page 16
CertVendor
NumberName
E205Ctrl IQ, Inc.
NameTypeOperational EnvironmentSample SizeEntropy per SampleConditioning Component
Rocky Linux Kernel CPU Time Jitter RNG Entropy SourceNon- PhysicalRocky Linux 8 on Intel Kaby Lake Xeon E3- 1270 v6256 bitsSHA3-256 (A5807)

The length of a single data unit encrypted or decrypted with AES-XTS shall not exceed 220 AES blocks, that is 16MB, of data per XTS instance. An XTS instance is defined in Section 4 of SP 800-38E. The XTS mode shall only be used for the cryptographic protection of data on storage devices. It shall not be used for other purposes, such as the encryption of data in transit. To meet the requirement stated in IG C.I, the module implements a check to ensure that the two AES keys used in AES XTS mode are not identical. As the module does not implement symmetric key generation, this check is performed when the keys are input by the operator. Key_1 and Key_2 shall be generated and/or established independently according to the rules for component symmetric keys from NIST SP 800-133r2, Section 6.3.

2.7.3 RSA

All supported modulus sizes for RSA signature verification have been CAVP tested.

2.7.4 Authenticated Encryption/Decryption

The module does not establish SSPs using an approved key transport scheme (KTS). However, it does offer approved authenticated algorithms that can be used by an external operator/application as part of an approved KTS.

2.7.5 SHA-1

Digital signature generation using SHA-1 is non-approved and not allowed in approved services.

2.8 RBG and Entropy

Table 8: Entropy Certificates Table 9: Entropy Sources The module implements three different Deterministic Random Bit Generator (DRBG) implementations based on SP 800-90Ar1: CTR_DRBG, Hash_DRBG, and HMAC_DRBG. Each of these DRBG implementations can be instantiated by the operator of the module. When instantiated, these DRBGs can be used to generate random numbers for external usage. Additionally, the module employs a specific HMAC-SHA2-512 DRBG implementation for internal purposes (e.g. to generate initialization vectors). This DRBG is initially seeded with

384 output bits from the entropy source (384 bits of entropy) and reseeded with 256 output

© 2025 Ctrl IQ, Inc., atsec information security.

Page 17

bits from the entropy source (256 bits of entropy). Outputs of multiple GetEntropy() calls are concatenated to receive the entropy input length greater than 256 bits. The output is truncated to get the entropy input string which is not a multiple of 256. E.g. The 384 bits of entropy source output is obtained by calling the GetEntropy() twice, with each call providing 256 bits of output. The second call output is truncated to 128 bits and concatenated to the 256 bit output from the first call. The module complies with the Public Use Document for ESV certificate E205 by reading entropy data from the jent_kcapi_random() function, which corresponds to the GetEntropy() conceptual interface. The operational environment on the ESV certificate is identical to the operating system described in this document. There are no maintenance requirements for the entropy source.

2.9 Key Generation

The module does not implement any key generation methods.

2.10 Key Establishment

The module does not implement any automated key establishment methods.

2.11 Industry Protocols

AES-GCM with internal IV generation in the approved mode is compliant with RFC 4106 and shall only be used in conjunction with the IPsec protocol. No parts of this protocol, other than the AES-GCM implementation, have been tested by the CAVP and CMVP. © 2025 Ctrl IQ, Inc., atsec information security.

Page 18
Physical PortLogical Interface(s)Data That Passes
N/AData InputAPI data input parameters, AF_ALG type sockets
N/AData OutputAPI data output parameters, AF_ALG type sockets, /proc/sys/crypto virtual files
N/AControl InputAPI function calls, API control input parameters, AF_ALG type sockets
N/AStatus OutputAPI return values, AF_ALG type sockets, kernel logs
3 Cryptographic Module Interfaces
3.1 Ports and Interfaces

Table 10: Ports and Interfaces The logical interfaces are the APIs through which the applications request services. These logical interfaces are logically separated from each other by the API design and AF_ALG type socket message types. The module does not support a control output interface. © 2025 Ctrl IQ, Inc., atsec information security.

Page 19
NameTypeOperator TypeAuthentication Methods
Crypto OfficerRoleCrypto OfficerNone
NameDescript ionIndicatorInputsOutput sSecurity Function sSSP Access
Encryptio nEncrypt a plaintextcrypto_skcipher_setke y returns 0AES key, plaintex t, IV (if require d)Cipherte xtEncryptio nCrypto Officer - AES key: W,E
Decryptio nDecrypt a ciphertex tcrypto_skcipher_setke y returns 0AES key, cipherte xt, IV (if require d)Plaintex tDecryptio nCrypto Officer - AES key: W,E
Authentic ated encryptio nEncrypt and authentic ate a plaintextFor all except AES GCM: crypto_aead_setkey returns 0; For AES GCM: crypto_aead_get_flags (tfm) has the CRYPTO_TFM_FIPS_CO MPLIANCE flag setAES key, plaintex t, IV (CCM/G CM)Cipherte xt, MAC tag (CCM/G CM)Authentic ated encryptio nCrypto Officer - AES key: W,E
Authentic ated decryptio nDecrypt and authentic ate a ciphertex tcrypto_aead_setkey returns 0AES key, cipherte xt, IV (CCM/G CM), MAC tag (CCM/G CM)Plaintex t or failureAuthentic ated decryptio nCrypto Officer - AES key: W,E
4 Roles, Services, and Authentication

The module does not implement any authentication methods.

4.2 Roles

Table 11: Roles No support is provided for multiple concurrent operators.

4.3 Approved Services

s d) d) © 2025 Ctrl IQ, Inc., atsec information security.

Page 20
NameDescript ionIndicatorInputsOutput sSecurity Function sSSP Access
Message digestCompute a message digestcrypto_shash_init returns 0Messag eDigest valueMessage digestCrypto Officer
Message authentic ationCompute a MAC tagcrypto_shash_init returns 0AES key or HMAC key, messag eMAC tagMessage authentic ationCrypto Officer - AES key: W,E - HMAC key: W,E
Random number generatio nGenerate random bytescrypto_rng_get_bytes returns 0Output lengthRandom bytesRandom number generatio nCrypto Officer - Entropy input (IG D.L): G,E,Z - CTR_DR BG seed (IG D.L): G,E,Z - HMAC_D RBG seed (IG D.L): G,E,Z - Hash_D RBG seed (IG D.L): G,E,Z - CTR_DR BG internal state (V, Key) (IG D.L): G,W,E - HMAC_D RBG internal state (V, Key) (IG D.L): G,W,E -

s D.L): G,E,Z G,E,Z D.L): G,E,Z D.L): G,E,Z D.L): G,W,E D.L): G,W,E © 2025 Ctrl IQ, Inc., atsec information security.

Page 21
NameDescript ionIndicatorInputsOutput sSecurity Function sSSP Access Hash_D RBG internal state (V, C) (IG D.L): G,W,E
Error detection codeCompute an EDC (crc32, crc32c, crct10dif )NoneMessag eEDCNoneCrypto Officer
Compress ionCompres s data (deflate, lz4, lz4hc, lzo, zlib- deflate, zstd)NoneDataCompre ssed dataNoneCrypto Officer
Generic system callUse the kernel to perform various non- cryptogr aphic operation sNoneIdentifie r, various argume ntsVarious return valuesNoneCrypto Officer
Show versionReturn the module name and version informati onNoneN/AModule name and versionNoneCrypto Officer
Show statusReturn the module statusNoneN/AModule statusNoneCrypto Officer
Self-testPerform the CASTs and integrity testsNoneN/APass/failEncryptio n Decryptio n Authentic ated encryptio n AuthenticCrypto Officer

s D.L): G,W,E ) s n © 2025 Ctrl IQ, Inc., atsec information security.

Page 22
NameDescript ionIndicatorInputsOutput sSecurity Function sSSP Access
ated decryptio n Message digest Message authentic ation Random number generatio n Signature verificatio n
Zeroizatio nZeroize SSPsNoneAny SSPN/ANoneCrypto Officer - AES key: Z - HMAC key: Z - Entropy input (IG D.L): Z - CTR_DR BG seed (IG D.L): Z - HMAC_D RBG seed (IG D.L): Z - Hash_D RBG seed (IG D.L): Z - CTR_DR BG internal state (V, Key) (IG D.L): Z - HMAC_D RBG internal

s n n n D.L): Z Z D.L): Z D.L): Z D.L): Z © 2025 Ctrl IQ, Inc., atsec information security.

Page 23

Name

Descript ion

Indicator

Inputs

Output s

Security Function s

SSP Access state (V, Key) (IG D.L): Z - Hash_D RBG internal state (V, C) (IG D.L): Z

NameDescriptionAlgorithmsRole
AES-GCM with external IV encryptionEncrypt and authenticate a plaintext using AES-GCM with an external IVAES-GCM with external IVCrypto Officer
Key derivationDerive a key from a key- derivation key, shared secret, or passwordKBKDF in libkcapi HKDF in libkcapi PBKDF2 in libkcapiCrypto Officer
Pre-hashed message signature generationGenerate a digital signature for a pre-hashed messageRSA PKCS#1 v1.5 with pre-hashed messageCrypto Officer
Pre-hashed message signature verificationVerify a digital signature for a pre-hashed messageRSA PKCS#1 v1.5 with pre-hashed messageCrypto Officer
Key encapsulationKey encapsulation using RSA PKCS#1 v1.5RSA PKCS#1 v1.5Crypto Officer
Key un-encapsulationKey un-encapsulation using RSA PKCS#1 v1.5RSA PKCS#1 v1.5Crypto Officer
Encryption primitiveCompute the RSA encryption primitiveRSA primitiveCrypto Officer
Decryption primitiveCompute the RSA decryption primitiveRSA primitiveCrypto Officer

s D.L): Z D.L): Z Table 12: Approved Services For the above table, the convention below applies when specifying the access permissions (types) that the service has for each SSP.

4.4 Non-Approved Services

Table 13: Non-Approved Services

4.5 External Software/Firmware Loaded

The module does not load external software or firmware. © 2025 Ctrl IQ, Inc., atsec information security.

Page 24
5 Software/Firmware Security
5.1 Integrity Techniques

On system boot, the sha512hmac binary and libkcapi library are first integrity tested using the HMAC-SHA2-512 and HMAC-SHA2-256 algorithms (respectively) implemented by the module. Then, the kernel binary is integrity tested using the HMAC-SHA2-512 algorithm. These tests are all performed using a key hardcoded in the sha512hmac binary, by recomputing the MAC tags and verifying they are equal to the MAC tags specified in the .hmac file. Finally, the kernel crypto object files are loaded on start-up by the kernel binary and verified using RSA signature verification with PKCS#1 v1.5 padding, SHA2-256, and a hardcoded 3072bit key. The signature is stored inside the kernel object file. If the signature verification fails, the integrity test is unsuccessful.

5.2 Initiate on Demand

Integrity tests are performed as part of the pre-operational self-tests, which are executed when the module is initialized. The integrity tests can be invoked on demand by unloading and subsequently re-initializing the module (i.e., rebooting the system), which will perform (among others) the software integrity tests. © 2025 Ctrl IQ, Inc., atsec information security.

Page 25
6 Operational Environment
6.1 Operational Environment Type and Requirements

Type of Operational Environment: Modifiable How Requirements are Satisfied: The operating system provides process isolation and memory protection mechanisms that ensure appropriate separation for memory access among the processes on the system. Each process has control over its own data and uncontrolled access to the data of other processes is prevented.

6.2 Configuration Settings and Restrictions

The module shall be installed as stated in Section 11.1. Instrumentation tools like the ptrace system call, gdb and strace, as well as other tracing mechanisms offered by the Linux environment such as ftrace or systemtap, shall not be used in the operational environments. The use of any of these tools implies that the cryptographic module is running in a non-validated operational environment. © 2025 Ctrl IQ, Inc., atsec information security.

Page 26
7 Physical Security

The module is comprised of software only and therefore this Section is not applicable. © 2025 Ctrl IQ, Inc., atsec information security.

Page 27
8 Non-Invasive Security

The module does not implement any non-invasive security mechanisms. © 2025 Ctrl IQ, Inc., atsec information security.

Page 28
Storage Area NameDescriptionPersistence Type
Module RAMTemporary storage for SSPs used by the module as part of service executionDynamic
NameFromToFormat TypeDistribution TypeEntry TypeSFI or Algorithm
API input parametersOperator calling application (TOEPP)Module RAMPlaintextManualElectronic
AF_ALG type socketsOperator calling application (TOEPP)Module RAMPlaintextManualElectronic
Zeroization MethodDescriptionRationaleOperator Initiation
Free cipher handleZeroizes the SSPs contained within the cipher handleMemory occupied by SSPs is overwritten with zeroes, which renders the SSP values irretrievable. The completion of the zeroization routine indicates that the zeroization procedure succeeded.By calling the appropriate zeroization functions: AES key: crypto_free_skcipher and crypto_free_aead; HMAC key: crypto_free_shash and crypto_free_ahash; Entropy input: crypto_free_rng; DRBG seed: crypto_free_rng; DRBG internal state: crypto_free_rng
Remove power from the moduleDe-allocates the volatile memory used to store SSPsVolatile memory used by the module is overwritten within nanoseconds when power is removed. Module power off indicates that theBy removing power
9 Sensitive Security Parameters Management
9.1 Storage Areas

Table 14: Storage Areas The module does not perform persistent storage of SSPs; SSPs in use by the module exist in destroyed when released by the appropriate zeroization function calls.

9.2 SSP Input-Output Methods

Table 15: SSP Input-Output Methods © 2025 Ctrl IQ, Inc., atsec information security.

Page 29
Zeroization MethodDescriptionRationale zeroization procedure succeeded.Operator Initiation
AutomaticAutomatically zeroized by the module when no longer neededMemory occupied by SSPs is overwritten with zeroes, which renders the SSP values irretrievable.N/A
NameDescripti onSize - Strengt hType - CategoryGenerat ed ByEstablish ed ByUsed By
AES keySymmetric key used for AES operations128, 256 bits (AES- XTS); 128, 192, 256 bits (others) - 128, 256 bits (AES- XTS); 128, 192, 256 bits (others)Symmetric key - CSPEncryption Decryption Message authenticati on Authenticat ed encryption Authenticat ed decryption
HMAC keySymmetric key used for HMAC operations112- 524288 bits - 112-256 bitsAuthenticati on key - CSPMessage authenticati on
Entropy input (IG D.L)Entropy input used to seed DRBGs (IG D.L)128-384 bits - 128-384 bitsEntropy input - CSPRandom number generatio nRandom number generation
CTR_DRBG seed (IG D.L)CTR_DRBG seed derived from entropy input and additional256, 320, 384 bits - 128, 192, 256 bitsSeed - CSPRandom number generatio nRandom number generation

Table 16: SSP Zeroization Methods All data output is inhibited during zeroization. h D.L) © 2025 Ctrl IQ, Inc., atsec information security.

Page 30
NameDescripti on data (IG D.L)Size - Strengt hType - CategoryGenerat ed ByEstablish ed ByUsed By
Hash_DRB G seed (IG D.L)Hash_DRB G seed derived from entropy input and additional data (IG D.L)440, 888 bits - 128, 256 bitsSeed - CSPRandom number generatio nRandom number generation
HMAC_DR BG seed (IG D.L)HMAC_DR BG seed derived from entropy input and additional data (IG D.L)440, 888 bits - 128, 256 bitsSeed - CSPRandom number generatio nRandom number generation
CTR_DRBG internal state (V, Key) (IG D.L)Internal state of CTR_DRBG (IG D.L)256, 320, 348 bits - 128, 192, 256 bitsInternal state - CSPRandom number generatio nRandom number generation
HMAC_DR BG internal state (V, Key) (IG D.L)Internal state of HMAC_DR BG (IG D.L)320, 512, 1024 bits - 128, 256 bitsInternal state - CSPRandom number generatio nRandom number generation
Hash_DRB G internal state (V, C) (IG D.L)Internal state of Hash_DRB G (IG D.L)880, 1776 bits - 128, 256 bitsInternal state - CSPRandom number generatio nRandom number generation
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
AES keyAPI input parameters AF_ALG type socketsModule RAM:PlaintextUntil cipher handle is freed or module is powered offFree cipher handle Remove power from the module
HMAC keyAPI input parameters AF_ALGModule RAM:PlaintextUntil cipher handle is freed orFree cipher handle Remove

h D.L) D.L) D.L) Table 17: SSP Table 1 © 2025 Ctrl IQ, Inc., atsec information security.

Page 31
NameInput - OutputStorageStorage DurationZeroizationRelated SSPs
type socketsmodule is powered offpower from the module
Entropy input (IG D.L)Module RAM:PlaintextFrom generation until DRBG seed is createdAutomaticCTR_DRBG seed (IG D.L):Derives HMAC_DRBG seed (IG D.L):Derives Hash_DRBG seed (IG D.L):Derives
CTR_DRBG seed (IG D.L)Module RAM:PlaintextWhile the DRBG is being instantiatedAutomaticEntropy input (IG D.L):Derived From CTR_DRBG internal state (V, Key) (IG D.L):Derives
Hash_DRBG seed (IG D.L)Module RAM:PlaintextWhile the DRBG is being instantiatedAutomaticEntropy input (IG D.L):Derived From Hash_DRBG internal state (V, C) (IG D.L):Derives
HMAC_DRBG seed (IG D.L)Module RAM:PlaintextWhile the DRBG is being instantiatedAutomaticEntropy input (IG D.L):Derived From HMAC_DRBG internal state (V, Key) (IG D.L):Derives
CTR_DRBG internal state (V, Key) (IG D.L)Module RAM:PlaintextUntil cipher handle is freed or module is powered offFree cipher handle Remove power from the moduleCTR_DRBG seed (IG D.L):Derived From
HMAC_DRBG internal state (V, Key) (IG D.L)Module RAM:PlaintextUntil cipher handle is freed or module is powered offFree cipher handle Remove power from the moduleHMAC_DRBG seed (IG D.L):Derived From
Hash_DRBG internal state (V, C) (IG D.L)Module RAM:PlaintextUntil cipher handle is freed or module is powered offFree cipher handle Remove power from the moduleHash_DRBG seed (IG D.L):Derived From

Table 18: SSP Table 2 © 2025 Ctrl IQ, Inc., atsec information security.

Page 32
9.5 Transitions

The SHA-1 algorithm as implemented by the module will be non-approved for all purposes, starting January 1, 2031. © 2025 Ctrl IQ, Inc., atsec information security.

Page 33
Algorithm or TestTest PropertiesTest MethodTest TypeIndicatorDetails
HMAC-SHA2- 512 (A5824) - sha512hmac binary128-bit keyMessage authenticationSW/FW IntegrityModule becomes operational and services are available for useIntegrity test for sha512hmac binary
HMAC-SHA2- 256 (A5824) - libkcapi library256-bit keyMessage authenticationSW/FW IntegrityModule becomes operational and services are available for useIntegrity test for libkcapi shared library
HMAC-SHA2- 512 (A5824) - Kernel128-bit keyMessage authenticationSW/FW IntegrityModule becomes operational and services are available for useIntegrity test for Kernel binary
RSA SigVer (FIPS186-5) (A5807)3072-bit key with SHA2- 256Signature verificationSW/FW IntegrityModule becomes operational and services are available for useIntegrity test for kernel object files
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
AES-CBC - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CBC (A5813) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
10 Self-Tests

While the module is executing the self-tests, services are not available, and data output (via the data output interface) is inhibited until the tests are successfully completed. The module does not return control to the calling application until the tests are completed. If any of the self-tests fails, the module immediately transitions to the error state.

10.1 Pre-Operational Self-Tests

Table 19: Pre-Operational Self-Tests The pre-operational software integrity tests are performed automatically when the module is powered on, before the module transitions into the operational state.

10.2 Conditional Self-Tests

s d e © 2025 Ctrl IQ, Inc., atsec information security.

Page 34
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
AES-CBC (A5816) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CBC- CS3 - Encrypt128-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CBC- CS3 (A5816) - Encrypt128-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CCM - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CCM (A5816) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES- CFB128 - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES- CFB128 (A5816) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CTR - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CTR (A5813) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CTR (A5816) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CTR (A5819) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-ECB - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-ECB (A5810) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-ECB (A5813) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-ECB (A5819) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-GCM - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n

s d e © 2025 Ctrl IQ, Inc., atsec information security.

Page 35
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
AES-GCM (A5815) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-GCM (A5818) - Encrypt128, 192, 256-bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-XTS Testing Revision 2.0 - Encrypt256, 512- bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-XTS Testing Revision 2.0 (A5813) - Encrypt256, 512- bit keysKATCAS TModule is operationalEncryptionModule initializatio n
AES-CBC - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CBC (A5813) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CBC (A5816) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CBC- CS3 - Decrypt128-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CBC- CS3 (A5816) - Decrypt128-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CCM - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CCM (A5816) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES- CFB128 - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES- CFB128 (A5816) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CTR - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
2.0 -
2.0 © 2025 Ctrl IQ, Inc., atsec information security.
Page 36
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
AES-CTR (A5813) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CTR (A5816) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-CTR (A5819) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-ECB - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-ECB (A5810) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-ECB (A5813) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-ECB (A5819) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-GCM - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-GCM (A5815) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-GCM (A5818) - Decrypt128, 192, 256-bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-XTS Testing Revision 2.0 - Decrypt256, 512- bit keysKATCAS TModule is operationalDecryptionModule initializatio n
AES-XTS Testing Revision 2.0 (A5813) - Decrypt256, 512- bit keysKATCAS TModule is operationalDecryptionModule initializatio n
SHA-1 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA-1 (A5822)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA-1 (A5823)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
2.0 -
2.0 n n n © 2025 Ctrl IQ, Inc., atsec information security.
Page 37
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
SHA-1 (A5824)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-224 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-224 (A5822)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-224 (A5823)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-224 (A5824)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-256 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-256 (A5822)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-256 (A5823)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-256 (A5824)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-384 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-384 (A5822)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-384 (A5823)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-384 (A5824)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-512 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-512 (A5822)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA2-512 (A5823)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n

s d e n n n n n n n n n n n n n n n n © 2025 Ctrl IQ, Inc., atsec information security.

Page 38
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
SHA2-512 (A5824)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA3-224 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA3-256 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA3-384 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
SHA3-512 (A5807)0-8184-bit messagesKATCAS TModule is operationalMessage digestModule initializatio n
AES-CMAC128, 256- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
AES-CMAC (A5816)128, 256- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA-132-64-bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA-1 (A5824)32-64-bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA2-22432-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA2-224 (A5824)32-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA2-25632-64-bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA2-256 (A5824)32-64-bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA2-38432-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA2-384 (A5824)32-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA2-51232-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
Table, extracted as text (did not parse into structured rows)
s               d           e n n n n n n                 n n                 n n                 n n                 n n                 n n                 n n                 n © 2025 Ctrl IQ, Inc., atsec information security.
Page 39
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
HMAC- SHA2-512 (A5824)32-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA3-224 (A5807)32-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA3-256 (A5807)32-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA3-384 (A5807)32-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
HMAC- SHA3-512 (A5807)32-1048- bit keysKATCAS TModule is operationalMessage authenticatio nModule initializatio n
Counter DRBGAES-128, AES-192, AES-256 with/witho ut prediction resistanceKATCAS TModule is operationalInstantiate, seed, reseed, generate (compliant to SP 800- 90Ar1 Section 11.3)Module initializatio n
Hash DRBGSHA-1, SHA2-256, SHA2-512 with/witho ut prediction resistanceKATCAS TModule is operationalInstantiate, seed, reseed, generate (compliant to SP 800- 90Ar1 Section 11.3)Module initializatio n
HMAC DRBGSHA-1, SHA2-256, SHA2-512 with/witho ut prediction resistanceKATCAS TModule is operationalInstantiate, seed, reseed, generate (compliant to SP 800- 90Ar1 Section 11.3)Module initializatio n
RSA SigVer (FIPS186- 5) (A5807)PKCS#1 v1.5 with SHA-512 and 4096- bit keyKATCAS TModule is operationalSignature verificationModule initializatio n
Entropy source APT initializatio nCutoff C = 325; Windows size = 512APTCAS TEntropy source is operationalEntropy source start- up test on 1024 samplesEntropy source initializatio n
Entropy source RCT initializatio nCutoff C = 31RCTCAS TEntropy source is operationalEntropy source start- up test on 1024 samplesEntropy source initializatio n

s d e © 2025 Ctrl IQ, Inc., atsec information security.

Page 40
Algorithm or TestTest Propertie sTest Metho dTest Typ eIndicatorDetailsCondition s
Entropy source continuous APTCutoff C = 355; Windows size = 512APTCAS Tjent_kcapi_rando m returns 0Entropy source continuous testContinuousl y as entropy is requested
Entropy source continuous RCTCutoff C = 61RCTCAS Tjent_kcapi_rando m returns 0Entropy source continuous testContinuousl y as entropy is requested
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
HMAC-SHA2- 512 (A5824) - sha512hmac binaryMessage authenticationSW/FW IntegrityOn demandManually
HMAC-SHA2- 256 (A5824) - libkcapi libraryMessage authenticationSW/FW IntegrityOn demandManually
HMAC-SHA2- 512 (A5824) - KernelMessage authenticationSW/FW IntegrityOn demandManually
RSA SigVer (FIPS186-5) (A5807)Signature verificationSW/FW IntegrityOn demandManually
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-CBC - EncryptKATCASTOn demandManually
AES-CBC (A5813) - EncryptKATCASTOn demandManually
AES-CBC (A5816) - EncryptKATCASTOn demandManually
AES-CBC-CS3 - EncryptKATCASTOn demandManually
AES-CBC-CS3 (A5816) - EncryptKATCASTOn demandManually
AES-CCM - EncryptKATCASTOn demandManually

s d e Table 20: Conditional Self-Tests

10.3 Periodic Self-Test Information

Table 21: Pre-Operational Periodic Information © 2025 Ctrl IQ, Inc., atsec information security.

Page 41
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-CCM (A5816) - EncryptKATCASTOn demandManually
AES-CFB128 - EncryptKATCASTOn demandManually
AES-CFB128 (A5816) - EncryptKATCASTOn demandManually
AES-CTR - EncryptKATCASTOn demandManually
AES-CTR (A5813) - EncryptKATCASTOn demandManually
AES-CTR (A5816) - EncryptKATCASTOn demandManually
AES-CTR (A5819) - EncryptKATCASTOn demandManually
AES-ECB - EncryptKATCASTOn demandManually
AES-ECB (A5810) - EncryptKATCASTOn demandManually
AES-ECB (A5813) - EncryptKATCASTOn demandManually
AES-ECB (A5819) - EncryptKATCASTOn demandManually
AES-GCM - EncryptKATCASTOn demandManually
AES-GCM (A5815) - EncryptKATCASTOn demandManually
AES-GCM (A5818) - EncryptKATCASTOn demandManually
AES-XTS Testing Revision 2.0 - EncryptKATCASTOn demandManually
AES-XTS Testing Revision 2.0 (A5813) - EncryptKATCASTOn demandManually
AES-CBC - DecryptKATCASTOn demandManually
AES-CBC (A5813) - DecryptKATCASTOn demandManually

© 2025 Ctrl IQ, Inc., atsec information security.

Page 42
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-CBC (A5816) - DecryptKATCASTOn demandManually
AES-CBC-CS3 - DecryptKATCASTOn demandManually
AES-CBC-CS3 (A5816) - DecryptKATCASTOn demandManually
AES-CCM - DecryptKATCASTOn demandManually
AES-CCM (A5816) - DecryptKATCASTOn demandManually
AES-CFB128 - DecryptKATCASTOn demandManually
AES-CFB128 (A5816) - DecryptKATCASTOn demandManually
AES-CTR - DecryptKATCASTOn demandManually
AES-CTR (A5813) - DecryptKATCASTOn demandManually
AES-CTR (A5816) - DecryptKATCASTOn demandManually
AES-CTR (A5819) - DecryptKATCASTOn demandManually
AES-ECB - DecryptKATCASTOn demandManually
AES-ECB (A5810) - DecryptKATCASTOn demandManually
AES-ECB (A5813) - DecryptKATCASTOn demandManually
AES-ECB (A5819) - DecryptKATCASTOn demandManually
AES-GCM - DecryptKATCASTOn demandManually
AES-GCM (A5815) - DecryptKATCASTOn demandManually
AES-GCM (A5818) - DecryptKATCASTOn demandManually
AES-XTS Testing Revision 2.0 - DecryptKATCASTOn demandManually

© 2025 Ctrl IQ, Inc., atsec information security.

Page 43
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
AES-XTS Testing Revision 2.0 (A5813) - DecryptKATCASTOn demandManually
SHA-1 (A5807)KATCASTOn demandManually
SHA-1 (A5822)KATCASTOn demandManually
SHA-1 (A5823)KATCASTOn demandManually
SHA-1 (A5824)KATCASTOn demandManually
SHA2-224 (A5807)KATCASTOn demandManually
SHA2-224 (A5822)KATCASTOn demandManually
SHA2-224 (A5823)KATCASTOn demandManually
SHA2-224 (A5824)KATCASTOn demandManually
SHA2-256 (A5807)KATCASTOn demandManually
SHA2-256 (A5822)KATCASTOn demandManually
SHA2-256 (A5823)KATCASTOn demandManually
SHA2-256 (A5824)KATCASTOn demandManually
SHA2-384 (A5807)KATCASTOn demandManually
SHA2-384 (A5822)KATCASTOn demandManually
SHA2-384 (A5823)KATCASTOn demandManually
SHA2-384 (A5824)KATCASTOn demandManually
SHA2-512 (A5807)KATCASTOn demandManually
SHA2-512 (A5822)KATCASTOn demandManually
SHA2-512 (A5823)KATCASTOn demandManually
SHA2-512 (A5824)KATCASTOn demandManually
SHA3-224 (A5807)KATCASTOn demandManually
SHA3-256 (A5807)KATCASTOn demandManually
SHA3-384 (A5807)KATCASTOn demandManually
SHA3-512 (A5807)KATCASTOn demandManually
AES-CMACKATCASTOn demandManually
AES-CMAC (A5816)KATCASTOn demandManually

© 2025 Ctrl IQ, Inc., atsec information security.

Page 44
Algorithm or TestTest MethodTest TypePeriodPeriodic Method
HMAC-SHA-1KATCASTOn demandManually
HMAC-SHA-1 (A5824)KATCASTOn demandManually
HMAC-SHA2- 224KATCASTOn demandManually
HMAC-SHA2- 224 (A5824)KATCASTOn demandManually
HMAC-SHA2- 256KATCASTOn demandManually
HMAC-SHA2- 256 (A5824)KATCASTOn demandManually
HMAC-SHA2- 384KATCASTOn demandManually
HMAC-SHA2- 384 (A5824)KATCASTOn demandManually
HMAC-SHA2- 512KATCASTOn demandManually
HMAC-SHA2- 512 (A5824)KATCASTOn demandManually
HMAC-SHA3- 224 (A5807)KATCASTOn demandManually
HMAC-SHA3- 256 (A5807)KATCASTOn demandManually
HMAC-SHA3- 384 (A5807)KATCASTOn demandManually
HMAC-SHA3- 512 (A5807)KATCASTOn demandManually
Counter DRBGKATCASTOn demandManually
Hash DRBGKATCASTOn demandManually
HMAC DRBGKATCASTOn demandManually
RSA SigVer (FIPS186-5) (A5807)KATCASTOn demandManually
Entropy source APT initializationAPTCASTOn demandManually
Entropy source RCT initializationRCTCASTOn demandManually
Entropy source continuous APTAPTCASTOn demandManually
Entropy source continuous RCTRCTCASTOn demandManually
NameDescriptionConditionsRecovery MethodIndicator
ErrorThe Linux kernel immediately stops executingAny self-test failureRestart of the moduleKernel panic

Table 22: Conditional Periodic Information

10.4 Error States

© 2025 Ctrl IQ, Inc., atsec information security.

Page 45

Table 23: Error States In the error state, the output interface is inhibited, and the module accepts no more inputs or requests (as the module is no longer running).

10.5 Operator Initiation of Self-Tests

All self-tests, except for the entropy source continuous health tests, can be invoked on demand by unloading and subsequently re-initializing the module. © 2025 Ctrl IQ, Inc., atsec information security.

Page 46
11 Life-Cycle Assurance
11.1 Installation, Initialization, and Startup Procedures

The module is distributed as a part of the Rocky Linux 8 distribution, in the form of the kernel4.18.0-553.16.1.el8_6.ciqfips.0.5, libkcapi-1.2.0-2.el8, and libkcapi-hmaccalc-1.2.0-2.el8 RPM packages. The module can achieve FIPS validated configuration by:

11.2 Administrator Guidance

After installation of the RPM packages, the Crypto Officer must execute the “cat /proc/sys/crypto/fips_name” command. The Crypto Officer must ensure that the proper name is listed in the output as follows: Rocky Linux 8 - Kernel Cryptographic API Then, the Crypto Officer must execute the “cat /proc/sys/crypto/fips_version” and “rpm -qa | grep kcapi” commands. These commands must output the following (one line per output): $ cat /proc/sys/crypto/fips_version rocky8.20240923 $ rpm -qa | grep kcapi libkcapi-hmaccalc-1.2.0-2.el8.x86_64 libkcapi-1.2.0-2.el8.x86_64

11.3 Non-Administrator Guidance

There is no non-administrator guidance.

11.4 Design and Rules
11.5 Maintenance Requirements
11.6 End of Life

© 2025 Ctrl IQ, Inc., atsec information security.

Page 47

As the module does not persistently store SSPs, secure sanitization of the module consists of unloading the module. This will zeroize all SSPs in volatile memory. Then, if desired, the kernel4.18.0-553.16.1.el8_6.ciqfips.0.5, libkcapi-1.2.0-2.el8, and libkcapi-hmaccalc-1.2.0-2.el8 RPM packages can be uninstalled from the Rocky Linux 8 system. © 2025 Ctrl IQ, Inc., atsec information security.

Page 48
12 Mitigation of Other Attacks

The module does not implement security mechanisms to mitigate other attacks. © 2025 Ctrl IQ, Inc., atsec information security.

Page 49
Table, extracted as text (did not parse into structured rows)
A Glossary and Abbreviations AES                     Advanced Encryption Standard API                     Application Programming Interface CAST                    Cryptographic Algorithm Self-Test CAVP                    Cryptographic Algorithm Validation Program CBC                     Cipher Block Chaining CBC-CS3                 Cipher Block Chaining with Ciphertext Stealing 3 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 DRBG                    Deterministic Random Bit Generator ECB                     Electronic Code Book FIPS                    Federal Information Processing Standards GCM                     Galois Counter Mode GMAC                    Galois Counter Mode Message Authentication Code HMAC                    Keyed-Hash Message Authentication Code IPsec                   Internet Protocol Security IG                      Implementation Guidance IV                      Initialization Vector KAT                     Known Answer Test KW                      Key Wrap MAC                     Message Authentication Code NIST                    National Institute of Science and Technology PAA                     Processor Algorithm Acceleration PAI                     Processor Algorithm Implementation PCT                     Pair-wise Consistency Test PSP                     Public Security Parameter RSA                     Rivest Shamir Adleman SHA                     Secure Hash Algorithm SSP                     Sensitive Security Parameter TOEPP                   Tested Operational Environment’s Physical Perimeter XTS                     XEX-based Tweaked-codebook mode with cipher text Stealing © 2025 Ctrl IQ, Inc., atsec information security.
Page 50

B References FIPS 140-3 Security Requirements For Cryptographic Modules March 2019 https://doi.org/10.6028/NIST.FIPS.140-3 FIPS 140-3 IG Implementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program https://csrc.nist.gov/CSRC/media/Projects/cryptographic-modulevalidation-program/documents/fips%20140-3/FIPS%20140-3%20IG.pdf FIPS 180-4 Secure Hash Standard (SHS) August 2015 https://doi.org/10.6028/NIST.FIPS.180-4 FIPS 186-5 Digital Signature Standard (DSS) February 2023 https://doi.org/10.6028/NIST.FIPS.186-5 FIPS 197 Advanced Encryption Standard (AES) November 2001; Updated May 2023 https://doi.org/10.6028/NIST.FIPS.197-upd1 FIPS 198-1 The Keyed-Hash Message Authentication Code (HMAC) July 2008 https://doi.org/10.6028/NIST.FIPS.198-1 FIPS 202 SHA-3 Standard: Permutation-Based Hash and ExtendableOutput Functions August 2015 https://doi.org/10.6028/NIST.FIPS.202 PKCS#1 PKCS #1: RSA Cryptography Specifications Version 2.2 November 2016 https://doi.org/10.17487/RFC8017 SP 800-38A Recommendation for Block Cipher Modes of Operation: Methods and Techniques December 2001 https://doi.org/10.6028/NIST.SP.800-38A SP 800-38A- Recommendation for Block Cipher Modes of Operation: Three Add Variants of Ciphertext Stealing for CBC Mode October 2010 https://doi.org/10.6028/NIST.SP.800-38A-Add SP 800-38B Recommendation for Block Cipher Modes of Operation: the CMAC Mode for Authentication May 2005; Updated October 2016 https://doi.org/10.6028/NIST.SP.800-38B SP 800-38C Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality May 2004; Updated July 2007 https://doi.org/10.6028/NIST.SP.800-38C SP 800-38D Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC November 2007 https://doi.org/10.6028/NIST.SP.800-38D SP 800-38E Recommendation for Block Cipher Modes of Operation: the XTSAES Mode for Confidentiality on Storage Devices January 2010 https://doi.org/10.6028/NIST.SP.800-38E SP 800-38F Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping © 2025 Ctrl IQ, Inc., atsec information security.

Page 51

December 2012 https://doi.org/10.6028/NIST.SP.800-38F SP 800-90Ar1 Recommendation for Random Number Generation Using Deterministic Random Bit Generators June 2015 https://doi.org/10.6028/NIST.SP.800-90Ar1 SP 800-90B Recommendation for the Entropy Sources Used for Random Bit Generation January 2018 https://doi.org/10.6028/NIST.SP.800-90B SP 800-131Ar2 Transitioning the Use of Cryptographic Algorithms and Key Lengths Marcy 2019 https://doi.org/10.6028/NIST.SP.800-131Ar2 SP 800-140Br1 Cryptographic Module Validation Program (CMVP) Security Policy Requirements: CMVP Validation Authority Updates to ISO/IEC 24759 and ISO/IEC 19790 Annex B November 2023 https://doi.org/10.6028/NIST.SP.800-140Br1 © 2025 Ctrl IQ, Inc., atsec information security.