diff --git a/integration/liboqs/config_aarch64.h b/integration/liboqs/config_aarch64.h index 8da0b76da..9ede97a79 100644 --- a/integration/liboqs/config_aarch64.h +++ b/integration/liboqs/config_aarch64.h @@ -48,15 +48,18 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA44_AARCH64_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA44_AARCH64_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA65_AARCH64_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA65_AARCH64_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA87_AARCH64_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA87_AARCH64_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * For integration builds, this adds an architecture-specific + * suffix to distinguish different builds. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif /****************************************************************************** @@ -271,4 +274,26 @@ static MLD_INLINE void mld_randombytes(uint8_t *ptr, size_t len) #define MLD_CONFIG_EXTERNAL_API_QUALIFIER OQS_API #endif /* !__ASSEMBLER__ */ +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace for aarch64 integration is + * + * PQCP_MLDSA_NATIVE_MLDSA_AARCH64_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA44_AARCH64_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44_AARCH64 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65_AARCH64 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87_AARCH64 +#endif + #endif /* !MLD_INTEGRATION_LIBOQS_CONFIG_AARCH64_H */ diff --git a/integration/liboqs/config_c.h b/integration/liboqs/config_c.h index 352213421..aa078b14e 100644 --- a/integration/liboqs/config_c.h +++ b/integration/liboqs/config_c.h @@ -47,15 +47,18 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA44_C_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA44_C_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA65_C_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA65_C_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA87_C_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA87_C_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * For integration builds, this adds an architecture-specific + * suffix to distinguish different builds. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif /****************************************************************************** @@ -274,4 +277,26 @@ static MLD_INLINE void mld_randombytes(uint8_t *ptr, size_t len) #define MLD_CONFIG_EXTERNAL_API_QUALIFIER OQS_API #endif /* !__ASSEMBLER__ */ +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace for C integration is + * + * PQCP_MLDSA_NATIVE_MLDSA_C_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA44_C_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44_C +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65_C +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87_C +#endif + #endif /* !MLD_INTEGRATION_LIBOQS_CONFIG_C_H */ diff --git a/integration/liboqs/config_x86_64.h b/integration/liboqs/config_x86_64.h index 8197c6e1f..6dd93cf2f 100644 --- a/integration/liboqs/config_x86_64.h +++ b/integration/liboqs/config_x86_64.h @@ -47,15 +47,18 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA44_X86_64_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA44_X86_64_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA65_X86_64_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA65_X86_64_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP PQCP_MLDSA_NATIVE_MLDSA87_X86_64_ -#define MLD_NAMESPACE(s) PQCP_MLDSA_NATIVE_MLDSA87_X86_64_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * For integration builds, this adds an architecture-specific + * suffix to distinguish different builds. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif /****************************************************************************** @@ -272,4 +275,26 @@ static MLD_INLINE void mld_randombytes(uint8_t *ptr, size_t len) *****************************************************************************/ /* #define MLD_CONFIG_NO_ASM_VALUE_BARRIER */ +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace for x86_64 integration is + * + * PQCP_MLDSA_NATIVE_MLDSA_X86_64_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA44_X86_64_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44_X86_64 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65_X86_64 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87_X86_64 +#endif + #endif /* !MLD_INTEGRATION_LIBOQS_CONFIG_X86_64_H */ diff --git a/mldsa/common.h b/mldsa/common.h index 9a678042e..360a90fca 100644 --- a/mldsa/common.h +++ b/mldsa/common.h @@ -45,13 +45,24 @@ #error Bad configuration: MLD_CONFIG_USE_NATIVE_BACKEND_ARITH is set, but MLD_CONFIG_ARITH_BACKEND_FILE is not. #endif -#if defined(MLD_CONFIG_USE_NATIVE_BACKEND_ARITH) -#include MLD_CONFIG_ARITH_BACKEND_FILE -#endif #define MLD_CONCAT_(x1, x2) x1##x2 #define MLD_CONCAT(x1, x2) MLD_CONCAT_(x1, x2) +#define MLD_NAMESPACE_PREFIX MLD_CONCAT(MLD_CONFIG_NAMESPACE_PREFIX, _) + +/* Functions are prefixed by MLD_CONFIG_NAMESPACE_PREFIX. + * + * Example: If MLD_CONFIG_NAMESPACE_PREFIX is PQCP_MLDSA_NATIVE_MLDSA44, then + * MLD_NAMESPACE(sign) becomes PQCP_MLDSA_NATIVE_MLDSA44_sign. + */ +#define MLD_NAMESPACE(s) MLD_CONCAT(MLD_NAMESPACE_PREFIX, s) +#define MLD_NAMESPACETOP MLD_CONFIG_NAMESPACE_PREFIX + +#if defined(MLD_CONFIG_USE_NATIVE_BACKEND_ARITH) +#include MLD_CONFIG_ARITH_BACKEND_FILE +#endif + /* On Apple platforms, we need to emit leading underscore * in front of assembly symbols. We thus introducee a separate * namespace wrapper for ASM symbols. */ diff --git a/mldsa/config.h b/mldsa/config.h index ad95fef1e..0cb8f4320 100644 --- a/mldsa/config.h +++ b/mldsa/config.h @@ -38,18 +38,18 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif - /****************************************************************************** * Name: MLD_CONFIG_FILE * @@ -365,4 +365,26 @@ +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA44_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif + #endif /* !MLD_CONFIG_H */ diff --git a/mldsa/native/aarch64/src/arith_native_aarch64.h b/mldsa/native/aarch64/src/arith_native_aarch64.h index b2a6adf80..c5e12e498 100644 --- a/mldsa/native/aarch64/src/arith_native_aarch64.h +++ b/mldsa/native/aarch64/src/arith_native_aarch64.h @@ -11,14 +11,12 @@ #include "../../../common.h" #define mld_aarch64_ntt_zetas_layer123456 \ - MLD_NAMESPACE(mld_aarch64_ntt_zetas_layer123456) -#define mld_aarch64_ntt_zetas_layer78 \ - MLD_NAMESPACE(mld_aarch64_ntt_zetas_layer78) + MLD_NAMESPACE(aarch64_ntt_zetas_layer123456) +#define mld_aarch64_ntt_zetas_layer78 MLD_NAMESPACE(aarch64_ntt_zetas_layer78) -#define mld_aarch64_intt_zetas_layer78 \ - MLD_NAMESPACE(mld_aarch64_intt_zetas_layer78) +#define mld_aarch64_intt_zetas_layer78 MLD_NAMESPACE(aarch64_intt_zetas_layer78) #define mld_aarch64_intt_zetas_layer123456 \ - MLD_NAMESPACE(mld_aarch64_intt_zetas_layer123456) + MLD_NAMESPACE(aarch64_intt_zetas_layer123456) extern const int32_t mld_aarch64_ntt_zetas_layer123456[]; extern const int32_t mld_aarch64_ntt_zetas_layer78[]; @@ -26,9 +24,9 @@ extern const int32_t mld_aarch64_ntt_zetas_layer78[]; extern const int32_t mld_aarch64_intt_zetas_layer78[]; extern const int32_t mld_aarch64_intt_zetas_layer123456[]; -#define mld_rej_uniform_table MLD_NAMESPACE(mld_rej_uniform_table) +#define mld_rej_uniform_table MLD_NAMESPACE(rej_uniform_table) extern const uint8_t mld_rej_uniform_table[]; -#define mld_rej_uniform_eta_table MLD_NAMESPACE(mld_rej_uniform_eta_table) +#define mld_rej_uniform_eta_table MLD_NAMESPACE(rej_uniform_eta_table) extern const uint8_t mld_rej_uniform_eta_table[]; diff --git a/proofs/cbmc/Makefile_params.common b/proofs/cbmc/Makefile_params.common index 3ea21fada..4ac0f339a 100644 --- a/proofs/cbmc/Makefile_params.common +++ b/proofs/cbmc/Makefile_params.common @@ -9,14 +9,14 @@ MLD_CONFIG_PARAMETER_SET ?= 65 FIPS202_NAMESPACE = mldsa_fips202_ref_ ifeq ($(MLD_CONFIG_PARAMETER_SET),44) - MLD_NAMESPACETOP=MLD_44_ref - MLD_NAMESPACE=MLD_44_ref_ + MLD_NAMESPACETOP=PQCP_MLDSA_NATIVE_MLDSA44 + MLD_NAMESPACE=PQCP_MLDSA_NATIVE_MLDSA44_ else ifeq ($(MLD_CONFIG_PARAMETER_SET),65) - MLD_NAMESPACETOP=MLD_65_ref - MLD_NAMESPACE=MLD_65_ref_ + MLD_NAMESPACETOP=PQCP_MLDSA_NATIVE_MLDSA65 + MLD_NAMESPACE=PQCP_MLDSA_NATIVE_MLDSA65_ else ifeq ($(MLD_CONFIG_PARAMETER_SET),87) - MLD_NAMESPACETOP=MLD_87_ref - MLD_NAMESPACE=MLD_87_ref_ + MLD_NAMESPACETOP=PQCP_MLDSA_NATIVE_MLDSA87 + MLD_NAMESPACE=PQCP_MLDSA_NATIVE_MLDSA87_ else $(error Invalid value of MLD_CONFIG_PARAMETER_SET) endif diff --git a/test/break_pct_config.h b/test/break_pct_config.h index 9ce403a0c..fc99fe876 100644 --- a/test/break_pct_config.h +++ b/test/break_pct_config.h @@ -38,15 +38,16 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif @@ -257,6 +258,26 @@ static MLD_INLINE int mld_break_pct(void) *****************************************************************************/ /* #define MLD_CONFIG_NO_ASM_VALUE_BARRIER */ +/************************* Config internals ********************************/ +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA65_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif #endif /* !MLD_CONFIG_H */ diff --git a/test/custom_memcpy_config.h b/test/custom_memcpy_config.h index 055511883..b687f64bb 100644 --- a/test/custom_memcpy_config.h +++ b/test/custom_memcpy_config.h @@ -38,15 +38,16 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif @@ -347,6 +348,26 @@ static MLD_INLINE void *mld_memcpy(void *dest, const void *src, size_t n) *****************************************************************************/ /* #define MLD_CONFIG_NO_ASM_VALUE_BARRIER */ +/************************* Config internals ********************************/ +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA65_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif #endif /* !MLD_CONFIG_H */ diff --git a/test/custom_memset_config.h b/test/custom_memset_config.h index fa54abff2..e78196488 100644 --- a/test/custom_memset_config.h +++ b/test/custom_memset_config.h @@ -38,15 +38,16 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif @@ -346,6 +347,26 @@ static MLD_INLINE void *mld_memset(void *s, int c, size_t n) *****************************************************************************/ /* #define MLD_CONFIG_NO_ASM_VALUE_BARRIER */ +/************************* Config internals ********************************/ +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA65_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif #endif /* !MLD_CONFIG_H */ diff --git a/test/custom_randombytes_config.h b/test/custom_randombytes_config.h index 99b15809f..212ae1108 100644 --- a/test/custom_randombytes_config.h +++ b/test/custom_randombytes_config.h @@ -38,15 +38,16 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif @@ -321,4 +322,25 @@ static MLD_INLINE void mld_randombytes(uint8_t *ptr, size_t len) +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA65_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif #endif /* !MLD_CONFIG_H */ diff --git a/test/custom_stdlib_config.h b/test/custom_stdlib_config.h index 6f3ce526c..c1eca49f8 100644 --- a/test/custom_stdlib_config.h +++ b/test/custom_stdlib_config.h @@ -38,15 +38,16 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif @@ -355,4 +356,25 @@ static MLD_INLINE void *mld_memset(void *s, int c, size_t n) +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA65_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif #endif /* !MLD_CONFIG_H */ diff --git a/test/custom_zeroize_config.h b/test/custom_zeroize_config.h index d86b934db..ee1356431 100644 --- a/test/custom_zeroize_config.h +++ b/test/custom_zeroize_config.h @@ -38,15 +38,16 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif @@ -255,4 +256,25 @@ static MLD_INLINE void mld_zeroize_native(void *ptr, size_t len) +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA65_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif #endif /* !MLD_CONFIG_H */ diff --git a/test/no_asm_config.h b/test/no_asm_config.h index ace021df9..745db959e 100644 --- a/test/no_asm_config.h +++ b/test/no_asm_config.h @@ -38,15 +38,16 @@ 44 /* Change this for different security strengths */ #endif -#if MLD_CONFIG_PARAMETER_SET == 44 -#define MLD_NAMESPACETOP MLD_44_ref -#define MLD_NAMESPACE(s) MLD_44_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 65 -#define MLD_NAMESPACETOP MLD_65_ref -#define MLD_NAMESPACE(s) MLD_65_ref_##s -#elif MLD_CONFIG_PARAMETER_SET == 87 -#define MLD_NAMESPACETOP MLD_87_ref -#define MLD_NAMESPACE(s) MLD_87_ref_##s +/****************************************************************************** + * Name: MLD_CONFIG_NAMESPACE_PREFIX + * + * Description: The prefix to use to namespace global symbols from mldsa/. + * + * This can also be set using CFLAGS. + * + *****************************************************************************/ +#if !defined(MLD_CONFIG_NAMESPACE_PREFIX) +#define MLD_CONFIG_NAMESPACE_PREFIX MLD_DEFAULT_NAMESPACE_PREFIX #endif @@ -223,4 +224,26 @@ static MLD_INLINE void mld_zeroize_native(void *ptr, size_t len) #define MLD_CONFIG_NO_ASM + +/************************* Config internals ********************************/ + +/* Default namespace + * + * Don't change this. If you need a different namespace, re-define + * MLD_CONFIG_NAMESPACE_PREFIX above instead, and remove the following. + * + * The default MLDSA namespace is + * + * PQCP_MLDSA_NATIVE_MLDSA_ + * + * e.g., PQCP_MLDSA_NATIVE_MLDSA65_ + */ + +#if MLD_CONFIG_PARAMETER_SET == 44 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA44 +#elif MLD_CONFIG_PARAMETER_SET == 65 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA65 +#elif MLD_CONFIG_PARAMETER_SET == 87 +#define MLD_DEFAULT_NAMESPACE_PREFIX PQCP_MLDSA_NATIVE_MLDSA87 +#endif #endif /* !MLD_CONFIG_H */