Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/cryptocb-only.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
name: cryptocb-only Tests

# START OF COMMON SECTION
Expand Down Expand Up @@ -117,6 +117,9 @@
{"name": "curve25519",
"comment": "WOLF_CRYPTO_CB_ONLY_CURVE25519: strips software X25519 (keygen/shared-secret); swdev provides the software path via cryptocb. Nonblock and async X25519 have no callback path and are left disabled.",
"configure": ["CPPFLAGS=-DWOLF_CRYPTO_CB_ONLY_CURVE25519"]},
{"name": "frodokem",
"comment": "WOLF_CRYPTO_CB_ONLY_FRODOKEM: strips the FrodoKEM lattice math (key generation, encapsulation, decapsulation, matrix-A generation, noise sampling, the matrix multiplies and pack/unpack, plus the x86 and ARM assembly). The matrix store/load and one-shot hash helpers stay, because the key encode/decode API a callback needs still uses them. FrodoKEM is not wired into TLS, so nothing else has to be turned off; it does need --enable-experimental, which the shared base does not set.",
"configure": ["--enable-experimental", "--enable-frodokem", "CPPFLAGS=-DWOLF_CRYPTO_CB_ONLY_FRODOKEM"]},
{"name": "all",
"comment": "All seven ONLY_* macros at once: every supported software primitive is stripped and dispatched through cryptocb. Catches any cross-algorithm call that a single-strip entry would still resolve via the remaining software paths.",
"configure": ["CPPFLAGS=-DWOLF_CRYPTO_CB_ONLY_ECC -DWOLF_CRYPTO_CB_ONLY_RSA -DWOLF_CRYPTO_CB_ONLY_SHA256 -DWOLF_CRYPTO_CB_ONLY_SHA512 -DWOLF_CRYPTO_CB_ONLY_AES -DWOLF_CRYPTO_CB_ONLY_ED25519 -DWOLF_CRYPTO_CB_ONLY_CURVE25519"]}
Expand Down
15 changes: 14 additions & 1 deletion tests/api/test_frodokem.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,8 @@ static const int frodokem_types[] = {

/* The KAT data is only used by the make-key/encapsulate/decapsulate KAT tests,
* all of which need key generation to reconstruct the key. */
#if !defined(NO_SHA256) && !defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY)
#if !defined(NO_SHA256) && !defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)

/* Known-answer test data derived from the official FrodoKEM and eFrodoKEM
* KAT vectors (PQCkemKAT_*.rsp, count 0), for both the SHAKE and AES matrix A
Expand Down Expand Up @@ -755,6 +756,7 @@ int test_wc_frodokem_make_key_kats(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(NO_SHA256) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY)
int i;
FrodoKemKey* key = NULL;
Expand Down Expand Up @@ -801,6 +803,7 @@ int test_wc_frodokem_encapsulate_kats(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(NO_SHA256) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLFSSL_FRODOKEM_NO_ENCAPSULATE)
int i;
Expand Down Expand Up @@ -850,6 +853,7 @@ int test_wc_frodokem_decapsulate_kats(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(NO_SHA256) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLFSSL_FRODOKEM_NO_ENCAPSULATE) && \
!defined(WOLFSSL_FRODOKEM_NO_DECAPSULATE)
Expand Down Expand Up @@ -915,6 +919,7 @@ int test_wc_frodokem_roundtrip(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WC_NO_RNG) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLFSSL_FRODOKEM_NO_ENCAPSULATE) && \
!defined(WOLFSSL_FRODOKEM_NO_DECAPSULATE)
Expand Down Expand Up @@ -969,6 +974,7 @@ int test_wc_frodokem_encode_decode(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WC_NO_RNG) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLFSSL_FRODOKEM_NO_ENCAPSULATE) && \
!defined(WOLFSSL_FRODOKEM_NO_DECAPSULATE)
Expand Down Expand Up @@ -1061,6 +1067,7 @@ int test_wc_frodokem_decap_implicit_reject(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WC_NO_RNG) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLFSSL_FRODOKEM_NO_ENCAPSULATE) && \
!defined(WOLFSSL_FRODOKEM_NO_DECAPSULATE)
Expand Down Expand Up @@ -1148,6 +1155,7 @@ int test_wc_frodokem_decapsulate_pubonly_fails(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WC_NO_RNG) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLFSSL_FRODOKEM_NO_ENCAPSULATE) && \
!defined(WOLFSSL_FRODOKEM_NO_DECAPSULATE)
Expand Down Expand Up @@ -1216,6 +1224,7 @@ int test_wc_frodokem_decode_privkey_bad_pkh(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WC_NO_RNG) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY)
int i;
FrodoKemKey* key = NULL;
Expand Down Expand Up @@ -1439,6 +1448,7 @@ int test_wc_frodokem_op_len_checks(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WC_NO_RNG) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
!defined(WOLFSSL_FRODOKEM_NO_ENCAPSULATE) && \
!defined(WOLFSSL_FRODOKEM_NO_DECAPSULATE)
Expand Down Expand Up @@ -1579,6 +1589,7 @@ int test_wc_frodokem_asn1(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLFSSL_FRODOKEM_NO_ASN1) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
defined(WC_ENABLE_ASYM_KEY_EXPORT) && \
defined(WC_ENABLE_ASYM_KEY_IMPORT) && !defined(WC_NO_RNG) && \
!defined(WOLFSSL_FRODOKEM_NO_MAKE_KEY) && \
Expand Down Expand Up @@ -1768,6 +1779,7 @@ int test_wc_frodokem_key_pem(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLFSSL_FRODOKEM_NO_ASN1) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
defined(WC_ENABLE_ASYM_KEY_EXPORT) && \
defined(WC_ENABLE_ASYM_KEY_IMPORT) && \
defined(WOLFSSL_DER_TO_PEM) && defined(WOLFSSL_PEM_TO_DER) && \
Expand Down Expand Up @@ -1867,6 +1879,7 @@ int test_wc_frodokem_x509(void)
{
EXPECT_DECLS;
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLFSSL_FRODOKEM_NO_ASN1) && \
!defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM) && \
defined(WOLFSSL_CERT_GEN) && defined(WOLFSSL_ASN_TEMPLATE) && \
defined(HAVE_ECC) && \
defined(WOLFSSL_WC_FRODOKEM_976) && defined(WOLFSSL_FRODOKEM_SHAKE) && \
Expand Down
13 changes: 13 additions & 0 deletions wolfcrypt/src/cryptocb.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ Crypto Callback Build Options:
* WOLF_CRYPTO_CB_ONLY_AES: Use only callbacks for AES default: off
* WOLF_CRYPTO_CB_ONLY_ED25519: Use only callbacks for Ed25519 default: off
* WOLF_CRYPTO_CB_ONLY_CURVE25519: Use only callbacks for X25519 default: off
* WOLF_CRYPTO_CB_ONLY_FRODOKEM: Use only callbacks for FrodoKEM default: off
*/

#include <wolfssl/wolfcrypt/libwolfssl_sources.h>
Expand Down Expand Up @@ -1685,8 +1686,12 @@ int wc_CryptoCb_MakePqcKemKey(WC_RNG* rng, int type, int keySize, void* key)

/* get devId */
devId = wc_CryptoCb_PqcKemGetDevId(type, key);
/* A find-callback build lets the device find callback resolve an unset
* device id, so leave the lookup below to decide. */
#ifndef WOLF_CRYPTO_CB_FIND
if (devId == INVALID_DEVID)
return ret;
#endif

/* locate registered callback */
dev = wc_CryptoCb_FindDevice(devId, WC_ALGO_TYPE_PK);
Expand Down Expand Up @@ -1719,8 +1724,12 @@ int wc_CryptoCb_PqcEncapsulate(byte* ciphertext, word32 ciphertextLen,

/* get devId */
devId = wc_CryptoCb_PqcKemGetDevId(type, key);
/* A find-callback build lets the device find callback resolve an unset
* device id, so leave the lookup below to decide. */
#ifndef WOLF_CRYPTO_CB_FIND
if (devId == INVALID_DEVID)
return ret;
#endif

/* locate registered callback */
dev = wc_CryptoCb_FindDevice(devId, WC_ALGO_TYPE_PK);
Expand Down Expand Up @@ -1755,8 +1764,12 @@ int wc_CryptoCb_PqcDecapsulate(const byte* ciphertext, word32 ciphertextLen,

/* get devId */
devId = wc_CryptoCb_PqcKemGetDevId(type, key);
/* A find-callback build lets the device find callback resolve an unset
* device id, so leave the lookup below to decide. */
#ifndef WOLF_CRYPTO_CB_FIND
if (devId == INVALID_DEVID)
return ret;
#endif

/* locate registered callback */
dev = wc_CryptoCb_FindDevice(devId, WC_ALGO_TYPE_PK);
Expand Down
12 changes: 6 additions & 6 deletions wolfcrypt/src/port/arm/armv8-32-frodokem-asm.S
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && !defined(WOLFSSL_ARMASM_THUMB2)
#ifndef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_HAVE_FRODOKEM
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifndef WOLFSSL_ARMASM_NO_NEON
.text
.align 4
Expand Down Expand Up @@ -402,8 +402,8 @@ L_frodokem_mul_add_sb_plus_e_neon_j:
pop {r4, r5, r6, r7, r8, r9, pc}
.size frodokem_mul_add_sb_plus_e_neon,.-frodokem_mul_add_sb_plus_e_neon
#endif /* WOLFSSL_ARMASM_NO_NEON */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#ifdef WOLFSSL_HAVE_FRODOKEM
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifndef WOLFSSL_ARMASM_NO_NEON
.fpu crypto-neon-fp-armv8
.text
Expand Down Expand Up @@ -507,8 +507,8 @@ L_frodokem_gen_a_rows_aes_arm32_aes:
pop {r4, r5, r6, r7, r8, r9, pc}
.size frodokem_gen_a_rows_aes_arm32,.-frodokem_gen_a_rows_aes_arm32
#endif /* WOLFSSL_ARMASM_NO_NEON */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#ifdef WOLFSSL_HAVE_FRODOKEM
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifdef __ARM_FEATURE_SIMD32
#if (!defined(__ARM_NEON) && !defined(__ARM_NEON__)) || defined(WOLFSSL_ARMASM_NO_NEON)
.text
Expand Down Expand Up @@ -694,7 +694,7 @@ L_frodokem_mul_add_sb_plus_e_simd32_j:
.size frodokem_mul_add_sb_plus_e_simd32,.-frodokem_mul_add_sb_plus_e_simd32
#endif /* (!defined(__ARM_NEON) && !defined(__ARM_NEON__)) || defined(WOLFSSL_ARMASM_NO_NEON) */
#endif /* __ARM_FEATURE_SIMD32 */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */

#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
Expand Down
8 changes: 4 additions & 4 deletions wolfcrypt/src/port/arm/armv8-32-frodokem-asm_c.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@

#include <wolfssl/wolfcrypt/wc_frodokem_mat.h>

#ifdef WOLFSSL_HAVE_FRODOKEM
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifndef WOLFSSL_ARMASM_NO_NEON
void frodokem_add_neon(word16* a_p, const word16* b_p, int qmask_p);
#ifndef WOLFSSL_NO_VAR_ASSIGN_REG
Expand Down Expand Up @@ -560,8 +560,8 @@ WC_OMIT_FRAME_POINTER void frodokem_mul_add_sb_plus_e_neon(word16* out,
}

#endif /* WOLFSSL_ARMASM_NO_NEON */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#ifdef WOLFSSL_HAVE_FRODOKEM
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifdef __ARM_FEATURE_SIMD32
#if (!defined(__ARM_NEON) && !defined(__ARM_NEON__)) || \
defined(WOLFSSL_ARMASM_NO_NEON)
Expand Down Expand Up @@ -872,7 +872,7 @@ WC_OMIT_FRAME_POINTER void frodokem_mul_add_sb_plus_e_simd32(word16* out,
#endif /* (!defined(__ARM_NEON) && !defined(__ARM_NEON__)) ||
* defined(WOLFSSL_ARMASM_NO_NEON) */
#endif /* __ARM_FEATURE_SIMD32 */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */

#endif /* WOLFSSL_ARMASM_INLINE */
#endif /* !__aarch64__ && !WOLFSSL_ARMASM_THUMB2 */
Expand Down
16 changes: 8 additions & 8 deletions wolfcrypt/src/port/arm/armv8-frodokem-asm.S
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#ifdef WOLFSSL_ARMASM
#ifdef __aarch64__
#ifndef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_HAVE_FRODOKEM
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifndef __APPLE__
.text
.section .rodata
Expand Down Expand Up @@ -1500,8 +1500,8 @@ L_frodokem_mul_add_sb_plus_e_neon_j:
#ifndef __APPLE__
.size frodokem_mul_add_sb_plus_e_neon,.-frodokem_mul_add_sb_plus_e_neon
#endif /* __APPLE__ */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#ifdef WOLFSSL_HAVE_FRODOKEM
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
.arch armv8-a+crypto
#ifndef __APPLE__
.text
Expand Down Expand Up @@ -1825,8 +1825,8 @@ L_frodokem_gen_a_rows_aes_arm64_done:
#ifndef __APPLE__
.size frodokem_gen_a_rows_aes_arm64,.-frodokem_gen_a_rows_aes_arm64
#endif /* __APPLE__ */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#ifdef WOLFSSL_HAVE_FRODOKEM
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifdef WOLFSSL_FRODOKEM_SVE
.arch armv9-a+sve2
#ifndef __APPLE__
Expand Down Expand Up @@ -2217,8 +2217,8 @@ L_frodokem_add_sve_k:
.size frodokem_add_sve,.-frodokem_add_sve
#endif /* __APPLE__ */
#endif /* WOLFSSL_FRODOKEM_SVE */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#ifdef WOLFSSL_HAVE_FRODOKEM
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifdef WOLFSSL_FRODOKEM_SME
.arch armv9-a+sve2+sme+sme2
#ifndef __APPLE__
Expand Down Expand Up @@ -2378,7 +2378,7 @@ L_frodokem_as_accum_sme_k:
.size frodokem_as_accum_sme,.-frodokem_as_accum_sme
#endif /* __APPLE__ */
#endif /* WOLFSSL_FRODOKEM_SME */
#endif /* WOLFSSL_HAVE_FRODOKEM */
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#endif /* __aarch64__ */
#endif /* WOLFSSL_ARMASM */

Expand Down
4 changes: 2 additions & 2 deletions wolfcrypt/src/port/arm/armv8-frodokem-asm.asm
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
; cd ../scripts
; ruby ./frodokem/frodokem.rb arm64 \
; ../wolfssl/wolfcrypt/src/port/arm/armv8-frodokem-asm.asm
IF :DEF:WOLFSSL_HAVE_FRODOKEM
IF :DEF:WOLFSSL_HAVE_FRODOKEM :LAND: :LNOT::DEF:WOLF_CRYPTO_CB_ONLY_FRODOKEM
AREA |.rodata|, DATA, READONLY, ALIGN=4
ALIGN 16
L_sha3_aarch64_r
Expand Down Expand Up @@ -1348,7 +1348,7 @@ L_frodokem_mul_add_sb_plus_e_neon_j
ret
ENDP
ENDIF
IF :DEF:WOLFSSL_HAVE_FRODOKEM
IF :DEF:WOLFSSL_HAVE_FRODOKEM :LAND: :LNOT::DEF:WOLF_CRYPTO_CB_ONLY_FRODOKEM
; .arch armv8-a+crypto
AREA |.text|, CODE, READONLY
ALIGN 4
Expand Down
4 changes: 2 additions & 2 deletions wolfcrypt/src/port/arm/armv8-frodokem-asm_c.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
#ifdef WOLFSSL_ARMASM_INLINE
#include <wolfssl/wolfcrypt/wc_frodokem_mat.h>

#ifdef WOLFSSL_HAVE_FRODOKEM
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
XALIGNED(16) static const word64 L_sha3_aarch64_r[] = {
0x0000000000000001UL, 0x0000000000008082UL,
0x800000000000808aUL, 0x8000000080008000UL,
Expand Down Expand Up @@ -1314,7 +1314,7 @@ void frodokem_mul_add_sb_plus_e_neon(word16* out, const word16* b,
);
}

#endif /* WOLFSSL_HAVE_FRODOKEM */
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */
#endif /* __aarch64__ */
#endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */
4 changes: 2 additions & 2 deletions wolfcrypt/src/port/arm/thumb2-frodokem-asm.S
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#ifndef WOLFSSL_ARMASM_INLINE
.thumb
.syntax unified
#ifdef WOLFSSL_HAVE_FRODOKEM
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
.text
.align 4
.globl frodokem_add_thumb2
Expand Down Expand Up @@ -261,7 +261,7 @@ L_frodokem_mul_add_sb_plus_e_thumb2_j:
POP {r4, r5, r6, r7, r8, r9, r10, r11, pc}
/* Cycle Count = 97 */
.size frodokem_mul_add_sb_plus_e_thumb2,.-frodokem_mul_add_sb_plus_e_thumb2
#endif /* WOLFSSL_HAVE_FRODOKEM */
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */

#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
Expand Down
4 changes: 2 additions & 2 deletions wolfcrypt/src/port/arm/thumb2-frodokem-asm_c.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@

#include <wolfssl/wolfcrypt/wc_frodokem_mat.h>

#ifdef WOLFSSL_HAVE_FRODOKEM
#if defined(WOLFSSL_HAVE_FRODOKEM) && !defined(WOLF_CRYPTO_CB_ONLY_FRODOKEM)
#ifndef WOLFSSL_NO_VAR_ASSIGN_REG
WC_OMIT_FRAME_POINTER void frodokem_add_thumb2(word16* a_p, const word16* b_p,
int qmask_p)
Expand Down Expand Up @@ -456,7 +456,7 @@ WC_OMIT_FRAME_POINTER void frodokem_mul_add_sb_plus_e_thumb2(word16* out,
);
}

#endif /* WOLFSSL_HAVE_FRODOKEM */
#endif /* WOLFSSL_HAVE_FRODOKEM && !WOLF_CRYPTO_CB_ONLY_FRODOKEM */

#endif /* WOLFSSL_ARMASM_INLINE */
#endif /* WOLFSSL_ARMASM_THUMB2 */
Expand Down
Loading
Loading