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

Red Hat Enterprise Linux 9 gnutls

Certificate#4846StandardFIPS 140-3Level1TypeSoftwareEmbodimentMulti-Chip Stand AloneStatusActiveVendorRed Hat, Inc.
Low review priority  ·  no TCB surface named  ·  GnuTLS upstream has published 9 CVEs since this module's initial validation  ·  last validated 7 months ago. How this is derived →

Certificate

StandardFIPS 140-3
Overall level1
Module typeSoftware
EmbodimentMulti-Chip Stand Alone
StatusActive
Sunset date10/20/2026
CaveatInterim validation. When operated in approved mode. When installed, initialized and configured as specified in Section 11 of the Security Policy. The module generates cryptographic keys whose strengths are modified by available entropy.
VendorRed Hat, Inc.

Approved Algorithms (78)

AlgorithmACVP Cert
AES-CBCA4827
AES-CBCA4828
AES-CBCA4833
AES-CBCA5572
AES-CBCA5573
AES-CBCA5574
AES-CCMA4827
AES-CCMA5572
AES-CCMA5573
AES-CFB8A4830
AES-CFB8A4831
AES-CFB8A4836
AES-CMACA4827
AES-CMACA4828
AES-CMACA4833
AES-CMACA5572
AES-CMACA5573
AES-ECBA4842
AES-GCMA4827
AES-GCMA4828
AES-GCMA4833
AES-GCMA5572
AES-GCMA5573
AES-GCMA5574
AES-GMACA4833
AES-XTS Testing Revision 2.0A4834
Counter DRBGA4833
ECDSA KeyGen (FIPS186-4)A4833
ECDSA KeyVer (FIPS186-4)A4833
ECDSA SigGen (FIPS186-4)A4833
ECDSA SigVer (FIPS186-4)A4833
HMAC-SHA-1A4828
HMAC-SHA-1A4833
HMAC-SHA-1A5575
HMAC-SHA2-224A4828
HMAC-SHA2-224A4833
HMAC-SHA2-224A5575
HMAC-SHA2-256A4828
HMAC-SHA2-256A4833
HMAC-SHA2-256A5575
HMAC-SHA2-384A4828
HMAC-SHA2-384A4833
HMAC-SHA2-384A5575
HMAC-SHA2-512A4828
HMAC-SHA2-512A4833
HMAC-SHA2-512A5575
KAS-ECC-SSC Sp800-56Ar3A4833
KAS-FFC-SSC Sp800-56Ar3A4833
KDA HKDF Sp800-56Cr1A4832
PBKDFA4833
RSA KeyGen (FIPS186-4)A4833
RSA SigGen (FIPS186-4)A4833
RSA SigVer (FIPS186-4)A4833
Safe Primes Key GenerationA4833
SHA-1A4828
SHA-1A4833
SHA-1A5575
SHA2-224A4828
SHA2-224A4833
SHA2-224A5575
SHA2-256A4828
SHA2-256A4833
SHA2-256A5575
SHA2-384A4828
SHA2-384A4833
SHA2-384A5575
SHA2-512A4828
SHA2-512A4833
SHA2-512A5575
SHA3-224A4829
SHA3-224A4835
SHA3-256A4829
SHA3-256A4835
SHA3-384A4829
SHA3-384A4835
SHA3-512A4829
SHA3-512A4835
TLS v1.2 KDF RFC7627A4833

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

flowchart LR
  %% Deterministic review-risk graph for Red Hat Enterprise Linux 9 gnutls
  %% 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>Self-Test<br/>Status Output<br/>Show status</i>"]
    C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>IKEV<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 Red Hat Enterprise Linux 9 gnutls
  %% 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>Self-Test<br/>Status Output<br/>Show status</i><br/>src: text:keyword"]
    C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>IKEV<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

Red Hat Enterprise Linux 9 gnutls version 3.7.6-074d015ce201f434 document version 1.2 Last update: 2025-07-14 Prepared by: atsec information security corporation

4516 Seton Center Parkway, Suite 250

Austin, TX 78759 www.atsec.com © 2025 Red Hat, Inc./ atsec information security.

Page 2
Table of Contents
#SectionPage
Page 3

© 2025 Red Hat, Inc. / atsec information security.

3 of 46

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 Attacks1
Overall1
1.1 Overview

This document is the non-proprietary FIPS 140-3 Security Policy for version 3.7.6-074d015ce201f434 of the Red Hat Enterprise Linux 9 gnutls cryptographic module. It has a one-to-one mapping to the [SP 800-140B] starting with section B.2.1 named “General” that maps to section 1 in this document and ending with section B.2.12 named “Mitigation of other attacks” that maps to section 12 in this document. 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.

1.2 Security Levels

Table 1 - Security Levels © 2025 Red Hat, Inc. / atsec information security.

4 of 46

Page 5
#Operating SystemHardware PlatformProcessorPAA/ Acceleration
1Red Hat Enterprise Linux 9Dell PowerEdge R440Intel® Xeon® Silver 4216With PAA (AES-NI, SHA Extensions)
2Red Hat Enterprise Linux 9Dell PowerEdge R440Intel® Xeon® Silver 4216Without PAA
3Red Hat Enterprise Linux 9IBM z16 3931-A01IBM z16With PAI (CPACF)
4Red Hat Enterprise Linux 9IBM z16 3931-A01IBM z16Without PAI
5Red Hat Enterprise Linux 9 with PowerVM FW1040.00 with VIOS 3.1.3.00IBM 9080-HEXIBM POWER10With PAI (ISA, Altivec)
6Red Hat Enterprise Linux 9 with PowerVM FW1040.00 with VIOS 3.1.3.00IBM 9080-HEXIBM POWER10Without PAI
#Operating SystemHardware Platform
1Red Hat Enterprise Linux 9Intel® Xeon® E5

Component

Description

2 Cryptographic Module Specification

The Red Hat Enterprise Linux 9 gnutls cryptographic module (hereafter referred to as “the module”) is a software library. The module is an open-source, general-purpose set of libraries designed to support cross-platform development of security-enabled client and server applications. The module is a multiple-chip standalone cryptographic module.

2.2 Version Information

The module version is 3.7.6-074d015ce201f434 of the Red Hat Enterprise Linux 9 gnutls cryptographic module.

2.3 Operational Environments

The module has been tested on the following platforms with the corresponding module variants and configuration options with and without PAA: Table 2 - Tested Operational Environments In addition to the configurations tested by the atsec CST laboratory, vendor-affirmed testing was performed on the following platforms for the module by F5, Inc. Table 3 - Vendor Affirmed Operation Environments Note: The 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. © 2025 Red Hat, Inc. / atsec information security.

5 of 46

Page 6
/usr/lib64/libgnutls.so.30 Note: libgmp is statically linked to libgnutlsProvides the API for the calling applications to request cryptographic services, and implements the TLS protocol, DRBG, RSA Key Generation, Diffie-Hellman and EC Diffie-Hellman.
/usr/lib64/libnettle.so.8Provides the cryptographic algorithm implementations, including AES, SHA, HMAC, RSA Digital Signature, DSA and ECDSA.
/usr/lib64/libhogweed.so.6Provides primitives used by libgnutls and libnettle to support the asymmetric cryptographic operations.
/usr/lib64/.libgnutls.so.30.hmacThe .hmac file contain the HMAC-SHA2-256 values of the libraries for integrity check during the power-up.
CAVP CertAlgorithm and StandardMode/MethodDescription/Key Size(s)/Key Strength(s)Use/Function
Certs. #A4827,AESCBC128, 192, 256-bit keysSymmetric encryption;
#A4828,FIPS197, SP800-with 128-256 bits keySymmetric decryption
#A4833, #A5572, #A5573, #A557438Astrength
Cert. #A4842AESECB128, 192, 256-bit keysSymmetric encryption;
FIPS197, SP800-with 128-256 bits keySymmetric decryption
38Astrength
Certs. #A4827,AESCCM128, 256-bit keys withSymmetric encryption;
#A5572, #A5573SP800-38C128 or 256 bits keySymmetric decryption;
strengthAuthenticated encryption; Authenticated decryption
Certs. #A4830,AESCFB8128, 192, 256-bit keysSymmetric encryption;
#A4831, #A4836FIPS197, SP800-with 128 or 256 bits keySymmetric decryption
38Astrength
Certs. #A4827,AESCMAC128, 256-bit keys withMessage authentication
#A4828,SP800-38B128 or 256 bits keycode (MAC);
#A4833,strengthMessage authentication
#A5572, #A5573code verification
Certs. #A4827,AESGCM128, 256-bit keys withSymmetric encryption and
#A4828,SP800-38D128 or 256 bits keydecryption in the context of
#A4833,strengththe Transport Layer Security
#A5572, #A5573, #A5574(TLS) network protocol

Table 4 – Cryptographic Module Components When the module starts up successfully, after passing all the pre-operational and conditional cryptographic algorithms self-tests (CASTs), the module is operating in the approved mode of operation by default and can only be transitioned into the non-Approved mode by calling one of the non-Approved services listed in Table 10. Please see section 4 for the details on service indicator provided by the module that identifies when an approved service is called.

2.5 Approved Algorithms

The table below lists all security functions of the module, including specific key size(s) employed for approved or vendor-affirmed security functions, and implemented modes of operation. © 2025 Red Hat, Inc. / atsec information security.

6 of 46

Page 7
CAVP CertAlgorithm and StandardMode/MethodDescription/Key Size(s)/Key Strength(s)Use/Function
Cert. #A4833AESGMAC128, 256-bit keys withMessage authentication code (MAC); Message authentication code verification
SP800-38D128 or 256 bits key strength
Cert. #A4834AESXTS256, 512-bit keys withSymmetric encryption (for data storage); Symmetric decryption (for data storage)
SP800-38E128 or 256 bits key strength
Vendor AffirmedCKGKey pair generation (FIPS-RSA: 2048, 3072, 4096-Key pair generation
SP800-133rev2186-4, SP800-56Arev3,bit keys with 112-149
SP800-90Arev1)bits key strength ECDSA/ECDH: P-256, P- 384, P-521 elliptic curves with 128-256 bits key strength Safe Primes: 2048, 3072, 4096, 6144, 8192-bit keys with 112-200 bits of key strength
Cert. #A4833DRBGCTR_DRBG:256-bit keys with 256Random number generation
SP800-90Arev1AES-256 without DF, without PRbits key strength
Cert. #A4833ECDSAECDSA KeyGen (B.4.2P-256, P-384,Key pair generation
FIPS186-4Testing Candidates)P-521 elliptic curves with 128-256 bits key strength
ECDSA KeyVerP-256, P-384, P-521 elliptic curves with 128-256 bits key strengthPublic key verification
SHA-224, SHA-256, SHA-P-256, P-384, P-521Digital signature generation
384, SHA-512elliptic curves with 128- 256 bits key strength
SHA-1, SHA-224,P-256, P-384, P-521Digital signature verification
SHA-256, SHA-384, SHA-elliptic curves with 128-
512256 bits key strength
Certs. #A4828,HMACSHA-1, SHA-224,112-524288 bit keys withMessage authentication code (MAC); Message authentication code verification
#A4833, #A5575FIPS198-1SHA-256, SHA-384, SHA- 512112-256 key strength
Cert. #A4833KAS-ECC-SSCECCP-256, P-384, P-521EC Diffie-Hellman shared secret computation; Transport Layer Security (TLS) network protocol
SP800-56Arev3Ephemeral Unifiedelliptic curves keys with
Scheme128-256 bits key strength

© 2025 Red Hat, Inc. / atsec information security.

7 of 46

Page 8
CAVP CertAlgorithm and StandardMode/MethodDescription/Key Size(s)/Key Strength(s)Use/Function
Cert. #A4833KAS-FFC-SSCSafe Prime Groups:2048, 3072, 4096, 6144,Diffie-Hellman shared secret computation; Transport Layer Security (TLS) network protocol
SP800-56Arev3ffdhe2048, ffdhe3072,8192-bit keys with 112-
ffdhe4096, ffdhe6144, ffdhe8192, MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192200 bits key strength
Cert. #A4832KDA HKDFSHA-224, SHA-256, SHA-Derived key with 112 toHKDF key derivation; Transport Layer Security (TLS) network protocol
SP800-56Crev1384, SHA-512256 bits of key strength
Cert. #A4833TLS v1.2 KDFTLS v1.2 with SHA-256,Derived key with 112 toTLS key derivation
RFC7627 SP800-135rev1 (CVL)SHA-384256 bits of key strength
Certs. #A4827,AES CCM SP800-KTS per IG D.G128, 256-bit keys withKey wrapping; Key unwrapping (as part of the cipher suites
#A5572, #A557338C128 or 256 bits of key strength
Certs. #A4827,AES GCM SP800-KTS per IG D.G128, 256-bit keys within the TLS protocol)
#A4828,38D128 or 256 bits of key
#A4833, #A5572, #A5573, #A5574strength
AESAES CBC andKTS per IG D.G128, 256-bit keys with
Certs.HMAC128 or 256 bits of key
#A4827,SP800-38A,strength
#A4828, #A4833, #A5572, #A5573, #A5574 HMAC Certs. #A4828, #A4833, #A5575FIPS198-1
Cert. #A4833PBKDFHMAC-SHA-1, HMAC-SHA-112-256 bitsPassword-based key derivation
SP800-132224, HMAC-SHA-256,14-128 characters with
HMAC-SHA-384, HMAC-password strength
SHA-512between 1014 and 10128
Cert. #A4833RSARSA KeyGen (B.3.22048, 3072, 4096-bitKey pair generation
FIPS186-4Random Provable Primes)keys with 112-149 bits
FIPS 140-3 IG C.Fkey strength
RSA SigGen PKCS#1v1.5:2048, 3072, 4096-bitDigital signature generation
SHA-224, SHA-256, SHA-keys with 112-149 bits
384, SHA-512key strength
RSA SigGen2048, 3072, 4096-bit
PSS: SHA-256, SHA-384,keys with 112-149 bits
SHA-512key strength

© 2025 Red Hat, Inc. / atsec information security.

8 of 46

Page 9
CAVP CertAlgorithm and StandardMode/Method RSA SigVer PKCS#1v1.5: SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 RSA SigVer PSS: SHA-256, SHA-384, SHA-512Description/Key Size(s)/Key Strength(s) 2048, 3072, 4096-bit keys with 112-149 bits key strength 2048, 3072, 4096-bit keys with 112-149 bits key strengthUse/Function Digital signature verification
Cert. #A4833Safe Primes KeySafe Prime Groups:2048, 3072, 4096, 6144,Key pair generation
Generationffdhe2048, ffdhe3072,8192-bit keys with 112-
SP800-56Arev3ffdhe4096, ffdhe6144, ffdhe8192, MODP-2048, MODP-3072, MODP-4096, MODP-6144, MODP-8192200 bits key strength
Certs. #A4829,SHA-3SHA3-224, SHA3-256,N/AMessage digest
#A4835FIPS202 FIPS 140-3 IG C.CSHA3-384, SHA3-512
Certs. #A4828,SHASHA-1, SHA-224,N/AMessage digest
#A4833, #A5575FIPS180-4SHA-256, SHA-384, SHA- 512
Algorithm/FunctionsUse/Function
AES GCM not in the context of the TLS protocolSymmetric encryption; Symmetric decryption
BlowfishSymmetric encryption; Symmetric decryption
CamelliaSymmetric encryption; Symmetric decryption
CASTSymmetric encryption; Symmetric decryption
ChaCha20Symmetric encryption; Symmetric decryption
Chacha20 and Poly1305Authenticated encryption; Authenticated decryption
DESSymmetric encryption; Symmetric decryption
2.6 Non-Approved Algorithms

Non-Approved Algorithms Allowed in the Approved Mode of Operation: The module does not implement any Non-Approved Algorithms Allowed in the Approved Mode of Operation. Non-Approved Algorithms Allowed in the Approved Mode of Operation with No Security Claimed: The module does not implement any non-Approved but Allowed algorithm in Approved mode of operation with no security claimed. Non-Approved Algorithms Not Allowed in the Approved Mode of Operation: The table below lists Non-Approved security functions that are not Allowed in the Approved Mode of Operation. © 2025 Red Hat, Inc. / atsec information security.

9 of 46

Page 10
Algorithm/FunctionsUse/Function
Diffie-Hellman with keys generated with domain parameters other than safe primesKey agreement; Diffie-Hellman shared secret computation
DSAKey pair generation; Domain parameter generation; Digital signature generation; Digital signature verification
ECDSA with curves not listed in Table 5Key pair generation; Public key verification; Digital signature generation; Digital signature verification
EC Diffie-Hellman with curves not listed in Table 5Key agreement; EC Diffie-Hellman shared secret computation
GOSTSymmetric encryption; Symmetric decryption; Message digest
HMAC with keys smaller than 112-bitMessage authentication code (MAC)
HMAC with GOSTMessage authentication code (MAC)
MD2, MD4, MD5Message digest; Message authentication code (MAC)
PBKDF with non-approved message digest algorithmsPassword-based key derivation
RC2, RC4Symmetric encryption; Symmetric decryption
RMD160Message digest; Message authentication code (MAC)
RSA with keys smaller than 2048 bits or greater than 4096 bits.Key pair generation; Digital signature generation
RSA with keys smaller than 1024 bits or greater than 4096 bits.Digital signature verification
RSA encryption and decryption with any key sizes.Key encapsulation; Key un-encapsulation
Salsa20Symmetric encryption; Symmetric decryption
SM3Message digest
SerpentSymmetric encryption; Symmetric decryption
SHA-1Digital signature generation
STREEBOGMessage digest; Message authentication code (MAC)
Triple-DESSymmetric encryption; Symmetric decryption
TwofishSymmetric encryption; Symmetric decryption
UMACMessage authentication code (MAC)
YarrowRandom number generation

Table 6 - Non-Approved Algorithms Not Allowed in the Approved Mode of Operation

2.7 Module Design and Components

The software block diagram below shows the module, its interfaces with the operational environment and the delimitation of its cryptographic boundary. © 2025 Red Hat, Inc. / atsec information security.

10 of 46

Page 11

Figure 1

11 of 46

Page 12
Physical PortLogical Interface1Data that passes over port/interface
As a software-only module, the module does not have physical ports. Physical Ports are interpreted to be the physical ports of the hardware platform on which it runs.Data InputAPI input parameters
Data OutputAPI output parameters
Control InputAPI function calls for control
Status OutputAPI return codes, status parameters
3 Cryptographic Module Ports and Interfaces

The logical interfaces are the API through which the applications request services. The following table summarizes the logical interfaces: Table 7 - Ports and Interfaces © 2025 Red Hat, Inc. / atsec information security.

12 of 46

Page 13
RoleServiceInputOutput
Crypto Officer (CO)Authenticated encryptionKey, Plaintext, IVCiphertext, MAC tag
Authenticated decryptionKey, Ciphertext, IV, MAC tagPlaintext
Diffie-Hellman shared secret computationPrivate key, public key from peerShared secret
Digital signature generationMessage, hash algorithm, private keyDigital signature
Digital signature verificationMessage, signature, hash algorithm, public keyVerification result
Domain parameter generationDomain parameters inputGenerated domain parameters
EC Diffie-Hellman shared secret computationPrivate key, public key from peerShared secret
HKDF key derivationShared secretHKDF derived key
Key pair generationRSA key size, Diffie-Hellman Safe Prime or Elliptic Curve, enabled-curve2Key pair
Key agreementPrivate key, public key from peerDerived key
Key encapsulationKey to be encapsulated, Key encapsulating keyEncapsulated key
Key un-encapsulationEncapsulated key, Key encapsulating keyUnencapsulated key
Key wrappingKey to be wrapped, Key wrapping keyWrapped key
Key unwrappingWrapped key, Key unwrapping keyUnwrapped key
Message authentication code (MAC)HMAC key or AES key, messageMAC tag
Message authentication code verificationHMAC key or AES key, message, MAC tagPass/fail
Message digestMessageDigest of the message
Password-based key derivationPassword or passphrase, salt, iteration countPBKDF Derived key
Public key verificationKey pairReturn codes/log messages
Random number generationNumber of bitsRandom number
Self-testsN/AResult of self-test (pass/fail)
Symmetric decryptionKey, CiphertextPlaintext
Symmetric encryptionKey, PlaintextCiphertext
Show module name and versionN/AName and version information
4 Roles, services, and authentication

The module supports the Crypto Officer role only. This sole role is implicitly assumed by the operator of the module when performing a service. The module does not support

4.1 Roles

Table below describes the authorized role(s) in which the service can be performed with specification

2 The enabled-curve input parameter can be adjusted relying on the crypto-policies package provided as part of the RHEL

OS. The usage of crypto-policies is discouraged by the vendor. Further info can be found at the vendor's documentation. © 2025 Red Hat, Inc. / atsec information security.

13 of 46

Page 14
Show statusN/AReturn codes and/or log messages
TLS key derivationTLS pre-master secretDerived key
Transport Layer Security (TLS) network protocolCipher-suites, Digital Certificate, Public and Private Keys, Application DataReturn codes and/or log messages, Application data
ZeroizationContext containing SSPsN/A
Service Cryptographic ServicesDescriptionApproved Security FunctionsKeys and/or SSPsRolesAccess rights to Keys and/or SSPsIndicator
Symmetric encryptionPerform AES encryptionAES-CBC AES-ECB AES-CCM AES-CFB8 AES-CMAC AES-GMAC AES-XTSAES keyCOW, EGNUTLS_FIPS140 _OP_APPROVED

Table 8 - Roles, Service Commands, Input and Output

4.2 Authentication

FIPS 140-3 does not require an authentication mechanism for level 1 modules. Therefore, the module does not implement an authentication mechanism for Crypto Officer. The Crypto Officer role is authorized to access all services provided by the module (see Table - Approved Services and Table - Non-Approved Services below). The table below lists all approved services that can be used in the approved mode of operation. The following convention is used to specify access rights to an SSP:

14 of 46

Page 15

Service Symmetric decryption Authenticated encryption Authenticated decryption Key wrapping Key unwrapping Key pair generation Digital signature generation

Description Perform AES decryption Encrypt a plaintext Decrypt a ciphertext Key wrapping (as part of the cipher suites in the TLS protocol) Key unwrapping (as part of the cipher suites in the TLS protocol) Generate RSA, ECDSA/ECDH and DH key pairs Generate RSA and ECDSA signature See Table 5 for SHA sizes

Approved Security Functions AES-CBC AES-ECB AES-CCM AES-GCM AES-CFB8 AES-CMAC AES-GMAC AES-XTS AES-CCM AES-CCM AES-CCM AES-GCM AES-CBC, HMAC AES-CCM AES-GCM AES-CBC, HMAC CKG DRBG ECDSA RSA Safe Primes Key generation DRBG ECDSA SHA RSA

Keys and/or SSPs AES key AES key AES key AES key AES key, HMAC key AES key AES key, HMAC key Module-generated RSA public key, Module generated RSA private key Module-generated ECDSA public key, Module generated ECDSA private key Module-generated Diffie-Hellman public key, Module-generated Diffie-Hellman private keys Module-generated EC Diffie-Hellman public key, Module-generated EC Diffie-Hellman private keys “enabled-curve” parameter DRBG internal state (V value, key) RSA private key DRBG internal state (V value, key) ECDSA private key

Roles

Access rights to Keys and/or SSPs W, E W, E W, E W, E W, E W, E W, E G, E, R G, E, R G, E, R G, E, R W, E W, E W, E

Indicator GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED

© 2025 Red Hat, Inc. / atsec information security.

15 of 46

Page 16

Service Digital signature verification Public key verification Random number generation Message digest Message authentication code (MAC) Message authentication code verification Diffie-Hellman shared secret computation EC Diffie-Hellman shared secret computation TLS key derivation HKDF key derivation Password-based key derivation

Description Verify RSA, and ECDSA signature See Table 5 for SHA sizes Verify ECDSA public key Generate random bitstrings Compute SHA hashes Compute HMAC Compute AES- based CMAC Compute AES- based GMAC Verify MAC tag Compute a shared secret Compute a shared secret Perform TLS key derivation Perform key derivation using HKDF (in the context of TLS 1.3) Perform password- based key derivation

Approved Security Functions RSA ECDSA SHA ECDSA DRBG SHA Compute HMAC CMAC with AES GMAC with AES HMAC or GMAC with AES or CMAC with AES KAS-FFC-SSC KAS-ECC-SSC TLS v1.2 KDF RFC7627 KDA HKDF PBKDF

Keys and/or SSPs RSA public key ECDSA public key ECDSA public key Entropy input DRBG internal state (V value, key) DRBG seed None HMAC key AES key AES key AES key or HMAC key Diffie-Hellman public key, Diffie- Hellman private key Diffie-Hellman Shared secret EC Diffie-Hellman public key, EC Diffie-Hellman private key EC Diffie-Hellman Shared secret TLS pre-master secret TLS master secret TLS derived key Diffie-Hellman shared secret or EC Diffie-Hellman shared secret HKDF derived key Password/passphr ase PBKDF derived key

Roles

Access rights to Keys and/or SSPs W, E W, E W, E E, G E, G N/A W, E W, E W, E G, R W, E G, R W, E E, G G, R W, E G, R W, E G, R

Indicator GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED GNUTLS_FIPS140 _OP_APPROVED

© 2025 Red Hat, Inc. / atsec information security.

16 of 46

Page 17
Service Network Protocol ServiceDescriptionApproved Security FunctionsKeys and/or SSPsRolesAccess rights to Keys and/or SSPsIndicator
Transport Layer Security (TLS) network protocolEstablish TLS sessionSupported cipher suites in FIPS- validated configuration (see Appendix A for the complete list of valid cipher suites)RSA public key, RSA private key, ECDSA public key, ECDSA private keyCOW, EGNUTLS_FIPS140 _OP_APPROVED
Other FIPS-Related ServicesTLS pre-master secret, TLS master secret, Diffie Hellman private key, Diffie-Hellman public key, EC Diffie Hellman public key, EC Diffie-Hellman private key, TLS derived key, HKDF derived keyW, E, G
Show statusShow module statusN/ANoneCON/AN/A
Self-testsPerform self-testsAES, Diffie- Hellman, EC Diffie- Hellman, ECDSA, DRBG, HMAC, RSA, SHS, HKDF, PBKDF, TLS v1.2 KDF RFC7627NoneN/AN/A
Show module name and versionShow module name and versionN/ANoneN/AN/A
ZeroizationZeroize SSPsN/AAny SSPsAll SSPs: ZN/A
Service Cryptographic ServicesDescriptionAlgorithms AccessedRole
Symmetric encryptionCompute the cipher for encryptionAES GCM not in the context of the TLS protocol Blowfish Camellia CAST ChaCha20 DES GOST RC2, RC4 Salsa20 Serpent Triple-DES TwofishCO

The table below lists all non-Approved services that can only be used in the non-Approved mode of operation. © 2025 Red Hat, Inc. / atsec information security.

17 of 46

Page 18

Service Cryptographic Services Symmetric decryption Key pair generation Digital signature generation Digital signature verification Domain parameter generation Message digest Message authentication code (MAC) Key agreement Key encapsulation Key un- encapsulation Diffie-Hellman shared secret computation

Description Compute the cipher for decryption Generate RSA, DSA, and ECDSA key pairs Sign RSA, DSA, and ECDSA signatures Verify RSA, DSA, and ECDSA signatures Generate domain parameter Compute message digest Compute HMAC Perform key agreement Perform RSA key encapsulation Perform RSA key un- encapsulation Perform DH shared secret computation

Algorithms Accessed AES GCM not in the context of the TLS protocol Blowfish Camellia CAST ChaCha20 DES GOST RC2, RC4 Salsa20 Serpent Triple-DES Twofish DSA ECDSA with curves not listed in Table 5 RSA with keys smaller than 2048 bits or greater than 4096 bits DSA ECDSA with curves not listed in Table 5 RSA with keys smaller than 2048 bits or greater than 4096 bits DSA ECDSA with curves not listed in Table 5 RSA with keys smaller than 1024 bits or greater than 4096 bits DSA GOST MD2, MD4, MD5 RMD160 SM3 STREEBOG HMAC with keys smaller than 112-bit HMAC with GOST MD2, MD4, MD5 RMD160 STREEBOG UMAC Diffie-Hellman with keys generated with domain parameters other than safe primes EC Diffie-Hellman with curves not listed in Table 5 RSA encryption and decryption with any key sizes RSA encryption and decryption with any key sizes Diffie-Hellman with keys generated with domain parameters other than safe primes

Role

© 2025 Red Hat, Inc. / atsec information security.

18 of 46

Page 19

Service Cryptographic Services EC Diffie-Hellman shared secret computation Password-based key derivation Public key verification Transport Layer Security (TLS) network protocol

Description Perform ECDH shared secret computation Perform password-based key derivation Verify ECDSA public key Establish non-supported TLS channel

Algorithms Accessed EC Diffie-Hellman with curves not listed in Table 5 PBKDF using non-approved message digest algorithms ECDSA with curves not listed in Table 5 Non-supported cipher suite (see Appendix A for the complete list of valid cipher)

Role

© 2025 Red Hat, Inc. / atsec information security.

19 of 46

Page 20
5 Software/Firmware security
5.1 Integrity Techniques

The integrity of the module is verified by comparing an HMAC-SHA2-256 value calculated at run time with the HMAC value stored in the .hmac file that was computed at build time for each software component of the module listed in section

  1. The .hmac file has HMAC value for libgnutls, libnettle and libhogweed listed in section
  2. If the HMAC values do not match, the test fails, and the module enters the error state. Integrity tests are performed as part of the Pre-Operational Self-Tests.
5.2 On-Demand Integrity Test

The module provides the Self-Test service to perform self-tests on demand which includes the preoperational test (i.e., integrity test) and the cryptographic algorithm self-tests (CASTs). The SelfTests service can be called on demand by invoking the gnutls_fips140_run_self_tests() function which will perform integrity tests and the cryptographic algorithms self-tests. Additionally, the SelfTest service can be invoked by powering-off and reloading the module. During the execution of the on-demand self-tests, services are not available, and no data output is possible.

5.3 Executable Code

The module consists of executable code in the form of libgnutls, libnettle, libgmp and libhogweed shared libraries as stated in section 2. © 2025 Red Hat, Inc. / atsec information security.

20 of 46

Page 21
6 Operational Environment
6.1 Applicability

The module operates in a modifiable operational environment per FIPS 140-3 level 1 specification: the module executes on a general-purpose operating system (Red Hat Enterprise Linux 9), which allows modification, loading, and execution of software that is not part of the validated module.

6.2 Tested operational Environments

See Section 2.3. The Red Hat Enterprise Linux operating system is used as the basis of other products which include but are not limited to:

6.3 Policy and Requirements

The module shall be installed as stated in Section 11. If properly installed, 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. There are no concurrent operators. The module does not have the capability of loading software or firmware from an external source. Instrumentation tools like the ptrace system call, gdb and strace, userspace live patching, as well as other tracing mechanisms offered by the Linux environment such as ftrace or systemtap, shall not be used in the operational environment. The use of any of these tools implies that the cryptographic module is running in a non-validated operational environment. © 2025 Red Hat, Inc. / atsec information security.

21 of 46

Page 22
7 Physical Security

The module is comprised of software only and therefore this section is Not Applicable (N/A). © 2025 Red Hat, Inc. / atsec information security.

22 of 46

Page 23
8 Non-invasive Security

This module does not implement any non-invasive security mechanism and therefore this section is Not Applicable (N/A). © 2025 Red Hat, Inc. / atsec information security.

23 of 46

Page 24
Key / SSP Name / TypeStrengthSecurity Function and Cert. NumberGenerationImport/ExportEstablis hmentStorag eZeroizationUse & related keys
AES keyAES-XTS: 128, 256 bits; Other modes: 128, 192, 256 bitsAES-CBC, AES- CCM, AES- CFB8, AES- CMAC, AES-ECB AES-GCM, AES- GMAC, AES- XTS, Certs. #A4827, #A4828, #A4830, #A4831, #A4833, #A4834, #A4836, #A4842, #A5572, #A5573, #A5574N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_cipher_ deinit() gnutls_aead_ci pher_deinit()Use: Symmetric encryption; Symmetric decryption; Message authentication code (MAC); Message authentication code verification; Authenticated encryption; Authenticated decryption; Key wrapping; Key unwrapping Related SSPs: N/A
HMAC key112–256 bitsHMAC Certs. #A4828, #A4833, #A5575N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_hmac_ deinit()Use: Message Authentication Code (MAC); Message authentication code verification; Key wrapping; Key unwrapping Related SSPs: N/A
Module- generated RSA public key112 to 256 bitsDRBG, RSA: Cert. #A4833Generated using the FIPS 186-4 key generation method; the random value used in key generation is obtained from the SP800- 90Arev1 DRBG.MD/EE Import: None Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Key pair generation Related SSPs: DRBG internal state (V value, key); Module- generated RSA private key
Module- generated RSA private key112 to 256 bitsDRBG, RSA: Cert. #A4833Generated using the FIPS 186-4 key generation method; the random value used in key generation is obtained from the SP800- 90Arev1 DRBG.MD/EE Import: None Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Key pair generation Related SSPs: DRBG internal state (V value, key); Module- generated RSA public key
9 Sensitive Security Parameters Management

Table 11 summarizes the SSPs that are used by the cryptographic services implemented in the © 2025 Red Hat, Inc. / atsec information security.

24 of 46

Page 25
Key / SSP Name / TypeStrengthSecurity Function and Cert. NumberGenerationImport/ExportEstablis hmentStorag eZeroizationUse & related keys
RSA public key112 to 256 bitsRSA Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Digital signature verification; Transport Layer Security (TLS) network protocol Related SSPs: RSA private key
RSA private key112 to 256 bitsRSA Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Digital signature generation; Transport Layer Security (TLS) network protocol Related SSPs: RSA public key
Module- generated ECDSA public key112, 192, 256 bitsDRBG, ECDSA: Cert. #A4833Generated using the FIPS 186-4 key generation method; the random value used in key generation is obtained from the SP800- 90Arev1 DRBG.MD/EE Import: None Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Key pair generation Related SSPs: DRBG internal state (V value, key); Module- generated ECDSA private key
Module- generated ECDSA private key112, 192, 256 bitsDRBG, ECDSA: Cert. #A4833Generated using the FIPS 186-4 key generation method; the random value used in key generation is obtained from the SP800- 90Arev1 DRBG.MD/EE Import: None Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Key pair generation Related SSPs: DRBG internal state (V value, key); Module- generated ECDSA public key
ECDSA public key128, 192, 256 bitsECDSA Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Digital signature verification; Public key verification; Transport Layer Security (TLS) network protocol Related SSPs: DRBG internal state (V value, key); ECDSA private key

© 2025 Red Hat, Inc. / atsec information security.

25 of 46

Page 26
Key / SSP Name / TypeStrengthSecurity Function and Cert. NumberGenerationImport/ExportEstablis hmentStorag eZeroizationUse & related keys
ECDSA private key128, 192, 256 bitsECDSA Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_privkey _deinit() gnutls_x509_p rivkey_deinit() gnutls_rsa_par ams_deinit()Use: Digital signature generation; Public key verification; Transport Layer Security (TLS) network protocol Related SSPs: DRBG internal state (V value, key); ECDSA public key
Module- generated Diffie- Hellman public key112-200 bitsKAS-FFC-SSC DRBG Cert. #A4833Generated using the SP 800-56Arev3 Safe Primes key generation method; random values are obtained from the SP800- 90Arev1 DRBG.MD/EE Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. Import: NoneN/ARAMgnutls_dh_par ams_deinit() gnutls_pk_par ams_clear()Use: Key pair generation; Transport Layer Security (TLS) network protocol Related SSPs: Module- generated Diffie- Hellman private key; DRBG internal state (V value, key); TLS pre-master secret
Module- generated Diffie- Hellman private key112-200 bitsKAS-FFC-SSC DRBG Cert. #A4833Generated using the SP 800-56Arev3 Safe Primes key generation method; random values are obtained from the SP800- 90Arev1 DRBG.MD/EE Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. Import: NoneN/ARAMgnutls_dh_par ams_deinit() gnutls_pk_par ams_clear()Use: Key pair generation; Transport Layer Security (TLS) network protocol Related SSPs: Module- generated Diffie- Hellman public key; DRBG internal state (V value, key); TLS pre-master secret
Diffie- Hellman public key112-200 bitsKAS-FFC-SSC Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_dh_par ams_deinit() gnutls_pk_par ams_clear()Use: Diffie- Hellman shared secret computation; Transport Layer Security (TLS) network protocol Related keys: Diffie-Hellman private key; Diffie-Hellman shared secret
Diffie- Hellman private key112-200 bitsKAS-FFC-SSC Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parametersN/ARAMgnutls_dh_par ams_deinit() gnutls_pk_par ams_clear()Use: Diffie- Hellman shared secret computation; Transport Layer Security (TLS) network protocol Related keys: Diffie-Hellman

© 2025 Red Hat, Inc. / atsec information security.

26 of 46

Page 27
Key / SSP Name / TypeStrengthSecurity Function and Cert. NumberGenerationImport/Export in plaintext (P) format. Export: NoneEstablis hmentStorag eZeroizationUse & related keys public key; Diffie- Hellman shared secret
Module- generated EC Diffie- Hellman public key128, 192, 256 bitsKAS-ECC-SSC DRBG Cert. #A4833Generated internally by the module using the ECDSA key generation method compliant with [FIPS186-4] and [SP800- 56Arev3]; the random value used in key generation is obtained from the SP800- 90Arev1 DRBGMD/EE Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. Import: NoneN/ARAMgnutls_pk_par ams_clear()Use: Key pair generation; Transport Layer Security (TLS) network protocol Related keys: Module- generated EC Diffie-Hellman private key; DRBG internal state (V value, key); TLS pre- master secret
Module- generated EC Diffie- Hellman private key128, 192, 256 bitsKAS-ECC-SSC DRBG Cert. #A4833Generated internally by the module using the ECDSA key generation method compliant with [FIPS186-4] and [SP800- 56Arev3]; the random value used in key generation is obtained from the SP800- 90Arev1 DRBGMD/EE Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format. Import: NoneN/ARAMgnutls_pk_par ams_clear()Use: Key pair generation; Transport Layer Security (TLS) network protocol Related keys: Module- generated EC Diffie-Hellman public key; DRBG internal state (V value, key); TLS pre-master secret
EC Diffie- Hellman public key128, 192, 256 bitsKAS-ECC-SSC Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMgnutls_pk_par ams_clear()Use: EC Diffie- Hellman shared secret computation; Transport Layer Security (TLS) network protocol Related keys: EC Diffie-Hellman private key; EC Diffie-Hellman shared secret
EC Diffie- Hellman private key128, 192, 256 bitsKAS-ECC-SSC Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via APIN/ARAMgnutls_pk_par ams_clear()Use: EC Diffie- Hellman shared secret computation; Transport Layer Security (TLS) network protocol

© 2025 Red Hat, Inc. / atsec information security.

27 of 46

Page 28
Key / SSP Name / TypeStrengthSecurity Function and Cert. NumberGenerationImport/Export parameters in plaintext (P) format. Export: NoneEstablis hmentStorag eZeroizationUse & related keys Related keys: EC Diffie-Hellman public key; EC Diffie-Hellman shared secret
Diffie- Hellman shared secret112 to 200 bitsKAS-FFC-SSC Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.Generate d during the Diffie- Hellman key agreeme nt and shared secret computat ion per SP800- 56Arev3.RAMzeroize_key()Use: Diffie- Hellman shared secret computation; HKDF key derivation Related keys: Diffie-Hellman public key; Diffie- Hellman private key
EC Diffie- Hellman shared secret112 to 256 bitsKAS-ECC-SSC Cert. #A4833N/AMD/EE Import: CM from TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: CM to TOEPP Path. Passed from the module via API parameters in plaintext (P) format.Generate d during the EC Diffie- Hellman key agreeme nt and shared secret computat ion per SP800- 56Arev3.RAMzeroize_key()Use: EC Diffie- Hellman shared secret computation; HKDF key derivation Related keys: EC Diffie-Hellman public key; EC Diffie-Hellman private key
PBKDF password or passphrasePassword strength 1014 - 10128PBKDF Cert. #A4833N/A (key material is entered via API parameters)MD/EE Import: CM to TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneN/ARAMInternal PBKDF state is zeroized automatically when function returns.Use: Password- based key derivation Related keys: PBKDF derived key
PBKDF derived key112-256 bitsPBKDF Cert. #A4833Derived during the PBKDFMD/EE Import: None Export: CM from TOEPP Path. Passed from the module via API parameters inN/ARAMzeroize_key()Use: Password- based key derivation Related keys: PBKDF password or passphrase

© 2025 Red Hat, Inc. / atsec information security.

28 of 46

Page 29
Key / SSP Name / TypeStrengthSecurity Function and Cert. NumberGenerationImport/Export plaintext (P) format.Establis hmentStorag eZeroizationUse & related keys
HKDF derived key112 to 256 bitsKDA HKDF Cert. #A4832Derived (as part of TLSv1.3) with KDA HKDFMD/EE Import: None Export: CM from TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMgnutls_deinit()Use: HKDF key derivation; Transport Layer Security (TLS) network protocol Related keys: Diffie-Hellman shared secret, EC Diffie-Hellman shared secret
Entropy input IG D.L compliant112 to 337 bitsDRBG Cert. #A4833 ESV Cert. #E47Obtained from the SP 800- 90B compliant Non-Physical Entropy SourceImport: None Export: None it remains within the cryptographic boundary.N/ARAMgnutls_global_ deinit()Use: Random number generation Related keys: DRBG seed
DRBG internal state (V value, key) IG D.L compliant128 to 256 bitsDRBG Cert. #A4833Generated from the DRBG seed as defined in SP800- 90Arev1Import: None Export: NoneN/ARAMgnutls_global_ deinit()Use: Random number generation Related keys: DRBG seed, Module- generated ECDSA public key, Module- generated ECDSA private key, Module- generated RSA public key, Module- generated RSA private key, Module- generated Diffie- Hellman public key, Module- generated Diffie- Hellman private key, Module- generated EC Diffie-Hellman public key, Module- generated EC Diffie-Hellman private key
DRBG seed IG D.L compliant128 to 256 bitsDRBG Cert. #A4833 ESV Cert. #E47Derived from entropy input as defined in SP800- 90Arev1Import: None Export: None it remains within the cryptographic boundary.N/ARAMgnutls_global_ deinit()Use: Random number generation Related keys: Entropy input; DRBG internal state (V value, key)

© 2025 Red Hat, Inc. / atsec information security.

29 of 46

Page 30
Key / SSP Name / TypeStrengthSecurity Function and Cert. NumberGenerationImport/ExportEstablis hmentStorag eZeroizationUse & related keys
TLS pre- master secretDH 112 to 256 bits ECDH 112 to 256 bitsTLS v1.2 KDF RFC7627 Certs. #A4833N/AMD/EE Import: CM to TOEPP Path. Passed to the module via API parameters in plaintext (P) format. Export: NoneKey agreeme nt for Diffie- Hellman or EC Diffie- Hellman and shared secret computat ion per SP800- 56Arev3RAMgnutls_deinit()Use: TLS key derivation, Transport Layer Security (TLS) network protocol Related keys: TLS master secret
TLS master secret112 to 256 bitsTLS v1.2 KDF RFC7627 Certs. #A4833Derived from TLS pre- master secret using TLS v1.2 KDF RFC7627per SP800- 135rev1.MD/EE Import: None Export: NoneN/ARAMgnutls_deinit()Use: TLS key derivation, Transport Layer Security (TLS) network protocol Related keys: TLS pre-master secret, TLS derived key
TLS derived key112 to 256 bitsTLS v1.2 KDF RFC7627 Certs. A4833Derived from TLS master secret using TLS v1.2 KDF RFC7627 per SP800- 135rev1.MD/EE Import: None Export: CM from TOEPP Path. Passed from the module via API parameters in plaintext (P) format.N/ARAMgnutls_deinit()Use: TLS key derivation, Transport Layer Security (TLS) network protocol Related keys: TLS pre-master secret, TLS master secret
Entropy SourceMinimum number of bits of entropyDetails
SP 800-90B compliant Non- Physical Entropy Source (ESV cert. E47)225 bits of entropy in the 256-bit outputUserspace CPU Jitter 2.2.0 entropy source with LFSR as the non-vetted conditioning component is located within the physical perimeter of the module but outside the cryptographic boundary of the module.
9.1 Random bit Generator

The module employs a Deterministic Random Bit Generator (DRBG) based on [SP800-90ARev1] for the generation of random value used in asymmetric keys, and for providing a RNG service to calling applications. The approved DRBG provided by the module is the CTR_DRBG with AES-256. The DRBG does not employ prediction resistance or a derivation function. The module uses an SP800-90Bcompliant Entropy Source specified in the table below to seed the DRBG. Table 12 - Non-Deterministic Random Number Generation Specification The module generates SSPs (e.g., keys) whose strengths are modified by available entropy. © 2025 Red Hat, Inc. / atsec information security.

30 of 46

Page 31
9.2 SSP generation

In accordance with FIPS 140-3 IG D.H, the cryptographic module performs Cryptographic Key Generation (CKG) for asymmetric keys according to section 5.1 and 5.2 of [SP800-133rev2] according to section 6.1 of [SP800-133rev2] (vendor affirmed) by obtaining a random bit string directly from an approved [SP800-90Arev1] DRBG and that can support the required security strength requested by the caller (without any V, as described in Additional Comments 2 of IG D.H).

9.3 SSP entry and output

SSPs are provided to the module via API input parameters in plaintext form and output via API output parameters in plaintext form within the physical perimeter of the operational environment. This is allowed by [FIPS140-3_IG] IG 9.5.A, according to the “CM Software to/from App via TOEPP Path” entry on the Key Establishment Table. The module does not support entry or output of cryptographically protected SSPs.

9.4 SSP establishment

The module provides Diffie-Hellman and EC Diffie-Hellman shared secret computation compliant with SP800- 56Arev3, in accordance with scenario 2 (1) of IG D.F and used as part of the TLS protocol key exchange in accordance with scenario 2 (2) of IG D.F; that is, the shared secret computation (KAS-FFC-SSC and KAS-ECC-SSC) followed by the derivation of the keying material using SP800-135rev1 KDF and SP800-56Crev1 KDF. © 2025 Red Hat, Inc. / atsec information security.

31 of 46

Page 32

For Diffie-Hellman, the module supports the use of safe primes from RFC7919 for domain parameters and key generation, which are used in the TLS key agreement implemented by the module.

9.5 SSP storage

Symmetric keys, public and private keys are provided to the module by the calling application via API input parameters and are destroyed by the module when invoking the appropriate API function calls. The module does not perform persistent storage of SSPs. The SSPs are temporarily stored in the RAM in plaintext form. SSPs are provided to the module by the calling process and are destroyed when released by the appropriate zeroization function calls.

9.6 SSP Zeroization

The memory occupied by SSPs is allocated by regular memory allocation operating system calls. The application that is acting as the CO is responsible for calling the appropriate zeroization © 2025 Red Hat, Inc. / atsec information security.

32 of 46

Page 33

functions provided in the module's API and listed in Table 11. Calling the gnutls_deinit() will zeroize the SSPs stored in the TLS protocol internal state and also invoke the corresponding API functions listed in Table 11 to zeroize SSPs. The zeroization functions overwrite the memory occupied by SSPs with “zeros” and deallocate the memory with the regular memory deallocation operating system call. The completion of a zeroization routine(s) will indicate that a zeroization procedure succeeded. All data output is inhibited during zeroization. © 2025 Red Hat, Inc. / atsec information security.

33 of 46

Page 34
AlgorithmTest
AESKAT AES CBC mode with 128-bit and 256-bit keys, encryption and decryption (separately tested) KAT AES CFB8 mode with 256-bit key, encryption and decryption (separately tested) KAT AES GCM mode with 256-bit key, encryption and decryption (separately tested) KAT AES XTS mode with 256-bit keys, encryption and decryption (separately tested) KAT AES-CMAC with 256-bit key size MAC generation
Diffie-HellmanPrimitive “Z” Computation KAT with ffdhe3072
DRBGKAT CTR_DRBG with AES with 256-bit keys without DF, without PR
DRBGHealth tests according to section 11.3 of [SP800-90Arev1]
EC Diffie-HellmanPrimitive “Z” Computation KAT with P-256 curve
ECDSAKAT ECDSA with P-256 using SHA-256, P-384 using SHA-384, and P-521 using SHA-512, signature generation and verification (separately tested)
HKDF KDAKAT with SHA-256
HMACKAT HMAC-SHA-1, HMAC-SHA-224, HMAC-SHA-256, HMAC-SHA-384, HMAC-SHA-512
PBKDF KDFKAT with SHA-256 with 4096 iterations and 288-bit salt
RSAKAT RSA PKCS#1 v1.5 with 2048-bit key using SHA-256, signature generation and verification (separately tested)
SHA-3KAT SHA3-224, SHA3-256, SHA3-384, SHA3-512
10 Self-tests

The module performs the pre-operational self-test and CASTs automatically when the module is loaded into memory. Pre-operational self-test ensure that the module is not corrupted, and the CASTs ensure that the cryptographic algorithms work as expected. While the module is executing the self-tests, the module services are not available, and input and output are inhibited. The module is not available for use by the calling application until the pre-operational self-test and the CASTs are completed successfully. After the pre-operational test and the CASTs succeed, the module becomes operational. If any of the pre-operational test or any of the CASTs fail an error message is returned, and the module transitions to the error state.

10.1 Pre-operational Software Integrity Test

The module performs the following pre-operational tests: the integrity test of the shared libraries that comprise the module using HMAC-SHA2-256. The details of integrity test are provided in section 5.1. Prior the first use, a CAST is executed for the algorithms used in the Pre-operational Self-Tests.

10.2 Conditional Self-Tests

The following sub-sections describe the conditional self-tests supported by the module. If one of the conditional self-tests fail, the module transitions to the ‘Error’ state and a corresponding error indication is given. The entropy source performs its required self-tests; those are not listed here, as the entropy source is not part of the cryptographic boundary of the module.

10.2.1 Conditional Cryptographic algorithm tests

The module performs cryptographic algorithm self-tests (CASTs) on all approved cryptographic algorithms. The CASTs consist of Known Answer Tests for all the approved cryptographic algorithms. © 2025 Red Hat, Inc. / atsec information security.

34 of 46

Page 35
AlgorithmTest
TLS v1.2 KDF RFC7627KAT with SHA-256
AlgorithmTest
ECDSA key generationPCT using SHA-256, signature generation and verification.
RSA key generationPCT using PKCS#1 v1.5 with SHA-256, signature generation and verification
Diffie-Hellman key generationPCT according to section 5.6.2.1.4 of [SP800-56Arev3]
EC Diffie-Hellman key generationCovered by ECDSA PCT as allowed by IG 10.3.A additional comment 1
Error StateCause of ErrorStatus Indicator
Error StateWhen the integrity tests or KAT fail at power-up.GNUTLS_E_SELF_TEST_ERROR (-400)
When the KAT of DRBG fails during pre-operational testsGNUTLS_E_RANDOM_FAILED (-206)
When the new generated key pair fails the PCTGNUTLS_E_PK_GENERATION_ERROR (-403)
When the module is in error state and caller requests cryptographic operationsGNUTLS_E_LIB_IN_ERROR_STATE (-402)

Table 13 - Conditional Cryptographic Algorithm Self-Tests

10.2.2 Conditional Pairwise Consistency Test

The module performs the Pair-wise Consistency Tests (PCT) shown in the following table. If any of Table 14 - Pairwise Consistency Test

10.2.3 Periodic/On-Demand Self-Test

The module provides the Self-Test service to perform self-tests on demand which includes the preTests service can be called on demand by invoking the gnutls_fips140_run_self_tests() function which will perform integrity tests and the cryptographic algorithms self-tests. Additionally, the SelfTest service can be invoked by powering-off and reloading the module. During the execution of the on-demand self-tests, services are not available, and no data output is possible. error code to indicate the error and enters error state. Any further cryptographic operations and the data output via the data output interface are inhibited. The calling application can obtain the module state by calling the gnutls_fips140_get_operation_state() API function. The function returns The following table shows the error codes and the corresponding condition: Table 15 - Error States Self-test errors transition the module into an error state that keeps the module operational but prevents any cryptographic related operations. The module must be restarted and perform the per© 2025 Red Hat, Inc. / atsec information security.

35 of 46

Page 36

operational self-test and the CASTs to recover from these errors. If failures persist, the module must be re-installed. © 2025 Red Hat, Inc. / atsec information security.

36 of 46

Page 37
Processor ArchitectureRPM Packages
Intel 64-bitgnutls-gnutls-3.7.6-21.el9_2.1.x86_64.rpm nettle-3.8-3.el9_0.x86_64.rpm
IBM z16 64-bitgnutls-3.7.6-21.el9_2.1.s390x.rpm nettle-3.8-3.el9_0.s390x.rpm
IBM POWER10 64-bitgnutls-3.7.6-21.el9_2.1.ppc64le.rpm nettle-3.8-3.el9_0.ppc64le.rpm
11 Life-cycle assurance
11.1 Delivery and Operation

The module is distributed as a part of the Red Hat Enterprise Linux 9 (RHEL 9) package in the form of:

11.1.1 End of Life Procedure

For secure sanitization of the cryptographic module, the module needs first to be powered off, which will zeroize all keys and CSPs in volatile memory. Then, for actual deprecation, the module shall be upgraded to a newer version that is FIPS 140-3 validated. The module does not possess persistent storage of SSPs, so further sanitization steps are not needed.

11.2 Crypto Officer Guidance

The binaries of the 'Red Hat Enterprise Linux 9 gnutls version 3.7.6-074d015ce201f434’ are contained in the RPM packages for delivery listed below. Before the 'Red Hat Enterprise Linux 9 gnutls’ RPM packages are installed, the RHEL 9 system must operate in Approved mode. This can be achieved by:

11.2.1 TLS

The TLS protocol implementation provides both server and client sides. In order to operate in the approved mode, digital certificates used for server and client authentication shall comply with the © 2025 Red Hat, Inc. / atsec information security.

37 of 46

Page 38

restrictions of key size and message digest algorithms imposed by [SP800-131Arev2]. In addition, as required also by [SP800-131Arev2], Diffie-Hellman with keys smaller than 2048 bits must not be used. The TLS protocol lacks the support to negotiate the used Diffie-Hellman key sizes. To ensure full support for all TLS protocol versions, the TLS client implementation of the module accepts DiffieHellman key sizes smaller than 2048 bits offered by the TLS server. For complying with the requirement to not allow Diffie-Hellman key sizes smaller than 2048 bits, the Crypto Officer must ensure that:

11.2.2 AES XTS

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, that is 16MB of data. The module implements a check that ensures, before performing any cryptographic operation, that the two AES keys used in AES XTS mode are not identical (in compliance with IG C.I). Note: AES-XTS shall be used with 128 and 256-bit keys only. AES-XTS with 192-bit keys is not an Approved service.

11.2.3 AES GCM IV

The module implements AES GCM for being used in the TLS v1.2 and v1.3 protocols. AES GCM IV generation is in compliance with [FIPS140-3_IG] IG C.H for both protocols as follows:

11.2.4 Key Derivation using SP 800-132 PBKDF

The module provides password-based key derivation (PBKDF), compliant with SP800-132 and IG D.N. The module supports option 1a from section 5.4 of [SP800-132], in which the Master Key (MK) or a segment of it is used directly as the Data Protection Key (DPK). In accordance with [SP800-132], the following requirements shall be met. © 2025 Red Hat, Inc. / atsec information security.

38 of 46

Page 39
11.2.5 Compliance to SP 800-56ARev3 assurances

To comply with the assurances listed in section 5.6.2 of SP 800-56ARev3, the module shall be used together with an application that implements the "TLS protocol" and the following steps shall be performed.

  1. The entity using the module, must use the module's "Key pair generation" service for generating DH/ECDH ephemeral keys. This meets the assurances required by key pair owner defined in the section 5.6.2.1 of SP 800-56ARev3.
  2. As part of the module's shared secret computation (SSC) service, the module internally performs the public key validation on the peer's public key passed in as input to the SSC function. This meets the public key validity assurance required by the sections 5.6.2.2.1/5.6.2.2.2 of SP 800-56ARev3. The module does not support static keys therefore the "assurance of peer's possession of private key" is not applicable. © 2025 Red Hat, Inc. / atsec information security.

39 of 46

Page 40
12 Mitigation of other attacks

RSA is vulnerable to timing attacks. In a setup where attackers can measure the time of RSA decryption or signature operations, blinding is always used to protect the RSA operation from that attack. The internal API function of rsa_blind() and rsa_unblind() are called by the module for RSA signature generation and RSA decryption operations. The module generates a random blinding factor and include this random value in the RSA operations to prevent RSA timing attacks. © 2025 Red Hat, Inc. / atsec information security.

40 of 46

Page 41
Cipher SuiteIDReference
TLS_DH_RSA_WITH_AES_128_CBC_SHA{ 0x00, 0x31 }RFC3268
TLS_DHE_RSA_WITH_AES_128_CBC_SHA{ 0x00, 0x33 }RFC3268
TLS_DH_RSA_WITH_AES_256_CBC_SHA{ 0x00, 0x37 }RFC3268
TLS_DHE_RSA_WITH_AES_256_CBC_SHA{ 0x00, 0x39 }RFC3268
TLS_DH_RSA_WITH_AES_128_CBC_SHA256{ 0x00,0x3F }RFC5246
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256{ 0x00,0x67 }RFC5246
TLS_DH_RSA_WITH_AES_256_CBC_SHA256{ 0x00,0x69 }RFC5246
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256{ 0x00,0x6B }RFC5246
TLS_PSK_WITH_AES_128_CBC_SHA{ 0x00, 0x8C }RFC4279
TLS_PSK_WITH_AES_256_CBC_SHA{ 0x00, 0x8D }RFC4279
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256{ 0x00, 0x9E }RFC5288
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384{ 0x00, 0x9F }RFC5288
TLS_DH_RSA_WITH_AES_128_GCM_SHA256{ 0x00, 0xA0 }RFC5288
TLS_DH_RSA_WITH_AES_256_GCM_SHA384{ 0x00, 0xA1 }RFC5288
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x04 }RFC4492
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x05 }RFC4492
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x09 }RFC4492
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x0A }RFC4492
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x0E }RFC4492
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x0F }RFC4492
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA{ 0xC0, 0x13 }RFC4492
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA{ 0xC0, 0x14 }RFC4492
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x23 }RFC5289
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x24 }RFC5289
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x25 }RFC5289
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x26 }RFC5289
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x27 }RFC5289
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x28 }RFC5289

Appendix A. TLS Cipher Suites The module supports the following cipher suites for the TLS protocol version 1.0, 1.1, 1.2 and 1.3, compliant with section 3.3.1 of [SP800-52rev2]. Each cipher suite defines the key exchange algorithm, the bulk encryption algorithm (including the symmetric key size) and the MAC algorithm. © 2025 Red Hat, Inc. / atsec information security.

41 of 46

Page 42
Cipher SuiteIDReference
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256{ 0xC0, 0x29 }RFC5289
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384{ 0xC0, 0x2A }RFC5289
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x2B }RFC5289
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x2C }RFC5289
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x2D }RFC5289
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x2E }RFC5289
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x2F }RFC5289
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x30 }RFC5289
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256{ 0xC0, 0x31 }RFC5289
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384{ 0xC0, 0x32 }RFC5289
TLS_DHE_RSA_WITH_AES_128_CCM{ 0xC0, 0x9E }RFC6655
TLS_DHE_RSA_WITH_AES_256_CCM{ 0xC0, 0x9F }RFC6655
TLS_DHE_RSA_WITH_AES_128_CCM_8{ 0xC0, 0xA2 }RFC6655
TLS_DHE_RSA_WITH_AES_256_CCM_8{ 0xC0, 0xA3 }RFC6655
TLS_AES_128_GCM_SHA256{ 0x13, 0x01 }RFC8446
TLS_AES_256_GCM_SHA384{ 0x13, 0x02 }RFC8446
TLS_AES_128_CCM_SHA256{ 0x13, 0x04 }RFC8446
TLS_AES_128_CCM_8_SHA256{ 0x13, 0x05 }RFC8446

© 2025 Red Hat, Inc. / atsec information security.

42 of 46

Page 43
Table, extracted as text (did not parse into structured rows)
Appendix B. 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 CKG            Cryptographic Key Generation CMAC           Cipher-based Message Authentication Code CMVP           Cryptographic Module Validation Program CPACF          CP Assist for Cryptographic Functions 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 FFC            Finite Field Cryptography FIPS           Federal Information Processing Standards Publication GCM            Galois Counter Mode GMAC           Galois Counter Mode Message Authentication Code HMAC           Hash Message Authentication Code KAS            Key Agreement Scheme KAT            Known Answer Test KW             AES Key Wrap MAC            Message Authentication Code NIST           National Institute of Science and Technology PAA            Processor Algorithm Acceleration PAI            Processor Algorithm Implementation PBKDF2         Password-based Key Derivation Function v2 PKCS           Public-Key Cryptography Standards PCT            Pairwise Consistency Test PR             Prediction Resistance RNG            Random Number Generator RSA            Rivest, Shamir, Addleman SHA            Secure Hash Algorithm SHS            Secure Hash Standard © 2025 Red Hat, Inc. / atsec information security.

43 of 46

Page 44
FIPS140-3FIPS PUB 140-3 - Security Requirements For Cryptographic Modules March 2019 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.140-3.pdf
FIPS140-3_IGImplementation Guidance for FIPS PUB 140-3 and the Cryptographic Module Validation Program March 2024 https://csrc.nist.gov/csrc/media/Projects/cryptographic-module-validation- program/documents/fips%20140-3/FIPS%20140-3%20IG.pdf
FIPS180-4Secure Hash Standard (SHS) August 2015 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
FIPS186-4Digital Signature Standard (DSS) July 2013 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
FIPS197Advanced Encryption Standard November 2001 http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
FIPS198-1The Keyed Hash Message Authentication Code (HMAC) July 2008 http://csrc.nist.gov/publications/fips/fips198-1/FIPS-198-1_final.pdf
FIPS202SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions August 2015 http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
PKCS#1Public Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 February 2003 http://www.ietf.org/rfc/rfc3447.txt
SP800-38ANIST Special Publication 800-38A - Recommendation for Block Cipher Modes of Operation Methods and Techniques December 2001 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38a.pdf
SP800-38BNIST Special Publication 800-38B - Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication May 2005 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf
SP800-38CNIST Special Publication 800-38C - Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality July 2007 http://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://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf © 2025 Red Hat, Inc. / atsec information security. 44 of 46
Page 45
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://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38e.pdf
SP800-52rev2NIST Special Publication 800-52 Revision 2 - Guidelines for the Selection, Configuration, and Use of Transport Layer Security (TLS) Implementations August 2019 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r2.pdf
SP800-NIST Special Publication 800-56A Revision 3 - Recommendation for Pair
56ARev3Wise Key Establishment Schemes Using Discrete Logarithm Cryptography April 2018 https://doi.org/10.6028/NIST.SP.800-56Ar3
SP800-Recommendation for Key Derivation through Extraction-then-Expansion
56CRev2August 2020 https://doi.org/10.6028/NIST.SP.800-56Cr2
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-NIST Special Publication 800-90A - Revision 1 - Recommendation for
90ARev1Random Number Generation Using Deterministic Random Bit Generators June 2015 http://dx.doi.org/10.6028/NIST.SP.800-90Ar1
SP800-90BNIST Special Publication 800-90B - Recommendation for the Entropy Sources Used for Random Bit Generation January 2018 https://doi.org/10.6028/NIST.SP.800-90B
SP800-NIST Special Publication 800-131 Revision 2 - Transitions:
131Arev2Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths March 2019 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-131Ar2.pdf
SP800-132NIST Special Publication 800-132 - Recommendation for Password- Based Key Derivation - Part 1: Storage Applications December 2010 https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf
SP800-NIST Special Publication 800-133 - Recommendation for Cryptographic
133Rev2Key Generation June 2020 https://doi.org/10.6028/NIST.SP.800-133r2

SP800-135rev1 NIST Special Publication 800-135 Revision 1 - Recommendation for Existing Application-Specific Key Derivation Functions December 2011 http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-135r1.pdf © 2025 Red Hat, Inc. / atsec information security.

45 of 46

Page 46
SP800-140BNIST Special Publication 800-140B - CMVP Security Policy Requirements March 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-140B.pdf
RFC8446The Transport Layer Security (TLS) Protocol Version 1.3 August 2018 https://www.ietf.org/rfc/rfc8446.txt
RFC7919Negotiated Finite Field Diffie-Hellman Ephemeral Parameters for Transport Layer Security (TLS) August 2016 https://www.ietf.org/rfc/rfc7919.txt
RFC3526More Modular Exponential (MODP) Diffie-Hellman groups for Internet Key Exchange (IKE) May 2003 https://www.ietf.org/rfc/rfc3526.txt
RFC7627Transport Layer Security (TLS) Session Hash and Extended Master Secret Extension September 2015 https://www.ietf.org/rfc/rfc7627.txt © 2025 Red Hat, Inc. / atsec information security. 46 of 46