| Standard | FIPS 140-3 |
|---|---|
| Overall level | 1 |
| Module type | Software |
| Embodiment | Multi-Chip Stand Alone |
| Status | Active |
| Sunset date | 9/9/2029 |
| Caveat | Interim Validation. When operated in approved mode |
| Vendor | Samsung Electronics Co., Ltd. |
| Algorithm | ACVP Cert |
|---|---|
| AES-CBC | A3243 |
| AES-CMAC | A3243 |
| AES-CTR | A3243 |
| AES-ECB | A3243 |
| AES-GCM | A3243 |
| AES-KW | A3243 |
| AES-OFB | A3243 |
| Counter DRBG | A3243 |
| ECDSA KeyGen (FIPS186-4) | A3243 |
| ECDSA KeyVer (FIPS186-4) | A3243 |
| ECDSA SigGen (FIPS186-4) | A3243 |
| ECDSA SigVer (FIPS186-4) | A3243 |
| HMAC-SHA-1 | A3243 |
| HMAC-SHA2-224 | A3243 |
| HMAC-SHA2-256 | A3243 |
| HMAC-SHA2-384 | A3243 |
| HMAC-SHA2-512 | A3243 |
| KDF SP800-108 | A3243 |
| RSA Decryption Primitive | A3243 |
| RSA KeyGen (FIPS186-4) | A3243 |
| RSA SigGen (FIPS186-4) | A3243 |
| RSA SigVer (FIPS186-4) | A3243 |
| SHA-1 | A3243 |
| SHA2-224 | A3243 |
| SHA2-256 | A3243 |
| SHA2-384 | A3243 |
| SHA2-512 | A3243 |
flowchart LR
%% Deterministic review-risk graph for Samsung SCrypto Cryptographic Module
%% 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>HTTPS<br/>library named: openssl<br/>library named: nss</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;flowchart LR
%% Deterministic clue tier for Samsung SCrypto Cryptographic Module
%% 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>HTTPS<br/>library named: openssl<br/>library named: nss</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;Samsung Electronics Co., Ltd. Samsung SCrypto Cryptographic Module Software Version: 2.7 Document Version 1.4 Last Update: 7-02-2025 © 2025 Samsung Electronics Co., Ltd.
1 of 27
Contents © 2025 Samsung Electronics Co., Ltd.
2 of 27
©2025 Samsung Electronics Co., Ltd. This document can be reproduced and distributed only whole and intact, © 2025 Samsung Electronics Co., Ltd.
3 of 27
| ISO/IEC 24759 Section 6. [Number Below] | FIPS 140-3 Section Title | Security Level |
|---|---|---|
| 1 | General | 1 |
| 2 | Cryptographic module specification | 1 |
| 3 | Cryptographic module interfaces | 1 |
| 4 | Roles, services, and authentication | 1 |
| 5 | Software/Firmware security | 1 |
| 6 | Operational environment | 1 |
| 7 | Physical security | 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 |
This document is the non-proprietary FIPS 140-3 Security Policy for the Samsung SCrypto Cryptographic Module. It contains the security rules under which the module must operate and describes how this module meets the requirements as specified in FIPS PUB 140-3 (Federal Information Processing Standards Publication 140-3) for Table 1 - Security Levels Purpose of the Security Policy There are three major reasons that a security policy is needed:
4 of 27
| # | Operating System | Hardware Platform | Processor | PAA/Acceleration |
|---|---|---|---|---|
| 1 | QSEE 5.24 (64-bit) | Samsung Galaxy S23+ | Qualcomm Snapdragon 8 Gen 2 | Not implemented |
| 2 | QSEE 6.1 (64-bit) | Samsung Galaxy S24 | Qualcomm Snapdragon 8 Gen 3 | Not implemented |
| 3 | TEEgris 5.0.0 (64-bit) | Samsung Galaxy S24 | Samsung Electronics Exynos 2400 | Not implemented |
| 4 | TEEgris 5.0.0 (64-bit) | Samsung Galaxy Tab Active 5 | Samsung Electronics Exynos 1380 | Not implemented |
| 5 | TEEgris 5.0.0 (64-bit) | Samsung Galaxy Tab S9 FE | Samsung Electronics Exynos 1380 | Not implemented |
| # | Operating System | Hardware Platform | ||
|---|---|---|---|---|
| 1 | Linux Kernel 5.15 | Samsung Electronics Exynos 1380 running on Samsung A35 |
| CAVP Cert | Algorithm and Standard | Mode/Method | Description / Key Size(s) / Key Strength(s) | Use / Function | |||
|---|---|---|---|---|---|---|---|
| #A3243 | AES [FIPS 197] [SP 800-38A] | AES-ECB | Key Length: 128, 192, 256 bits | Symmetric Encryption and Decryption |
5 of 27
| CAVP Cert | Algorithm and Standard | Mode/Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| #A3243 | AES [FIPS 197] [SP 800-38A] | AES-CBC | Key Length: 128, 192, 256 bits | Symmetric Encryption and Decryption |
| #A3243 | AES [FIPS 197] [SP 800-38A] | AES-CTR | Key Length: 128, 192, 256 bits | Symmetric Encryption and Decryption |
| #A3243 | AES [FIPS 197] [SP 800-38A] | AES-OFB | Key Length: 128, 256 bits | Symmetric Encryption and Decryption |
| #A3243 | AES [FIPS 197] [SP 800-38B] | AES-CMAC | Key Length: 128, 192, 256 bits | Message Authentication |
| #A3243 | AES [FIPS 197] [SP 800-38D] | AES-GCM | Key Length: 128, 192, 256 bits | Authenticated Symmetric Encryption and Decryption |
| #A3243 | AES [FIPS 197] [SP 800-38F] | AES-KW | Key Length: 128, 192, 256 bits | Key Wrapping and Unwrapping |
| #A3243 | ECDSA [FIPS 186-4] | KeyGen | Curve: P-224, P-256, P-384, P- 521 | Asymmetric Key Generation |
| #A3243 | ECDSA [FIPS 186-4] | KeyVer | Curve: P-224, P-256, P-384, P- 521 | Asymmetric Public Key Verification |
| #A3243 | ECDSA [FIPS 186-4] | SigGen | Curve: P-224, P-256, P-384, P- 521 | Digital Signature Generation |
| #A3243 | ECDSA [FIPS 186-4] | SigVer | Curve: P-224, P-256, P-384, P- 521 | Digital Signature Verification |
| #A3243 | DRBG [SP800-90Arev1] | CTR_DRBG with AES-256 Derivation Function Disabled No Prediction Resistance | Key Length: 256 bits | Random Number Generation |
| #A3243 | HMAC [FIPS 198- 1] | SHA-1 | Key Length 112 bits or greater | Keyed Hash |
| #A3243 | HMAC [FIPS 198-1] | SHA2-224 | Key Length 112 bits or greater | Keyed Hash |
| #A3243 | HMAC [FIPS 198-1] | SHA2-256 | Key Length 112 bits or greater | Keyed Hash |
| #A3243 | HMAC [FIPS 198-1] | SHA2-2384 | Key Length 112 bits or greater | Keyed Hash |
| #A3243 | HMAC [FIPS 198-1] | SHA2-512 | Key Length 112 bits or greater | Keyed Hash |
| #A3243 | SHS [FIPS 180-4] | SHA-1 | N/A | Message Digest Note: SHA-1 is not used for digital signature generation |
| #A3243 | SHS [FIPS 180-4] | SHA2-224 | N/A | Message Digest |
| #A3243 | SHS [FIPS 180-4] | SHA2-256 | N/A | Message Digest |
| #A3243 | SHS [FIPS 180-4] | SHA2-384 | N/A | Message Digest |
| #A3243 | SHS [FIPS 180-4] | SHA2-512 | N/A | Message Digest |
| #A3243 | RSA [FIPS 186-4] | Key Generation Mode: B.3.3, Primality Tests: C.2 | Modulus: 2048, 3072 | Asymmetric Key Generation |
| #A3243 | RSA [FIPS 186-4] | Signature Generation (PKCS#1 v1.5) and (PKCS-PSS) | Modulus: 2048, 3072 | Digital Signature Generation |
1] © 2025 Samsung Electronics Co., Ltd.
6 of 27
| CAVP Cert | Algorithm and Standard | Mode/Method | Description / Key Size(s) / Key Strength(s) | Use / Function |
|---|---|---|---|---|
| #A3243 | RSA [FIPS 186-4] | Signature Verification (PKCS#1 v1.5) and (PKCS-PSS) | Modulus: 1024, 2048, 3072 | Digital Signature Verification |
| #A3243 | KBKDF [SP800- 108] (CVL) | KDF Mode: counter MAC Mode: HMAC-SHA2-512 | Supported Length: 512-4096 Increment 1 Fixed Data Order: after/before/middle fixed data Counter Length: 8, 16, 24, 32 | Key Derivation |
| #A3243 | RSA Decryption Primitive [SP800- 56Brev2] (CVL) | N/A | Modulus: 2048 | RSADP Decryption |
| Vendor Affirmed | CKG (SP800-133rev2) | Section 5 | Cryptographic Key Generation; SP 800-133rev2 and IG D.H. | Key generation. Note: The cryptographic module performs Cryptographic Key Generation (CKG) for asymmetric keys as per section 5 in SP800- 133rev2 (vendor affirmed). A seed (i.e., the random value) used in asymmetric key generation is a direct output from SP800- 90Arev1 CTR_DRBG |
| Vendor Name | Certificate Number |
|---|---|
| Qualcomm Technologies, Inc. | E67 |
| Qualcomm Technologies, Inc. | E152 |
| Samsung Electronics Co., Ltd | E221 |
| Samsung Electronics Co., Ltd | E224 |
| Algorithm/Function | Use/Function |
|---|---|
| DSA Key Generation [FIPS186-4] | DSA keypair generation |
| DSA Signature Generation [FIPS186-4] | DSA signature generation |
| DSA Signature Verification [FIPS186-4] | DSA signature verification |
| KAS-FFC-SSC [SP800-56A Rev 3] | Diffie-Hellman Key Agreement primitive |
| KAS-ECC-SSC [SP800-56A Rev 3] | EC Diffie-Hellman Key Agreement primitive |
Table 4 - Approved Algorithms Notes:
7 of 27
Please note that due to the lack of the associated self-tests to DSA, KAS-ECC-SSC and KAS-FFC-SSC algorithms, Table 6 lists those algorithms as the Non-Approved Algorithms Not Allowed in the Approved Mode of Operation. The “Non-Approved Algorithms Allowed in the Approved Mode of Operation with No Security Claimed” table defined in SP 800-140B is missing because the module does not implement any such algorithms. The “Non-Approved Algorithms Allowed in the Approved Mode of Operation” table defined in SP 800-140B is missing because the module does not implement any such algorithms. Cryptographic boundary The module is defined as a multi-chip standalone software module, with the boundary of the Tested Operational Environment’s Physical Perimeter (TOEPP) being defined as the physical perimeter of the tested platform enclosure around which everything runs. The physical perimeter is the hardware platform on which the module is installed. The cryptographic boundary of the module is the SCrypto cryptographic module, a single object module file named fipscanister.o, which is linked to create the executable files scrypto_v2.7_x64_qsee_release.a for the tested platform running QSEE 5.24, QSEE 6.1 (64-bit) and scrypto_v2.7_x64_teegris500_sys_release.so for the tested platform running TEEgris 5.0.0 (64-bit). Figure 1 below illustrates a block diagram of a typical GPC and the module’s physical perimeter. The module’s cryptographic boundary consists of all functionalities contained within the module’s compiled source code. Physical Cryptographic Boundary (the module) perimeter Samsung SCrypto Application Cryptographic Module Figure 1 – Module’s block diagram © 2025 Samsung Electronics Co., Ltd.
8 of 27
| Physical port | Logical interface | Data that passes over port/interface |
|---|---|---|
| N/A | Data input interface | Arguments for an API call that provide the data to be used or processed by the module |
| N/A | Data output interface | Arguments output from an API call |
| N/A | Control input interface | Arguments for an API call used to control and configure module operation |
| N/A | Control output interface | Not applicable |
| N/A | Status output interface | Return values, and or log messages |
3. Cryptographic module interfaces As a software-only module, the module does not have physical ports. For the purpose of the FIPS 140-3 validation, the physical ports are interpreted to be the physical ports of the hardware platform on which it runs. The module does not implement a trusted channel. The logical interfaces are the application program interface (API) through which applications request services. The following table summarizes the logical interfaces. Table 7 – Ports and Interfaces © 2025 Samsung Electronics Co., Ltd.
9 of 27
| Role | Service | Input | Output |
|---|---|---|---|
| CO | Symmetric encryption/decryption | Input for Encryption: key and plain text Input for Decryption: key and cipher text | Output for Encryption: cipher text; Output for Decryption: plain text |
| CO | Asymmetric key generation | RSA - Padding Method, Modulo size, ECDSA - Curve Type | Key pair |
| CO | Key wrapping | Key | Wrapped key |
| CO | Digital signature generation | Private key, Message Digest | Signature |
| CO | Digital signature verification | Public key, Message Digest, Signature, RSA - Padding Method, Modulo n, ECDSA - Curve Type | Verification result |
| CO | Message digest generation | Message | Message digest |
| CO | MAC generation | Key, message | Message authentication code |
| CO | Random Number Generation | Entropy input string, Personalization string, Additional input | Random bits |
| CO | Key derivation | Key (SP800-108) | Derived Key |
| CO | RSA Decryption primitive | RSA private key, Cipher text | Message |
| CO | Show status | None | Module’s status |
| CO | Show version | None | Module’s name/ID and versioning information |
| CO | Zeroization | SSPs | Zeroized and released memory space |
| CO | Cryptographic Algorithm Self-Test and Integrity Test | None | Self-test status |
| CO | Module Installation and Configuration | None | None |
| Service | Description | Approved Security Functions | Keys and/or SSPs | Roles | Access rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Symmetric encryption/ decryption | Encrypt a plain text or Decrypt a cipher text | AES-ECB, AES-CBC, AES-OFB, AES-CTR, AES-GCM | AES key | CO | W, E | Return code “1” denotes use of approved security service |
The module supports the single role of Crypto Officer (CO), which performs all services including module The Crypto Officer role is implicitly assumed by the entity accessing the module services. The module does not support user authentication. The module does not implement a bypass capability. The module does not implement a self-initiated cryptographic output capability. The module does not support Software loading. n, © 2025 Samsung Electronics Co., Ltd.
10 of 27
| Service | Description | Approved Security Functions | Keys and/or SSPs | Roles | Access rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Asymmetric key generation | Generate asymmetric key pair | CKG, CTR_DRBG, RSA KeyGen, ECDSA KeyGen, ECDSA KeyVer | RSA private key, RSA public key, ECDSA private key, ECDSA public key, | CO | G, R, W | Return code “1” denotes use of approved security service |
| Key wrapping | Encrypt or decrypt a key value | AES-KW | AES key wrapping key | CO | W, E | Return code “1” denotes use of approved security service |
| Digital signature generation | Generate digital signature | RSA SigGen, ECDSA SigGen | RSA private key, ECDSA private key, | CO | W, E | Return code “1” denotes use of approved security service |
| Digital signature verification | Verify digital signature | RSA SigVer, ECDSA SigVer | RSA public key, ECDSA public key, | CO | W, E | Return code “1” denotes use of approved security service |
| Message digest generation | Generate message digest | SHA-1, SHA2-224, SHA2-256, SHA2- 384, SHA2-512 | None | CO | N/A | Return code “1” denotes use of approved security service |
| MAC generation | Generate message authentication code | AES-CMAC, HMAC-SHA-1, HMAC-SHA2-224, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512 | HMAC key, CMAC key, | CO | W, E | Return code “1” denotes use of approved security service |
| Random Number Generation | Generate random number | CTR_DRBG | Entropy input string, DRBG seed, DRBG internal state V value, DRBG key, | CO | G, R, E | Return code “1” denotes use of approved security service |
| Key derivation | Derive keying material | KBKDF | KBKDF key- derivation key | CO | W, E | Return code “1” denotes use of approved security service |
| RSA Decryption primitive | Decryption with RSADP | RSA Decryption Primitive | RSA private key | CO | W, E | Return code “1” denotes use of approved security service |
| Show status | Provide Module’s current status (status message) | N/A | N/A | CO | N/A | N/A |
| Show version | Provide Module’s name and version information | N/A | N/A | CO | N/A | N/A |
| Zeroization | Zeroize SSP | N/A | ALL SSPs | CO | Z | N/A |
© 2025 Samsung Electronics Co., Ltd.
11 of 27
| Service | Description | Approved Security Functions | Keys and/or SSPs | Roles | Access rights to Keys and/or SSPs | Indicator |
|---|---|---|---|---|---|---|
| Cryptographic Algorithm Self- Test and Integrity Test | Initiate cryptographic algorithm self- test and integrity test | AES-ECB, AES-CMAC, AES-GCM, AES-KW, DRBG, ECDSA Sign, ECDSA verify, HMAC-SHA2-256, KBKDF, RSA Sign, RSA Verify, SHA-1, SHA2-256, SHA2-512 | N/A | CO | N/A | N/A |
| Module Installation and Configuration | Run cryptographic algorithm self- test and integrity test at the module start-up | N/A | N/A | CO | N/A | N/A |
| Service | Description and Input/Output | Algorithms Accessed | Roles | Indicator |
|---|---|---|---|---|
| DSA Key Generation | DSA Key Generation [FIPS186-4] | DSA | CO | Return code “0” denotes use of non- approved security service |
| DSA Signature Generation | DSA Signature Generation [FIPS186-4] | DSA | CO | Return code “0” denotes use of non- approved security service |
| DSA Signature Verification | DSA Signature Verification [FIPS186-4] | DSA | CO | Return code “0” denotes use of non- approved security service |
| Diffie-Hellman Key Agreement primitive | Diffie-Hellman Key Agreement primitive [SP800-56A Rev 3] | KAS-FFC-SSC | CO | Return code “0” denotes use of non- approved security service |
| EC Diffie-Hellman Key Agreement primitive | EC Diffie-Hellman Key Agreement primitive [SP800-56A Rev 3] | KAS-ECC-SSC | CO | Return code “0” denotes use of non- approved security service |
Table 9
12 of 27
5. Software/Firmware security Integrity technique The module is provided in the form of binary executable code. To ensure the software security, the module is protected by HMAC-SHA2-256 (HMAC Certs. #A3243) algorithm. The software integrity test key (non-SSP) was preloaded to the module’s binary at the factory and used for software integrity test only at the pre-operational selftest. At module’s initialization, the integrity of the runtime executable is verified using an HMAC-SHA2-256 digest which is compared to a value computed at build time. If at the load time the MAC does not match the stored, known MAC value, the module would enter an Error state with all crypto functionality inhibited. On-demand integrity test Integrity tests are performed as part of the Pre-Operational Self-Tests. It is automatically executed at power-on. It can also be invoked by self-test service or powering-off and reloading the module. © 2025 Samsung Electronics Co., Ltd.
13 of 27
14 of 27
7. Physical security The module is comprised of software only and thus does not claim any physical security. © 2025 Samsung Electronics Co., Ltd.
15 of 27
8. Non-invasive security The module does not implement non-invasive attack mitigation techniques to protect the module’s unprotected SSPs from non-invasive attacks referenced in Annex F of FIPS 140-3. © 2025 Samsung Electronics Co., Ltd.
16 of 27
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import / Export | Establi- shment | Storage | Zeroisation | Use & related keys |
|---|---|---|---|---|---|---|---|---|
| AES keys (CSP) | 128, 192 and 256 bits | AES-ECB, AES-CBC, AES-OFB, AES-CTR, AES-GCM Algo Cert. #A3243 | N/A | Import from calling application within TOEPP No Export | None | Tested platform’s RAM for the lifetime of API call, under the module control Note: The module does not provide persistent keys/ SSPs storage. | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Symmetric Encryption / Decryption |
| AES key wrapping key (CSP) | 128, 192 and 256 bits | AES-KW Algo Cert. #A3243 | N/A | Import from Calling application within TOEPP No Export | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Key wrapping and unwrapping |
| CMAC keys (CSP) | 128, 192 and 256 bits | AES-CMAC Algo Cert. #A3243 | N/A | Import from calling application within TOEPP No Export | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage. | By calling OPENSSL_cleanse function or cycling the power to the tested platform | CMAC Generation |
| HMAC keys (CSP) | Min 112 bits | HMAC-SHA-1, HMAC-SHA2-224, HMAC-SHA2-256, HMAC-SHA2-384, HMAC-SHA2-512, Algo Cert. #A3243 | N/A | Import from calling application within TOEPP No Export | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage. | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Keyed Hash |
9. Sensitive security parameter management © 2024 Samsung Electronics Co., Ltd.
17 of 27
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import / Export | Establi- shment | Storage | Zeroisation | Use & related keys |
|---|---|---|---|---|---|---|---|---|
| RSA private key (CSP) | Equal to 2048-bit, 3072-bit RSA key | DRBG, RSA KeyGen, RSA SigGen Algo Cert. #A3243 | Internally generated conformant to SP800-133r2 (CKG) using FIPS 186-4 RSA key generation method, and the random value used in the key generation is generated using SP800-90Arev1 DRBG | Import and Export to Calling application within TOEPP. | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage. | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Digital Signature Generation Related: RSA public key |
| RSA public key (PSP) | Equal to 2048-bit, 3072-bit RSA key | RSA SigVer Algo Cert. #A3243 | Internally derived per the FIPS 186-4 RSA key generation method | Import and Export to Calling application within TOEPP. | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage. | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Digital Signature Verification Related: RSA private key |
| ECDSA private key (CSP) | Equal to 224-bit, 256-bit, 384-bit, 521-bit ECC key | DRBG, ECDSA KeyGen, ECDSA KeyVer, ECDSA SigGen, Algo Cert. #A3243 | Internally generated conformant to SP800-133r2 (CKG) using FIPS 186-4 ECDSA key generation method, and the random value used in the key generation is generated using SP800-90Arev1 DRBG | Import and Export to Calling application within TOEPP. | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage. | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Digital Signature Generation Related: ECDSA public key |
| ECDSA public key (PSP) | Equal to 224-bit, 256-bit, 384-bit, 521-bit ECC key | ECDSA SigVer Algo Cert. #A3243 | Internally derived per the FIPS 186-4 ECDSA key generation method | Import and Export to calling application within TOEPP. | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Digital Signature Verification Related: ECDSA private key |
© 2024 Samsung Electronics Co., Ltd.
18 of 27
| Key/SSP Name/Type | Strength | Security Function and Cert. Number | Generation | Import / Export | Establi- shment | Storage | Zeroisation | Use & related keys |
|---|---|---|---|---|---|---|---|---|
| KBKDF key- derivation key (CSP) | At least 112 bits | KBKDF Algo Cert. #A3243 | N/A | Import from calling application within TOEPP No Export | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage. | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Key Derivation |
| Entropy input string (CSP) | 384 bits | CTR_DRBG Algo Cert. #A3243 | Obtained from the Entropy Source within TOEPP | Import to the module via Module’s API within TOEPP Export: No | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Random Number Generation |
| DRBG seed (CSP) | 256 bits | CTR_DRBG Algo Cert. #A3243 | Internally Derived from entropy input string as defined by SP800-90Arev1 | N/A | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Random Number Generation |
| DRBG internal state V value (CSP) | 256 bits | CTR_DRBG Algo Cert. #A3243 | Internally Derived from entropy input string as defined by SP800-90Arev1 | N/A | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Random Number Generation |
| DRBG key (CSP) | 256 bits | CTR_DRBG Algo Cert. #A3243 | Internally Derived from entropy input string as defined by SP800-90Arev1 | N/A | None | Tested platform’s RAM for the lifetime of API call, under the module control. Note: The module does not provide persistent keys/ SSPs storage | By calling OPENSSL_cleanse function or cycling the power to the tested platform | Random Number Generation |
| Entropy sources | Minimum number of bits of entropy | Details |
|---|---|---|
| Snapdragon(R) 8 Gen 2 Mobile Platform developed by Qualcomm Technologies, Inc. Implementation Name: Entropy Source of the Qualcomm(R) Pseudo Random Number Generator | Entropy Per Sample: 0.420625 bits; Sample Size: 4 bits | ESV Cert. #E67 Physical Entropy Source. Used to seed approved SP800-90Arev1 DRBG. The entropy source is located inside the module’s physical perimeter, but the outside the module’s boundary |
| Snapdragon(R) 8 Gen 3 Mobile Platform developed by Qualcomm Technologies, Inc. Implementation Name: Entropy Source of the Qualcomm(R) Pseudo Random Number Generator | Entropy Per Sample: 0.342458 bits; Sample Size: 4 bits | ESV Cert. #E152 Physical Entropy Source. Used to seed approved SP800-90Arev1 DRBG. The entropy source is located inside the module’s physical perimeter, but the outside the module’s boundary |
| Samsung Electronics Exynos 2400 developed by Samsung Electronics Co., Ltd. Implementation Name: Samsung TRNG | Entropy Per Sample: 0.5 bits; Sample Size: 1 bit | ESV Cert. #E221 Physical Entropy Source. Used to seed approved SP800-90Arev1 DRBG. The entropy source is located inside the module’s physical perimeter, but the outside the module’s boundary |
| Samsung Electronics Exynos 1380 developed by Samsung Electronics Co., Ltd. Implementation Name: Samsung TRNG | Entropy Per Sample: 0.5 bits; Sample Size: 1 bit | ESV Cert. #E224 Physical Entropy Source. Used to seed approved SP800-90Arev1 DRBG. The entropy source is located inside the module’s physical perimeter, but the outside the module’s boundary |
Table 12 – Non-Deterministic Random Number Generation Specification The module employs an Approved SP 800-90Arev1 CTR_DRBG for creation of random numbers. The module uses the physical entropy source (ESV Certs. #E67, E152, E221 or E224) from the operational environment as the source of random numbers for DRBG seeds. The Entropy Source produces the random numbers from an entropy pool maintained by the underlying Operating System. The module is a software module that contains an approved DRBG that is seeded exclusively The module performs the Repetition Count Test (RCT) and Adaptive Proportion Test (APT) as the Health Test to the entropy source that is used to instantiate the Use of RBG output The calling application is responsible for storage of generated keys returned by the module. It is not possible for the module to output information during the key generating process. SSP entry and output All keys and SSPs that are entered from or output to the module are entered from or output to the invoking application running on the same device. Keys/SSPs entered into the module are electronically entered in plain text form. Keys/SSPs are output from the module in plain text form if required by the calling application. The module does not support manual key entry or key output. Keys or other CSPs can only be exchanged between the module and the calling application using appropriate API calls. The module does not output intermediate key generation values.
The module performs two independent internal actions for the output of plaintext CSPs:
| Algorithm | Test | Condition |
|---|---|---|
| AES | AES-ECB with 128 bits Encryption KAT AES-ECB with 128 bits Decryption KAT | Start-up, on-demand |
| AES-CMAC | AES-CMAC with 128 bits MAC Generation KAT AES-CMAC with 256 bits MAC Generation KAT | Start-up, on-demand |
| AES-GCM | AES-GCM with 256 bits Authenticated Encryption KAT AES-GCM with 256 bits Authenticated Decryption KAT | Start-up, on-demand |
| AES-KW | AES-KW with 256 bits Encryption KAT AES-KW with 256 bits Decryption KAT | Start-up, on-demand |
| DRBG | CTR_DRBG Instantiate KAT CTR_DRBG Generate KAT CTR_DRBG Reseed KAT Note: DRBG Health Tests as specified in NIST SP 800- 90Arev1 Section 11.3 are performed | Start-up, on-demand |
| ECDSA | ECDSA P-256 with SHA2-256 SigGen KAT | Start-up, on-demand |
| ECDSA | ECDSA P-256 with SHA2-256 SigVer KAT | Start-up, on-demand |
| HMAC | HMAC-SHA2-256 KAT | Start-up, on-demand |
| RSA | RSA 2048 modulus with SHA2-256 SigGen KAT | Start-up, on-demand |
| RSA | RSA 2048 modulus with SHA2-256 SigVer KAT | Start-up, on-demand |
| SHA | SHA-1 KAT SHA2-256 KAT SHA2-512 KAT | Start-up, on-demand |
10. Self-tests The module performs a series of power-up self-tests, that covers all of its approved algorithms. The module executes all self-tests when the module is initialized during the boot process. Self-tests can also be manually invoked by calling FIPS_SCRYPTO_post(1). When the module passes all of its power-up Self-tests, the module sets an internal variable to reflect this. A calling application can call the FIPS_status() API to obtain the value of this internal variable (1 if the Self-test was successful, and 0 otherwise if the Self-test failed). In addition to Known Answer Tests (KATs) for each of the module’s cryptographic algorithms, the module also performs a binary integrity test to check for corruption. If any KAT self-test or the integrity test fails, the module sets its error flag (static variable), returns an error code to the API function caller to indicate the error, enters an error state (FIPS_ERR), and inhibits Crypto APIs that return cryptographic information. While the module is executing the self-tests, services are not available, and input and output are inhibited. Pre-operational self-test The module performs Pre-operational Self-tests automatically when the module is loaded into memory (i.e. at power on). The Pre-operational Self-tests contain pre-operational software integrity test to ensure that the module is not corrupted. The integrity test is performed on the runtime image of the module using HMAC-SHA2-256. Prior to software integrity test, a CAST for HMAC-SHA2-256 is performed. If the CAST on the HMAC-SHA-256 is successful, the HMAC value of the runtime image is recalculated and compared with the stored HMAC value precomputed at compilation time (for details, see also Section 5). While the module is performing the Pre-operational Self-tests no other functions are available and all output is inhibited. Once Pre-operational Self-tests are completed successfully, the module enters operational mode and cryptographic services are available. Conditional self-tests Conditional cryptographic algorithm self-tests The module performs conditional cryptographic algorithm self-tests (CASTs) at module initialization to ensure that the algorithms work as expected, before any security function or process is invoked via module interface. The module performs self-tests that cover all Approved cryptographic algorithms supported in the approved mode of operation using the Known-answer Tests (KAT) as shown in the table below. None of the keys used for the KAT are considered as SSP. © 2023 Samsung Electronics Co., Ltd.
22 of 27
SP800-108 KDF
KBKDF KAT
Start-up, on-demand
| Algorithm | Test | Condition |
|---|---|---|
| SP800-90B Entropy Source | Repetition Count Test (RCT) and Adaptive Proportion Test (APT) | Start-up, Continuous and on-demand |
| Algorithm | Test | Condition |
|---|---|---|
| ECDSA | Pair-wise consistency test | After key pair generation prior to the first exportation, or prior to the first operational use |
| RSA | Pair-wise consistency test | After key pair generation prior to the first exportation, or prior to the first operational use |
Table 13
23 of 27
24 of 27
12. Mitigation of other attacks The module does not implement security mechanisms to mitigate other attacks. © 2023 Samsung Electronics Co., Ltd.
25 of 27
| AES | Advanced Encryption Specification |
|---|---|
| CAST | Cryptographic Algorithm Self-Test |
| CAVP | Cryptographic Algorithm Validation Program |
| CBC | Cipher Block Chaining |
| CFB | Cipher Feedback |
| CMAC | Cipher-based Message Authentication Code |
| CMVP | Cryptographic Module Validation Program |
| CSP | Critical Security Parameter |
| CTR | Counter mode of AES |
| CVL | Component Validation List |
| DSA | Digital Signature Algorithm |
| ECC | Elliptic Curve Cryptography |
| FIPS | Federal Information Processing Standards Publication |
| HMAC | Hash Message Authentication Code |
| KAT | Known-answer Test |
| MAC | Message Authentication Code |
| NIST | National Institute of Science and Technology |
| OFB | Output Feedback |
| POST | Pre-Operational Self-Test |
| PSS | Probabilistic Signature Scheme |
| RNG | Random Number Generator |
| RSA | Rivest, Shamir, Addleman |
| SHA | Secure Hash Algorithm |
| SHS | Secure Hash Standard |
Glossary and Abbreviations © 2023 Samsung Electronics Co., Ltd.
26 of 27
References FIPS180-4 Secure Hash Standard (SHS) August 2015 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf FIPS186-4 Digital Signature Standard (DSS) July 2013 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf FIPS197 Advanced Encryption Standard November 2001 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197.pdf FIPS198-1 The Keyed Hash Message Authentication Code (HMAC) July 2008 https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.198-1.pdf IG Implementation Guidance for FIPS 140-3 and the Cryptographic Module Validation Program October, 2022 https://csrc.nist.gov/CSRC/media/Projects/cryptographic-module-validationprogram/documents/fips%20140-3/FIPS%20140-3%20IG.pdf PKCS#1 Public Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 February 2003 https://www.ietf.org/rfc/rfc3447.txt SP800-38A NIST Special Publication 800-38A - Recommendation for Block Cipher Modes of Operation Methods and Techniques December 2001 https://csrc.nist.gov/publications/detail/sp/800-38a/final SP800-38B NIST 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-56Ar3 NIST Special Publication 800-56A Revision 3 - Recommendation for Pair Wise KeyEstablishment Schemes Using Discrete Logarithm Cryptography April 2018 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf SP800-90Ar1 NIST Special Publication 800-90A Revision 1 - Recommendation for Random Number Generation Using Deterministic Random Bit Generators June 2015 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf SP800-133r2 NIST Special Publication 800-133 Revision 2 - Recommendation for Cryptographic Key Generation June 2020 https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-133r2.pdf © 2023 Samsung Electronics Co., Ltd.
27 of 27