| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Software |
| Embodiment | MultiChipStand |
| Status | Active |
| Sunset date | 7/10/2029 |
| Caveat | No assurance of the minimum strength of generated SSPs (e.g., keys) |
| Vendor | Aviat Networks |
flowchart LR
%% Deterministic review-risk graph for WTM 4000 module
%% Review prompts and evidence gaps, NOT vulnerability findings.
subgraph CMVP["CMVP-disclosed clues"]
C3["[low] Self-test / status surface<br/>(referenced in text)<br/><i>Self-Test<br/>Show Status<br/>UnAuth</i>"]
C5["[low] Protocol / secure-channel<br/>references (may be KDF<br/>names, not a live channel)<br/><i>TLS<br/>SSH<br/>library named: wolfssl</i>"]
C6["[low] Operating system / runtime<br/>referenced (boundary<br/>membership not asserted)<br/><i>linux<br/>application</i>"]
end
subgraph Inference["Derived inference"]
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"]
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"]
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
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 C3,C5,C6 clue;
class I3,I5,I6 infer;
class R3,R5,R6 risk;
class E3,E5,E6 evidence;flowchart LR
%% Deterministic clue tier for WTM 4000 module
%% confidence: high = structured record field; medium = structured but soft; low (dashed) = bare keyword hit, context unverified
subgraph CMVP["CMVP-disclosed clues (deterministic)"]
C3["[low] Self-test / status surface (referenced in text)<br/><i>Self-Test<br/>Show Status<br/>UnAuth</i><br/>src: text:keyword"]
C5["[low] Protocol / secure-channel references (may be KDF names, not a live channel)<br/><i>TLS<br/>SSH<br/>library named: wolfssl</i><br/>src: text:keyword"]
C6["[low] Operating system / runtime referenced (boundary membership not asserted)<br/><i>linux<br/>application</i><br/>src: text:keyword"]
end
classDef clueHigh fill:#eef3f9,stroke:#2f6fb0,stroke-width:2px,color:#1f3a5f;
classDef clueMedium fill:#eef3f9,stroke:#6f7f91,color:#1f3a5f;
classDef clueLow fill:#f7f7f7,stroke:#999,stroke-dasharray:4 4,color:#444;
class C3,C5,C6 clueLow;Aviat Networks WTM 4000 module Document Version 1.0
AVIAT NETWORKS 200C Parker Drive, Suite 100A Austin, TX 78728 aviatnetworks.com +1 (512) 265-3680 © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| # | Section | Page |
|---|
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Item | Page |
|---|---|
| Table 1: This Document History | 4 |
| Table 2: Security Levels | 5 |
| Table 3: Legend of Terms and references that appear in this document | 6 |
| Table 4: Source Files | 7 |
| Table 5: Tested Module Identification – Software, Firmware, Hybrid (Executable Code Sets) | 8 |
| Table 6: Tested Operational Environments - Software, Firmware, Hybrid | 8 |
| Table 7: Modes List and Description | 9 |
| Table 8: Approved Algorithms | 12 |
| Table 9: Vendor-Affirmed Algorithms | 13 |
| Table 10: Security Function Implementations | 20 |
| Table 11: Ports and Interfaces | 21 |
| Table 12: Roles | 22 |
| Table 13: Approved Services | 25 |
| Table 14: Storage Areas | 27 |
| Table 15: SSP Input-Output Methods | 27 |
| Table 16: SSP Zeroization Methods | 28 |
| Table 17: SSP Table 1 | 33 |
| Table 18: SSP Table 2 | 33 |
| Table 19: Pre-Operational Self-Tests | 34 |
| Table 20: Conditional Self-Tests | 39 |
| Table 21: Pre-Operational Periodic Information | 39 |
| Table 22: Conditional Periodic Information | 40 |
| Table 23: Periodic Method Descriptions | 40 |
| Table 24: Error States | 42 |
| Figure 1: Module Block Diagram | 7 |
| Figure 2: Code Sample A | 44 |
| Section | Title | Security Level |
|---|---|---|
| 1 | General | 1 |
| 2 | Cryptographic module specification | 1 |
| 3 | Cryptographic module interfaces | 1 |
| 4 | Roles, services, and authentication | 1 |
| 5 | Software/Firmware security | 1 |
| 6 | Operational environment | 1 |
| 7 | Physical security | N/A |
| 8 | Non-invasive security | N/A |
| 9 | Sensitive security parameter management | 1 |
| 10 | Self-tests | 1 |
| 11 | Life-cycle assurance | 1 |
| 12 | Mitigation of other attacks | N/A |
| Overall Level | 1 |
| Term/Ref | Description |
|---|---|
| [140-3] | FIPS 140-3, Security Requirements for Cryptographic Modules |
| [OE] | The “Operating Environment” |
| [186-4] | FIPS 186-4, Digital Signature Standard (DSS) |
| [90Arev1] | NIST SP 800-90A Rev. 1, Recommendation for Random Number Generation Using Deterministic Random Bit Generators |
| [56Arev3] | NIST SP 800-56A Rev. 3, Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography |
| [56Crev2] | NIST SP 800-56C Rev. 2, Recommendation for Key- Derivation Methods in Key-Establishment Schemes |
| [135rev1] | NIST SP 800-135 Rev. 1, Recommendation for Existing Application-Specific Key Derivation Functions |
This document defines the Security Policy for AVIAT NETWORKS WTM 4000 module, hereafter levels as described in section 1.2 below.
In accordance with AS02.05, [ISO19790] §7.7 Physical Security is optional and does not apply © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Term/Ref | Description |
|---|---|
| [140Drev2] | NIST SP 800-140D revision 2, CMVP Approved Sensitive Parameter Generation and Establishment Methods: CMVP Validation Authority Updates to ISO/IEC 24759 |
| [UG] | AVIAT NETWORKS FIPS 140-3 User Guide (sometimes referred to as the “Cryptographic Officer Guidance Manual” in documentation not produced by this vendor) |
| [COGM] | Cryptographic Officer Guidance Manual (Another term for [UG] recognized by some in the Industry. Same meaning as [UG] |
| [140-3 IG] | FIPS 140-3, Implementation Guidance |
| [131Arev2] | NIST SP 800-131A Rev. 2, Transitioning the Use of Cryptographic Algorithms and Key Lengths |
| [56Brev2] | NIST SP 800-56B Rev. 2, Recommendation for Pair-Wise Key-Establishment Using Integer Factorization Cryptography |
Table 3: Legend of Terms and references that appear in this document
2 – Cryptographic Module Specification
TOEPP: The platform(s) used for testing are documented in Table 6: Tested Operational Environments - Software, Firmware, Hybrid. If the onboard CPU of a tested platform supported a known PAA [FIPS 140-3 IG 2.3.C] and was desirable for FIPS use, then in accordance with [FIPS 140-3 IG2.3.C] that platform was tested both with and without PAA unless an identical or similar platform had already been tested. When an identical or similar platform was already tested, the new platform was tested only with PAA. This is reflected by the column PAA/PAI in table 6 as marked with a Yes or No entry. The Intel and AMD AESNI (AES New Instructions) are known PAA(s). The Module is a cryptography software library. The Module is a Multi-Chip Stand Alone embodiment. The Module is intended for use by U.S. and Canadian Federal agencies in addition to any other markets that require FIPS 140-3 validated cryptographic functionality. The Module was originally designed with embedded and IoT in mind. As a side effect of this design, it also scales exceptionally well on larger desktop and server systems allowing more connections per box than similar competing solutions. The Module version under validation is Software Version v5.2.1. Module Type: Software Module Embodiment: MultiChipStand Module Characteristics: Cryptographic Boundary: AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without
| Source File Name | Description |
|---|---|
| aes.c | AES algorithm |
| aes_asm.s | AES assembler optimizations (Linux) |
| aes_asm.asm | AES assembler optimizations (Windows 10) |
| cmac.c | CMAC algorithm |
| dh.c | Diffie-Hellman |
| ecc.c | Elliptic curve cryptography |
| fips.c | Pre-operational entry point and API wrappers |
| fips_test.c | Power on self-tests |
| hmac.c | HMAC algorithm |
| kdf.c | TLS v1.2, v1.3 and SSH v2 KDFs |
| random.c | DRBG algorithm |
| rsa.c | RSA algorithm |
| sha.c | SHA algorithm |
| sha256.c | SHA-256 algorithm |
| sha256_asm.s | SHA-256 assembler optimizations (Linux) |
| sha512_asm.s | SHA-512 assembler optimizations (Linux) |
| sha3.c | SHA-3 algorithm |
| sha512.c | SHA-512 algorithm |
| wolfcrypt_first.c | First function and Read Only address marking start of cryptographic boundary |
| wolfcrypt_last.c | Last function and Read Only address marking end of cryptographic boundary |
Figure 1 depicts the Module operational environment, with the software module cryptographic boundary highlighted in red inclusive of all Module entry points (API calls). The Module is defined as a Software module per AS02.03. No components are excluded from [140-3] requirements. The pre-operational approved integrity test is performed over all components of the cryptographic boundary. Updates to the Module are provided as a complete replacement in accordance with AS04.27 – AS04.35. Figure 1: Module Block Diagram of cryptographic boundary Table 4: Source Files The source code files listed in Table “Source Files” result in the corresponding object files that comprise the WTM 4000 module boundary on each supported operating environment; the extensions of the object file can differ across environments.
Tested Module Identification
| Package or File Name | Software/ Firmware Version | Features | Integrity Test | |
|---|---|---|---|---|
| wolfssl-5.6.3- commercial-fips- linuxv5.2.1.7z | v5.2.1 | FIPS 140-3 module and SSL/TLS library | HMAC-SHA256 |
| Operating System | Hardware Platform | Processors | PAA/PAI | Hypervisor or Host OS | Version(s) | ||
|---|---|---|---|---|---|---|---|
| Linux 5.4 | WTM 4100 | Broadcom BCM56260B0IFSBG - Saber2 | No | v5.2.1 |
| Mode Name | Description | Type | Status Indicator |
|---|---|---|---|
| Approved mode of operation | The Module supports an Approved mode of operation. In this mode all services are available. | Approved | FIPS_MODE_NORMAL (1) |
| Degraded mode of operation | The Module implements a Degraded Mode of operation: when a CAST fails, that CAST is marked as failed and the module will inhibit use of algorithms governed by that CAST | Approved | FIPS_MODE_DEGRADED (2) |
Table 5: Tested Module Identification
N/A the module does not support excluded components. Modes List and Description: © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
Table 7: Modes List and Description Mode Change Instructions and Status: Each time the module is power cycled or reloaded all CAST status are initialized to FIPS_CAST_STATE_INIT. Each algorithm invocation includes a check of the algorithms CAST status; if the CAST status is FIPS_CAST_STATE_INIT the module will automatically run the CAST and that algorithms CAST status will be updated to either FIPS_CAST_STATE_SUCCESS (if it passes) or FIPS_CAST_STATE_FAILURE (if it fails). See degraded mode for when a CAST status fails. To check the modules overall status at any time the cryptographic officer may use the Show Status service by calling wolfCrypt_GetMode_fips() this will return either: FIPS_MODE_INIT (0) - Module is currently running its’ pre-operational self-test in another thread (multi-threaded) FIPS_MODE_NORMAL (1) - Module in normal mode of operation without errors FIPS_MODE_DEGRADED (2) - Module in degraded mode of operation with some errors FIPS_MODE_FAILED (3) - Module failed the integrity check and is not usable To check the CAST state of any algorithm the cryptographic officer may use the Show Status Service by calling wc_GetCastStatus_fips(<algorithm type>) where algorithm type can be any of the following:
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| AES-CBC | A4308 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-CCM | A4308 | Key Length - 128, 192, 256 | SP 800-38C |
| AES-CMAC | A4308 | Direction - Generation, Verification Key Length - 128, 192, 256 | SP 800-38B |
| AES-CTR | A4308 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-ECB | A4308 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| AES-GCM | A4308 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 192, 256 | SP 800-38D |
| AES-GMAC | A4308 | Direction - Decrypt, Encrypt IV Generation - External, Internal IV Generation Mode - 8.2.1, 8.2.2 Key Length - 128, 192, 256 | SP 800-38D |
| AES-OFB | A4308 | Direction - Decrypt, Encrypt Key Length - 128, 192, 256 | SP 800-38A |
| DSA KeyGen (FIPS186-4) | A4308 | L - 2048 N - 256 | FIPS 186-4 |
| ECDSA KeyGen (FIPS186-4) | A4308 | Curve - P-224, P-256, P-384, P-521 Secret Generation Mode - Extra Bits | FIPS 186-4 |
| ECDSA KeyVer (FIPS186-4) | A4308 | Curve - P-192, P-224, P-256, P-384, P-521 | FIPS 186-4 |
Degraded Mode Description: The Module implements a degraded mode of operation: when a CAST fails, the module enters an error state. The algorithm CAST status is set to FIPS_CAST_STATE_FAILED and the module runs all CASTS prior to the first operational use of any algorithm, regardless of the CAST having passed previously. Before exiting the error state, the module status (reported in the Show Status service) is set to FIPS_MODE_DEGRADED. Upon exiting the error state, the module enters the degraded mode of operation. This sequence of events is in accordance with AS02.26. The algorithm that failed its’ CAST initially triggering the error state will no longer be available for use in degraded mode of operation and any algorithms that depend on that algorithm will also be unavailable for use. See Table 16: Conditional Self-Tests in section 10.2, column Conditions to see if a CAST failure will affect use of another algorithm. To recover from degraded mode of operation CO shall power cycle or reload the module (equivalent to a power cycle).
Approved Algorithms: © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| ECDSA SigGen (FIPS186-4) | A4308 | Component - No Curve - P-224, P-256, P-384, P-521 Hash Algorithm - SHA2-224, SHA2-256, SHA2- 384, SHA2-512, SHA3-224, SHA3-256, SHA3- 384, SHA3-512 | FIPS 186-4 |
| ECDSA SigVer (FIPS186-4) | A4308 | Component - No Curve - P-192, P-224, P-256, P-384, P-521 Hash Algorithm - SHA-1, SHA2-224, SHA2-256, SHA2-384, SHA2-512, SHA3-224, SHA3-256, SHA3-384, SHA3-512 | FIPS 186-4 |
| Hash DRBG | A4308 | Prediction Resistance - No Mode - SHA2-256 | SP 800-90A Rev. 1 |
| HMAC-SHA-1 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA2- 224 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA2- 256 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA2- 384 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA2- 512 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA3- 224 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA3- 256 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA3- 384 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| HMAC-SHA3- 512 | A4308 | Key Length - Key Length: 112-1024 Increment 8 | FIPS 198-1 |
| KAS-ECC-SSC Sp800-56Ar3 | A4308 | Domain Parameter Generation Methods - P- 256, P-384, P-521 Scheme - ephemeralUnified - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KAS-FFC-SSC Sp800-56Ar3 | A4308 | Domain Parameter Generation Methods - ffdhe2048 Scheme - dhEphem - KAS Role - initiator, responder | SP 800-56A Rev. 3 |
| KDF SSH (CVL) | A4308 | Cipher - AES-128, AES-192, AES-256 Hash Algorithm - SHA-1, SHA2-256, SHA2-384, SHA2-512 | SP 800-135 Rev. 1 |
| KDF TLS (CVL) | A4308 | TLS Version - v1.2 Hash Algorithm - SHA2-256, SHA2-384, SHA2- 512 | SP 800-135 Rev. 1 |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorithm | CAVP Cert | Properties | Reference |
|---|---|---|---|
| RSA KeyGen (FIPS186-4) | A4308 | Key Generation Mode - B.3.3 Modulo - 2048, 3072, 4096 Primality Tests - Table C.2 Private Key Format - Standard | FIPS 186-4 |
| RSA SigGen (FIPS186-4) | A4308 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 2048, 3072, 4096 | FIPS 186-4 |
| RSA SigVer (FIPS186-4) | A4308 | Signature Type - PKCS 1.5, PKCSPSS Modulo - 1024, 2048, 3072, 4096 | FIPS 186-4 |
| SHA-1 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 180-4 |
| SHA2-224 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 180-4 |
| SHA2-256 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 180-4 |
| SHA2-384 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 180-4 |
| SHA2-512 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 180-4 |
| SHA3-224 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 202 |
| SHA3-256 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 202 |
| SHA3-384 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 202 |
| SHA3-512 | A4308 | Message Length - Message Length: 0-65536 Increment 8 | FIPS 202 |
| TLS v1.2 KDF RFC7627 (CVL) | A4308 | Hash Algorithm - SHA2-256, SHA2-384, SHA2- 512 | SP 800-135 Rev. 1 |
| TLS v1.3 KDF (CVL) | A4308 | HMAC Algorithm - SHA2-256, SHA2-384 KDF Running Modes - DHE, PSK, PSK-DHE | SP 800-135 Rev. 1 |
| Name | Properties | Implementation | Reference | ||||
|---|---|---|---|---|---|---|---|
| CKG- 1 | Asymmetric:RSA Asymmetric:ECDSA | Linux 4.4 (Ubuntu 16.04 LTS) with an Intel Core i5-5300U CPU @2.30GHz x 4 with PAA; Linux 4.4 (Ubuntu 16.04 | SP800-133r2 5.1 "Key Pairs for Digital Signature Schemes" |
Table 8: Approved Algorithms NOTE: Only the algorithms specified in this section are supported by the module in approved mode of operation. No operational use of an algorithm may be performed until the corresponding CAST has passed. Vendor-Affirmed Algorithms: © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Properties | Implementation | Reference |
|---|---|---|---|
| LTS) with an Intel Core i5-5300U CPU @2.30GHz x 4 without PAA | |||
| CKG- 2 | Asymmetric:ECC Asymmetric:FFC | Linux 4.4 (Ubuntu 16.04 LTS) with an Intel Core i5-5300U CPU @2.30GHz x 4 with PAA; Linux 4.4 (Ubuntu 16.04 LTS) with an Intel Core i5-5300U CPU @2.30GHz x 4 without PAA | SP800-133r2 5.2 "Key Pairs for Key Establishment" |
| CKG- 3 | Symmetric:AES Symmetric:HMAC | Linux 4.4 (Ubuntu 16.04 LTS) with an Intel Core i5-5300U CPU @2.30GHz x 4 with PAA; Linux 4.4 (Ubuntu 16.04 LTS) with an Intel Core i5-5300U CPU @2.30GHz x 4 without PAA | SP800-133r2 6.2 "Derivation of Symmetric Keys" |
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| DRBG | DRBG | Deterministic Random Byte Generator | SHA2-256: (A4308) A4308: Hash DRBG: (A4308) A4308: | |
| Message Authentication | MAC | Hash-Based Message Authentication Codes, Generation and Verification | HMAC-SHA-1: (A4308) A4308: HMAC-SHA2- 224: (A4308) A4308: HMAC-SHA2- |
Table 9: Vendor-Affirmed Algorithms Non-Approved, Allowed Algorithms: N/A for this module. The Module does not implement non-approved algorithms. The services listed in this Security Policy include all cryptographic and non-cryptographic functionality. NOTE: For TLS 1.2 KDF Extended master-secret shall be used in approved mode of operation. Non-Approved, Allowed Algorithms with No Security Claimed: N/A for this module. Non-Approved, Not Allowed Algorithms: N/A for this module.
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| 256: (A4308) A4308: HMAC-SHA2- 384: (A4308) A4308: HMAC-SHA2- 512: (A4308) A4308: HMAC-SHA3- 224: (A4308) A4308: HMAC-SHA3- 256: (A4308) A4308: HMAC-SHA3- 384: (A4308) A4308: HMAC-SHA3- 512: (A4308) A4308: | ||||
| Secure Hash | SHA | Secure Hash Function | SHA-1: (A4308) A4308: SHA2-224: (A4308) A4308: SHA2-256: (A4308) A4308: SHA2-384: (A4308) A4308: SHA2-512: (A4308) A4308: SHA3-224: (A4308) A4308: SHA3-256: (A4308) A4308: SHA3-384: (A4308) A4308: SHA3-512: (A4308) A4308: | |
| TLS 1.3 Key Agreement | KAS-56CKDF | KDF: Extract then Expand (56C) | TLS v1.3 KDF: (A4308) A4308: |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| HMAC-SHA2- 256: (A4308) A4308: HMAC-SHA2- 384: (A4308) A4308: HMAC-SHA2- 512: (A4308) A4308: | ||||
| Primitive Key Agreement | KAS-KeyGen | DH: Key agreement primitives | KAS-FFC-SSC Sp800-56Ar3: (A4308) A4308: | |
| KDF Derived Key Agreement | KAS-135KDF | KDF: Derive keying material from a shared secret (135); | KDF SSH: (A4308) A4308: KDF TLS: (A4308) A4308: TLS v1.2 KDF RFC7627: (A4308) A4308: SHA-1: (A4308) A4308: SHA2-256: (A4308) A4308: SHA2-384: (A4308) A4308: SHA2-512: (A4308) A4308: | |
| KAS SSC Derived Key Agreement | KAS-SSC | Derived keying material from a shared secret | KAS-ECC-SSC Sp800-56Ar3: (A4308) A4308: KAS-FFC-SSC Sp800-56Ar3: (A4308) A4308: | |
| 133r2 5.1 Asymmetric Key Generation | CKG | SP800-133r2 5.1 "Key Pairs for Digital Signature Schemes" | RSA KeyGen (FIPS186-4): (A4308) A4308: ECDSA KeyGen (FIPS186-4): (A4308) |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| A4308: Hash DRBG: (A4308) A4308: CKG-1: () | ||||
| 133r2 5.2 Asymmetric Key Generation | CKG | SP800-133r2 5.2 "Key Pairs for Key Establishment" | KAS-ECC-SSC Sp800-56Ar3: (A4308) A4308: KAS-FFC-SSC Sp800-56Ar3: (A4308) A4308: Hash DRBG: (A4308) A4308: CKG-2: () | |
| Symmetric Key Generation | CKG | SP800-133r2 6.2 "Derivation of Symmetric Keys" | AES-CBC: (A4308) A4308: AES-CCM: (A4308) A4308: AES-CMAC: (A4308) A4308: AES-CTR: (A4308) A4308: AES-ECB: (A4308) A4308: AES-GCM: (A4308) A4308: AES-GMAC: (A4308) A4308: AES-OFB: (A4308) A4308: HMAC-SHA-1: (A4308) A4308: HMAC-SHA2- 224: (A4308) A4308: HMAC-SHA2- 256: (A4308) |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Description | Properties | Algorithms |
|---|---|---|---|---|
| A4308: HMAC-SHA2- 384: (A4308) A4308: HMAC-SHA2- 512: (A4308) A4308: HMAC-SHA3- 224: (A4308) A4308: HMAC-SHA3- 256: (A4308) A4308: HMAC-SHA3- 384: (A4308) A4308: HMAC-SHA3- 512: (A4308) A4308: Hash DRBG: (A4308) A4308: CKG-3: () | ||||
| RSA Asymmetric Key-Pair Generation | AsymKeyPair- KeyGen | Generate an RSA Asymmetric Key Pair | RSA KeyGen (FIPS186-4): (A4308) A4308: Hash DRBG: (A4308) A4308: | |
| DSA Asymmetric Key-Pair Generation | AsymKeyPair- KeyGen AsymKeyPair- PubKeyVal AsymKeyPair- DomPar | Generate a DSA Asymmetric Key Pair, Validate a Public DSA Key and KAS-FFC- SSC Domain Parameter Generation (SP800-56Ar3) | KAS-FFC-SSC Sp800-56Ar3: (A4308) A4308: DSA KeyGen (FIPS186-4): (A4308) A4308: Hash DRBG: (A4308) A4308: | |
| ECC Asymmetric Key-Pair Generation | AsymKeyPair- KeyVer AsymKeyPair- KeyGen AsymKeyPair- DomPar | Generate an ECC Asymmetric Key Pair, ECC KeyVer and KAS-ECC-SSC Domain Parameter | KAS-ECC-SSC Sp800-56Ar3: (A4308) A4308: ECDSA KeyGen (FIPS186-4): (A4308) A4308: |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Description | Properties | Algorithms | |
|---|---|---|---|---|---|
| Generation (SP800-56Ar3) | Hash DRBG: (A4308) A4308: | ||||
| Digital Signature Generation | DigSig-SigGen | Digital Signature Generation | RSA SigGen (FIPS186-4): (A4308) A4308: ECDSA SigGen (FIPS186-4): (A4308) A4308: SHA2-224: (A4308) A4308: SHA2-256: (A4308) A4308: SHA2-384: (A4308) A4308: SHA2-512: (A4308) A4308: SHA3-224: (A4308) A4308: SHA3-256: (A4308) A4308: SHA3-384: (A4308) A4308: SHA3-512: (A4308) A4308: Hash DRBG: (A4308) A4308: | ||
| Digital Signature Verification | DigSig-SigVer | Digital Signature Verification | DigSig- SigVer:1024 (verification only) DigSig- SigVer:SHA-1 (verification only) DigSig- SigVer:P-192 (Signature and | RSA SigVer (FIPS186-4): (A4308) A4308: ECDSA SigVer (FIPS186-4): (A4308) A4308: ECDSA KeyVer (FIPS186-4): (A4308) |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Description | Properties | Algorithms | |
|---|---|---|---|---|---|
| Key Verification only) | A4308: SHA-1: (A4308) A4308: SHA2-224: (A4308) A4308: SHA2-256: (A4308) A4308: SHA2-384: (A4308) A4308: SHA2-512: (A4308) A4308: SHA3-224: (A4308) A4308: SHA3-256: (A4308) A4308: SHA3-384: (A4308) A4308: SHA3-512: (A4308) A4308: | ||||
| Auth Block Cipher | BC-Auth | Authenticated Block Ciphers | AES-GMAC: (A4308) A4308: AES-GCM: (A4308) A4308: AES-CMAC: (A4308) A4308: AES-CCM: (A4308) A4308: | ||
| UnAuth Block Cipher | BC-UnAuth | Unauthenticated Block Ciphers | AES-CBC: (A4308) A4308: AES-ECB: (A4308) A4308: AES-OFB: (A4308) A4308: AES-CTR: |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Description | Properties | Algorithms | |
|---|---|---|---|---|---|
| (A4308) A4308: |
Table 10: Security Function Implementations
The conditions for using the Module in the Approved mode of operation are:
d. The calling process shall adhere to all current [131Arev2] algorithm usage restrictions.
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Physical Port | Logical Interface(s) | Data That Passes |
|---|---|---|
| N/A: Internal (call stack) | Control Input | API entry point: stack frame including non-sensitive parameters |
| N/A: Internal (call stack) | Control Output | API call parameters passed by reference for structures allocated by wolfCrypt |
| N/A: Internal (call stack) | Data Input | API call parameters passed by reference or value for cryptographic service input |
| N/A: Internal (call stack) | Data Output | API call parameters passed by reference for cryptographic service output |
| N/A: Internal (call stack) | Status Output | API return value: enumerated status resulting from call execution |
N/A for this module. N/A for this module.
The Module conforms to [140-3 IG] D.C References to the Support of Industry Protocols: while the module provides [56A] conformant schemes and API entry points oriented to TLS and SSH usage, the Module does not contain the full implementation of TLS or SSH. The following statements are required per IG D.C case #2: No parts of the TLS protocol other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and CMVP. No parts of the SSH protocol other than the approved cryptographic algorithms and the KDFs, have been tested by the CAVP and CMVP.
The Module design corresponds to the Module security rules. Security rules enforced by the Module are described in the appropriate context of this document.
Table 11: Ports and Interfaces © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Type | Operator Type | Authentication Methods | |||
|---|---|---|---|---|---|---|
| CO | Role | CO |
| Name | Descriptio n | Indicator | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| Digital Signature | Generate or verify digital signatures. | Successf ul completi on of the service (status code >= 0) | Sign: Key Struct (DS_SGK); message; Verify: signature value; flags; sizes. | Sign: Status return; Signature value. Verify: Status return; | Digital Signature Generation Digital Signature Verification | CO - DS_SGK: W,E,Z - DS_SVK: W,E,Z |
| Generate Key Pair | Generate asymmetric key pairs. | Successf ul completi on of the service (status code >= 0) | FFC, ECC: curve identifier; RSA: modulous size; | Status return; Key structure (GKP_Privat e) | ECC Asymmetric Key-Pair Generation DSA Asymmetric Key-Pair Generation RSA Asymmetric Key-Pair Generation 133r2 5.2 | CO - GKP_Privat e: G,R,Z - GKP_Publi c: G,R,Z |
Table 7 defines the Module’s [140-3] logical interfaces; the Module does not interact with physical ports.
Table 12: Roles The Module supports the Cryptographic Officer (CO) operator role, and does not support multiple concurrent operators, a maintenance role or bypass capability. The cryptographic module does not provide an authentication or identification method of its own. The CO role is implicitly identified by the service requested.
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Descriptio n | Indicator | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| Asymmetric Key Generation 133r2 5.1 Asymmetric Key Generation | ||||||
| Key Agreeme nt | DH key agreement primitives. | Successf ul completi on of the service (status code >= 0) | Key structures (KAS_Priva te and KAS_Publi c); flags; | Status return; KAS_SSC; | Primitive Key Agreement | CO - KAS_Privat e: W,E,Z - KAS_Public : W,E,Z - KAS_SSC: G,R,Z |
| Key Derivatio n | Derive keying material from a shared secret | Successf ul completi on of the service (status code >= 0) | KAS_SSC; flags; | Status return; KD_DKM; | TLS 1.3 Key Agreement KDF Derived Key Agreement KAS SSC Derived Key Agreement | CO - KAS_SSC: R,E,Z |
| Keyed Hash | Generate or verify message integrity | Successf ul completi on of the service (status code >= 0) | KH_Key | Status return; Tag value; | Message Authenticati on Auth Block Cipher | CO - KH_Key: W,E |
| Message Digest | Generate a message digest | Successf ul completi on of the service (status code >= 0) | Message; flags; | Status return; Hash value; | Secure Hash | CO |
| Random | Generate random bits using the DRBG | Successf ul completi on of the service (status | DRBG structure (Internal State containing secret(s) C | Status return; Random Value; | DRBG | CO - Seed: W,E,Z - Internal State: G,E - Secret C: G,E |
| Name | Descriptio n | Indicator | Inputs | Outputs | Security Functions | SSP Access | |
|---|---|---|---|---|---|---|---|
| code >= 0) | and V); Seed | - Secret V: G,E - Entropy Input String: W,E,Z | |||||
| Self-test | Perform the designated self-test. | Successf ul completi on of the service (status code >= 0) | Flags | Status return | Message Authenticati on | CO - MOD_INT: G,Z - coreKey: E | |
| Show Status | Provide Module status | Successf ul completi on of the service (status code >= 0) | None | Status return | CO | ||
| Symmetri c cipher | Encrypt or Decrypt data, including AEAD modes (CCM, GCM) | Successf ul completi on of the service (status code >= 0) | SC_EDK; flags; | Status return. Plaintext or ciphertext data; | Auth Block Cipher UnAuth Block Cipher Symmetric Key Generation | CO - SC_EDK: E,W | |
| Zeroise | FreeRng_fi ps destroys RNG CSPs. All functions zeroise CSPs using function ForceZero (overwriting with zeros) within the function scope after use. Caller stack cleanup is the duty of | Successf ul completi on of the service (status code >= 0) | DRBG struct (RBG State) or other structures containing SSPs | Status return | CO - DS_SGK: Z - GKP_Privat e: Z - KAS_Privat e: Z - KAS_SSC: Z - KD_DKM: Z - KH_Key: Z - Seed: Z - Internal |
W,E,Z 0) 0) © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Descriptio n | Indicator | Inputs | Outputs | Security Functions | SSP Access |
|---|---|---|---|---|---|---|
| the application. Restarting the general- purpose computer clears all CSPs in RAM. | State: Z - Secret C: Z - Secret V: Z - SC_EDK: Z - Entropy Input String: Z | |||||
| Show Version | Provide Module Version | Successf ul completi on of the service (status code >= 0) | None | Plaintext containing the module version | CO |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
The Module uses HMAC-SHA2-256 with a 256-bit key (HMAC Cert. #A4308) as the approved integrity technique. Before the integrity technique is executed the module performs an HMACSHA2-256 KAT.
The operator can initiate the integrity test on demand by reloading the Module or by calling the API wolfCrypt_IntegrityTest_fips() at any time after power on. (See Section 10.5 “Operator Initiation of Self-Tests” later in this document for details of proper use of this API in an application).
While the module is not “open source” since it is only shipped under a commercial license, open source practice of source code delivery with a commercial license is standard for the module. As such the module (while not required to do so) will abide by ISO/IEC 19790:2012 B.2.5. Please see details in the AVIAT NETWORKS FIPS 140-3 User Guide [UG] for the [OE] listed on the FIPS certificate. Details will include information about compiler, compiler configuration settings and methods to compile the source code into an executable form in a FIPS validated manner. See also section 11.1 Installation, Initialization, and Startup Procedures later in this document.
Type of Operational Environment: Modifiable
Any setting that affects the module directly while compiling the executable binary shall not be used. If unsure contact AVIAT NETWORKS by sending email to “TACAM at aviatnet dot com”. An AVIAT engineer will review the setting for impact on the FIPS validated sources and determine if the setting is allowed or disallowed for an approved mode of operation. NOTE: The User Guide [UG] will contain an exact list of allowed settings. CO should refer to the [UG] first before contacting AVIAT support.
The operational environment for the Module is modifiable. Table 6 lists the operational environments on which the Module was tested. Specification of the security rules, settings or restrictions to the configuration of the operational environment are covered in the [UG]. The configure script provided with the package detects the environment and sets the required flags. © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Storage Area Name | Description | Persistence Type | |
|---|---|---|---|
| S1 | RAM (Memory) | Dynamic |
| Name | From | To | Format Type | Distribution Type | Entry Type | SFI or Algorithm |
|---|---|---|---|---|---|---|
| IE1 | EXT: Call stack (API) input parameters | INT | Plaintext | Automated | Electronic | |
| IE2 | INT: Call stack (API) output parameters | EXT | Plaintext | Automated | Electronic | |
| IE3 | EXT: Loaded from external entropy source | INT | Plaintext | Automated | Electronic |
There are no specific restrictions to the configuration of the operational environment unless stated in the [UG].
The Module does not implement non-invasive security mechanisms.
Table 15: SSP Input-Output Methods
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Zeroization Method | Description | Rationale | Operator Initiation | |
|---|---|---|---|---|
| Z1 | cleared immediately after use | Module does not store SSPs persistently | Zeroise | |
| Z2 | Per ISO/IEC 19790:2012 section 7.9.7, parameters used solely for self-test purposes in 7.10 need not meet zeroisation requirements | FIPS 140-3 IG 9.7.B |
| Name | Description | Size - Strengt h | Type - Category | Generated By | Establishe d By | Used By |
|---|---|---|---|---|---|---|
| DS_SGK | Digital Signature: Signature Generation using Private Key | RSA: 2048, 3072, 4096; ECDSA: 224, 256, 384, 521; - RSA: 112, 128; ECDSA: 112, 128, 192, 256; | Private - CSP | RSA SigGen (FIPS18 6-4) ECDSA SigGen (FIPS18 6-4) | ||
| DS_SVK | Digital Signature Verification using Public Key | RSA: 1024*, 2048, 3072, 4096; ECDSA: 192*, 224, 256, 384, 521; - RSA: | Public - PSP | RSA SigVer (FIPS18 6-4) ECDSA SigVer (FIPS18 6-4) |
Table 16: SSP Zeroization Methods The module supports an implicit Zeroisation indicator. The implicit indicator is a successful completion of the service call. h © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Description | Size - Strengt h | Type - Category | Generated By | Establishe d By | Used By |
|---|---|---|---|---|---|---|
| 80*, 112, 128; ECDSA: 80*, 112, 128, 192, 256; | ||||||
| GKP_Privat e | Generated Key Pair (Private) | RSA: 2048, 3072, 4096; ECDSA: 224, 256, 384, 521; - RSA: 112, 128; ECDSA: 112, 128, 192, 256; | Private - CSP | RSA Asymmetric Key-Pair Generation ECC Asymmetric Key-Pair Generation | RSA KeyGen (FIPS18 6-4) ECDSA KeyGen (FIPS18 6-4) | |
| GKP_Publi c | Generated Key Pair (Public) | RSA: 2048, 3072, 4096; ECDSA: 224, 256, 384, 521; - RSA: 112, 128; ECDSA: 112, 128, 192, 256; | Public - PSP | RSA Asymmetric Key-Pair Generation ECC Asymmetric Key-Pair Generation | RSA KeyGen (FIPS18 6-4) ECDSA KeyGen (FIPS18 6-4) | |
| KAS_Privat e | Key pair component provided by the local | FFC: 2048; ECC: 224, | Private - CSP | ECC Asymmetric Key-Pair Generation | KAS- FFC- SSC Sp800- |
h © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Description | Size - Strengt h | Type - Category | Generated By | Establishe d By | Used By |
|---|---|---|---|---|---|---|
| participant, used for Diffie- Hellman shared secret generation. | 256, 384, 521; - FFC: 112; ECC: 112, 128, 192, 256; | DSA Asymmetric Key-Pair Generation Primitive Key Agreement | 56Ar3 KAS- ECC- SSC Sp800- 56Ar3 | |||
| KAS_Publi c | Key pair component provided by the local participant, used for Diffie- Hellman shared secret generation. | FFC: 2048; ECC: 224, 256, 384, 521; - FFC: 112; ECC: 112, 128, 192, 256; | Public - PSP | ECC Asymmetric Key-Pair Generation DSA Asymmetric Key-Pair Generation Primitive Key Agreement | KAS- ECC- SSC Sp800- 56Ar3 KAS- FFC- SSC Sp800- 56Ar3 | |
| KAS_SSC | Shared secret calculation; z output value is expected to be used by a KDF | FFC: 2048; ECC: 224, 256, 384, 521; - FFC: 112; ECC: 112, 128, 192, 256; | Shared Secret - CSP | ECC Asymmetri c Key-Pair Generation DSA Asymmetri c Key-Pair Generation KAS SSC Derived Key Agreement | KAS- FFC- SSC Sp800- 56Ar3 KAS- ECC- SSC Sp800- 56Ar3 KDF TLS KDF SSH | |
| KD_DKM | Key Derivation derived keying material | TLS KDF v1.2 RFC 7627: 1024; TLS KDF v1.3: | Derived Key Material - CSP | TLS 1.3 Key Agreement KDF Derived Key Agreement | TLS v1.2 KDF RFC762 7 TLS v1.3 KDF KDF SSH |
h © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Description | Size - Strengt h | Type - Category | Generated By | Establishe d By | Used By |
|---|---|---|---|---|---|---|
| 256, 384; KDF SSH: 256, 384, 512 - 256-bit | ||||||
| KH_Key | Keyed Hash key | CMAC: 128, 192, 256; GMAC: 128, 192, 256; HMAC: 160, 256, 512; - CMAC: 128, 192, 256; GMAC: 128, 192, 256; HMAC: 128, 256; | Symmetric Key - CSP | AES- CMAC AES- GMAC HMAC- SHA3- 512 HMAC- SHA3- 384 HMAC- SHA3- 256 HMAC- SHA3- 224 HMAC- SHA2- 512 HMAC- SHA2- 384 HMAC- SHA2- 256 HMAC- SHA2- 224 HMAC- SHA-1 | ||
| Entropy Input String | Entropy input bit string loaded from the external entropy source | 256-bit - 256-bit | Entropy - CSP | Hash DRBG | ||
| Seed | DRBG Seed_materi | 384-bit - 256-bit | Entropy - CSP | DRBG | Hash DRBG |
h © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Description al consisting of entropy input string (256-bit) concatenate d with the nonce (128- bit) | Size - Strengt h | Type - Category | Generated By | Establishe d By | Used By |
|---|---|---|---|---|---|---|
| Secret C | Hash DRBG Internal State Secret C | 440-bits - 256-bit | Entropy - CSP | DRBG | Hash DRBG | |
| Secret V | Hash DRBG Internal State Secret V | 440-bits - 256-bit | Entropy - CSP | DRBG | Hash DRBG | |
| Internal State | Hash DRBG Internal State (SHA- 256) with secret values V and C. V is 440- bits, C is 440-bits. | 880-bit - 256-bit | Entropy - CSP | DRBG | Hash DRBG | |
| SC_EDK | AES key used for symmetric encryption (including AES authenticate d encryption). Modes: CBC, CCM, CTR, ECB, GCM, OFB | 128, 192 or 256 bits - 128, 192 or 256 bits | Symmetric Key - CSP | AES- CBC AES- CCM AES- CTR AES- ECB AES- GCM AES- OFB | ||
| MOD_INT | Module Integrity Value Computed at Run Time | 32- bytes - 256-bit | Message Authenticati on - CSP | Message Authenticati on | HMAC- SHA2- 256 | |
| coreKey | HMAC key for in-core integrity | 32- bytes - 256-bit | Message Authenticati on - CSP | HMAC- SHA2- 256 |
h C V © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
Name
Description check self- test
Size - Strengt h
Type - Category
Generated By
Establishe d By
Used By
| Name | Input - Output | Storage | Storage Duration | Zeroization | Related SSPs | |
|---|---|---|---|---|---|---|
| DS_SGK | IE1 | S1:Plaintext | While in use | Z1 | ||
| DS_SVK | IE1 | S1:Plaintext | While in use | Z1 | ||
| GKP_Private | IE2 | S1:Plaintext | While in use | Z1 | GKP_Public:Paired With | |
| GKP_Public | IE2 | S1:Plaintext | While in use | Z1 | GKP_Private:Paired With | |
| KAS_Private | IE1 | S1:Plaintext | While in use | Z1 | ||
| KAS_Public | IE2 | S1:Plaintext | While in use | Z1 | ||
| KAS_SSC | S1:Plaintext | While in use | Z1 | KAS_Public:Derived From KAS_Private:Derived From | ||
| KD_DKM | S1:Plaintext | While in use | Z1 | |||
| KH_Key | IE1 | S1:Plaintext | While in use | Z1 | ||
| Entropy Input String | IE3 | S1:Plaintext | While in use | Z1 | ||
| Seed | S1:Plaintext | While in use | Z1 | |||
| Secret C | S1:Plaintext | While in use | Z1 | Seed:Derived From | ||
| Secret V | S1:Plaintext | While in use | Z1 | Seed:Derived From | ||
| Internal State | S1:Plaintext | While in use | Z1 | |||
| SC_EDK | IE1 | S1:Plaintext | While in use | Z1 | ||
| MOD_INT | S1:Plaintext | While in use | Z1 | |||
| coreKey | S1:Plaintext | While in use | Z2 |
h Table 17: SSP Table 1 Table 18: SSP Table 2 © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorithm or Test | Test Properties | Test Method | Test Type | Indicator | Details | |||
|---|---|---|---|---|---|---|---|---|
| HMAC- SHA2-256 | hash type: SHA256, key length: 32-bytes. Please note this is the module integrity test | KAT | SW/FW Integrity | FIPS_MODE_NORMAL or FIPS_MODE_FAILED | MAC |
| Algorit hm or Test | Test Properties | Test Meth od | Test Typ e | Indicator | Details | Conditio ns | |||
|---|---|---|---|---|---|---|---|---|---|
| AES- CBC | key length: 32-bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Encrypt | Before first use of algorithm( s) AES- ECB, AES- CBC, AES- CTR, AES- OFB, AES- GCM, AES- |
* Per SP800-131Ar2 Section 3, Table 2, key sizes (1024-bit for RSA and 192-bit for ECC) are available for legacy use verification requirements when inter-oping with legacy systems. These key sizes shall not be used for signing operations.
Table 19: Pre-Operational Self-Tests Each time the Module is powered on or loaded (equivalent to a power on) the integrity of the module is tested per ISO/IEC 19790:2012 Section 7.10.2.2. The very first step of the preoperational self-test (POST) is to force every Conditional Algorithm Self-Test to be in the FIPS_CAST_STATE_INIT mode meaning the CAST for a given algorithm has not run since power on and the CAST must run and pass prior to operational use of the algorithm. The integrity test uses HMAC-SHA2-256 to ensure the modules integrity therefore per AS 10.20 HMAC CAST is triggered prior to the integrity check. The HMAC CAST uses a known answer test per ISO/IEC 19790-2012 Section 7.10.3.2. The POST executes outside user control as the module is powering on or being loaded.
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorit hm or Test | Test Properties | Test Meth od | Test Typ e | Indicator | Details | Conditio ns GMAC, AES- CCM or AES- CMAC |
|---|---|---|---|---|---|---|
| AES- CBC | key length: 32-bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Decrypt | Before first use of algorithm( s) AES- ECB, AES- CBC, AES- CTR, AES- OFB, AES- GCM, AES- GMAC, AES- CCM or AES- CMAC |
| AES- GCM | key length: 32-bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Decrypt | Before first use of algorithm( s) AES- GCM or AES- GMAC |
| AES- GCM | key length: 32-bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Encrypt | Before first use of algorithm( s) AES- GCM or AES- GMAC |
| HMAC- SHA1 | hash type: SHA1; key length: 20- bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | MAC | Before first use of algorithm( s) SHA1 |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorit hm or Test | Test Properties | Test Meth od | Test Typ e | Indicator | Details | Conditio ns or HMAC- SHA1 |
|---|---|---|---|---|---|---|
| HMAC- SHA2- 256 | hash type: SHA256; key length: 20-bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | MAC | Before first use of algorithm( s) SHA224, SHA256, HMAC- SHA224 or HMAC- SHA256 |
| HMAC- SHA2- 512 | hash type: SHA2-512, key length: 20-bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | MAC | Before first use of algorithm( s) SHA384, SHA512, HMAC- SHA384 or HMAC- SHA512 |
| HMAC- SHA3- 256 | hash type: SHA3-256, key length: 64-bytes | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | MAC | Before first use of algorithm( s) SHA3- 224, SHA3- 256, SHA3- 384 or SHA3- 512, HMAC- SHA3- 224, HMAC- SHA3- 256, HMAC- SHA3- 384 or HMAC- |
s) s) © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorit hm or Test | Test Properties | Test Meth od | Test Typ e | Indicator | Details | Conditio ns SHA3- 512 |
|---|---|---|---|---|---|---|
| RSA- PKCSv 1.5 | hash type: SHA256; key length: 2048-bits | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Sign | Before first use of algorithm( s) RSA (PKCSv1. 5) or RSA (PSS) |
| RSA- PKCSv 1.5 | hash type: SHA256, key length: 2048-bits | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Verify | Before first use of algorithm( s) RSA (PKCSv1. 5) or RSA (PSS) |
| ECC Diffie- Hellman | hashType: SHA2-256; curve: P-256 | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Computatio n Shared Secret Z | Before first use of algorithm( s) ECC for shared secret generatio n |
| FFC Diffie- Hellman | hashType: SHA2-256; keySize: 2048-bit; | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Computatio n Shared Secret Z | Before first use of algorithm( s) FFC for shared secret generatio n |
| ECDSA | curve: P256; hashType: SHA2-256 | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Sign | Before first use of algorithm( s) ECDSA |
| ECDSA | curve: P256; hashType: SHA2-256 | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Verify | Before first use of algorithm( s) ECDSA |
n n © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorit hm or Test | Test Properties | Test Meth od | Test Typ e | Indicator | Details | Conditio ns |
|---|---|---|---|---|---|---|
| TLSv1. 2 KDF | HMAC- SHA2-256 | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Derive Keying Material | Before first use of TLSv1.2 KDF |
| TLSv1. 3 KDF | HMAC- SHA2-256 | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Derive Keying Material | Before first use of TLSv1.3 KDF |
| KDF SSH | hashType: SHA2-256 | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Derive Keying Material | Before first use of KDF SSH |
| RSA- PCT | key size: 2048,3072,4 096 | PCT | PCT | Service is successful or an error code RSA_KEY_PAIR_E | Sign/Verify | Invoked automatic ally during generate key pair service |
| ECC- PCT | curve size: 224, 256, 384, 521 | PCT | PCT | Service is successful or an error code ECC_PCT_E | Sign/Verify | Invoked automatic ally during generate key pair service |
| DH- PCT | key size: 2048, 3072, 4096 | PCT | PCT | Service is successful or an error code MP_CMP_E | Modulus Exponentia tion | Invoked automatic ally during generate key pair service |
| DRBG | DRBG mode: SHA2-256 | KAT | CAS T | FIPS_CAST_STATE_SU CCESS or FIPS_CAST_STATE_FAI LURE | Health-Test with sub- elements: Instantiate, Generate, Reseed | Before first use of algorithm( s) DBRG or Immediat ely upon registerin g an external entropy source |
© 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
Algorit hm or Test
Test Properties
Test Meth od
Test Typ e
Indicator
Details
Conditio ns with the module
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method | ||
|---|---|---|---|---|---|---|
| HMAC-SHA2- 256 | KAT | SW/FW Integrity | P2 | Automatic or Manually |
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method |
|---|---|---|---|---|
| AES-CBC | KAT | CAST | P1 | Manually |
| AES-CBC | KAT | CAST | P1 | Manually |
| AES-GCM | KAT | CAST | P1 | Manually |
| AES-GCM | KAT | CAST | P1 | Manually |
| HMAC-SHA1 | KAT | CAST | P1 | Manually |
| HMAC-SHA2- 256 | KAT | CAST | P2 | Automatic or Manually |
| HMAC-SHA2- 512 | KAT | CAST | P1 | Manually |
| HMAC-SHA3- 256 | KAT | CAST | P1 | Manually |
| RSA-PKCSv1.5 | KAT | CAST | P1 | Manually |
| RSA-PKCSv1.5 | KAT | CAST | P1 | Manually |
| ECC Diffie- Hellman | KAT | CAST | P1 | Manually |
| FFC Diffie- Hellman | KAT | CAST | P1 | Manually |
| ECDSA | KAT | CAST | P1 | Manually |
| ECDSA | KAT | CAST | P1 | Manually |
| TLSv1.2 KDF | KAT | CAST | P1 | Manually |
| TLSv1.3 KDF | KAT | CAST | P1 | Manually |
Table 20: Conditional Self-Tests Once the module is powered on and has passed the POST, calls to any cryptographic algorithm will trigger the CAST on first operational use of the algorithm. The POST and CASTS are available on demand after power on and can be executed by the cryptographic officer (CO) at any time. The CO may optionally invoke any CAST ahead of algorithm use at a more convenient time rather than letting it run automatically on first use. Regardless of the CAST running manually or automatically, once it has passed the CO may manually re-run any CAST at any time in a periodic fashion, a CAST will no longer run automatically after it has passed the first time.
Table 21: Pre-Operational Periodic Information © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Algorithm or Test | Test Method | Test Type | Period | Periodic Method |
|---|---|---|---|---|
| KDF SSH | KAT | CAST | P1 | Manually |
| RSA-PCT | PCT | PCT | P3 | Automatic |
| ECC-PCT | PCT | PCT | P3 | Automatic |
| DH-PCT | PCT | PCT | P3 | Automatic |
| DRBG | KAT | CAST | P4 | Automatic or Manually |
| Name | Description |
|---|---|
| P1 | Periodic method 1: Automatically by the module when algorithm is first invoked. CO may opt to invoke prior to first algorithm use to avoid delay at time of first operational use of an algorithm or at a later time manually. |
| P2 | Periodic method 2: Automatically by the module during power on. CO may opt to invoke manually thereafter. |
| P3 | Periodic method 3: Automatically during key generation service |
| P4 | Automatically by the module upon first operational use of the DRBG algorithm. When an external entropy source is registered with the module by application level entropy callback function it is considered the first operational use of the DRBG. Does a periodic reseed every 1 million invocations, during the reseed the DRBG health test will be automatically executed. |
| Name | Description | Conditi ons | Recov ery Metho d | Indicator |
|---|---|---|---|---|
| FIPS_MODE_FAILED | Module has failed its software integrity check | HMAC- SHA2- 256 CAST Failure Module Integrity Check Failure | Power Cycle | fipsModeId set to FIPS_MODE_FAILED (3) |
| FIPS_CAST_STATE_F AILURE | One or more algorithm(s) are no longer usable and the module mode is | AES- CBC AES- GCM | Power Cycle | One or more algorithms CAST status values set to |
Table 22: Conditional Periodic Information Table 23: Periodic Method Descriptions
d © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Description set to FIPS_MODE_DEG RADED (2) | Conditi ons HMAC- SHA1 HMAC- SHA2- 256 HMAC- SHA2- 512 HMAC- SHA3- 256 RSA- PKCSv1 .5 DRBG ECC Diffie- Hellman FFC Diffie- Hellman ECDSA TLSv1.2 KDF TLSv1.3 KDF KDF SSH | Recov ery Metho d | Indicator FIPS_CAST_STATE_F AILURE (3) |
|---|---|---|---|---|
| FIPS_MODE_DEGRA DED | One or more of the CASTS have failed anytime following a successful power on and integrity check. Upon entering this mode the module will automatically run all CASTS prior to the operational use of any cryptographic algorithm. | Any CAST Failure | Power Cycle | fipsModeId set to FIPS_MODE_DEGRA DED (2) |
| RSA_KEY_PAIR_E | RSA Pairwise Consistency Test Failure | RSA- PCT | Manual self- test service call or | RSA_KEY_PAIR_E (- 262) |
d .5 © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).
| Name | Description | Conditi ons | Recov ery Metho d | Indicator |
|---|---|---|---|---|
| power cycle | ||||
| ECC_PCT_E | ECC Pairwise Consistency Test Failure | ECC- PCT | Manual self- test service call or power cycle | ECC_PCT_E (-286) |
| MP_CMP_E | DH Pairwise Consistency Test Failure | DH-PCT | Manual self- test service call or power cycle | MP_CMP_E (-120) |
For calling applications the following is required:
• FIPS_CAST_ECDSA • FIPS_CAST_KDF_TLS12 • FIPS_CAST_KDF_TLS13 • FIPS_CAST_KDF_SSH CO may re-run the POST at any time after power on using the public API wolfCrypt_IntegrityTest_fips(). This function always returns a value of zero regardless if the integrity check passed or failed so the CO shall then check the status of the module using the API wolfCrypt_GetStatus_fips(). The return value of the GetStatus API shall then be checked against the status indicators below: • FIPS_MODE_INIT status indicator value is
The CO shall use the provided AVIAT NETWORKS FIPS 140-3 User Guide hereafter referred to as [UG]. A common name for this document is also the Cryptographic Officer Guidance Manual [COGM]. [UG] and [COGM] are one and the same for this module and include all administrative guidance. The [UG] will have a section specific to each Operational Environment [OE] that appears on the modules FIPS certificate and/or in Table 6: Tested Operational Environments - Software, Firmware, Hybrid. The instructions provided in the [UG] shall be followed or the module will never have been properly initialized and built and therefore noncompliant. To create the compliant module, as per this Security Policy, the configuration steps shall be followed.
static void myFipsCb(int ok, int err, const char* hash)
printf("in my Fips callback, ok = %d, err = %d\n", ok, err);
printf("message = %s\n", wc_GetErrorString(err));
printf("hash = %s\n", hash);
if (err == IN_CORE_FIPS_E) {
printf("In core integrity hash check failure,"
"copy above hash\n");
printf("into verifyCore[] in fips_test.c and rebuild\n");
code into an executable format” even though the module is not claiming “open source”. The following initialization instructions apply to all use-cases for the module generically by a consuming application. [OE] specific details will be covered in the [UG].
The CO shall use the provided AVIAT NETWORKS FIPS 140-3 User Guide [UG].
The Module supports the Cryptographic Officer (CO) operator role and does not support nonadministrators or non-administrative roles.
Please defer to AVIAT NETWORKS FIPS 140-3 User Guide [UG].
The module does not claim mitigation of other attacks. © 2025 AVIAT NETWORKS AVIAT NETWORKS Public Material – May be reproduced only in its original entirety (without revision).