summaryrefslogtreecommitdiff
path: root/lib/liboqs/include
diff options
context:
space:
mode:
Diffstat (limited to 'lib/liboqs/include')
-rw-r--r--lib/liboqs/include/Makefile49
-rw-r--r--lib/liboqs/include/config.mk13
-rw-r--r--lib/liboqs/include/exports.gyp40
-rw-r--r--lib/liboqs/include/manifest.mn31
-rw-r--r--lib/liboqs/include/oqs/aes.h151
-rw-r--r--lib/liboqs/include/oqs/common.h217
-rw-r--r--lib/liboqs/include/oqs/kem.h291
-rw-r--r--lib/liboqs/include/oqs/kem_kyber.h75
-rw-r--r--lib/liboqs/include/oqs/oqs.h25
-rw-r--r--lib/liboqs/include/oqs/oqsconfig.h215
-rw-r--r--lib/liboqs/include/oqs/rand.h73
-rw-r--r--lib/liboqs/include/oqs/sha2.h257
-rw-r--r--lib/liboqs/include/oqs/sha3.h429
-rw-r--r--lib/liboqs/include/oqs/sha3x4.h263
-rw-r--r--lib/liboqs/include/oqs/sig.h310
-rw-r--r--lib/liboqs/include/oqs/sig_dilithium.h74
-rw-r--r--lib/liboqs/include/oqs/sig_falcon.h30
-rw-r--r--lib/liboqs/include/oqs/sig_sphincs.h404
18 files changed, 0 insertions, 2947 deletions
diff --git a/lib/liboqs/include/Makefile b/lib/liboqs/include/Makefile
deleted file mode 100644
index fe090f3ff..000000000
--- a/lib/liboqs/include/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-#! gmake
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-#######################################################################
-# (1) Include initial platform-independent assignments (MANDATORY). #
-#######################################################################
-
-include manifest.mn
-
-#######################################################################
-# (2) Include "global" configuration information. (OPTIONAL) #
-#######################################################################
-
-USE_GCOV =
-include $(CORE_DEPTH)/coreconf/config.mk
-
-#######################################################################
-# (3) Include "component" configuration information. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (4) Include "local" platform-dependent assignments (OPTIONAL). #
-#######################################################################
-
-include config.mk
-
-#######################################################################
-# (5) Execute "global" rules. (OPTIONAL) #
-#######################################################################
-
-include $(CORE_DEPTH)/coreconf/rules.mk
-
-#######################################################################
-# (6) Execute "component" rules. (OPTIONAL) #
-#######################################################################
-
-
-
-#######################################################################
-# (7) Execute "local" rules. (OPTIONAL). #
-#######################################################################
-
-WARNING_CFLAGS = $(NULL)
-
diff --git a/lib/liboqs/include/config.mk b/lib/liboqs/include/config.mk
deleted file mode 100644
index 7f401d2a9..000000000
--- a/lib/liboqs/include/config.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# DO NOT EDIT: generated from config.mk.include.template
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-# this controls where the headers are written to, liboqs
-# reuses names like crazy and some of the internal headers
-# match the liboqs external header names. liboqs distinguishes
-# this by and explicit oqs/ in the name, so copy the headers
-# to our module/oqs
-SOURCE_XPPRIVATE_DIR = $(SOURCE_XP_DIR)/private/$(MODULE)/oqs
-
diff --git a/lib/liboqs/include/exports.gyp b/lib/liboqs/include/exports.gyp
deleted file mode 100644
index bdc307ad5..000000000
--- a/lib/liboqs/include/exports.gyp
+++ /dev/null
@@ -1,40 +0,0 @@
-# DO NOT EDIT: generated from exports.gyp.template
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-{
- 'includes': [
- '../../../coreconf/config.gypi'
- ],
- 'targets': [
- {
- 'target_name': 'lib_oqs_include_exports',
- 'type': 'none',
- 'copies': [
- {
- 'files': [
- './oqs/oqs.h',
- './oqs/common.h',
- './oqs/rand.h',
- './oqs/aes.h',
- './oqs/sha2.h',
- './oqs/sha3.h',
- './oqs/sha3x4.h',
- './oqs/kem.h',
- './oqs/sig.h',
- './oqs/kem_kyber.h',
- './oqs/sig_dilithium.h',
- './oqs/sig_falcon.h',
- './oqs/sig_sphincs.h',
- './oqs/oqsconfig.h',
- ],
- 'destination': '<(nss_private_dist_dir)/<(module)/oqs'
- }
- ]
- }
- ],
- 'variables': {
- 'module': 'oqs'
- }
-}
-
diff --git a/lib/liboqs/include/manifest.mn b/lib/liboqs/include/manifest.mn
deleted file mode 100644
index 402cd3b86..000000000
--- a/lib/liboqs/include/manifest.mn
+++ /dev/null
@@ -1,31 +0,0 @@
-# DO NOT EDIT: generated from manifest.mn.include.template
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-CORE_DEPTH = ../../..
-
-MODULE = oqs
-
-#LIBRARY_NAME = oqs_include
-#SHARED_LIBRARY = $(NULL)
-
-PRIVATE_EXPORTS= \
- ./oqs/oqs.h \
- ./oqs/common.h \
- ./oqs/rand.h \
- ./oqs/aes.h \
- ./oqs/sha2.h \
- ./oqs/sha3.h \
- ./oqs/sha3x4.h \
- ./oqs/kem.h \
- ./oqs/sig.h \
- ./oqs/kem_kyber.h \
- ./oqs/sig_dilithium.h \
- ./oqs/sig_falcon.h \
- ./oqs/sig_sphincs.h \
- ./oqs/oqsconfig.h \
- $(NULL)
-
-# This part of the code, including all sub-dirs, can be optimized for size
-export ALLOW_OPT_CODE_SIZE = 1
diff --git a/lib/liboqs/include/oqs/aes.h b/lib/liboqs/include/oqs/aes.h
deleted file mode 100644
index ce0cb3616..000000000
--- a/lib/liboqs/include/oqs/aes.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * \file aes.h
- * \brief Header defining the API for OQS AES
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_AES_H
-#define OQS_AES_H
-
-#include <stdint.h>
-#include <stdlib.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/**
- * Function to fill a key schedule given an initial key for use in ECB mode.
- *
- * @param key Initial Key.
- * @param ctx Abstract data structure for a key schedule.
- */
-void OQS_AES128_ECB_load_schedule(const uint8_t *key, void **ctx);
-
-/**
- * Function to free a key schedule.
- *
- * @param ctx Context generated with OQS_AES128_ECB_load_schedule().
- */
-void OQS_AES128_free_schedule(void *ctx);
-
-/**
- * Function to encrypt blocks of plaintext using ECB mode.
- * A schedule based on the key is generated and used internally.
- *
- * @param plaintext Plaintext to be encrypted.
- * @param plaintext_len Length on the plaintext in bytes. Must be a multiple of 16.
- * @param key Key to be used for encryption.
- * @param ciphertext Pointer to a block of memory which >= in size to the plaintext block. The result will be written here.
- * @warning plaintext_len must be a multiple of 16.
- */
-void OQS_AES128_ECB_enc(const uint8_t *plaintext, const size_t plaintext_len, const uint8_t *key, uint8_t *ciphertext);
-
-/**
- * Same as OQS_AES128_ECB_enc() except a schedule generated by
- * OQS_AES128_ECB_load_schedule() is passed rather then a key. This is faster
- * if the same schedule is used for multiple encryptions since it does
- * not have to be regenerated from the key.
- */
-void OQS_AES128_ECB_enc_sch(const uint8_t *plaintext, const size_t plaintext_len, const void *schedule, uint8_t *ciphertext);
-
-/**
- * Function to fill a key schedule given an initial key for use in ECB mode encryption.
- *
- * @param key Initial Key.
- * @param ctx Abstract data structure for a key schedule.
- */
-void OQS_AES256_ECB_load_schedule(const uint8_t *key, void **ctx);
-
-/**
- * Function to initialize a context and fill a key schedule given an initial key for
- * use in CTR mode.
- *
- * @param key Initial Key.
- * @param ctx Abstract data structure for a key schedule.
- */
-void OQS_AES256_CTR_inc_init(const uint8_t *key, void **ctx);
-
-/**
- * Function to fill a context given an IV for use in CTR mode.
- *
- * Handles a 12- or 16-byte IV. If a 12-byte IV is given, then 4 counter
- * bytes are initialized to all zeros.
- *
- * @param iv Initialization Vector.
- * @param iv_len Length of the initialization vector.
- * @param ctx Abstract data structure for IV.
- */
-void OQS_AES256_CTR_inc_iv(const uint8_t *iv, size_t iv_len, void *ctx);
-
-/**
- * Function to fill a context given an IV for use in CTR mode.
- * Handles an 8-byte IV passed as a 64-bit unsigned integer,
- * counter bytes are initialized to zero.
- *
- * @param iv Initialization Vector as 64-bit integer.
- * @param ctx Abstract data structure for IV.
- */
-void OQS_AES256_CTR_inc_ivu64(uint64_t iv, void *ctx);
-
-/**
- * Function to free a key schedule.
- *
- * @param ctx Schedule generated with OQS_AES256_ECB_load_schedule
- * or OQS_AES256_CTR_inc_init.
- */
-void OQS_AES256_free_schedule(void *ctx);
-
-/**
- * Function to encrypt blocks of plaintext using ECB mode.
- * A schedule based on the key is generated and used internally.
- *
- * @param plaintext Plaintext to be encrypted.
- * @param plaintext_len Length on the plaintext in bytes. Must be a multiple of 16.
- * @param key Key to be used for encryption.
- * @param ciphertext Pointer to a block of memory which >= in size to the plaintext block. The result will be written here.
- * @warning plaintext_len must be a multiple of 16.
- */
-void OQS_AES256_ECB_enc(const uint8_t *plaintext, const size_t plaintext_len, const uint8_t *key, uint8_t *ciphertext);
-
-/**
- * Same as OQS_AES256_ECB_enc() except a schedule generated by
- * OQS_AES256_ECB_load_schedule() is passed rather then a key. This is faster
- * if the same schedule is used for multiple encryptions since it does
- * not have to be regenerated from the key.
- */
-void OQS_AES256_ECB_enc_sch(const uint8_t *plaintext, const size_t plaintext_len, const void *schedule, uint8_t *ciphertext);
-
-/**
- * AES counter mode keystream generator. A context generated by
- * OQS_AES256_CTR_inc_init() is passed rather then a key.
- *
- * Handles a 12- or 16-byte IV. If a 12-byte IV is given, then 4 counter
- * bytes are initialized to all zeros.
- *
- * @param iv 12- or 16-byte initialization vector.
- * @param iv_len Lengh of IV in bytes.
- * @param ctx Abstract data structure for a key schedule.
- * @param out Pointer to a block of memory which is big enough to contain out_len bytes; the result will be written here.
- * @param out_len Length of output bytes to generate.
- */
-void OQS_AES256_CTR_inc_stream_iv(const uint8_t *iv, size_t iv_len, const void *ctx, uint8_t *out, size_t out_len);
-
-/**
- * AES counter mode keystream generator. A context generated by
- * OQS_AES256_CTR_inc_init() and OQS_AES256_CTR_inc_iv() is passed
- * rather than a key and an IV. The counter is internally updated, which allows
- * the function to be called multiple times.
- *
- * @param ctx Abstract data structure for key schedule and IV.
- * @param out Pointer to a block of memory which is big enough to contain out_blks*16 bytes; the result will be written here.
- * @param out_blks Length of output blocks to generate, where one block is 16 bytes.
- */
-void OQS_AES256_CTR_inc_stream_blks(void *ctx, uint8_t *out, size_t out_blks);
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_AES_H
diff --git a/lib/liboqs/include/oqs/common.h b/lib/liboqs/include/oqs/common.h
deleted file mode 100644
index a06064fea..000000000
--- a/lib/liboqs/include/oqs/common.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/**
- * \file common.h
- * \brief Utility functions for use in liboqs.
- *
- * SPDX-License-Identifier: MIT
- */
-
-
-#ifndef OQS_COMMON_H
-#define OQS_COMMON_H
-
-#include <limits.h>
-#include <stdint.h>
-#include <stdlib.h>
-
-#include <oqs/oqsconfig.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/**
- * Macro for terminating the program if x is
- * a null pointer.
- */
-#define OQS_EXIT_IF_NULLPTR(x) \
- do { \
- if ( (x) == (void*)0 ) \
- exit(EXIT_FAILURE); \
- } while (0)
-
-/**
- * This macro is intended to replace those assert()s
- * involving side-effecting statements in aes/aes_ossl.c.
- *
- * assert() becomes a no-op when -DNDEBUG is defined,
- * which causes compilation failures when the statement
- * being checked also results in side-effects.
- *
- * This is a temporary workaround until a better error
- * handling strategy is developed.
- */
-#define OQS_OPENSSL_GUARD(x) \
- do { \
- if( 1 != (x) ) { \
- exit(EXIT_FAILURE); \
- } \
- } while (0)
-
-/**
- * Certain functions (such as OQS_randombytes_openssl in
- * src/rand/rand.c) take in a size_t parameter, but can
- * only handle values up to INT_MAX for those parameters.
- * This macro is a temporary workaround for such functions.
- */
-#define SIZE_T_TO_INT_OR_EXIT(size_t_var_name, int_var_name) \
- int int_var_name = 0; \
- if (size_t_var_name <= INT_MAX) { \
- int_var_name = (int)size_t_var_name; \
- } else { \
- exit(EXIT_FAILURE); \
- }
-
-/**
- * Defines which functions should be exposed outside the LibOQS library
- *
- * By default the visibility of all the symbols is defined to "hidden"
- * Only the library API should be marked as default
- *
- * Example: OQS_API return_value function_name(void);
- */
-#if defined(_WIN32)
-#define OQS_API __declspec(dllexport)
-#else
-#define OQS_API __attribute__((visibility("default")))
-#endif
-
-#if defined(OQS_SYS_UEFI)
-#undef OQS_API
-#define OQS_API
-#endif
-
-/**
- * Represents return values from functions.
- *
- * Callers should compare with the symbol rather than the individual value.
- * For example,
- *
- * ret = OQS_KEM_encaps(...);
- * if (ret == OQS_SUCCESS) { ... }
- *
- * rather than
- *
- * if (!OQS_KEM_encaps(...) { ... }
- *
- */
-typedef enum {
- /** Used to indicate that some undefined error occurred. */
- OQS_ERROR = -1,
- /** Used to indicate successful return from function. */
- OQS_SUCCESS = 0,
- /** Used to indicate failures in external libraries (e.g., OpenSSL). */
- OQS_EXTERNAL_LIB_ERROR_OPENSSL = 50,
-} OQS_STATUS;
-
-/**
- * CPU runtime detection flags
- */
-typedef enum {
- OQS_CPU_EXT_INIT, /* Must be first */
- /* Start extension list */
- OQS_CPU_EXT_ADX,
- OQS_CPU_EXT_AES,
- OQS_CPU_EXT_AVX,
- OQS_CPU_EXT_AVX2,
- OQS_CPU_EXT_AVX512,
- OQS_CPU_EXT_BMI1,
- OQS_CPU_EXT_BMI2,
- OQS_CPU_EXT_PCLMULQDQ,
- OQS_CPU_EXT_VPCLMULQDQ,
- OQS_CPU_EXT_POPCNT,
- OQS_CPU_EXT_SSE,
- OQS_CPU_EXT_SSE2,
- OQS_CPU_EXT_SSE3,
- OQS_CPU_EXT_ARM_AES,
- OQS_CPU_EXT_ARM_SHA2,
- OQS_CPU_EXT_ARM_SHA3,
- OQS_CPU_EXT_ARM_NEON,
- /* End extension list */
- OQS_CPU_EXT_COUNT, /* Must be last */
-} OQS_CPU_EXT;
-
-/**
- * Checks if the CPU supports a given extension
- *
- * \return 1 if the given CPU extension is available, 0 otherwise.
- */
-OQS_API int OQS_CPU_has_extension(OQS_CPU_EXT ext);
-
-/**
- * This currently only sets the values in the OQS_CPU_EXTENSIONS,
- * and so has effect only when OQS_DIST_BUILD is set.
- */
-OQS_API void OQS_init(void);
-
-/**
- * Return library version string.
- */
-OQS_API const char *OQS_version(void);
-
-/**
- * Constant time comparison of byte sequences `a` and `b` of length `len`.
- * Returns 0 if the byte sequences are equal or if `len`=0.
- * Returns 1 otherwise.
- *
- * @param[in] a A byte sequence of length at least `len`.
- * @param[in] b A byte sequence of length at least `len`.
- * @param[in] len The number of bytes to compare.
- */
-OQS_API int OQS_MEM_secure_bcmp(const void *a, const void *b, size_t len);
-
-/**
- * Zeros out `len` bytes of memory starting at `ptr`.
- *
- * Designed to be protected against optimizing compilers which try to remove
- * "unnecessary" operations. Should be used for all buffers containing secret
- * data.
- *
- * @param[in] ptr The start of the memory to zero out.
- * @param[in] len The number of bytes to zero out.
- */
-OQS_API void OQS_MEM_cleanse(void *ptr, size_t len);
-
-/**
- * Zeros out `len` bytes of memory starting at `ptr`, then frees `ptr`.
- *
- * Can be called with `ptr = NULL`, in which case no operation is performed.
- *
- * Designed to be protected against optimizing compilers which try to remove
- * "unnecessary" operations. Should be used for all buffers containing secret
- * data.
- *
- * @param[in] ptr The start of the memory to zero out and free.
- * @param[in] len The number of bytes to zero out.
- */
-OQS_API void OQS_MEM_secure_free(void *ptr, size_t len);
-
-/**
- * Frees `ptr`.
- *
- * Can be called with `ptr = NULL`, in which case no operation is performed.
- *
- * Should only be used on non-secret data.
- *
- * @param[in] ptr The start of the memory to free.
- */
-OQS_API void OQS_MEM_insecure_free(void *ptr);
-
-/**
- * Internal implementation of C11 aligned_alloc to work around compiler quirks.
- *
- * Allocates size bytes of uninitialized memory with a base pointer that is
- * a multiple of alignment. Alignment must be a power of two and a multiple
- * of sizeof(void *). Size must be a multiple of alignment.
- */
-void *OQS_MEM_aligned_alloc(size_t alignment, size_t size);
-
-/**
- * Free memory allocated with OQS_MEM_aligned_alloc.
- */
-void OQS_MEM_aligned_free(void *ptr);
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_COMMON_H
diff --git a/lib/liboqs/include/oqs/kem.h b/lib/liboqs/include/oqs/kem.h
deleted file mode 100644
index 2b28851f9..000000000
--- a/lib/liboqs/include/oqs/kem.h
+++ /dev/null
@@ -1,291 +0,0 @@
-/**
- * \file kem.h
- * \brief Key encapsulation mechanisms
- *
- * The file `tests/example_kem.c` contains two examples on using the OQS_KEM API.
- *
- * The first example uses the individual scheme's algorithms directly and uses
- * no dynamic memory allocation -- all buffers are allocated on the stack, with
- * sizes indicated using preprocessor macros. Since algorithms can be disabled at
- * compile-time, the programmer should wrap the code in \#ifdefs.
- *
- * The second example uses an OQS_KEM object to use an algorithm specified at
- * runtime. Therefore it uses dynamic memory allocation -- all buffers must be
- * malloc'ed by the programmer, with sizes indicated using the corresponding length
- * member of the OQS_KEM object in question. Since algorithms can be disabled at
- * compile-time, the programmer should check that the OQS_KEM object is not `NULL`.
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_KEM_H
-#define OQS_KEM_H
-
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdint.h>
-
-#include <oqs/oqs.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/** Algorithm identifier for BIKE-L1 KEM (Round-4). */
-#define OQS_KEM_alg_bike_l1 "BIKE-L1"
-/** Algorithm identifier for BIKE-L3 KEM (Round-4). */
-#define OQS_KEM_alg_bike_l3 "BIKE-L3"
-/** Algorithm identifier for BIKE-L5 KEM (Round-4). */
-#define OQS_KEM_alg_bike_l5 "BIKE-L5"
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALG_IDENTIFIER_START
-/** Algorithm identifier for Classic-McEliece-348864 KEM. */
-#define OQS_KEM_alg_classic_mceliece_348864 "Classic-McEliece-348864"
-/** Algorithm identifier for Classic-McEliece-348864f KEM. */
-#define OQS_KEM_alg_classic_mceliece_348864f "Classic-McEliece-348864f"
-/** Algorithm identifier for Classic-McEliece-460896 KEM. */
-#define OQS_KEM_alg_classic_mceliece_460896 "Classic-McEliece-460896"
-/** Algorithm identifier for Classic-McEliece-460896f KEM. */
-#define OQS_KEM_alg_classic_mceliece_460896f "Classic-McEliece-460896f"
-/** Algorithm identifier for Classic-McEliece-6688128 KEM. */
-#define OQS_KEM_alg_classic_mceliece_6688128 "Classic-McEliece-6688128"
-/** Algorithm identifier for Classic-McEliece-6688128f KEM. */
-#define OQS_KEM_alg_classic_mceliece_6688128f "Classic-McEliece-6688128f"
-/** Algorithm identifier for Classic-McEliece-6960119 KEM. */
-#define OQS_KEM_alg_classic_mceliece_6960119 "Classic-McEliece-6960119"
-/** Algorithm identifier for Classic-McEliece-6960119f KEM. */
-#define OQS_KEM_alg_classic_mceliece_6960119f "Classic-McEliece-6960119f"
-/** Algorithm identifier for Classic-McEliece-8192128 KEM. */
-#define OQS_KEM_alg_classic_mceliece_8192128 "Classic-McEliece-8192128"
-/** Algorithm identifier for Classic-McEliece-8192128f KEM. */
-#define OQS_KEM_alg_classic_mceliece_8192128f "Classic-McEliece-8192128f"
-/** Algorithm identifier for HQC-128 KEM. */
-#define OQS_KEM_alg_hqc_128 "HQC-128"
-/** Algorithm identifier for HQC-192 KEM. */
-#define OQS_KEM_alg_hqc_192 "HQC-192"
-/** Algorithm identifier for HQC-256 KEM. */
-#define OQS_KEM_alg_hqc_256 "HQC-256"
-/** Algorithm identifier for Kyber512 KEM. */
-#define OQS_KEM_alg_kyber_512 "Kyber512"
-/** Algorithm identifier for Kyber768 KEM. */
-#define OQS_KEM_alg_kyber_768 "Kyber768"
-/** Algorithm identifier for Kyber1024 KEM. */
-#define OQS_KEM_alg_kyber_1024 "Kyber1024"
-/** Algorithm identifier for Kyber512-90s KEM. */
-#define OQS_KEM_alg_kyber_512_90s "Kyber512-90s"
-/** Algorithm identifier for Kyber768-90s KEM. */
-#define OQS_KEM_alg_kyber_768_90s "Kyber768-90s"
-/** Algorithm identifier for Kyber1024-90s KEM. */
-#define OQS_KEM_alg_kyber_1024_90s "Kyber1024-90s"
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALG_IDENTIFIER_END
-/** Algorithm identifier for sntrup761 KEM. */
-#define OQS_KEM_alg_ntruprime_sntrup761 "sntrup761"
-/** Algorithm identifier for FrodoKEM-640-AES KEM. */
-#define OQS_KEM_alg_frodokem_640_aes "FrodoKEM-640-AES"
-/** Algorithm identifier for FrodoKEM-640-SHAKE KEM. */
-#define OQS_KEM_alg_frodokem_640_shake "FrodoKEM-640-SHAKE"
-/** Algorithm identifier for FrodoKEM-976-AES KEM. */
-#define OQS_KEM_alg_frodokem_976_aes "FrodoKEM-976-AES"
-/** Algorithm identifier for FrodoKEM-976-SHAKE KEM. */
-#define OQS_KEM_alg_frodokem_976_shake "FrodoKEM-976-SHAKE"
-/** Algorithm identifier for FrodoKEM-1344-AES KEM. */
-#define OQS_KEM_alg_frodokem_1344_aes "FrodoKEM-1344-AES"
-/** Algorithm identifier for FrodoKEM-1344-SHAKE KEM. */
-#define OQS_KEM_alg_frodokem_1344_shake "FrodoKEM-1344-SHAKE"
-// EDIT-WHEN-ADDING-KEM
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALGS_LENGTH_START
-/** Number of algorithm identifiers above. */
-#define OQS_KEM_algs_length 29
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALGS_LENGTH_END
-
-/**
- * Returns identifiers for available key encapsulation mechanisms in liboqs. Used with OQS_KEM_new.
- *
- * Note that algorithm identifiers are present in this list even when the algorithm is disabled
- * at compile time.
- *
- * @param[in] i Index of the algorithm identifier to return, 0 <= i < OQS_KEM_algs_length
- * @return Algorithm identifier as a string, or NULL.
- */
-OQS_API const char *OQS_KEM_alg_identifier(size_t i);
-
-/**
- * Returns the number of key encapsulation mechanisms in liboqs. They can be enumerated with
- * OQS_KEM_alg_identifier.
- *
- * Note that some mechanisms may be disabled at compile time.
- *
- * @return The number of key encapsulation mechanisms.
- */
-OQS_API int OQS_KEM_alg_count(void);
-
-/**
- * Indicates whether the specified algorithm was enabled at compile-time or not.
- *
- * @param[in] method_name Name of the desired algorithm; one of the names in `OQS_KEM_algs`.
- * @return 1 if enabled, 0 if disabled or not found
- */
-OQS_API int OQS_KEM_alg_is_enabled(const char *method_name);
-
-/**
- * Key encapsulation mechanism object
- */
-typedef struct OQS_KEM {
-
- /** Printable string representing the name of the key encapsulation mechanism. */
- const char *method_name;
-
- /**
- * Printable string representing the version of the cryptographic algorithm.
- *
- * Implementations with the same method_name and same alg_version will be interoperable.
- * See README.md for information about algorithm compatibility.
- */
- const char *alg_version;
-
- /** The NIST security level (1, 2, 3, 4, 5) claimed in this algorithm's original NIST submission. */
- uint8_t claimed_nist_level;
-
- /** Whether the KEM offers IND-CCA security (TRUE) or IND-CPA security (FALSE). */
- bool ind_cca;
-
- /** The (maximum) length, in bytes, of public keys for this KEM. */
- size_t length_public_key;
- /** The (maximum) length, in bytes, of secret keys for this KEM. */
- size_t length_secret_key;
- /** The (maximum) length, in bytes, of ciphertexts for this KEM. */
- size_t length_ciphertext;
- /** The (maximum) length, in bytes, of shared secrets for this KEM. */
- size_t length_shared_secret;
-
- /**
- * Keypair generation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `public_key` and
- * `secret_key`, based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_KEM_*_length_*`.
- *
- * @param[out] public_key The public key represented as a byte string.
- * @param[out] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
- OQS_STATUS (*keypair)(uint8_t *public_key, uint8_t *secret_key);
-
- /**
- * Encapsulation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `ciphertext` and
- * `shared_secret`, based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_KEM_*_length_*`.
- *
- * @param[out] ciphertext The ciphertext (encapsulation) represented as a byte string.
- * @param[out] shared_secret The shared secret represented as a byte string.
- * @param[in] public_key The public key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
- OQS_STATUS (*encaps)(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-
- /**
- * Decapsulation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `shared_secret`, based
- * on the `length_*` members in this object or the per-scheme compile-time macros
- * `OQS_KEM_*_length_*`.
- *
- * @param[out] shared_secret The shared secret represented as a byte string.
- * @param[in] ciphertext The ciphertext (encapsulation) represented as a byte string.
- * @param[in] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
- OQS_STATUS (*decaps)(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-
-} OQS_KEM;
-
-/**
- * Constructs an OQS_KEM object for a particular algorithm.
- *
- * Callers should always check whether the return value is `NULL`, which indicates either than an
- * invalid algorithm name was provided, or that the requested algorithm was disabled at compile-time.
- *
- * @param[in] method_name Name of the desired algorithm; one of the names in `OQS_KEM_algs`.
- * @return An OQS_KEM for the particular algorithm, or `NULL` if the algorithm has been disabled at compile-time.
- */
-OQS_API OQS_KEM *OQS_KEM_new(const char *method_name);
-
-/**
- * Keypair generation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `public_key` and
- * `secret_key`, based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_KEM_*_length_*`.
- *
- * @param[in] kem The OQS_KEM object representing the KEM.
- * @param[out] public_key The public key represented as a byte string.
- * @param[out] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
-OQS_API OQS_STATUS OQS_KEM_keypair(const OQS_KEM *kem, uint8_t *public_key, uint8_t *secret_key);
-
-/**
- * Encapsulation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `ciphertext` and
- * `shared_secret`, based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_KEM_*_length_*`.
- *
- * @param[in] kem The OQS_KEM object representing the KEM.
- * @param[out] ciphertext The ciphertext (encapsulation) represented as a byte string.
- * @param[out] shared_secret The shared secret represented as a byte string.
- * @param[in] public_key The public key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
-OQS_API OQS_STATUS OQS_KEM_encaps(const OQS_KEM *kem, uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-
-/**
- * Decapsulation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `shared_secret`, based
- * on the `length_*` members in this object or the per-scheme compile-time macros
- * `OQS_KEM_*_length_*`.
- *
- * @param[in] kem The OQS_KEM object representing the KEM.
- * @param[out] shared_secret The shared secret represented as a byte string.
- * @param[in] ciphertext The ciphertext (encapsulation) represented as a byte string.
- * @param[in] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
-OQS_API OQS_STATUS OQS_KEM_decaps(const OQS_KEM *kem, uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-
-/**
- * Frees an OQS_KEM object that was constructed by OQS_KEM_new.
- *
- * @param[in] kem The OQS_KEM object to free.
- */
-OQS_API void OQS_KEM_free(OQS_KEM *kem);
-
-#ifdef OQS_ENABLE_KEM_BIKE
-#include <oqs/kem_bike.h>
-#endif /* OQS_ENABLE_KEM_BIKE */
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_INCLUDE_START
-#ifdef OQS_ENABLE_KEM_CLASSIC_MCELIECE
-#include <oqs/kem_classic_mceliece.h>
-#endif /* OQS_ENABLE_KEM_CLASSIC_MCELIECE */
-#ifdef OQS_ENABLE_KEM_HQC
-#include <oqs/kem_hqc.h>
-#endif /* OQS_ENABLE_KEM_HQC */
-#ifdef OQS_ENABLE_KEM_KYBER
-#include <oqs/kem_kyber.h>
-#endif /* OQS_ENABLE_KEM_KYBER */
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_INCLUDE_END
-#ifdef OQS_ENABLE_KEM_NTRUPRIME
-#include <oqs/kem_ntruprime.h>
-#endif /* OQS_ENABLE_KEM_NTRUPRIME */
-#ifdef OQS_ENABLE_KEM_FRODOKEM
-#include <oqs/kem_frodokem.h>
-#endif /* OQS_ENABLE_KEM_FRODOKEM */
-// EDIT-WHEN-ADDING-KEM
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_KEM_H
diff --git a/lib/liboqs/include/oqs/kem_kyber.h b/lib/liboqs/include/oqs/kem_kyber.h
deleted file mode 100644
index 1fdbf95cc..000000000
--- a/lib/liboqs/include/oqs/kem_kyber.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_KYBER_H
-#define OQS_KEM_KYBER_H
-
-#include <oqs/oqs.h>
-
-#ifdef OQS_ENABLE_KEM_kyber_512
-#define OQS_KEM_kyber_512_length_public_key 800
-#define OQS_KEM_kyber_512_length_secret_key 1632
-#define OQS_KEM_kyber_512_length_ciphertext 768
-#define OQS_KEM_kyber_512_length_shared_secret 32
-OQS_KEM *OQS_KEM_kyber_512_new(void);
-OQS_API OQS_STATUS OQS_KEM_kyber_512_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_512_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_512_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_kyber_768
-#define OQS_KEM_kyber_768_length_public_key 1184
-#define OQS_KEM_kyber_768_length_secret_key 2400
-#define OQS_KEM_kyber_768_length_ciphertext 1088
-#define OQS_KEM_kyber_768_length_shared_secret 32
-OQS_KEM *OQS_KEM_kyber_768_new(void);
-OQS_API OQS_STATUS OQS_KEM_kyber_768_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_768_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_768_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_kyber_1024
-#define OQS_KEM_kyber_1024_length_public_key 1568
-#define OQS_KEM_kyber_1024_length_secret_key 3168
-#define OQS_KEM_kyber_1024_length_ciphertext 1568
-#define OQS_KEM_kyber_1024_length_shared_secret 32
-OQS_KEM *OQS_KEM_kyber_1024_new(void);
-OQS_API OQS_STATUS OQS_KEM_kyber_1024_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_1024_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_1024_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_kyber_512_90s
-#define OQS_KEM_kyber_512_90s_length_public_key 800
-#define OQS_KEM_kyber_512_90s_length_secret_key 1632
-#define OQS_KEM_kyber_512_90s_length_ciphertext 768
-#define OQS_KEM_kyber_512_90s_length_shared_secret 32
-OQS_KEM *OQS_KEM_kyber_512_90s_new(void);
-OQS_API OQS_STATUS OQS_KEM_kyber_512_90s_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_512_90s_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_512_90s_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_kyber_768_90s
-#define OQS_KEM_kyber_768_90s_length_public_key 1184
-#define OQS_KEM_kyber_768_90s_length_secret_key 2400
-#define OQS_KEM_kyber_768_90s_length_ciphertext 1088
-#define OQS_KEM_kyber_768_90s_length_shared_secret 32
-OQS_KEM *OQS_KEM_kyber_768_90s_new(void);
-OQS_API OQS_STATUS OQS_KEM_kyber_768_90s_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_768_90s_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_768_90s_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_kyber_1024_90s
-#define OQS_KEM_kyber_1024_90s_length_public_key 1568
-#define OQS_KEM_kyber_1024_90s_length_secret_key 3168
-#define OQS_KEM_kyber_1024_90s_length_ciphertext 1568
-#define OQS_KEM_kyber_1024_90s_length_shared_secret 32
-OQS_KEM *OQS_KEM_kyber_1024_90s_new(void);
-OQS_API OQS_STATUS OQS_KEM_kyber_1024_90s_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_1024_90s_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_kyber_1024_90s_decaps(uint8_t *shared_secret, const uint8_t *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif
-
diff --git a/lib/liboqs/include/oqs/oqs.h b/lib/liboqs/include/oqs/oqs.h
deleted file mode 100644
index 60b332142..000000000
--- a/lib/liboqs/include/oqs/oqs.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * \file oqs.h
- * \brief Overall header file for liboqs.
- *
- * C programs using liboqs can include just this one file, and it will include all
- * other necessary headers from liboqs.
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_H
-#define OQS_H
-
-#include <oqs/oqsconfig.h>
-
-#include <oqs/common.h>
-#include <oqs/aes.h>
-#include <oqs/sha2.h>
-#include <oqs/sha3.h>
-#include <oqs/sha3x4.h>
-#include <oqs/rand.h>
-#include <oqs/kem.h>
-#include <oqs/sig.h>
-
-#endif // OQS_H
diff --git a/lib/liboqs/include/oqs/oqsconfig.h b/lib/liboqs/include/oqs/oqsconfig.h
deleted file mode 100644
index ef1d062cb..000000000
--- a/lib/liboqs/include/oqs/oqsconfig.h
+++ /dev/null
@@ -1,215 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#define OQS_VERSION_TEXT "0.8.0-dev"
-#define OQS_COMPILE_BUILD_TARGET "x86_64-Linux-5.14.0-252.el9.x86_64"
-/* #undef OQS_DIST_BUILD */
-/* #undef OQS_DIST_X86_64_BUILD */
-/* #undef OQS_DIST_X86_BUILD */
-/* #undef OQS_DIST_ARM64_V8_BUILD */
-/* #undef OQS_DIST_ARM32_V7_BUILD */
-/* #undef OQS_DIST_PPC64LE_BUILD */
-/* #undef OQS_DEBUG_BUILD */
-#define ARCH_X86_64 1
-/* #undef ARCH_ARM64v8 */
-/* #undef ARCH_ARM32v7 */
-#define BUILD_SHARED_LIBS 1
-#define OQS_BUILD_ONLY_LIB 1
-#define OQS_OPT_TARGET "generic"
-/* #undef USE_SANITIZER */
-/* #undef CMAKE_BUILD_TYPE */
-
-/* #undef OQS_USE_OPENSSL */
-/* #undef OQS_USE_AES_OPENSSL */
-/* #undef OQS_USE_SHA2_OPENSSL */
-/* #undef OQS_USE_SHA3_OPENSSL */
-
-/* #undef OQS_USE_PTHREADS_IN_TESTS */
-
-/* #undef OQS_USE_ADX_INSTRUCTIONS */
-/* #undef OQS_USE_AES_INSTRUCTIONS */
-/* #undef OQS_USE_AVX_INSTRUCTIONS */
-/* #undef OQS_USE_AVX2_INSTRUCTIONS */
-/* #undef OQS_USE_AVX512_INSTRUCTIONS */
-/* #undef OQS_USE_BMI1_INSTRUCTIONS */
-/* #undef OQS_USE_BMI2_INSTRUCTIONS */
-/* #undef OQS_USE_PCLMULQDQ_INSTRUCTIONS */
-/* #undef OQS_USE_VPCLMULQDQ_INSTRUCTIONS */
-#define OQS_USE_POPCNT_INSTRUCTIONS 1
-#define OQS_USE_SSE_INSTRUCTIONS 1
-#define OQS_USE_SSE2_INSTRUCTIONS 1
-#define OQS_USE_SSE3_INSTRUCTIONS 1
-
-/* #undef OQS_USE_ARM_AES_INSTRUCTIONS */
-/* #undef OQS_USE_ARM_SHA2_INSTRUCTIONS */
-/* #undef OQS_USE_ARM_SHA3_INSTRUCTIONS */
-/* #undef OQS_USE_ARM_NEON_INSTRUCTIONS */
-
-/* #undef OQS_SPEED_USE_ARM_PMU */
-
-/* #undef OQS_ENABLE_TEST_CONSTANT_TIME */
-
-/* #undef OQS_ENABLE_SHA3_xkcp_low_avx2 */
-
-/* #undef OQS_ENABLE_KEM_BIKE */
-/* #undef OQS_ENABLE_KEM_bike_l1 */
-/* #undef OQS_ENABLE_KEM_bike_l3 */
-/* #undef OQS_ENABLE_KEM_bike_l5 */
-
-/* #undef OQS_ENABLE_KEM_FRODOKEM */
-/* #undef OQS_ENABLE_KEM_frodokem_640_aes */
-/* #undef OQS_ENABLE_KEM_frodokem_640_shake */
-/* #undef OQS_ENABLE_KEM_frodokem_976_aes */
-/* #undef OQS_ENABLE_KEM_frodokem_976_shake */
-/* #undef OQS_ENABLE_KEM_frodokem_1344_aes */
-/* #undef OQS_ENABLE_KEM_frodokem_1344_shake */
-
-/* #undef OQS_ENABLE_KEM_NTRUPRIME */
-/* #undef OQS_ENABLE_KEM_ntruprime_sntrup761 */
-/* #undef OQS_ENABLE_KEM_ntruprime_sntrup761_avx2 */
-
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ALG_ENABLE_DEFINES_START
-
-/* #undef OQS_ENABLE_KEM_CLASSIC_MCELIECE */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_348864 */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_348864_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_348864f */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_348864f_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_460896 */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_460896_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_460896f */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_460896f_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6688128 */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6688128_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6688128f */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6688128f_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6960119 */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6960119_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6960119f */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_6960119f_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_8192128 */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_8192128_avx */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_8192128f */
-/* #undef OQS_ENABLE_KEM_classic_mceliece_8192128f_avx */
-
-/* #undef OQS_ENABLE_KEM_HQC */
-/* #undef OQS_ENABLE_KEM_hqc_128 */
-/* #undef OQS_ENABLE_KEM_hqc_128_avx2 */
-/* #undef OQS_ENABLE_KEM_hqc_192 */
-/* #undef OQS_ENABLE_KEM_hqc_192_avx2 */
-/* #undef OQS_ENABLE_KEM_hqc_256 */
-/* #undef OQS_ENABLE_KEM_hqc_256_avx2 */
-
-#define OQS_ENABLE_KEM_KYBER 1
-#define OQS_ENABLE_KEM_kyber_512 1
-/* #undef OQS_ENABLE_KEM_kyber_512_avx2 */
-/* #undef OQS_ENABLE_KEM_kyber_512_aarch64 */
-#define OQS_ENABLE_KEM_kyber_768 1
-/* #undef OQS_ENABLE_KEM_kyber_768_avx2 */
-/* #undef OQS_ENABLE_KEM_kyber_768_aarch64 */
-#define OQS_ENABLE_KEM_kyber_1024 1
-/* #undef OQS_ENABLE_KEM_kyber_1024_avx2 */
-/* #undef OQS_ENABLE_KEM_kyber_1024_aarch64 */
-/* #undef OQS_ENABLE_KEM_kyber_512_90s */
-/* #undef OQS_ENABLE_KEM_kyber_512_90s_avx2 */
-/* #undef OQS_ENABLE_KEM_kyber_768_90s */
-/* #undef OQS_ENABLE_KEM_kyber_768_90s_avx2 */
-/* #undef OQS_ENABLE_KEM_kyber_1024_90s */
-/* #undef OQS_ENABLE_KEM_kyber_1024_90s_avx2 */
-
-#define OQS_ENABLE_SIG_DILITHIUM 1
-#define OQS_ENABLE_SIG_dilithium_2 1
-/* #undef OQS_ENABLE_SIG_dilithium_2_avx2 */
-/* #undef OQS_ENABLE_SIG_dilithium_2_aarch64 */
-#define OQS_ENABLE_SIG_dilithium_3 1
-/* #undef OQS_ENABLE_SIG_dilithium_3_avx2 */
-/* #undef OQS_ENABLE_SIG_dilithium_3_aarch64 */
-#define OQS_ENABLE_SIG_dilithium_5 1
-/* #undef OQS_ENABLE_SIG_dilithium_5_avx2 */
-/* #undef OQS_ENABLE_SIG_dilithium_5_aarch64 */
-/* #undef OQS_ENABLE_SIG_dilithium_2_aes */
-/* #undef OQS_ENABLE_SIG_dilithium_2_aes_avx2 */
-/* #undef OQS_ENABLE_SIG_dilithium_3_aes */
-/* #undef OQS_ENABLE_SIG_dilithium_3_aes_avx2 */
-/* #undef OQS_ENABLE_SIG_dilithium_5_aes */
-/* #undef OQS_ENABLE_SIG_dilithium_5_aes_avx2 */
-
-#define OQS_ENABLE_SIG_FALCON 1
-#define OQS_ENABLE_SIG_falcon_512 1
-/* #undef OQS_ENABLE_SIG_falcon_512_avx2 */
-#define OQS_ENABLE_SIG_falcon_1024 1
-/* #undef OQS_ENABLE_SIG_falcon_1024_avx2 */
-
-#define OQS_ENABLE_SIG_SPHINCS 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128f_robust_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128f_simple */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128f_simple_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128s_robust_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128s_simple */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128s_simple_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192f_robust_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192f_simple */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192f_simple_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192s_robust_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192s_simple */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192s_simple_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256f_robust_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256f_simple */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256f_simple_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256s_robust_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256s_simple */
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256s_simple_aesni */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_128f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_128f_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_sha256_128f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_128f_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_128s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_128s_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_sha256_128s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_128s_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_192f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_192f_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_sha256_192f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_192f_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_192s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_192s_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_sha256_192s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_192s_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_256f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_256f_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_sha256_256f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_256f_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_256s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_256s_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_sha256_256s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_sha256_256s_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_128f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_128f_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_shake256_128f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_128f_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_128s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_128s_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_shake256_128s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_128s_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_192f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_192f_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_shake256_192f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_192f_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_192s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_192s_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_shake256_192s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_192s_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_256f_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_256f_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_shake256_256f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_256f_simple_avx2 */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_256s_robust */
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_256s_robust_avx2 */
-#define OQS_ENABLE_SIG_sphincs_shake256_256s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_shake256_256s_simple_avx2 */
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ADD_ALG_ENABLE_DEFINES_END
diff --git a/lib/liboqs/include/oqs/rand.h b/lib/liboqs/include/oqs/rand.h
deleted file mode 100644
index 3499c2593..000000000
--- a/lib/liboqs/include/oqs/rand.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * \file rand.h
- * \brief Random number generator.
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_RANDOM_H
-#define OQS_RANDOM_H
-
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdint.h>
-
-#include <oqs/common.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/** Algorithm identifier for system PRNG. */
-#define OQS_RAND_alg_system "system"
-/** Algorithm identifier for NIST deterministic RNG for KATs. */
-#define OQS_RAND_alg_nist_kat "NIST-KAT"
-/** Algorithm identifier for using OpenSSL's PRNG. */
-#define OQS_RAND_alg_openssl "OpenSSL"
-
-/**
- * Switches OQS_randombytes to use the specified algorithm.
- *
- * @param[in] algorithm The name of the algorithm to use.
- * @return OQS_SUCCESS if `algorithm` is a supported algorithm name, OQS_ERROR otherwise.
- */
-OQS_API OQS_STATUS OQS_randombytes_switch_algorithm(const char *algorithm);
-
-/**
- * Switches OQS_randombytes to use the given function.
- *
- * This allows additional custom RNGs besides the provided ones. The provided RNG
- * function must have the same signature as `OQS_randombytes`.
- *
- * @param[in] algorithm_ptr Pointer to the RNG function to use.
- */
-OQS_API void OQS_randombytes_custom_algorithm(void (*algorithm_ptr)(uint8_t *, size_t));
-
-/**
- * Fills the given memory with the requested number of (pseudo)random bytes.
- *
- * This implementation uses whichever algorithm has been selected by
- * OQS_randombytes_switch_algorithm. The default is OQS_randombytes_system, which
- * reads bytes directly from `/dev/urandom`.
- *
- * The caller is responsible for providing a buffer allocated with sufficient room.
- *
- * @param[out] random_array Pointer to the memory to fill with (pseudo)random bytes
- * @param[in] bytes_to_read The number of random bytes to read into memory
- */
-OQS_API void OQS_randombytes(uint8_t *random_array, size_t bytes_to_read);
-
-/**
- * Initializes the NIST DRBG with a given seed and with 256-bit security.
- *
- * @param[in] entropy_input The seed; must be exactly 48 bytes
- * @param[in] personalization_string An optional personalization string;
- * may be NULL; if not NULL, must be at least 48 bytes long
- */
-OQS_API void OQS_randombytes_nist_kat_init_256bit(const uint8_t *entropy_input, const uint8_t *personalization_string);
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_RANDOM_H
diff --git a/lib/liboqs/include/oqs/sha2.h b/lib/liboqs/include/oqs/sha2.h
deleted file mode 100644
index 8d8973e4c..000000000
--- a/lib/liboqs/include/oqs/sha2.h
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * \file sha2.h
- * \brief SHA2 functions; not part of the OQS public API
- *
- * Contains the API and documentation for SHA2 digest implementation
- *
- * <b>Note this is not part of the OQS public API: implementations within liboqs can use these
- * functions, but external consumers of liboqs should not use these functions.</b>
- *
- * \author Douglas Stebila
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_SHA2_H
-#define OQS_SHA2_H
-
-#include <stddef.h>
-#include <stdint.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/** Data structure for the state of the SHA-224 incremental hashing API. */
-typedef struct {
- /** Internal state */
- void *ctx;
-} OQS_SHA2_sha224_ctx;
-
-/**
- * \brief Process a message with SHA-256 and return the hash code in the output byte array.
- *
- * \warning The output array must be at least 32 bytes in length.
- *
- * \param output The output byte array
- * \param input The message input byte array
- * \param inplen The number of message bytes to process
- */
-void OQS_SHA2_sha256(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the SHA-256 incremental hashing API. */
-typedef struct {
- /** Internal state */
- void *ctx;
-} OQS_SHA2_sha256_ctx;
-
-/**
- * \brief Allocate and initialize the state for the SHA-256 incremental hashing API.
- *
- * \warning The state must be released by OQS_SHA2_sha256_inc_finalize
- * or OQS_SHA2_sha256_inc_ctx_release.
- *
- * \param state Pointer to the state
- */
-void OQS_SHA2_sha256_inc_init(OQS_SHA2_sha256_ctx *state);
-
-/**
- * \brief Duplicate state for the SHA-256 incremental hashing API.
- *
- * \warning dest must be allocated by the caller. Caller is responsible
- * for releasing dest by calling either OQS_SHA3_sha3_256_inc_finalize or
- * OQS_SHA3_sha3_256_inc_ctx_release.
- *
- * \param dest The function state to copy into; must be initialized
- * \param src The function state to copy; must be initialized
- */
-void OQS_SHA2_sha256_inc_ctx_clone(OQS_SHA2_sha256_ctx *dest, const OQS_SHA2_sha256_ctx *src);
-
-/**
- * \brief Process blocks with SHA-256 and update the state.
- *
- * \warning The state must be initialized by OQS_SHA2_sha256_inc_init or OQS_SHA2_sha256_inc_ctx_clone.
- *
- * \param state The state to update
- * \param in Message input byte array
- * \param inblocks The number of blocks of message bytes to process
- */
-void OQS_SHA2_sha256_inc_blocks(OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t inblocks);
-
-/**
- * \brief Process more message bytes with SHA-256 and return the hash code in the output byte array.
- *
- * \warning The output array must be at least 32 bytes in length. The state is
- * deallocated by this function and can not be used again after calling
- * this function without calling OQS_SHA2_sha256_inc_init again.
- *
- * \param out The output byte array
- * \param state The state
- * \param in Additional message input byte array
- * \param inlen The number of additional message bytes to process
- */
-void OQS_SHA2_sha256_inc_finalize(uint8_t *out, OQS_SHA2_sha256_ctx *state, const uint8_t *in, size_t inlen);
-
-/**
- * \brief Destroy state.
- *
- * \warning The state is deallocated by this function and can not be used again after calling
- * this function without calling OQS_SHA2_sha256_inc_init again.
- *
- * \param state The state
- */
-void OQS_SHA2_sha256_inc_ctx_release(OQS_SHA2_sha256_ctx *state);
-
-/**
- * \brief Process a message with SHA-384 and return the hash code in the output byte array.
- *
- * \warning The output array must be at least 48 bytes in length.
- *
- * \param output The output byte array
- * \param input The message input byte array
- * \param inplen The number of message bytes to process
- */
-void OQS_SHA2_sha384(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the SHA-384 incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA2_sha384_ctx;
-
-/**
- * \brief Allocate and initialize the state for the SHA-384 incremental hashing API.
- *
- * \warning The state must be released by OQS_SHA2_sha384_inc_finalize
- * or OQS_SHA2_sha384_inc_ctx_release.
- *
- * \param state Pointer to the state
- */
-void OQS_SHA2_sha384_inc_init(OQS_SHA2_sha384_ctx *state);
-
-/**
- * \brief Duplicate state for the SHA-384 incremental hashing API.
- *
- * \warning dest must be allocated by the caller. Caller is responsible
- * for releasing dest by calling either OQS_SHA3_sha3_384_inc_finalize or
- * OQS_SHA3_sha3_384_inc_ctx_release.
- *
- * \param dest The function state to copy into; must be initialized
- * \param src The function state to copy; must be initialized
- */
-void OQS_SHA2_sha384_inc_ctx_clone(OQS_SHA2_sha384_ctx *dest, const OQS_SHA2_sha384_ctx *src);
-
-/**
- * \brief Process blocks with SHA-384 and update the state.
- *
- * \warning The state must be initialized by OQS_SHA2_sha384_inc_init or OQS_SHA2_sha384_inc_ctx_clone.
- *
- * \param state The state to update
- * \param in Message input byte array
- * \param inblocks The number of blocks of message bytes to process
- */
-void OQS_SHA2_sha384_inc_blocks(OQS_SHA2_sha384_ctx *state, const uint8_t *in, size_t inblocks);
-
-/**
- * \brief Process more message bytes with SHA-384 and return the hash code in the output byte array.
- *
- * \warning The output array must be at least 48 bytes in length. The state is
- * deallocated by this function and can not be used again after calling
- * this function without calling OQS_SHA2_sha384_inc_init again.
- *
- * \param out The output byte array
- * \param state The state
- * \param in Additional message input byte array
- * \param inlen The number of additional message bytes to process
- */
-void OQS_SHA2_sha384_inc_finalize(uint8_t *out, OQS_SHA2_sha384_ctx *state, const uint8_t *in, size_t inlen);
-
-/**
- * \brief Destroy state.
- *
- * \warning The state is deallocated by this function and can not be used again after calling
- * this function without calling OQS_SHA2_sha384_inc_init again.
- *
- * \param state The state
- */
-void OQS_SHA2_sha384_inc_ctx_release(OQS_SHA2_sha384_ctx *state);
-
-/**
- * \brief Process a message with SHA-512 and return the hash code in the output byte array.
- *
- * \warning The output array must be at least 64 bytes in length.
- *
- * \param output The output byte array
- * \param input The message input byte array
- * \param inplen The number of message bytes to process
- */
-void OQS_SHA2_sha512(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the SHA-512 incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA2_sha512_ctx;
-
-/**
- * \brief Allocate and initialize the state for the SHA-512 incremental hashing API.
- *
- * \warning The state must be released by OQS_SHA2_sha512_inc_finalize
- * or OQS_SHA2_sha512_inc_ctx_release.
- *
- * \param state Pointer to the state
- */
-void OQS_SHA2_sha512_inc_init(OQS_SHA2_sha512_ctx *state);
-
-/**
- * \brief Duplicate state for the SHA-512 incremental hashing API.
- *
- * \warning dest must be allocated by the caller. Caller is responsible
- * for releasing dest by calling either OQS_SHA3_sha3_512_inc_finalize or
- * OQS_SHA3_sha3_512_inc_ctx_release.
- *
- * \param dest The function state to copy into; must be initialized
- * \param src The function state to copy; must be initialized
- */
-void OQS_SHA2_sha512_inc_ctx_clone(OQS_SHA2_sha512_ctx *dest, const OQS_SHA2_sha512_ctx *src);
-
-/**
- * \brief Process blocks with SHA-512 and update the state.
- *
- * \warning The state must be initialized by OQS_SHA2_sha512_inc_init or OQS_SHA2_sha512_inc_ctx_clone.
- *
- * \param state The state to update
- * \param in Message input byte array
- * \param inblocks The number of blocks of message bytes to process
- */
-void OQS_SHA2_sha512_inc_blocks(OQS_SHA2_sha512_ctx *state, const uint8_t *in, size_t inblocks);
-
-/**
- * \brief Process more message bytes with SHA-512 and return the hash code in the output byte array.
- *
- * \warning The output array must be at least 64 bytes in length. The state is
- * deallocated by this function and can not be used again after calling
- * this function without calling OQS_SHA2_sha512_inc_init again.
- *
- * \param out The output byte array
- * \param state The state
- * \param in Additional message input byte array
- * \param inlen The number of additional message bytes to process
- */
-void OQS_SHA2_sha512_inc_finalize(uint8_t *out, OQS_SHA2_sha512_ctx *state, const uint8_t *in, size_t inlen);
-
-/**
- * \brief Destroy state.
- *
- * \warning The state is deallocated by this function and can not be used again after calling
- * this function without calling OQS_SHA2_sha512_inc_init again.
- *
- * \param state The state
- */
-void OQS_SHA2_sha512_inc_ctx_release(OQS_SHA2_sha512_ctx *state);
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_SHA2_H
diff --git a/lib/liboqs/include/oqs/sha3.h b/lib/liboqs/include/oqs/sha3.h
deleted file mode 100644
index d66c7289e..000000000
--- a/lib/liboqs/include/oqs/sha3.h
+++ /dev/null
@@ -1,429 +0,0 @@
-/**
- * \file sha3.h
- * \brief SHA3 and SHAKE functions; not part of the OQS public API
- *
- * Contains the API and documentation for SHA3 digest and SHAKE implementations.
- *
- * <b>Note this is not part of the OQS public API: implementations within liboqs can use these
- * functions, but external consumers of liboqs should not use these functions.</b>
- *
- * \author John Underhill, Douglas Stebila
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_SHA3_H
-#define OQS_SHA3_H
-
-#include <stddef.h>
-#include <stdint.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/* SHA3 */
-
-/** The SHA-256 byte absorption rate */
-#define OQS_SHA3_SHA3_256_RATE 136
-
-/**
- * \brief Process a message with SHA3-256 and return the digest in the output byte array.
- *
- * \warning The output array must be at least 32 bytes in length.
- *
- * \param output The output byte array
- * \param input The message input byte array
- * \param inplen The number of message bytes to process
- */
-void OQS_SHA3_sha3_256(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the incremental SHA3-256 API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_sha3_256_inc_ctx;
-
-/**
- * \brief Initialize the state for the incremental SHA3-256 API.
- *
- * \warning Caller is responsible for releasing state by calling
- * OQS_SHA3_sha3_256_inc_ctx_release.
- *
- * \param state The function state to be allocated and initialized.
- */
-void OQS_SHA3_sha3_256_inc_init(OQS_SHA3_sha3_256_inc_ctx *state);
-
-/**
- * \brief The SHA3-256 absorb function.
- * Absorb an input into the state.
- *
- * \param state The function state; must be initialized
- * \param input The input array
- * \param inlen The length of the input
- */
-void OQS_SHA3_sha3_256_inc_absorb(OQS_SHA3_sha3_256_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The SHA3-256 finalize-and-squeeze function.
- * Finalizes the state and squeezes a 32 byte digest.
- *
- * \warning Output array must be at least 32 bytes.
- * State cannot be used after this without calling OQS_SHA3_sha3_256_inc_reset.
- *
- * \param output The output byte array
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_256_inc_finalize(uint8_t *output, OQS_SHA3_sha3_256_inc_ctx *state);
-
-/**
- * \brief Release the state for the SHA3-256 incremental API.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_256_inc_ctx_release(OQS_SHA3_sha3_256_inc_ctx *state);
-
-/**
- * \brief Resets the state for the SHA3-256 incremental API.
- * Alternative to freeing and reinitializing the state.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_256_inc_ctx_reset(OQS_SHA3_sha3_256_inc_ctx *state);
-
-/**
- * \brief Clone the state for the SHA3-256 incremental API.
- *
- * \param dest The function state to copy into; must be initialized
- * \param src The function state to copy; must be initialized
- */
-void OQS_SHA3_sha3_256_inc_ctx_clone(OQS_SHA3_sha3_256_inc_ctx *dest, const OQS_SHA3_sha3_256_inc_ctx *src);
-
-/** The SHA-384 byte absorption rate */
-#define OQS_SHA3_SHA3_384_RATE 104
-
-/**
- * \brief Process a message with SHA3-384 and return the digest in the output byte array.
- *
- * \warning The output array must be at least 48 bytes in length.
- *
- * \param output The output byte array
- * \param input The message input byte array
- * \param inplen The number of message bytes to process
- */
-void OQS_SHA3_sha3_384(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the incremental SHA3-384 API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_sha3_384_inc_ctx;
-
-/**
- * \brief Initialize the state for the incremental SHA3-384 API.
- *
- * \warning Caller is responsible for releasing state by calling
- * OQS_SHA3_sha3_384_inc_ctx_release.
- *
- * \param state The function state to be allocated and initialized.
- */
-void OQS_SHA3_sha3_384_inc_init(OQS_SHA3_sha3_384_inc_ctx *state);
-
-/**
- * \brief The SHA3-384 absorb function.
- * Absorb an input into the state.
- *
- * \param state The function state; must be initialized
- * \param input The input array
- * \param inlen The length of the input
- */
-void OQS_SHA3_sha3_384_inc_absorb(OQS_SHA3_sha3_384_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The SHA3-384 finalize-and-squeeze function.
- * Finalizes the state and squeezes a 48 byte digest.
- *
- * \warning Output array must be at least 48 bytes.
- * State cannot be used after this without calling OQS_SHA3_sha3_384_inc_reset.
- *
- * \param output The output byte array
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_384_inc_finalize(uint8_t *output, OQS_SHA3_sha3_384_inc_ctx *state);
-
-/**
- * \brief Release the state for the SHA3-384 incremental API.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_384_inc_ctx_release(OQS_SHA3_sha3_384_inc_ctx *state);
-
-/**
- * \brief Resets the state for the SHA3-384 incremental API.
- * Alternative to freeing and reinitializing the state.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_384_inc_ctx_reset(OQS_SHA3_sha3_384_inc_ctx *state);
-
-/**
- * \brief Clone the state for the SHA3-384 incremental API.
- *
- * \param dest The function state to copy into; must be initialized
- * \param src The function state to copy; must be initialized
- */
-void OQS_SHA3_sha3_384_inc_ctx_clone(OQS_SHA3_sha3_384_inc_ctx *dest, const OQS_SHA3_sha3_384_inc_ctx *src);
-
-/** The SHA-512 byte absorption rate */
-#define OQS_SHA3_SHA3_512_RATE 72
-
-/**
- * \brief Process a message with SHA3-512 and return the digest in the output byte array.
- *
- * \warning The output array must be at least 64 bytes in length.
- *
- * \param output The output byte array
- * \param input The message input byte array
- * \param inplen The number of message bytes to process
- */
-void OQS_SHA3_sha3_512(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the incremental SHA3-512 API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_sha3_512_inc_ctx;
-
-/**
- * \brief Initialize the state for the incremental SHA3-512 API.
- *
- * \warning Caller is responsible for releasing state by calling
- * OQS_SHA3_sha3_512_inc_ctx_release.
- *
- * \param state The function state to be allocated and initialized.
- */
-void OQS_SHA3_sha3_512_inc_init(OQS_SHA3_sha3_512_inc_ctx *state);
-
-/**
- * \brief The SHA3-512 absorb function.
- * Absorb an input into the state.
- *
- * \param state The function state; must be initialized
- * \param input The input array
- * \param inlen The length of the input
- */
-void OQS_SHA3_sha3_512_inc_absorb(OQS_SHA3_sha3_512_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The SHA3-512 finalize-and-squeeze function.
- * Finalizes the state and squeezes a 64 byte digest.
- *
- * \warning Output array must be at least 64 bytes.
- * State cannot be used after this without calling OQS_SHA3_sha3_512_inc_reset.
- *
- * \param output The output byte array
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_512_inc_finalize(uint8_t *output, OQS_SHA3_sha3_512_inc_ctx *state);
-
-/**
- * \brief Release the state for the SHA3-512 incremental API.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_512_inc_ctx_release(OQS_SHA3_sha3_512_inc_ctx *state);
-
-/**
- * \brief Resets the state for the SHA3-512 incremental API.
- * Alternative to freeing and reinitializing the state.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_512_inc_ctx_reset(OQS_SHA3_sha3_512_inc_ctx *state);
-
-/**
- * \brief Clone the state for the SHA3-512 incremental API.
- *
- * \param dest The function state to copy into; must be initialized
- * \param src The function state to copy; must be initialized
- */
-void OQS_SHA3_sha3_512_inc_ctx_clone(OQS_SHA3_sha3_512_inc_ctx *dest, const OQS_SHA3_sha3_512_inc_ctx *src);
-
-/* SHAKE */
-
-/** The SHAKE-128 byte absorption rate */
-#define OQS_SHA3_SHAKE128_RATE 168
-
-/**
- * \brief Seed a SHAKE-128 instance, and generate an array of pseudo-random bytes.
- *
- * \warning The output array length must not be zero.
- *
- * \param output The output byte array
- * \param outlen The number of output bytes to generate
- * \param input The input seed byte array
- * \param inplen The number of seed bytes to process
- */
-void OQS_SHA3_shake128(uint8_t *output, size_t outlen, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the incremental SHAKE-128 API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake128_inc_ctx;
-
-/**
- * \brief Initialize the state for the incremental SHAKE-128 API.
- *
- * \warning Caller is responsible for releasing state by calling
- * OQS_SHA3_shake128_inc_ctx_release.
- *
- * \param state The function state to be initialized; must be allocated
- */
-void OQS_SHA3_shake128_inc_init(OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief The SHAKE-128 absorb function.
- * Absorb an input into the state.
- *
- * \warning State must be initialized.
- *
- * \param state The function state; must be initialized
- * \param input input buffer
- * \param inlen length of input buffer
- */
-void OQS_SHA3_shake128_inc_absorb(OQS_SHA3_shake128_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The SHAKE-128 finalize function.
- * Prepares the state for squeezing.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake128_inc_finalize(OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief The SHAKE-128 squeeze function.
- * Extracts to an output byte array.
- *
- * \param output output buffer
- * \param outlen bytes of outbut buffer
- * \param state The function state; must be initialized and finalized
- */
-void OQS_SHA3_shake128_inc_squeeze(uint8_t *output, size_t outlen, OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief Frees the state for the incremental SHAKE-128 API.
- *
- * \param state The state to free
- */
-void OQS_SHA3_shake128_inc_ctx_release(OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief Copies the state for the SHAKE-128 incremental API.
- *
- * \warning Caller is responsible for releasing dest by calling
- * OQS_SHA3_shake128_inc_ctx_release.
- *
- * \param dest The function state to copy into; must be initialized
- * \param src The function state to copy; must be initialized
- */
-void OQS_SHA3_shake128_inc_ctx_clone(OQS_SHA3_shake128_inc_ctx *dest, const OQS_SHA3_shake128_inc_ctx *src);
-
-/**
- * \brief Resets the state for the SHAKE-128 incremental API. Allows a context
- * to be re-used without free and init calls.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake128_inc_ctx_reset(OQS_SHA3_shake128_inc_ctx *state);
-
-/** The SHAKE-256 byte absorption rate */
-#define OQS_SHA3_SHAKE256_RATE 136
-
-/**
- * \brief Seed a SHAKE-256 instance, and generate an array of pseudo-random bytes.
- *
- * \warning The output array length must not be zero.
- *
- * \param output The output byte array
- * \param outlen The number of output bytes to generate
- * \param input The input seed byte array
- * \param inplen The number of seed bytes to process
- */
-void OQS_SHA3_shake256(uint8_t *output, size_t outlen, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the incremental SHAKE-256 API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake256_inc_ctx;
-
-/**
- * \brief Initialize the state for the incremental SHAKE-256 API.
- *
- * \param state The function state to be initialized; must be allocated
- */
-void OQS_SHA3_shake256_inc_init(OQS_SHA3_shake256_inc_ctx *state);
-
-/**
- * \brief The SHAKE-256 absorb function.
- * Absorb an input message array directly into the state.
- *
- * \warning State must be initialized by the caller.
- *
- * \param state The function state; must be initialized
- * \param input input buffer
- * \param inlen length of input buffer
- */
-void OQS_SHA3_shake256_inc_absorb(OQS_SHA3_shake256_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The SHAKE-256 finalize function.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake256_inc_finalize(OQS_SHA3_shake256_inc_ctx *state);
-
-/**
- * \brief The SHAKE-256 squeeze function.
- * Extracts to an output byte array.
- *
- * \param output output buffer
- * \param outlen bytes of outbut buffer
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake256_inc_squeeze(uint8_t *output, size_t outlen, OQS_SHA3_shake256_inc_ctx *state);
-
-/**
- * \brief Frees the state for the incremental SHAKE-256 API.
- *
- * \param state The state to free
- */
-void OQS_SHA3_shake256_inc_ctx_release(OQS_SHA3_shake256_inc_ctx *state);
-
-/**
- * \brief Copies the state for the incremental SHAKE-256 API.
- *
- * \warning dest must be allocated. dest must be freed by calling
- * OQS_SHA3_shake256_inc_ctx_release.
- *
- * \param dest The state to copy into; must be initialized
- * \param src The state to copy from; must be initialized
- */
-void OQS_SHA3_shake256_inc_ctx_clone(OQS_SHA3_shake256_inc_ctx *dest, const OQS_SHA3_shake256_inc_ctx *src);
-
-/**
- * \brief Resets the state for the SHAKE-256 incremental API. Allows a context
- * to be re-used without free and init calls.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake256_inc_ctx_reset(OQS_SHA3_shake256_inc_ctx *state);
-
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_SHA3_H
diff --git a/lib/liboqs/include/oqs/sha3x4.h b/lib/liboqs/include/oqs/sha3x4.h
deleted file mode 100644
index cef4e6750..000000000
--- a/lib/liboqs/include/oqs/sha3x4.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/**
- * \file shakex4.h
- * \brief SHA3, SHAKE, and cSHAKE functions; not part of the OQS public API
- *
- * Contains the API and documentation for SHA3 digest and SHAKE implementations.
- *
- * <b>Note this is not part of the OQS public API: implementations within liboqs can use these
- * functions, but external consumers of liboqs should not use these functions.</b>
- *
- * \author John Underhill, Douglas Stebila
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_SHA3X4_H
-#define OQS_SHA3X4_H
-
-#include <stddef.h>
-#include <stdint.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/**
- * \brief Seed 4 parallel SHAKE-128 instances, and generate 4 arrays of pseudo-random bytes.
- *
- * \warning The output array length must not be zero.
- *
- * \param out0 The first output byte array
- * \param out1 The second output byte array
- * \param out2 The third output byte array
- * \param out3 The fourth output byte array
- * \param outlen The number of output bytes to generate in every output array
- * \param in0 The first input seed byte array
- * \param in1 The second input seed byte array
- * \param in2 The third input seed byte array
- * \param in3 The fourth input seed byte array
- * \param inlen The number of seed bytes to process from every input array
- */
-void OQS_SHA3_shake128_x4(
- uint8_t *out0,
- uint8_t *out1,
- uint8_t *out2,
- uint8_t *out3,
- size_t outlen,
- const uint8_t *in0,
- const uint8_t *in1,
- const uint8_t *in2,
- const uint8_t *in3,
- size_t inlen);
-
-/** Data structure for the state of the four-way parallel incremental SHAKE-128 API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake128_x4_inc_ctx;
-
-/**
- * \brief Initialize the state for four-way parallel incremental SHAKE-128 API.
- *
- * \param state The function state to be initialized; must be allocated
- */
-void OQS_SHA3_shake128_x4_inc_init(OQS_SHA3_shake128_x4_inc_ctx *state);
-
-/**
- * \brief Four-way parallel SHAKE-128 absorb function.
- * Absorb four input messages of the same length into four parallel states.
- *
- * \warning State must be initialized by the caller.
- *
- * \param state The function state; must be initialized
- * \param in0 The input to be absorbed into first instance
- * \param in1 The input to be absorbed into first instance
- * \param in2 The input to be absorbed into first instance
- * \param in3 The input to be absorbed into first instance
- * \param inlen The number of bytes to process from each input array
- */
-void OQS_SHA3_shake128_x4_inc_absorb(
- OQS_SHA3_shake128_x4_inc_ctx *state,
- const uint8_t *in0,
- const uint8_t *in1,
- const uint8_t *in2,
- const uint8_t *in3,
- size_t inlen);
-
-/**
- * \brief Four-way parallel SHAKE-128 finalize function.
- * Prepares the states for squeezing.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake128_x4_inc_finalize(OQS_SHA3_shake128_x4_inc_ctx *state);
-
-/**
- * \brief Four-way parallel SHAKE-128 squeeze function.
- * Extracts from four parallel states into four output buffers
- *
- * \param out0 output buffer for the first instance
- * \param out1 output buffer for the second instance
- * \param out2 output buffer for the third instance
- * \param out3 output buffer for the fourth instance
- * \param outlen bytes of outbut buffer
- * \param state The function state; must be initialized and finalized.
- */
-void OQS_SHA3_shake128_x4_inc_squeeze(
- uint8_t *out0,
- uint8_t *out1,
- uint8_t *out2,
- uint8_t *out3,
- size_t outlen,
- OQS_SHA3_shake128_x4_inc_ctx *state);
-
-/**
- * \brief Frees the state for the four-way parallel incremental SHAKE-128 API.
- *
- * \param state The state to free
- */
-void OQS_SHA3_shake128_x4_inc_ctx_release(OQS_SHA3_shake128_x4_inc_ctx *state);
-
-/**
- * \brief Copies the state for the four-way parallel incremental SHAKE-128 API.
- *
- * \param dest The state to copy into; must be initialized
- * \param src The state to copy from; must be initialized
- */
-void OQS_SHA3_shake128_x4_inc_ctx_clone(
- OQS_SHA3_shake128_x4_inc_ctx *dest,
- const OQS_SHA3_shake128_x4_inc_ctx *src);
-
-/**
- * \brief Resets the state for the four-way parallel incremental SHAKE-128 API.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake128_x4_inc_ctx_reset(OQS_SHA3_shake128_x4_inc_ctx *state);
-
-/* SHAKE256 */
-
-/**
- * \brief Seed 4 parallel SHAKE-256 instances, and generate 4 arrays of pseudo-random bytes.
- *
- * Uses a vectorized (AVX2) implementation of SHAKE-256 if available.
- *
- * \warning The output array length must not be zero.
- *
- * \param out0 The first output byte array
- * \param out1 The second output byte array
- * \param out2 The third output byte array
- * \param out3 The fourth output byte array
- * \param outlen The number of output bytes to generate in every output array
- * \param in0 The first input seed byte array
- * \param in1 The second input seed byte array
- * \param in2 The third input seed byte array
- * \param in3 The fourth input seed byte array
- * \param inlen The number of seed bytes to process from every input array
- */
-void OQS_SHA3_shake256_x4(
- uint8_t *out0,
- uint8_t *out1,
- uint8_t *out2,
- uint8_t *out3,
- size_t outlen,
- const uint8_t *in0,
- const uint8_t *in1,
- const uint8_t *in2,
- const uint8_t *in3,
- size_t inlen);
-
-/** Data structure for the state of the four-way parallel incremental SHAKE-256 API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake256_x4_inc_ctx;
-
-/**
- * \brief Initialize the state for four-way parallel incremental SHAKE-256 API.
- *
- * \param state The function state to be initialized; must be allocated
- */
-void OQS_SHA3_shake256_x4_inc_init(OQS_SHA3_shake256_x4_inc_ctx *state);
-
-/**
- * \brief Four-way parallel SHAKE-256 absorb function.
- * Absorb four input messages of the same length into four parallel states.
- *
- * \warning State must be initialized by the caller.
- *
- * \param state The function state; must be initialized
- * \param in0 The input to be absorbed into first instance
- * \param in1 The input to be absorbed into first instance
- * \param in2 The input to be absorbed into first instance
- * \param in3 The input to be absorbed into first instance
- * \param inlen The number of bytes to process from each input array
- */
-void OQS_SHA3_shake256_x4_inc_absorb(
- OQS_SHA3_shake256_x4_inc_ctx *state,
- const uint8_t *in0,
- const uint8_t *in1,
- const uint8_t *in2,
- const uint8_t *in3,
- size_t inlen);
-
-/**
- * \brief Four-way parallel SHAKE-256 finalize function.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake256_x4_inc_finalize(OQS_SHA3_shake256_x4_inc_ctx *state);
-
-/**
- * \brief Four-way parallel SHAKE-256 squeeze function.
- * Extracts from four parallel states into four output buffers
- *
- * \param out0 output buffer for the first instance
- * \param out1 output buffer for the second instance
- * \param out2 output buffer for the third instance
- * \param out3 output buffer for the fourth instance
- * \param outlen bytes of outbut buffer
- * \param state The function state; must be initialized and finalized
- */
-void OQS_SHA3_shake256_x4_inc_squeeze(
- uint8_t *out0,
- uint8_t *out1,
- uint8_t *out2,
- uint8_t *out3,
- size_t outlen,
- OQS_SHA3_shake256_x4_inc_ctx *state);
-
-/**
- * \brief Frees the state for the four-way parallel incremental SHAKE-256 API.
- *
- * \param state The state to free
- */
-void OQS_SHA3_shake256_x4_inc_ctx_release(OQS_SHA3_shake256_x4_inc_ctx *state);
-
-/**
- * \brief Copies the state for the four-way parallel incremental SHAKE-256 API.
- *
- * \warning dest must be allocated. dest must be freed by calling
- * OQS_SHA3_shake256_inc_ctx_release.
- *
- * \param dest The state to copy into; must be initialized
- * \param src The state to copy from; must be initialized
- */
-void OQS_SHA3_shake256_x4_inc_ctx_clone(
- OQS_SHA3_shake256_x4_inc_ctx *dest,
- const OQS_SHA3_shake256_x4_inc_ctx *src);
-
-/**
- * \brief Resets the state for the four-way parallel incremental SHAKE-256 API.
- * Allows a context to be re-used without free and init calls.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_shake256_x4_inc_ctx_reset(OQS_SHA3_shake256_x4_inc_ctx *state);
-
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_SHA3_H
diff --git a/lib/liboqs/include/oqs/sig.h b/lib/liboqs/include/oqs/sig.h
deleted file mode 100644
index e9ddb3f94..000000000
--- a/lib/liboqs/include/oqs/sig.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/**
- * \file sig.h
- * \brief Signature schemes
- *
- * The file `tests/example_sig.c` contains two examples on using the OQS_SIG API.
- *
- * The first example uses the individual scheme's algorithms directly and uses
- * no dynamic memory allocation -- all buffers are allocated on the stack, with
- * sizes indicated using preprocessor macros. Since algorithms can be disabled at
- * compile-time, the programmer should wrap the code in \#ifdefs.
- *
- * The second example uses an OQS_SIG object to use an algorithm specified at
- * runtime. Therefore it uses dynamic memory allocation -- all buffers must be
- * malloc'ed by the programmer, with sizes indicated using the corresponding length
- * member of the OQS_SIG object in question. Since algorithms can be disabled at
- * compile-time, the programmer should check that the OQS_SIG object is not `NULL`.
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_SIG_H
-#define OQS_SIG_H
-
-#include <stdbool.h>
-#include <stddef.h>
-#include <stdint.h>
-
-#include <oqs/oqs.h>
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALG_IDENTIFIER_START
-/** Algorithm identifier for Dilithium2 */
-#define OQS_SIG_alg_dilithium_2 "Dilithium2"
-/** Algorithm identifier for Dilithium3 */
-#define OQS_SIG_alg_dilithium_3 "Dilithium3"
-/** Algorithm identifier for Dilithium5 */
-#define OQS_SIG_alg_dilithium_5 "Dilithium5"
-/** Algorithm identifier for Dilithium2-AES */
-#define OQS_SIG_alg_dilithium_2_aes "Dilithium2-AES"
-/** Algorithm identifier for Dilithium3-AES */
-#define OQS_SIG_alg_dilithium_3_aes "Dilithium3-AES"
-/** Algorithm identifier for Dilithium5-AES */
-#define OQS_SIG_alg_dilithium_5_aes "Dilithium5-AES"
-/** Algorithm identifier for Falcon-512 */
-#define OQS_SIG_alg_falcon_512 "Falcon-512"
-/** Algorithm identifier for Falcon-1024 */
-#define OQS_SIG_alg_falcon_1024 "Falcon-1024"
-/** Algorithm identifier for SPHINCS+-Haraka-128f-robust */
-#define OQS_SIG_alg_sphincs_haraka_128f_robust "SPHINCS+-Haraka-128f-robust"
-/** Algorithm identifier for SPHINCS+-Haraka-128f-simple */
-#define OQS_SIG_alg_sphincs_haraka_128f_simple "SPHINCS+-Haraka-128f-simple"
-/** Algorithm identifier for SPHINCS+-Haraka-128s-robust */
-#define OQS_SIG_alg_sphincs_haraka_128s_robust "SPHINCS+-Haraka-128s-robust"
-/** Algorithm identifier for SPHINCS+-Haraka-128s-simple */
-#define OQS_SIG_alg_sphincs_haraka_128s_simple "SPHINCS+-Haraka-128s-simple"
-/** Algorithm identifier for SPHINCS+-Haraka-192f-robust */
-#define OQS_SIG_alg_sphincs_haraka_192f_robust "SPHINCS+-Haraka-192f-robust"
-/** Algorithm identifier for SPHINCS+-Haraka-192f-simple */
-#define OQS_SIG_alg_sphincs_haraka_192f_simple "SPHINCS+-Haraka-192f-simple"
-/** Algorithm identifier for SPHINCS+-Haraka-192s-robust */
-#define OQS_SIG_alg_sphincs_haraka_192s_robust "SPHINCS+-Haraka-192s-robust"
-/** Algorithm identifier for SPHINCS+-Haraka-192s-simple */
-#define OQS_SIG_alg_sphincs_haraka_192s_simple "SPHINCS+-Haraka-192s-simple"
-/** Algorithm identifier for SPHINCS+-Haraka-256f-robust */
-#define OQS_SIG_alg_sphincs_haraka_256f_robust "SPHINCS+-Haraka-256f-robust"
-/** Algorithm identifier for SPHINCS+-Haraka-256f-simple */
-#define OQS_SIG_alg_sphincs_haraka_256f_simple "SPHINCS+-Haraka-256f-simple"
-/** Algorithm identifier for SPHINCS+-Haraka-256s-robust */
-#define OQS_SIG_alg_sphincs_haraka_256s_robust "SPHINCS+-Haraka-256s-robust"
-/** Algorithm identifier for SPHINCS+-Haraka-256s-simple */
-#define OQS_SIG_alg_sphincs_haraka_256s_simple "SPHINCS+-Haraka-256s-simple"
-/** Algorithm identifier for SPHINCS+-SHA256-128f-robust */
-#define OQS_SIG_alg_sphincs_sha256_128f_robust "SPHINCS+-SHA256-128f-robust"
-/** Algorithm identifier for SPHINCS+-SHA256-128f-simple */
-#define OQS_SIG_alg_sphincs_sha256_128f_simple "SPHINCS+-SHA256-128f-simple"
-/** Algorithm identifier for SPHINCS+-SHA256-128s-robust */
-#define OQS_SIG_alg_sphincs_sha256_128s_robust "SPHINCS+-SHA256-128s-robust"
-/** Algorithm identifier for SPHINCS+-SHA256-128s-simple */
-#define OQS_SIG_alg_sphincs_sha256_128s_simple "SPHINCS+-SHA256-128s-simple"
-/** Algorithm identifier for SPHINCS+-SHA256-192f-robust */
-#define OQS_SIG_alg_sphincs_sha256_192f_robust "SPHINCS+-SHA256-192f-robust"
-/** Algorithm identifier for SPHINCS+-SHA256-192f-simple */
-#define OQS_SIG_alg_sphincs_sha256_192f_simple "SPHINCS+-SHA256-192f-simple"
-/** Algorithm identifier for SPHINCS+-SHA256-192s-robust */
-#define OQS_SIG_alg_sphincs_sha256_192s_robust "SPHINCS+-SHA256-192s-robust"
-/** Algorithm identifier for SPHINCS+-SHA256-192s-simple */
-#define OQS_SIG_alg_sphincs_sha256_192s_simple "SPHINCS+-SHA256-192s-simple"
-/** Algorithm identifier for SPHINCS+-SHA256-256f-robust */
-#define OQS_SIG_alg_sphincs_sha256_256f_robust "SPHINCS+-SHA256-256f-robust"
-/** Algorithm identifier for SPHINCS+-SHA256-256f-simple */
-#define OQS_SIG_alg_sphincs_sha256_256f_simple "SPHINCS+-SHA256-256f-simple"
-/** Algorithm identifier for SPHINCS+-SHA256-256s-robust */
-#define OQS_SIG_alg_sphincs_sha256_256s_robust "SPHINCS+-SHA256-256s-robust"
-/** Algorithm identifier for SPHINCS+-SHA256-256s-simple */
-#define OQS_SIG_alg_sphincs_sha256_256s_simple "SPHINCS+-SHA256-256s-simple"
-/** Algorithm identifier for SPHINCS+-SHAKE256-128f-robust */
-#define OQS_SIG_alg_sphincs_shake256_128f_robust "SPHINCS+-SHAKE256-128f-robust"
-/** Algorithm identifier for SPHINCS+-SHAKE256-128f-simple */
-#define OQS_SIG_alg_sphincs_shake256_128f_simple "SPHINCS+-SHAKE256-128f-simple"
-/** Algorithm identifier for SPHINCS+-SHAKE256-128s-robust */
-#define OQS_SIG_alg_sphincs_shake256_128s_robust "SPHINCS+-SHAKE256-128s-robust"
-/** Algorithm identifier for SPHINCS+-SHAKE256-128s-simple */
-#define OQS_SIG_alg_sphincs_shake256_128s_simple "SPHINCS+-SHAKE256-128s-simple"
-/** Algorithm identifier for SPHINCS+-SHAKE256-192f-robust */
-#define OQS_SIG_alg_sphincs_shake256_192f_robust "SPHINCS+-SHAKE256-192f-robust"
-/** Algorithm identifier for SPHINCS+-SHAKE256-192f-simple */
-#define OQS_SIG_alg_sphincs_shake256_192f_simple "SPHINCS+-SHAKE256-192f-simple"
-/** Algorithm identifier for SPHINCS+-SHAKE256-192s-robust */
-#define OQS_SIG_alg_sphincs_shake256_192s_robust "SPHINCS+-SHAKE256-192s-robust"
-/** Algorithm identifier for SPHINCS+-SHAKE256-192s-simple */
-#define OQS_SIG_alg_sphincs_shake256_192s_simple "SPHINCS+-SHAKE256-192s-simple"
-/** Algorithm identifier for SPHINCS+-SHAKE256-256f-robust */
-#define OQS_SIG_alg_sphincs_shake256_256f_robust "SPHINCS+-SHAKE256-256f-robust"
-/** Algorithm identifier for SPHINCS+-SHAKE256-256f-simple */
-#define OQS_SIG_alg_sphincs_shake256_256f_simple "SPHINCS+-SHAKE256-256f-simple"
-/** Algorithm identifier for SPHINCS+-SHAKE256-256s-robust */
-#define OQS_SIG_alg_sphincs_shake256_256s_robust "SPHINCS+-SHAKE256-256s-robust"
-/** Algorithm identifier for SPHINCS+-SHAKE256-256s-simple */
-#define OQS_SIG_alg_sphincs_shake256_256s_simple "SPHINCS+-SHAKE256-256s-simple"
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALG_IDENTIFIER_END
-// EDIT-WHEN-ADDING-SIG
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALGS_LENGTH_START
-/** Number of algorithm identifiers above. */
-#define OQS_SIG_algs_length 44
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_ALGS_LENGTH_END
-
-/**
- * Returns identifiers for available signature schemes in liboqs. Used with OQS_SIG_new.
- *
- * Note that algorithm identifiers are present in this list even when the algorithm is disabled
- * at compile time.
- *
- * @param[in] i Index of the algorithm identifier to return, 0 <= i < OQS_SIG_algs_length
- * @return Algorithm identifier as a string, or NULL.
- */
-OQS_API const char *OQS_SIG_alg_identifier(size_t i);
-
-/**
- * Returns the number of signature mechanisms in liboqs. They can be enumerated with
- * OQS_SIG_alg_identifier.
- *
- * Note that some mechanisms may be disabled at compile time.
- *
- * @return The number of signature mechanisms.
- */
-OQS_API int OQS_SIG_alg_count(void);
-
-/**
- * Indicates whether the specified algorithm was enabled at compile-time or not.
- *
- * @param[in] method_name Name of the desired algorithm; one of the names in `OQS_SIG_algs`.
- * @return 1 if enabled, 0 if disabled or not found
- */
-OQS_API int OQS_SIG_alg_is_enabled(const char *method_name);
-
-/**
- * Signature schemes object
- */
-typedef struct OQS_SIG {
-
- /** Printable string representing the name of the signature scheme. */
- const char *method_name;
-
- /**
- * Printable string representing the version of the cryptographic algorithm.
- *
- * Implementations with the same method_name and same alg_version will be interoperable.
- * See README.md for information about algorithm compatibility.
- */
- const char *alg_version;
-
- /** The NIST security level (1, 2, 3, 4, 5) claimed in this algorithm's original NIST submission. */
- uint8_t claimed_nist_level;
-
- /** Whether the signature offers EUF-CMA security (TRUE) or not (FALSE). */
- bool euf_cma;
-
- /** The (maximum) length, in bytes, of public keys for this signature scheme. */
- size_t length_public_key;
- /** The (maximum) length, in bytes, of secret keys for this signature scheme. */
- size_t length_secret_key;
- /** The (maximum) length, in bytes, of signatures for this signature scheme. */
- size_t length_signature;
-
- /**
- * Keypair generation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `public_key` and
- * `secret_key`, based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_SIG_*_length_*`.
- *
- * @param[out] public_key The public key represented as a byte string.
- * @param[out] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
- OQS_STATUS (*keypair)(uint8_t *public_key, uint8_t *secret_key);
-
- /**
- * Signature generation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `signature`,
- * based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_SIG_*_length_*`.
- *
- * @param[out] signature The signature on the message represented as a byte string.
- * @param[out] signature_len The actual length of the signature. May be smaller than `length_signature` for some algorithms since some algorithms have variable length signatures.
- * @param[in] message The message to sign represented as a byte string.
- * @param[in] message_len The length of the message to sign.
- * @param[in] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
- OQS_STATUS (*sign)(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-
- /**
- * Signature verification algorithm.
- *
- * @param[in] message The message represented as a byte string.
- * @param[in] message_len The length of the message.
- * @param[in] signature The signature on the message represented as a byte string.
- * @param[in] signature_len The length of the signature.
- * @param[in] public_key The public key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
- OQS_STATUS (*verify)(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-
-} OQS_SIG;
-
-/**
- * Constructs an OQS_SIG object for a particular algorithm.
- *
- * Callers should always check whether the return value is `NULL`, which indicates either than an
- * invalid algorithm name was provided, or that the requested algorithm was disabled at compile-time.
- *
- * @param[in] method_name Name of the desired algorithm; one of the names in `OQS_SIG_algs`.
- * @return An OQS_SIG for the particular algorithm, or `NULL` if the algorithm has been disabled at compile-time.
- */
-OQS_API OQS_SIG *OQS_SIG_new(const char *method_name);
-
-/**
- * Keypair generation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `public_key` and
- * `secret_key`, based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_SIG_*_length_*`.
- *
- * @param[in] sig The OQS_SIG object representing the signature scheme.
- * @param[out] public_key The public key represented as a byte string.
- * @param[out] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
-OQS_API OQS_STATUS OQS_SIG_keypair(const OQS_SIG *sig, uint8_t *public_key, uint8_t *secret_key);
-
-/**
- * Signature generation algorithm.
- *
- * Caller is responsible for allocating sufficient memory for `signnature`,
- * based on the `length_*` members in this object or the per-scheme
- * compile-time macros `OQS_SIG_*_length_*`.
- *
- * @param[in] sig The OQS_SIG object representing the signature scheme.
- * @param[out] signature The signature on the message represented as a byte string.
- * @param[out] signature_len The length of the signature.
- * @param[in] message The message to sign represented as a byte string.
- * @param[in] message_len The length of the message to sign.
- * @param[in] secret_key The secret key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
-OQS_API OQS_STATUS OQS_SIG_sign(const OQS_SIG *sig, uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-
-/**
- * Signature verification algorithm.
- *
- * @param[in] sig The OQS_SIG object representing the signature scheme.
- * @param[in] message The message represented as a byte string.
- * @param[in] message_len The length of the message.
- * @param[in] signature The signature on the message represented as a byte string.
- * @param[in] signature_len The length of the signature.
- * @param[in] public_key The public key represented as a byte string.
- * @return OQS_SUCCESS or OQS_ERROR
- */
-OQS_API OQS_STATUS OQS_SIG_verify(const OQS_SIG *sig, const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-
-/**
- * Frees an OQS_SIG object that was constructed by OQS_SIG_new.
- *
- * @param[in] sig The OQS_SIG object to free.
- */
-OQS_API void OQS_SIG_free(OQS_SIG *sig);
-
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_INCLUDE_START
-#ifdef OQS_ENABLE_SIG_DILITHIUM
-#include <oqs/sig_dilithium.h>
-#endif /* OQS_ENABLE_SIG_DILITHIUM */
-#ifdef OQS_ENABLE_SIG_FALCON
-#include <oqs/sig_falcon.h>
-#endif /* OQS_ENABLE_SIG_FALCON */
-#ifdef OQS_ENABLE_SIG_SPHINCS
-#include <oqs/sig_sphincs.h>
-#endif /* OQS_ENABLE_SIG_SPHINCS */
-///// OQS_COPY_FROM_UPSTREAM_FRAGMENT_INCLUDE_END
-// EDIT-WHEN-ADDING-SIG
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_SIG_H
diff --git a/lib/liboqs/include/oqs/sig_dilithium.h b/lib/liboqs/include/oqs/sig_dilithium.h
deleted file mode 100644
index 04b6b8841..000000000
--- a/lib/liboqs/include/oqs/sig_dilithium.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_SIG_DILITHIUM_H
-#define OQS_SIG_DILITHIUM_H
-
-#include <oqs/oqs.h>
-
-#ifdef OQS_ENABLE_SIG_dilithium_2
-#define OQS_SIG_dilithium_2_length_public_key 1312
-#define OQS_SIG_dilithium_2_length_secret_key 2528
-#define OQS_SIG_dilithium_2_length_signature 2420
-
-OQS_SIG *OQS_SIG_dilithium_2_new(void);
-OQS_API OQS_STATUS OQS_SIG_dilithium_2_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_2_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_2_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_dilithium_3
-#define OQS_SIG_dilithium_3_length_public_key 1952
-#define OQS_SIG_dilithium_3_length_secret_key 4000
-#define OQS_SIG_dilithium_3_length_signature 3293
-
-OQS_SIG *OQS_SIG_dilithium_3_new(void);
-OQS_API OQS_STATUS OQS_SIG_dilithium_3_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_3_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_3_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_dilithium_5
-#define OQS_SIG_dilithium_5_length_public_key 2592
-#define OQS_SIG_dilithium_5_length_secret_key 4864
-#define OQS_SIG_dilithium_5_length_signature 4595
-
-OQS_SIG *OQS_SIG_dilithium_5_new(void);
-OQS_API OQS_STATUS OQS_SIG_dilithium_5_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_5_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_5_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_dilithium_2_aes
-#define OQS_SIG_dilithium_2_aes_length_public_key 1312
-#define OQS_SIG_dilithium_2_aes_length_secret_key 2528
-#define OQS_SIG_dilithium_2_aes_length_signature 2420
-
-OQS_SIG *OQS_SIG_dilithium_2_aes_new(void);
-OQS_API OQS_STATUS OQS_SIG_dilithium_2_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_2_aes_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_2_aes_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_dilithium_3_aes
-#define OQS_SIG_dilithium_3_aes_length_public_key 1952
-#define OQS_SIG_dilithium_3_aes_length_secret_key 4000
-#define OQS_SIG_dilithium_3_aes_length_signature 3293
-
-OQS_SIG *OQS_SIG_dilithium_3_aes_new(void);
-OQS_API OQS_STATUS OQS_SIG_dilithium_3_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_3_aes_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_3_aes_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_dilithium_5_aes
-#define OQS_SIG_dilithium_5_aes_length_public_key 2592
-#define OQS_SIG_dilithium_5_aes_length_secret_key 4864
-#define OQS_SIG_dilithium_5_aes_length_signature 4595
-
-OQS_SIG *OQS_SIG_dilithium_5_aes_new(void);
-OQS_API OQS_STATUS OQS_SIG_dilithium_5_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_5_aes_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_5_aes_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#endif
diff --git a/lib/liboqs/include/oqs/sig_falcon.h b/lib/liboqs/include/oqs/sig_falcon.h
deleted file mode 100644
index 2cd661617..000000000
--- a/lib/liboqs/include/oqs/sig_falcon.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_SIG_FALCON_H
-#define OQS_SIG_FALCON_H
-
-#include <oqs/oqs.h>
-
-#ifdef OQS_ENABLE_SIG_falcon_512
-#define OQS_SIG_falcon_512_length_public_key 897
-#define OQS_SIG_falcon_512_length_secret_key 1281
-#define OQS_SIG_falcon_512_length_signature 690
-
-OQS_SIG *OQS_SIG_falcon_512_new(void);
-OQS_API OQS_STATUS OQS_SIG_falcon_512_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_falcon_512_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_falcon_512_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_falcon_1024
-#define OQS_SIG_falcon_1024_length_public_key 1793
-#define OQS_SIG_falcon_1024_length_secret_key 2305
-#define OQS_SIG_falcon_1024_length_signature 1330
-
-OQS_SIG *OQS_SIG_falcon_1024_new(void);
-OQS_API OQS_STATUS OQS_SIG_falcon_1024_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_falcon_1024_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_falcon_1024_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#endif
diff --git a/lib/liboqs/include/oqs/sig_sphincs.h b/lib/liboqs/include/oqs/sig_sphincs.h
deleted file mode 100644
index 15c079030..000000000
--- a/lib/liboqs/include/oqs/sig_sphincs.h
+++ /dev/null
@@ -1,404 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_SIG_SPHINCS_H
-#define OQS_SIG_SPHINCS_H
-
-#include <oqs/oqs.h>
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_128f_robust
-#define OQS_SIG_sphincs_haraka_128f_robust_length_public_key 32
-#define OQS_SIG_sphincs_haraka_128f_robust_length_secret_key 64
-#define OQS_SIG_sphincs_haraka_128f_robust_length_signature 17088
-
-OQS_SIG *OQS_SIG_sphincs_haraka_128f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_128f_simple
-#define OQS_SIG_sphincs_haraka_128f_simple_length_public_key 32
-#define OQS_SIG_sphincs_haraka_128f_simple_length_secret_key 64
-#define OQS_SIG_sphincs_haraka_128f_simple_length_signature 17088
-
-OQS_SIG *OQS_SIG_sphincs_haraka_128f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_128s_robust
-#define OQS_SIG_sphincs_haraka_128s_robust_length_public_key 32
-#define OQS_SIG_sphincs_haraka_128s_robust_length_secret_key 64
-#define OQS_SIG_sphincs_haraka_128s_robust_length_signature 7856
-
-OQS_SIG *OQS_SIG_sphincs_haraka_128s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_128s_simple
-#define OQS_SIG_sphincs_haraka_128s_simple_length_public_key 32
-#define OQS_SIG_sphincs_haraka_128s_simple_length_secret_key 64
-#define OQS_SIG_sphincs_haraka_128s_simple_length_signature 7856
-
-OQS_SIG *OQS_SIG_sphincs_haraka_128s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_128s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_192f_robust
-#define OQS_SIG_sphincs_haraka_192f_robust_length_public_key 48
-#define OQS_SIG_sphincs_haraka_192f_robust_length_secret_key 96
-#define OQS_SIG_sphincs_haraka_192f_robust_length_signature 35664
-
-OQS_SIG *OQS_SIG_sphincs_haraka_192f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_192f_simple
-#define OQS_SIG_sphincs_haraka_192f_simple_length_public_key 48
-#define OQS_SIG_sphincs_haraka_192f_simple_length_secret_key 96
-#define OQS_SIG_sphincs_haraka_192f_simple_length_signature 35664
-
-OQS_SIG *OQS_SIG_sphincs_haraka_192f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_192s_robust
-#define OQS_SIG_sphincs_haraka_192s_robust_length_public_key 48
-#define OQS_SIG_sphincs_haraka_192s_robust_length_secret_key 96
-#define OQS_SIG_sphincs_haraka_192s_robust_length_signature 16224
-
-OQS_SIG *OQS_SIG_sphincs_haraka_192s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_192s_simple
-#define OQS_SIG_sphincs_haraka_192s_simple_length_public_key 48
-#define OQS_SIG_sphincs_haraka_192s_simple_length_secret_key 96
-#define OQS_SIG_sphincs_haraka_192s_simple_length_signature 16224
-
-OQS_SIG *OQS_SIG_sphincs_haraka_192s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_192s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_256f_robust
-#define OQS_SIG_sphincs_haraka_256f_robust_length_public_key 64
-#define OQS_SIG_sphincs_haraka_256f_robust_length_secret_key 128
-#define OQS_SIG_sphincs_haraka_256f_robust_length_signature 49856
-
-OQS_SIG *OQS_SIG_sphincs_haraka_256f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_256f_simple
-#define OQS_SIG_sphincs_haraka_256f_simple_length_public_key 64
-#define OQS_SIG_sphincs_haraka_256f_simple_length_secret_key 128
-#define OQS_SIG_sphincs_haraka_256f_simple_length_signature 49856
-
-OQS_SIG *OQS_SIG_sphincs_haraka_256f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_256s_robust
-#define OQS_SIG_sphincs_haraka_256s_robust_length_public_key 64
-#define OQS_SIG_sphincs_haraka_256s_robust_length_secret_key 128
-#define OQS_SIG_sphincs_haraka_256s_robust_length_signature 29792
-
-OQS_SIG *OQS_SIG_sphincs_haraka_256s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_haraka_256s_simple
-#define OQS_SIG_sphincs_haraka_256s_simple_length_public_key 64
-#define OQS_SIG_sphincs_haraka_256s_simple_length_secret_key 128
-#define OQS_SIG_sphincs_haraka_256s_simple_length_signature 29792
-
-OQS_SIG *OQS_SIG_sphincs_haraka_256s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_haraka_256s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_128f_robust
-#define OQS_SIG_sphincs_sha256_128f_robust_length_public_key 32
-#define OQS_SIG_sphincs_sha256_128f_robust_length_secret_key 64
-#define OQS_SIG_sphincs_sha256_128f_robust_length_signature 17088
-
-OQS_SIG *OQS_SIG_sphincs_sha256_128f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_128f_simple
-#define OQS_SIG_sphincs_sha256_128f_simple_length_public_key 32
-#define OQS_SIG_sphincs_sha256_128f_simple_length_secret_key 64
-#define OQS_SIG_sphincs_sha256_128f_simple_length_signature 17088
-
-OQS_SIG *OQS_SIG_sphincs_sha256_128f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_128s_robust
-#define OQS_SIG_sphincs_sha256_128s_robust_length_public_key 32
-#define OQS_SIG_sphincs_sha256_128s_robust_length_secret_key 64
-#define OQS_SIG_sphincs_sha256_128s_robust_length_signature 7856
-
-OQS_SIG *OQS_SIG_sphincs_sha256_128s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_128s_simple
-#define OQS_SIG_sphincs_sha256_128s_simple_length_public_key 32
-#define OQS_SIG_sphincs_sha256_128s_simple_length_secret_key 64
-#define OQS_SIG_sphincs_sha256_128s_simple_length_signature 7856
-
-OQS_SIG *OQS_SIG_sphincs_sha256_128s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_128s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_192f_robust
-#define OQS_SIG_sphincs_sha256_192f_robust_length_public_key 48
-#define OQS_SIG_sphincs_sha256_192f_robust_length_secret_key 96
-#define OQS_SIG_sphincs_sha256_192f_robust_length_signature 35664
-
-OQS_SIG *OQS_SIG_sphincs_sha256_192f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_192f_simple
-#define OQS_SIG_sphincs_sha256_192f_simple_length_public_key 48
-#define OQS_SIG_sphincs_sha256_192f_simple_length_secret_key 96
-#define OQS_SIG_sphincs_sha256_192f_simple_length_signature 35664
-
-OQS_SIG *OQS_SIG_sphincs_sha256_192f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_192s_robust
-#define OQS_SIG_sphincs_sha256_192s_robust_length_public_key 48
-#define OQS_SIG_sphincs_sha256_192s_robust_length_secret_key 96
-#define OQS_SIG_sphincs_sha256_192s_robust_length_signature 16224
-
-OQS_SIG *OQS_SIG_sphincs_sha256_192s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_192s_simple
-#define OQS_SIG_sphincs_sha256_192s_simple_length_public_key 48
-#define OQS_SIG_sphincs_sha256_192s_simple_length_secret_key 96
-#define OQS_SIG_sphincs_sha256_192s_simple_length_signature 16224
-
-OQS_SIG *OQS_SIG_sphincs_sha256_192s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_192s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_256f_robust
-#define OQS_SIG_sphincs_sha256_256f_robust_length_public_key 64
-#define OQS_SIG_sphincs_sha256_256f_robust_length_secret_key 128
-#define OQS_SIG_sphincs_sha256_256f_robust_length_signature 49856
-
-OQS_SIG *OQS_SIG_sphincs_sha256_256f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_256f_simple
-#define OQS_SIG_sphincs_sha256_256f_simple_length_public_key 64
-#define OQS_SIG_sphincs_sha256_256f_simple_length_secret_key 128
-#define OQS_SIG_sphincs_sha256_256f_simple_length_signature 49856
-
-OQS_SIG *OQS_SIG_sphincs_sha256_256f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_256s_robust
-#define OQS_SIG_sphincs_sha256_256s_robust_length_public_key 64
-#define OQS_SIG_sphincs_sha256_256s_robust_length_secret_key 128
-#define OQS_SIG_sphincs_sha256_256s_robust_length_signature 29792
-
-OQS_SIG *OQS_SIG_sphincs_sha256_256s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_sha256_256s_simple
-#define OQS_SIG_sphincs_sha256_256s_simple_length_public_key 64
-#define OQS_SIG_sphincs_sha256_256s_simple_length_secret_key 128
-#define OQS_SIG_sphincs_sha256_256s_simple_length_signature 29792
-
-OQS_SIG *OQS_SIG_sphincs_sha256_256s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_sha256_256s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_128f_robust
-#define OQS_SIG_sphincs_shake256_128f_robust_length_public_key 32
-#define OQS_SIG_sphincs_shake256_128f_robust_length_secret_key 64
-#define OQS_SIG_sphincs_shake256_128f_robust_length_signature 17088
-
-OQS_SIG *OQS_SIG_sphincs_shake256_128f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_128f_simple
-#define OQS_SIG_sphincs_shake256_128f_simple_length_public_key 32
-#define OQS_SIG_sphincs_shake256_128f_simple_length_secret_key 64
-#define OQS_SIG_sphincs_shake256_128f_simple_length_signature 17088
-
-OQS_SIG *OQS_SIG_sphincs_shake256_128f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_128s_robust
-#define OQS_SIG_sphincs_shake256_128s_robust_length_public_key 32
-#define OQS_SIG_sphincs_shake256_128s_robust_length_secret_key 64
-#define OQS_SIG_sphincs_shake256_128s_robust_length_signature 7856
-
-OQS_SIG *OQS_SIG_sphincs_shake256_128s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_128s_simple
-#define OQS_SIG_sphincs_shake256_128s_simple_length_public_key 32
-#define OQS_SIG_sphincs_shake256_128s_simple_length_secret_key 64
-#define OQS_SIG_sphincs_shake256_128s_simple_length_signature 7856
-
-OQS_SIG *OQS_SIG_sphincs_shake256_128s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_128s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_192f_robust
-#define OQS_SIG_sphincs_shake256_192f_robust_length_public_key 48
-#define OQS_SIG_sphincs_shake256_192f_robust_length_secret_key 96
-#define OQS_SIG_sphincs_shake256_192f_robust_length_signature 35664
-
-OQS_SIG *OQS_SIG_sphincs_shake256_192f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_192f_simple
-#define OQS_SIG_sphincs_shake256_192f_simple_length_public_key 48
-#define OQS_SIG_sphincs_shake256_192f_simple_length_secret_key 96
-#define OQS_SIG_sphincs_shake256_192f_simple_length_signature 35664
-
-OQS_SIG *OQS_SIG_sphincs_shake256_192f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_192s_robust
-#define OQS_SIG_sphincs_shake256_192s_robust_length_public_key 48
-#define OQS_SIG_sphincs_shake256_192s_robust_length_secret_key 96
-#define OQS_SIG_sphincs_shake256_192s_robust_length_signature 16224
-
-OQS_SIG *OQS_SIG_sphincs_shake256_192s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_192s_simple
-#define OQS_SIG_sphincs_shake256_192s_simple_length_public_key 48
-#define OQS_SIG_sphincs_shake256_192s_simple_length_secret_key 96
-#define OQS_SIG_sphincs_shake256_192s_simple_length_signature 16224
-
-OQS_SIG *OQS_SIG_sphincs_shake256_192s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_192s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_256f_robust
-#define OQS_SIG_sphincs_shake256_256f_robust_length_public_key 64
-#define OQS_SIG_sphincs_shake256_256f_robust_length_secret_key 128
-#define OQS_SIG_sphincs_shake256_256f_robust_length_signature 49856
-
-OQS_SIG *OQS_SIG_sphincs_shake256_256f_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256f_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256f_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256f_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_256f_simple
-#define OQS_SIG_sphincs_shake256_256f_simple_length_public_key 64
-#define OQS_SIG_sphincs_shake256_256f_simple_length_secret_key 128
-#define OQS_SIG_sphincs_shake256_256f_simple_length_signature 49856
-
-OQS_SIG *OQS_SIG_sphincs_shake256_256f_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256f_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256f_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256f_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_256s_robust
-#define OQS_SIG_sphincs_shake256_256s_robust_length_public_key 64
-#define OQS_SIG_sphincs_shake256_256s_robust_length_secret_key 128
-#define OQS_SIG_sphincs_shake256_256s_robust_length_signature 29792
-
-OQS_SIG *OQS_SIG_sphincs_shake256_256s_robust_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256s_robust_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256s_robust_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256s_robust_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#ifdef OQS_ENABLE_SIG_sphincs_shake256_256s_simple
-#define OQS_SIG_sphincs_shake256_256s_simple_length_public_key 64
-#define OQS_SIG_sphincs_shake256_256s_simple_length_secret_key 128
-#define OQS_SIG_sphincs_shake256_256s_simple_length_signature 29792
-
-OQS_SIG *OQS_SIG_sphincs_shake256_256s_simple_new(void);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256s_simple_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256s_simple_sign(uint8_t *signature, size_t *signature_len, const uint8_t *message, size_t message_len, const uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_sphincs_shake256_256s_simple_verify(const uint8_t *message, size_t message_len, const uint8_t *signature, size_t signature_len, const uint8_t *public_key);
-#endif
-
-#endif