Skip to content
Merged
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
43 changes: 34 additions & 9 deletions integration/liboqs/config_aarch64.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

/******************************************************************************
Expand Down Expand Up @@ -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<LEVEL>_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 */
43 changes: 34 additions & 9 deletions integration/liboqs/config_c.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

/******************************************************************************
Expand Down Expand Up @@ -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<LEVEL>_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 */
43 changes: 34 additions & 9 deletions integration/liboqs/config_x86_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

/******************************************************************************
Expand Down Expand Up @@ -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<LEVEL>_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 */
17 changes: 14 additions & 3 deletions mldsa/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down
42 changes: 32 additions & 10 deletions mldsa/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*
Expand Down Expand Up @@ -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<LEVEL>_
*
* 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 */
14 changes: 6 additions & 8 deletions mldsa/native/aarch64/src/arith_native_aarch64.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,22 @@
#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[];

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[];


Expand Down
12 changes: 6 additions & 6 deletions proofs/cbmc/Makefile_params.common
Original file line number Diff line number Diff line change
Expand Up @@ -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
39 changes: 30 additions & 9 deletions test/break_pct_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand Down Expand Up @@ -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<LEVEL>_
*
* 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 */
Loading