diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index a5f05cd..5dbdd05 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -21,5 +21,10 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 94a25f7..d9f7731 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -2,5 +2,8 @@
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index aeaf55c..7f9ce63 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,7 +9,7 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.LibOQSTestApp">
-
+
diff --git a/app/src/main/java/com/example/liboqstestapp/MainActivity.java b/app/src/main/java/de/hartz/software/unoffical/liboqstestapp/MainActivity.java
similarity index 91%
rename from app/src/main/java/com/example/liboqstestapp/MainActivity.java
rename to app/src/main/java/de/hartz/software/unoffical/liboqstestapp/MainActivity.java
index 3b00980..648df9b 100644
--- a/app/src/main/java/com/example/liboqstestapp/MainActivity.java
+++ b/app/src/main/java/de/hartz/software/unoffical/liboqstestapp/MainActivity.java
@@ -1,4 +1,4 @@
-package com.example.liboqstestapp;
+package de.hartz.software.unoffical.liboqstestapp;
import androidx.appcompat.app.AppCompatActivity;
@@ -11,16 +11,22 @@
import android.widget.EditText;
import android.widget.Spinner;
-import com.example.liboqs.Common;
-import com.example.liboqs.KEMs;
-import com.example.liboqs.KeyEncapsulation;
-import com.example.liboqs.Pair;
+import org.openquantumsafe.Common;
+import org.openquantumsafe.KEMs;
+import org.openquantumsafe.KeyEncapsulation;
+import org.openquantumsafe.Pair;
+import com.example.liboqstestapp.R;
import com.google.android.material.tabs.TabLayout;
-import java.io.UnsupportedEncodingException;
+import de.hartz.software.unofficial.liboqs.android.CommonAndroid;
public class MainActivity extends AppCompatActivity {
+ static {
+ // We need this instead of Common.loadNativeLibrary() as we cannot extract the lib on android.
+ CommonAndroid.loadNativeLibrary();
+ }
+
private static class Client {
KeyEncapsulation kem;
String sharedSecret;
diff --git a/app/src/main/java/com/example/liboqstestapp/SymmetricEncryptionHelper.java b/app/src/main/java/de/hartz/software/unoffical/liboqstestapp/SymmetricEncryptionHelper.java
similarity index 94%
rename from app/src/main/java/com/example/liboqstestapp/SymmetricEncryptionHelper.java
rename to app/src/main/java/de/hartz/software/unoffical/liboqstestapp/SymmetricEncryptionHelper.java
index d25fb85..c3991c3 100644
--- a/app/src/main/java/com/example/liboqstestapp/SymmetricEncryptionHelper.java
+++ b/app/src/main/java/de/hartz/software/unoffical/liboqstestapp/SymmetricEncryptionHelper.java
@@ -1,11 +1,7 @@
-package com.example.liboqstestapp;
+package de.hartz.software.unoffical.liboqstestapp;
import android.util.Base64;
-import com.example.liboqs.Common;
-
-import java.nio.charset.Charset;
-
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 4b91950..c2e6092 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -6,7 +6,7 @@
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp"
- tools:context=".MainActivity">
+ tools:context="de.hartz.software.unoffical.liboqstestapp.MainActivity">
-#include
-
-#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 schedule Abstract data structure for a key schedule.
- * @param for_encryption 1 if key schedule is for encryption, 0 if for decryption.
- */
-void OQS_AES128_ECB_load_schedule(const uint8_t *key, void **schedule, int for_encryption);
-
-/**
- * Function to free a key schedule.
- *
- * @param schedule Schedule generated with OQS_AES128_ECB_load_schedule().
- */
-void OQS_AES128_free_schedule(void *schedule);
-
-/**
- * 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);
-
-/**
- * Function to decrypt blocks of plaintext using ECB mode.
- * A schedule based on the key is generated and used internally.
- *
- * @param ciphertext Ciphertext to be decrypted.
- * @param ciphertext_len Length on the ciphertext in bytes. Must be a multiple of 16.
- * @param key Key to be used for encryption.
- * @param plaintext Pointer to a block of memory which >= in size to the ciphertext block. The result will be written here.
- * @warning ciphertext_len must be a multiple of 16.
- */
-void OQS_AES128_ECB_dec(const uint8_t *ciphertext, const size_t ciphertext_len, const uint8_t *key, uint8_t *plaintext);
-
-/**
- * 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);
-
-/**
- * Same as OQS_AES128_ECB_dec() 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_dec_sch(const uint8_t *ciphertext, const size_t ciphertext_len, const void *schedule, uint8_t *plaintext);
-
-/**
- * Function to fill a key schedule given an initial key for use in ECB mode.
- *
- * @param key Initial Key.
- * @param schedule Abstract data structure for a key schedule.
- * @param for_encryption 1 if key schedule is for encryption, 0 if for decryption.
- */
-void OQS_AES256_ECB_load_schedule(const uint8_t *key, void **schedule, int for_encryption);
-
-/**
- * Function to fill a key schedule given an initial key for use in CTR mode.
- *
- * @param key Initial Key.
- * @param schedule Abstract data structure for a key schedule.
- */
-void OQS_AES256_CTR_load_schedule(const uint8_t *key, void **schedule);
-
-/**
- * Function to free a key schedule.
- *
- * @param schedule Schedule generated with OQS_AES256_ECB_load_schedule
- * or OQS_AES256_CTR_load_schedule.
- */
-void OQS_AES256_free_schedule(void *schedule);
-
-/**
- * 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);
-
-/**
- * Function to decrypt blocks of plaintext using ECB mode.
- * A schedule based on the key is generated and used internally.
- *
- * @param ciphertext Ciphertext to be decrypted.
- * @param ciphertext_len Length on the ciphertext in bytes. Must be a multiple of 16.
- * @param key Key to be used for encryption.
- * @param plaintext Pointer to a block of memory which >= in size to the ciphertext block. The result will be written here.
- * @warning ciphertext_len must be a multiple of 16.
- */
-void OQS_AES256_ECB_dec(const uint8_t *ciphertext, const size_t ciphertext_len, const uint8_t *key, uint8_t *plaintext);
-
-/**
- * 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);
-
-/**
- * Same as OQS_AES256_ECB_dec() 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_dec_sch(const uint8_t *ciphertext, const size_t ciphertext_len, const void *schedule, uint8_t *plaintext);
-
-/**
- * AES counter mode keystream generator. A scheduled generated by
- * OQS_AES256_CTR_load_schedule() 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 schedule 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_sch(const uint8_t *iv, size_t iv_len, const void *schedule, uint8_t *out, size_t out_len);
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_AES_H
diff --git a/liboqs-android/jni/include/oqs/common.h b/liboqs-android/jni/include/oqs/common.h
deleted file mode 100644
index d5a47f8..0000000
--- a/liboqs-android/jni/include/oqs/common.h
+++ /dev/null
@@ -1,212 +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
-#include
-#include
-
-#include
-
-#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
-
-/**
- * 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;
-
-#if defined(OQS_USE_CPU_EXTENSIONS)
-
-/**
- * Architecture macros.
- */
-#if (defined(_M_X64) || defined(__x86_64__))
-#define ARCH_X86_64
-#elif (defined(__arm__) || defined(_M_ARM) || defined(__aarch64__))
-#define ARCH_ARM_ANY
-#endif
-
-/**
- * CPU runtime detection flags
- */
-#if defined(ARCH_X86_64)
-typedef struct {
- unsigned int AES_ENABLED;
- unsigned int AVX_ENABLED;
- unsigned int AVX2_ENABLED;
- unsigned int AVX512_ENABLED;
- unsigned int BMI1_ENABLED;
- unsigned int BMI2_ENABLED;
- unsigned int PCLMUL_ENABLED;
- unsigned int POPCNT_ENABLED;
- unsigned int SSE_ENABLED;
- unsigned int SSE2_ENABLED;
- unsigned int SSE3_ENABLED;
-} OQS_CPU_EXTENSIONS;
-#elif defined(ARCH_ARM_ANY)
-typedef struct {
- unsigned int NEON_ENABLED;
-} OQS_CPU_EXTENSIONS;
-#endif
-/* Keep in sync with name array in common.c ! */
-
-/**
- * Returns a list of available CPU extensions.
- *
- * \return Struct of type OQS_CPU_EXTENSIONS containing flags for runtime CPU extension detection.
- */
-OQS_API OQS_CPU_EXTENSIONS OQS_get_available_CPU_extensions(void);
-
-/**
- * Returns name of available CPU extension.
- *
- * \return name of extension indexed by struct entry number
- */
-OQS_API const char *OQS_get_cpu_extension_name(unsigned int i);
-
-#endif /* OQS_USE_CPU_EXTENSIONS */
-
-/**
- * This currently only sets the values in the OQS_CPU_EXTENSIONS,
- * and so has effect only when OQS_USE_CPU_EXTENSIONS and
- * OQS_PORTABLE_BUILD are set.
- */
-OQS_API void OQS_init(void);
-
-/**
- * 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);
-
-/**
- * Macros that indicates a function argument may be unused. Used to comply with
- * an API specification but when an implementation doesn't actually use the
- * argument and we'd get a compiler warning otherwise.
- */
-#ifdef __GNUC__
-#define UNUSED __attribute__((unused))
-#else
-// __attribute__ not supported in VS
-#define UNUSED
-#endif
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_COMMON_H
diff --git a/liboqs-android/jni/include/oqs/kem.h b/liboqs-android/jni/include/oqs/kem.h
deleted file mode 100644
index 85577dc..0000000
--- a/liboqs-android/jni/include/oqs/kem.h
+++ /dev/null
@@ -1,363 +0,0 @@
-/**
- * \file kem.h
- * \brief Key encapsulation mechanisms
- *
- * The file `src/kem/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
-#include
-#include
-
-#include
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/** Algorithm identifier for default KEM algorithm. */
-#define OQS_KEM_alg_default "DEFAULT"
-/** Algorithm identifier for BIKE1-L1-CPA KEM. */
-#define OQS_KEM_alg_bike1_l1_cpa "BIKE1-L1-CPA"
-/** Algorithm identifier for BIKE1-L3-CPA KEM. */
-#define OQS_KEM_alg_bike1_l3_cpa "BIKE1-L3-CPA"
-/** Algorithm identifier for BIKE1-L1-FO KEM. */
-#define OQS_KEM_alg_bike1_l1_fo "BIKE1-L1-FO"
-/** Algorithm identifier for BIKE1-L3-FO KEM. */
-#define OQS_KEM_alg_bike1_l3_fo "BIKE1-L3-FO"
-///// OQS_COPY_FROM_PQCLEAN_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"
-/** Algorithm identifier for NTRU-HPS-2048-509 KEM. */
-#define OQS_KEM_alg_ntru_hps2048509 "NTRU-HPS-2048-509"
-/** Algorithm identifier for NTRU-HPS-2048-677 KEM. */
-#define OQS_KEM_alg_ntru_hps2048677 "NTRU-HPS-2048-677"
-/** Algorithm identifier for NTRU-HPS-4096-821 KEM. */
-#define OQS_KEM_alg_ntru_hps4096821 "NTRU-HPS-4096-821"
-/** Algorithm identifier for NTRU-HRSS-701 KEM. */
-#define OQS_KEM_alg_ntru_hrss701 "NTRU-HRSS-701"
-/** Algorithm identifier for ntrulpr653 KEM. */
-#define OQS_KEM_alg_ntruprime_ntrulpr653 "ntrulpr653"
-/** Algorithm identifier for ntrulpr761 KEM. */
-#define OQS_KEM_alg_ntruprime_ntrulpr761 "ntrulpr761"
-/** Algorithm identifier for ntrulpr857 KEM. */
-#define OQS_KEM_alg_ntruprime_ntrulpr857 "ntrulpr857"
-/** Algorithm identifier for sntrup653 KEM. */
-#define OQS_KEM_alg_ntruprime_sntrup653 "sntrup653"
-/** Algorithm identifier for sntrup761 KEM. */
-#define OQS_KEM_alg_ntruprime_sntrup761 "sntrup761"
-/** Algorithm identifier for sntrup857 KEM. */
-#define OQS_KEM_alg_ntruprime_sntrup857 "sntrup857"
-/** Algorithm identifier for LightSaber-KEM KEM. */
-#define OQS_KEM_alg_saber_lightsaber "LightSaber-KEM"
-/** Algorithm identifier for Saber-KEM KEM. */
-#define OQS_KEM_alg_saber_saber "Saber-KEM"
-/** Algorithm identifier for FireSaber-KEM KEM. */
-#define OQS_KEM_alg_saber_firesaber "FireSaber-KEM"
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_ALG_IDENTIFIER_END
-/** 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"
-/** Algorithm identifier for SIDH p434 KEM. */
-#define OQS_KEM_alg_sidh_p434 "SIDH-p434"
-/** Algorithm identifier for SIDH p434 compressed KEM. */
-#define OQS_KEM_alg_sidh_p434_compressed "SIDH-p434-compressed"
-/** Algorithm identifier for SIDH p503 KEM. */
-#define OQS_KEM_alg_sidh_p503 "SIDH-p503"
-/** Algorithm identifier for SIDH p503 compressed KEM. */
-#define OQS_KEM_alg_sidh_p503_compressed "SIDH-p503-compressed"
-/** Algorithm identifier for SIDH p610 KEM. */
-#define OQS_KEM_alg_sidh_p610 "SIDH-p610"
-/** Algorithm identifier for SIDH p610 compressed KEM. */
-#define OQS_KEM_alg_sidh_p610_compressed "SIDH-p610-compressed"
-/** Algorithm identifier for SIDH p751 KEM. */
-#define OQS_KEM_alg_sidh_p751 "SIDH-p751"
-/** Algorithm identifier for SIDH p751 compressed KEM. */
-#define OQS_KEM_alg_sidh_p751_compressed "SIDH-p751-compressed"
-/** Algorithm identifier for SIKE p434 KEM. */
-#define OQS_KEM_alg_sike_p434 "SIKE-p434"
-/** Algorithm identifier for SIKE p434 compressed KEM. */
-#define OQS_KEM_alg_sike_p434_compressed "SIKE-p434-compressed"
-/** Algorithm identifier for SIKE p503 KEM. */
-#define OQS_KEM_alg_sike_p503 "SIKE-p503"
-/** Algorithm identifier for SIKE p503 compressed KEM. */
-#define OQS_KEM_alg_sike_p503_compressed "SIKE-p503-compressed"
-/** Algorithm identifier for SIKE p610 KEM. */
-#define OQS_KEM_alg_sike_p610 "SIKE-p610"
-/** Algorithm identifier for SIKE p610 compressed KEM. */
-#define OQS_KEM_alg_sike_p610_compressed "SIKE-p610-compressed"
-/** Algorithm identifier for SIKE p751 KEM. */
-#define OQS_KEM_alg_sike_p751 "SIKE-p751"
-/** Algorithm identifier for SIKE p751 compressed KEM. */
-#define OQS_KEM_alg_sike_p751_compressed "SIKE-p751-compressed"
-// EDIT-WHEN-ADDING-KEM
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_ALGS_LENGTH_START
-/** Number of algorithm identifiers above. */
-#define OQS_KEM_algs_length 59
-///// OQS_COPY_FROM_PQCLEAN_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 unsigned char *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 unsigned char *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
-#endif /* OQS_ENABLE_KEM_BIKE */
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_INCLUDE_START
-#ifdef OQS_ENABLE_KEM_CLASSIC_MCELIECE
-#include
-#endif /* OQS_ENABLE_KEM_CLASSIC_MCELIECE */
-#ifdef OQS_ENABLE_KEM_HQC
-#include
-#endif /* OQS_ENABLE_KEM_HQC */
-#ifdef OQS_ENABLE_KEM_KYBER
-#include
-#endif /* OQS_ENABLE_KEM_KYBER */
-#ifdef OQS_ENABLE_KEM_NTRU
-#include
-#endif /* OQS_ENABLE_KEM_NTRU */
-#ifdef OQS_ENABLE_KEM_NTRUPRIME
-#include
-#endif /* OQS_ENABLE_KEM_NTRUPRIME */
-#ifdef OQS_ENABLE_KEM_SABER
-#include
-#endif /* OQS_ENABLE_KEM_SABER */
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_INCLUDE_END
-#ifdef OQS_ENABLE_KEM_FRODOKEM
-#include
-#endif /* OQS_ENABLE_KEM_FRODOKEM */
-#ifdef OQS_ENABLE_KEM_SIKE
-#include
-#endif /* OQS_ENABLE_KEM_SIKE */
-#ifdef OQS_ENABLE_KEM_SIDH
-#include
-#endif /* OQS_ENABLE_KEM_SIDH */
-// EDIT-WHEN-ADDING-KEM
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_KEM_H
diff --git a/liboqs-android/jni/include/oqs/kem_bike.h b/liboqs-android/jni/include/oqs/kem_bike.h
deleted file mode 100644
index 868223c..0000000
--- a/liboqs-android/jni/include/oqs/kem_bike.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_BIKE_H
-#define OQS_KEM_BIKE_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_bike1_l1_cpa
-#define OQS_KEM_bike1_l1_cpa_length_secret_key 3110
-#define OQS_KEM_bike1_l1_cpa_length_public_key 2542
-#define OQS_KEM_bike1_l1_cpa_length_ciphertext 2542
-#define OQS_KEM_bike1_l1_cpa_length_shared_secret 32
-OQS_KEM *OQS_KEM_bike1_l1_cpa_new(void);
-OQS_API OQS_STATUS OQS_KEM_bike1_l1_cpa_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l1_cpa_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l1_cpa_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_bike1_l3_cpa
-#define OQS_KEM_bike1_l3_cpa_length_secret_key 5788
-#define OQS_KEM_bike1_l3_cpa_length_public_key 4964
-#define OQS_KEM_bike1_l3_cpa_length_ciphertext 4964
-#define OQS_KEM_bike1_l3_cpa_length_shared_secret 32
-OQS_KEM *OQS_KEM_bike1_l3_cpa_new(void);
-OQS_API OQS_STATUS OQS_KEM_bike1_l3_cpa_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l3_cpa_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l3_cpa_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_bike1_l1_fo
-#define OQS_KEM_bike1_l1_fo_length_secret_key 6460
-#define OQS_KEM_bike1_l1_fo_length_public_key 2946
-#define OQS_KEM_bike1_l1_fo_length_ciphertext 2946
-#define OQS_KEM_bike1_l1_fo_length_shared_secret 32
-OQS_KEM *OQS_KEM_bike1_l1_fo_new(void);
-OQS_API OQS_STATUS OQS_KEM_bike1_l1_fo_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l1_fo_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l1_fo_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_bike1_l3_fo
-#define OQS_KEM_bike1_l3_fo_length_secret_key 13236
-#define OQS_KEM_bike1_l3_fo_length_public_key 6206
-#define OQS_KEM_bike1_l3_fo_length_ciphertext 6206
-#define OQS_KEM_bike1_l3_fo_length_shared_secret 32
-OQS_KEM *OQS_KEM_bike1_l3_fo_new(void);
-OQS_API OQS_STATUS OQS_KEM_bike1_l3_fo_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l3_fo_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_bike1_l3_fo_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif // OQS_KEM_BIKE_H
diff --git a/liboqs-android/jni/include/oqs/kem_classic_mceliece.h b/liboqs-android/jni/include/oqs/kem_classic_mceliece.h
deleted file mode 100644
index 5f57c77..0000000
--- a/liboqs-android/jni/include/oqs/kem_classic_mceliece.h
+++ /dev/null
@@ -1,119 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_CLASSIC_MCELIECE_H
-#define OQS_KEM_CLASSIC_MCELIECE_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_348864
-#define OQS_KEM_classic_mceliece_348864_length_public_key 261120
-#define OQS_KEM_classic_mceliece_348864_length_secret_key 6452
-#define OQS_KEM_classic_mceliece_348864_length_ciphertext 128
-#define OQS_KEM_classic_mceliece_348864_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_348864_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_348864_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_348864_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_348864_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_348864f
-#define OQS_KEM_classic_mceliece_348864f_length_public_key 261120
-#define OQS_KEM_classic_mceliece_348864f_length_secret_key 6452
-#define OQS_KEM_classic_mceliece_348864f_length_ciphertext 128
-#define OQS_KEM_classic_mceliece_348864f_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_348864f_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_348864f_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_348864f_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_348864f_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_460896
-#define OQS_KEM_classic_mceliece_460896_length_public_key 524160
-#define OQS_KEM_classic_mceliece_460896_length_secret_key 13568
-#define OQS_KEM_classic_mceliece_460896_length_ciphertext 188
-#define OQS_KEM_classic_mceliece_460896_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_460896_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_460896_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_460896_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_460896_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_460896f
-#define OQS_KEM_classic_mceliece_460896f_length_public_key 524160
-#define OQS_KEM_classic_mceliece_460896f_length_secret_key 13568
-#define OQS_KEM_classic_mceliece_460896f_length_ciphertext 188
-#define OQS_KEM_classic_mceliece_460896f_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_460896f_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_460896f_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_460896f_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_460896f_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_6688128
-#define OQS_KEM_classic_mceliece_6688128_length_public_key 1044992
-#define OQS_KEM_classic_mceliece_6688128_length_secret_key 13892
-#define OQS_KEM_classic_mceliece_6688128_length_ciphertext 240
-#define OQS_KEM_classic_mceliece_6688128_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_6688128_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6688128_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6688128_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6688128_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_6688128f
-#define OQS_KEM_classic_mceliece_6688128f_length_public_key 1044992
-#define OQS_KEM_classic_mceliece_6688128f_length_secret_key 13892
-#define OQS_KEM_classic_mceliece_6688128f_length_ciphertext 240
-#define OQS_KEM_classic_mceliece_6688128f_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_6688128f_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6688128f_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6688128f_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6688128f_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_6960119
-#define OQS_KEM_classic_mceliece_6960119_length_public_key 1047319
-#define OQS_KEM_classic_mceliece_6960119_length_secret_key 13908
-#define OQS_KEM_classic_mceliece_6960119_length_ciphertext 226
-#define OQS_KEM_classic_mceliece_6960119_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_6960119_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6960119_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6960119_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6960119_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_6960119f
-#define OQS_KEM_classic_mceliece_6960119f_length_public_key 1047319
-#define OQS_KEM_classic_mceliece_6960119f_length_secret_key 13908
-#define OQS_KEM_classic_mceliece_6960119f_length_ciphertext 226
-#define OQS_KEM_classic_mceliece_6960119f_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_6960119f_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6960119f_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6960119f_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_6960119f_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_8192128
-#define OQS_KEM_classic_mceliece_8192128_length_public_key 1357824
-#define OQS_KEM_classic_mceliece_8192128_length_secret_key 14080
-#define OQS_KEM_classic_mceliece_8192128_length_ciphertext 240
-#define OQS_KEM_classic_mceliece_8192128_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_8192128_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_8192128_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_8192128_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_8192128_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_classic_mceliece_8192128f
-#define OQS_KEM_classic_mceliece_8192128f_length_public_key 1357824
-#define OQS_KEM_classic_mceliece_8192128f_length_secret_key 14080
-#define OQS_KEM_classic_mceliece_8192128f_length_ciphertext 240
-#define OQS_KEM_classic_mceliece_8192128f_length_shared_secret 32
-OQS_KEM *OQS_KEM_classic_mceliece_8192128f_new(void);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_8192128f_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_8192128f_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_classic_mceliece_8192128f_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif
-
diff --git a/liboqs-android/jni/include/oqs/kem_frodokem.h b/liboqs-android/jni/include/oqs/kem_frodokem.h
deleted file mode 100644
index 75ac92d..0000000
--- a/liboqs-android/jni/include/oqs/kem_frodokem.h
+++ /dev/null
@@ -1,74 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_FRODOKEM_H
-#define OQS_KEM_FRODOKEM_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_frodokem_640_aes
-#define OQS_KEM_frodokem_640_aes_length_public_key 9616
-#define OQS_KEM_frodokem_640_aes_length_secret_key 19888
-#define OQS_KEM_frodokem_640_aes_length_ciphertext 9720
-#define OQS_KEM_frodokem_640_aes_length_shared_secret 16
-OQS_KEM *OQS_KEM_frodokem_640_aes_new(void);
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_aes_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_frodokem_640_shake
-#define OQS_KEM_frodokem_640_shake_length_public_key 9616
-#define OQS_KEM_frodokem_640_shake_length_secret_key 19888
-#define OQS_KEM_frodokem_640_shake_length_ciphertext 9720
-#define OQS_KEM_frodokem_640_shake_length_shared_secret 16
-OQS_KEM *OQS_KEM_frodokem_640_shake_new(void);
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_640_shake_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_frodokem_976_aes
-#define OQS_KEM_frodokem_976_aes_length_public_key 15632
-#define OQS_KEM_frodokem_976_aes_length_secret_key 31296
-#define OQS_KEM_frodokem_976_aes_length_ciphertext 15744
-#define OQS_KEM_frodokem_976_aes_length_shared_secret 24
-OQS_KEM *OQS_KEM_frodokem_976_aes_new(void);
-OQS_API OQS_STATUS OQS_KEM_frodokem_976_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_976_aes_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_976_aes_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_frodokem_976_shake
-#define OQS_KEM_frodokem_976_shake_length_public_key 15632
-#define OQS_KEM_frodokem_976_shake_length_secret_key 31296
-#define OQS_KEM_frodokem_976_shake_length_ciphertext 15744
-#define OQS_KEM_frodokem_976_shake_length_shared_secret 24
-OQS_KEM *OQS_KEM_frodokem_976_shake_new(void);
-OQS_API OQS_STATUS OQS_KEM_frodokem_976_shake_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_976_shake_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_976_shake_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_frodokem_1344_aes
-#define OQS_KEM_frodokem_1344_aes_length_public_key 21520
-#define OQS_KEM_frodokem_1344_aes_length_secret_key 43088
-#define OQS_KEM_frodokem_1344_aes_length_ciphertext 21632
-#define OQS_KEM_frodokem_1344_aes_length_shared_secret 32
-OQS_KEM *OQS_KEM_frodokem_1344_aes_new(void);
-OQS_API OQS_STATUS OQS_KEM_frodokem_1344_aes_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_1344_aes_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_1344_aes_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_frodokem_1344_shake
-#define OQS_KEM_frodokem_1344_shake_length_public_key 21520
-#define OQS_KEM_frodokem_1344_shake_length_secret_key 43088
-#define OQS_KEM_frodokem_1344_shake_length_ciphertext 21632
-#define OQS_KEM_frodokem_1344_shake_length_shared_secret 32
-OQS_KEM *OQS_KEM_frodokem_1344_shake_new(void);
-OQS_API OQS_STATUS OQS_KEM_frodokem_1344_shake_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_1344_shake_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_frodokem_1344_shake_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif // OQS_KEM_FRODOKEM_H
diff --git a/liboqs-android/jni/include/oqs/kem_hqc.h b/liboqs-android/jni/include/oqs/kem_hqc.h
deleted file mode 100644
index 8144c6d..0000000
--- a/liboqs-android/jni/include/oqs/kem_hqc.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_HQC_H
-#define OQS_KEM_HQC_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_hqc_128
-#define OQS_KEM_hqc_128_length_public_key 2249
-#define OQS_KEM_hqc_128_length_secret_key 2289
-#define OQS_KEM_hqc_128_length_ciphertext 4481
-#define OQS_KEM_hqc_128_length_shared_secret 64
-OQS_KEM *OQS_KEM_hqc_128_new(void);
-OQS_API OQS_STATUS OQS_KEM_hqc_128_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_hqc_128_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_hqc_128_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_hqc_192
-#define OQS_KEM_hqc_192_length_public_key 4522
-#define OQS_KEM_hqc_192_length_secret_key 4562
-#define OQS_KEM_hqc_192_length_ciphertext 9026
-#define OQS_KEM_hqc_192_length_shared_secret 64
-OQS_KEM *OQS_KEM_hqc_192_new(void);
-OQS_API OQS_STATUS OQS_KEM_hqc_192_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_hqc_192_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_hqc_192_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_hqc_256
-#define OQS_KEM_hqc_256_length_public_key 7245
-#define OQS_KEM_hqc_256_length_secret_key 7285
-#define OQS_KEM_hqc_256_length_ciphertext 14469
-#define OQS_KEM_hqc_256_length_shared_secret 64
-OQS_KEM *OQS_KEM_hqc_256_new(void);
-OQS_API OQS_STATUS OQS_KEM_hqc_256_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_hqc_256_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_hqc_256_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif
-
diff --git a/liboqs-android/jni/include/oqs/kem_kyber.h b/liboqs-android/jni/include/oqs/kem_kyber.h
deleted file mode 100644
index 9ec210d..0000000
--- a/liboqs-android/jni/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
-
-#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 unsigned char *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 unsigned char *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 unsigned char *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 unsigned char *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 unsigned char *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 unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif
-
diff --git a/liboqs-android/jni/include/oqs/kem_ntru.h b/liboqs-android/jni/include/oqs/kem_ntru.h
deleted file mode 100644
index 54f27f7..0000000
--- a/liboqs-android/jni/include/oqs/kem_ntru.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_NTRU_H
-#define OQS_KEM_NTRU_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_ntru_hps2048509
-#define OQS_KEM_ntru_hps2048509_length_public_key 699
-#define OQS_KEM_ntru_hps2048509_length_secret_key 935
-#define OQS_KEM_ntru_hps2048509_length_ciphertext 699
-#define OQS_KEM_ntru_hps2048509_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntru_hps2048509_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps2048509_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps2048509_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps2048509_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntru_hps2048677
-#define OQS_KEM_ntru_hps2048677_length_public_key 930
-#define OQS_KEM_ntru_hps2048677_length_secret_key 1234
-#define OQS_KEM_ntru_hps2048677_length_ciphertext 930
-#define OQS_KEM_ntru_hps2048677_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntru_hps2048677_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps2048677_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps2048677_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps2048677_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntru_hps4096821
-#define OQS_KEM_ntru_hps4096821_length_public_key 1230
-#define OQS_KEM_ntru_hps4096821_length_secret_key 1590
-#define OQS_KEM_ntru_hps4096821_length_ciphertext 1230
-#define OQS_KEM_ntru_hps4096821_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntru_hps4096821_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps4096821_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps4096821_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hps4096821_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntru_hrss701
-#define OQS_KEM_ntru_hrss701_length_public_key 1138
-#define OQS_KEM_ntru_hrss701_length_secret_key 1450
-#define OQS_KEM_ntru_hrss701_length_ciphertext 1138
-#define OQS_KEM_ntru_hrss701_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntru_hrss701_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntru_hrss701_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hrss701_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntru_hrss701_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif
-
diff --git a/liboqs-android/jni/include/oqs/kem_ntruprime.h b/liboqs-android/jni/include/oqs/kem_ntruprime.h
deleted file mode 100644
index 15d0d7f..0000000
--- a/liboqs-android/jni/include/oqs/kem_ntruprime.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_NTRUPRIME_H
-#define OQS_KEM_NTRUPRIME_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_ntruprime_ntrulpr653
-#define OQS_KEM_ntruprime_ntrulpr653_length_public_key 897
-#define OQS_KEM_ntruprime_ntrulpr653_length_secret_key 1125
-#define OQS_KEM_ntruprime_ntrulpr653_length_ciphertext 1025
-#define OQS_KEM_ntruprime_ntrulpr653_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntruprime_ntrulpr653_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr653_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr653_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr653_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntruprime_ntrulpr761
-#define OQS_KEM_ntruprime_ntrulpr761_length_public_key 1039
-#define OQS_KEM_ntruprime_ntrulpr761_length_secret_key 1294
-#define OQS_KEM_ntruprime_ntrulpr761_length_ciphertext 1167
-#define OQS_KEM_ntruprime_ntrulpr761_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntruprime_ntrulpr761_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr761_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr761_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr761_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntruprime_ntrulpr857
-#define OQS_KEM_ntruprime_ntrulpr857_length_public_key 1184
-#define OQS_KEM_ntruprime_ntrulpr857_length_secret_key 1463
-#define OQS_KEM_ntruprime_ntrulpr857_length_ciphertext 1312
-#define OQS_KEM_ntruprime_ntrulpr857_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntruprime_ntrulpr857_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr857_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr857_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_ntrulpr857_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntruprime_sntrup653
-#define OQS_KEM_ntruprime_sntrup653_length_public_key 994
-#define OQS_KEM_ntruprime_sntrup653_length_secret_key 1518
-#define OQS_KEM_ntruprime_sntrup653_length_ciphertext 897
-#define OQS_KEM_ntruprime_sntrup653_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntruprime_sntrup653_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup653_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup653_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup653_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntruprime_sntrup761
-#define OQS_KEM_ntruprime_sntrup761_length_public_key 1158
-#define OQS_KEM_ntruprime_sntrup761_length_secret_key 1763
-#define OQS_KEM_ntruprime_sntrup761_length_ciphertext 1039
-#define OQS_KEM_ntruprime_sntrup761_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntruprime_sntrup761_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup761_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup761_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup761_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_ntruprime_sntrup857
-#define OQS_KEM_ntruprime_sntrup857_length_public_key 1322
-#define OQS_KEM_ntruprime_sntrup857_length_secret_key 1999
-#define OQS_KEM_ntruprime_sntrup857_length_ciphertext 1184
-#define OQS_KEM_ntruprime_sntrup857_length_shared_secret 32
-OQS_KEM *OQS_KEM_ntruprime_sntrup857_new(void);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup857_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup857_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_ntruprime_sntrup857_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif
-
diff --git a/liboqs-android/jni/include/oqs/kem_saber.h b/liboqs-android/jni/include/oqs/kem_saber.h
deleted file mode 100644
index 9e0c613..0000000
--- a/liboqs-android/jni/include/oqs/kem_saber.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_SABER_H
-#define OQS_KEM_SABER_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_saber_lightsaber
-#define OQS_KEM_saber_lightsaber_length_public_key 672
-#define OQS_KEM_saber_lightsaber_length_secret_key 1568
-#define OQS_KEM_saber_lightsaber_length_ciphertext 736
-#define OQS_KEM_saber_lightsaber_length_shared_secret 32
-OQS_KEM *OQS_KEM_saber_lightsaber_new(void);
-OQS_API OQS_STATUS OQS_KEM_saber_lightsaber_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_saber_lightsaber_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_saber_lightsaber_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_saber_saber
-#define OQS_KEM_saber_saber_length_public_key 992
-#define OQS_KEM_saber_saber_length_secret_key 2304
-#define OQS_KEM_saber_saber_length_ciphertext 1088
-#define OQS_KEM_saber_saber_length_shared_secret 32
-OQS_KEM *OQS_KEM_saber_saber_new(void);
-OQS_API OQS_STATUS OQS_KEM_saber_saber_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_saber_saber_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_saber_saber_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#ifdef OQS_ENABLE_KEM_saber_firesaber
-#define OQS_KEM_saber_firesaber_length_public_key 1312
-#define OQS_KEM_saber_firesaber_length_secret_key 3040
-#define OQS_KEM_saber_firesaber_length_ciphertext 1472
-#define OQS_KEM_saber_firesaber_length_shared_secret 32
-OQS_KEM *OQS_KEM_saber_firesaber_new(void);
-OQS_API OQS_STATUS OQS_KEM_saber_firesaber_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_saber_firesaber_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_saber_firesaber_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-#endif
-
-#endif
-
diff --git a/liboqs-android/jni/include/oqs/kem_sike.h b/liboqs-android/jni/include/oqs/kem_sike.h
deleted file mode 100644
index 947f2f3..0000000
--- a/liboqs-android/jni/include/oqs/kem_sike.h
+++ /dev/null
@@ -1,248 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_KEM_SIKE_H
-#define OQS_KEM_SIKE_H
-
-#include
-
-#ifdef OQS_ENABLE_KEM_sike_p434
-
-#define OQS_KEM_sike_p434_length_public_key 330
-#define OQS_KEM_sike_p434_length_secret_key 374
-#define OQS_KEM_sike_p434_length_ciphertext 346
-#define OQS_KEM_sike_p434_length_shared_secret 16
-
-OQS_KEM *OQS_KEM_sike_p434_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p434_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p434_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p434_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sike_p434_compressed
-
-#define OQS_KEM_sike_p434_compressed_length_public_key 197
-#define OQS_KEM_sike_p434_compressed_length_secret_key 350
-#define OQS_KEM_sike_p434_compressed_length_ciphertext 236
-#define OQS_KEM_sike_p434_compressed_length_shared_secret 16
-
-OQS_KEM *OQS_KEM_sike_p434_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p434_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p434_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p434_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sike_p503
-
-#define OQS_KEM_sike_p503_length_public_key 378
-#define OQS_KEM_sike_p503_length_secret_key 434
-#define OQS_KEM_sike_p503_length_ciphertext 402
-#define OQS_KEM_sike_p503_length_shared_secret 24
-
-OQS_KEM *OQS_KEM_sike_p503_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p503_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sike_p503_compressed
-
-#define OQS_KEM_sike_p503_compressed_length_public_key 225
-#define OQS_KEM_sike_p503_compressed_length_secret_key 407
-#define OQS_KEM_sike_p503_compressed_length_ciphertext 280
-#define OQS_KEM_sike_p503_compressed_length_shared_secret 24
-
-OQS_KEM *OQS_KEM_sike_p503_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p503_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p503_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p503_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sike_p610
-
-#define OQS_KEM_sike_p610_length_public_key 462
-#define OQS_KEM_sike_p610_length_secret_key 524
-#define OQS_KEM_sike_p610_length_ciphertext 486
-#define OQS_KEM_sike_p610_length_shared_secret 24
-
-OQS_KEM *OQS_KEM_sike_p610_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p610_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p610_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p610_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sike_p610_compressed
-
-#define OQS_KEM_sike_p610_compressed_length_public_key 274
-#define OQS_KEM_sike_p610_compressed_length_secret_key 491
-#define OQS_KEM_sike_p610_compressed_length_ciphertext 336
-#define OQS_KEM_sike_p610_compressed_length_shared_secret 24
-
-OQS_KEM *OQS_KEM_sike_p610_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p610_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p610_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p610_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sike_p751
-
-#define OQS_KEM_sike_p751_length_public_key 564
-#define OQS_KEM_sike_p751_length_secret_key 644
-#define OQS_KEM_sike_p751_length_ciphertext 596
-#define OQS_KEM_sike_p751_length_shared_secret 32
-
-OQS_KEM *OQS_KEM_sike_p751_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p751_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sike_p751_compressed
-
-#define OQS_KEM_sike_p751_compressed_length_public_key 335
-#define OQS_KEM_sike_p751_compressed_length_secret_key 602
-#define OQS_KEM_sike_p751_compressed_length_ciphertext 410
-#define OQS_KEM_sike_p751_compressed_length_shared_secret 32
-
-OQS_KEM *OQS_KEM_sike_p751_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sike_p751_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p751_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sike_p751_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p434
-
-#define OQS_KEM_sidh_p434_length_public_key 330
-#define OQS_KEM_sidh_p434_length_secret_key 28
-#define OQS_KEM_sidh_p434_length_ciphertext 330
-#define OQS_KEM_sidh_p434_length_shared_secret 110
-
-OQS_KEM *OQS_KEM_sidh_p434_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p434_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p434_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p434_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p434_compressed
-
-#define OQS_KEM_sidh_p434_compressed_length_public_key 197
-#define OQS_KEM_sidh_p434_compressed_length_secret_key 28
-#define OQS_KEM_sidh_p434_compressed_length_ciphertext 197
-#define OQS_KEM_sidh_p434_compressed_length_shared_secret 110
-
-OQS_KEM *OQS_KEM_sidh_p434_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p434_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p434_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p434_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p503
-
-#define OQS_KEM_sidh_p503_length_public_key 378
-#define OQS_KEM_sidh_p503_length_secret_key 32
-#define OQS_KEM_sidh_p503_length_ciphertext 378
-#define OQS_KEM_sidh_p503_length_shared_secret 126
-
-OQS_KEM *OQS_KEM_sidh_p503_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p503_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p503_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p503_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p503_compressed
-
-#define OQS_KEM_sidh_p503_compressed_length_public_key 225
-#define OQS_KEM_sidh_p503_compressed_length_secret_key 32
-#define OQS_KEM_sidh_p503_compressed_length_ciphertext 225
-#define OQS_KEM_sidh_p503_compressed_length_shared_secret 126
-
-OQS_KEM *OQS_KEM_sidh_p503_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p503_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p503_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p503_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p610
-
-#define OQS_KEM_sidh_p610_length_public_key 462
-#define OQS_KEM_sidh_p610_length_secret_key 39
-#define OQS_KEM_sidh_p610_length_ciphertext 462
-#define OQS_KEM_sidh_p610_length_shared_secret 154
-
-OQS_KEM *OQS_KEM_sidh_p610_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p610_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p610_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p610_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p610_compressed
-
-#define OQS_KEM_sidh_p610_compressed_length_public_key 274
-#define OQS_KEM_sidh_p610_compressed_length_secret_key 39
-#define OQS_KEM_sidh_p610_compressed_length_ciphertext 274
-#define OQS_KEM_sidh_p610_compressed_length_shared_secret 154
-
-OQS_KEM *OQS_KEM_sidh_p610_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p610_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p610_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p610_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p751
-
-#define OQS_KEM_sidh_p751_length_public_key 564
-#define OQS_KEM_sidh_p751_length_secret_key 48
-#define OQS_KEM_sidh_p751_length_ciphertext 564
-#define OQS_KEM_sidh_p751_length_shared_secret 188
-
-OQS_KEM *OQS_KEM_sidh_p751_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p751_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p751_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p751_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#ifdef OQS_ENABLE_KEM_sidh_p751_compressed
-
-#define OQS_KEM_sidh_p751_compressed_length_public_key 335
-#define OQS_KEM_sidh_p751_compressed_length_secret_key 48
-#define OQS_KEM_sidh_p751_compressed_length_ciphertext 335
-#define OQS_KEM_sidh_p751_compressed_length_shared_secret 188
-
-OQS_KEM *OQS_KEM_sidh_p751_compressed_new(void);
-
-OQS_API OQS_STATUS OQS_KEM_sidh_p751_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p751_compressed_encaps(uint8_t *ciphertext, uint8_t *shared_secret, const uint8_t *public_key);
-OQS_API OQS_STATUS OQS_KEM_sidh_p751_compressed_decaps(uint8_t *shared_secret, const unsigned char *ciphertext, const uint8_t *secret_key);
-
-#endif
-
-#endif // OQS_KEM_SIKE_H
diff --git a/liboqs-android/jni/include/oqs/oqs.h b/liboqs-android/jni/include/oqs/oqs.h
deleted file mode 100644
index bf8c4bd..0000000
--- a/liboqs-android/jni/include/oqs/oqs.h
+++ /dev/null
@@ -1,24 +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
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#endif // OQS_H
diff --git a/liboqs-android/jni/include/oqs/oqsconfig.h b/liboqs-android/jni/include/oqs/oqsconfig.h
deleted file mode 100644
index bd01df4..0000000
--- a/liboqs-android/jni/include/oqs/oqsconfig.h
+++ /dev/null
@@ -1,244 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#define OQS_VERSION_TEXT "0.5.0-dev"
-#define OQS_COMPILE_BUILD_TARGET "x86_64-Linux-4.4.0-19041-Microsoft"
-#define OQS_PORTABLE_BUILD 1
-
-#define OQS_KEM_DEFAULT OQS_KEM_alg_frodokem_640_aes
-#define OQS_SIG_DEFAULT OQS_SIG_alg_dilithium_2
-
-/* #undef OQS_USE_OPENSSL */
-/* #undef OQS_USE_AES_OPENSSL */
-/* #undef OQS_USE_SHA2_OPENSSL */
-/* #undef OQS_USE_SHA3_OPENSSL */
-
-#define OQS_USE_PTHREADS_IN_TESTS 1
-/* #undef OQS_USE_CPU_EXTENSIONS */
-
-/* #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_PCLMUL_INSTRUCTIONS */
-/* #undef OQS_USE_POPCNT_INSTRUCTIONS */
-/* #undef OQS_USE_SSE_INSTRUCTIONS */
-/* #undef OQS_USE_SSE2_INSTRUCTIONS */
-/* #undef OQS_USE_SSE3_INSTRUCTIONS */
-
-#define OQS_ENABLE_KEM_BIKE 1
-#define OQS_ENABLE_KEM_bike1_l1_cpa 1
-#define OQS_ENABLE_KEM_bike1_l3_cpa 1
-#define OQS_ENABLE_KEM_bike1_l1_fo 1
-#define OQS_ENABLE_KEM_bike1_l3_fo 1
-
-#define OQS_ENABLE_KEM_FRODOKEM 1
-#define OQS_ENABLE_KEM_frodokem_640_aes 1
-#define OQS_ENABLE_KEM_frodokem_640_shake 1
-#define OQS_ENABLE_KEM_frodokem_976_aes 1
-#define OQS_ENABLE_KEM_frodokem_976_shake 1
-#define OQS_ENABLE_KEM_frodokem_1344_aes 1
-#define OQS_ENABLE_KEM_frodokem_1344_shake 1
-
-#define OQS_ENABLE_KEM_SIDH 1
-#define OQS_ENABLE_KEM_sidh_p434 1
-#define OQS_ENABLE_KEM_sidh_p434_compressed 1
-#define OQS_ENABLE_KEM_sidh_p503 1
-#define OQS_ENABLE_KEM_sidh_p503_compressed 1
-#define OQS_ENABLE_KEM_sidh_p610 1
-#define OQS_ENABLE_KEM_sidh_p610_compressed 1
-#define OQS_ENABLE_KEM_sidh_p751 1
-#define OQS_ENABLE_KEM_sidh_p751_compressed 1
-
-/* #undef OQS_ENABLE_KEM_SIKE */
-/* #undef OQS_ENABLE_KEM_sike_p434 */
-/* #undef OQS_ENABLE_KEM_sike_p434_compressed */
-/* #undef OQS_ENABLE_KEM_sike_p503 */
-/* #undef OQS_ENABLE_KEM_sike_p503_compressed */
-/* #undef OQS_ENABLE_KEM_sike_p610 */
-/* #undef OQS_ENABLE_KEM_sike_p610_compressed */
-/* #undef OQS_ENABLE_KEM_sike_p751 */
-/* #undef OQS_ENABLE_KEM_sike_p751_compressed */
-
-/* #undef OQS_ENABLE_SIG_PICNIC */
-/* #undef OQS_ENABLE_SIG_picnic_L1_UR */
-/* #undef OQS_ENABLE_SIG_picnic_L1_FS */
-/* #undef OQS_ENABLE_SIG_picnic_L1_full */
-/* #undef OQS_ENABLE_SIG_picnic_L3_UR */
-/* #undef OQS_ENABLE_SIG_picnic_L3_FS */
-/* #undef OQS_ENABLE_SIG_picnic_L3_full */
-/* #undef OQS_ENABLE_SIG_picnic_L5_UR */
-/* #undef OQS_ENABLE_SIG_picnic_L5_FS */
-/* #undef OQS_ENABLE_SIG_picnic_L5_full */
-/* #undef OQS_ENABLE_SIG_picnic3_L1 */
-/* #undef OQS_ENABLE_SIG_picnic3_L3 */
-/* #undef OQS_ENABLE_SIG_picnic3_L5 */
-
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_ADD_ALG_ENABLE_DEFINES_START
-
-#define OQS_ENABLE_KEM_CLASSIC_MCELIECE 1
-#define OQS_ENABLE_KEM_classic_mceliece_348864 1
-#define OQS_ENABLE_KEM_classic_mceliece_348864f 1
-#define OQS_ENABLE_KEM_classic_mceliece_460896 1
-#define OQS_ENABLE_KEM_classic_mceliece_460896f 1
-#define OQS_ENABLE_KEM_classic_mceliece_6688128 1
-#define OQS_ENABLE_KEM_classic_mceliece_6688128f 1
-#define OQS_ENABLE_KEM_classic_mceliece_6960119 1
-#define OQS_ENABLE_KEM_classic_mceliece_6960119f 1
-#define OQS_ENABLE_KEM_classic_mceliece_8192128 1
-#define OQS_ENABLE_KEM_classic_mceliece_8192128f 1
-
-#define OQS_ENABLE_KEM_HQC 1
-#define OQS_ENABLE_KEM_hqc_128 1
-/* #undef OQS_ENABLE_KEM_hqc_128_avx2 */
-#define OQS_ENABLE_KEM_hqc_192 1
-/* #undef OQS_ENABLE_KEM_hqc_192_avx2 */
-#define OQS_ENABLE_KEM_hqc_256 1
-/* #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 */
-#define OQS_ENABLE_KEM_kyber_768 1
-/* #undef OQS_ENABLE_KEM_kyber_768_avx2 */
-#define OQS_ENABLE_KEM_kyber_1024 1
-/* #undef OQS_ENABLE_KEM_kyber_1024_avx2 */
-#define OQS_ENABLE_KEM_kyber_512_90s 1
-/* #undef OQS_ENABLE_KEM_kyber_512_90s_avx2 */
-#define OQS_ENABLE_KEM_kyber_768_90s 1
-/* #undef OQS_ENABLE_KEM_kyber_768_90s_avx2 */
-#define OQS_ENABLE_KEM_kyber_1024_90s 1
-/* #undef OQS_ENABLE_KEM_kyber_1024_90s_avx2 */
-
-#define OQS_ENABLE_KEM_NTRU 1
-#define OQS_ENABLE_KEM_ntru_hps2048509 1
-/* #undef OQS_ENABLE_KEM_ntru_hps2048509_avx2 */
-#define OQS_ENABLE_KEM_ntru_hps2048677 1
-/* #undef OQS_ENABLE_KEM_ntru_hps2048677_avx2 */
-#define OQS_ENABLE_KEM_ntru_hps4096821 1
-/* #undef OQS_ENABLE_KEM_ntru_hps4096821_avx2 */
-#define OQS_ENABLE_KEM_ntru_hrss701 1
-/* #undef OQS_ENABLE_KEM_ntru_hrss701_avx2 */
-
-#define OQS_ENABLE_KEM_NTRUPRIME 1
-#define OQS_ENABLE_KEM_ntruprime_ntrulpr653 1
-/* #undef OQS_ENABLE_KEM_ntruprime_ntrulpr653_avx2 */
-#define OQS_ENABLE_KEM_ntruprime_ntrulpr761 1
-/* #undef OQS_ENABLE_KEM_ntruprime_ntrulpr761_avx2 */
-#define OQS_ENABLE_KEM_ntruprime_ntrulpr857 1
-/* #undef OQS_ENABLE_KEM_ntruprime_ntrulpr857_avx2 */
-#define OQS_ENABLE_KEM_ntruprime_sntrup653 1
-/* #undef OQS_ENABLE_KEM_ntruprime_sntrup653_avx2 */
-#define OQS_ENABLE_KEM_ntruprime_sntrup761 1
-/* #undef OQS_ENABLE_KEM_ntruprime_sntrup761_avx2 */
-#define OQS_ENABLE_KEM_ntruprime_sntrup857 1
-/* #undef OQS_ENABLE_KEM_ntruprime_sntrup857_avx2 */
-
-#define OQS_ENABLE_KEM_SABER 1
-#define OQS_ENABLE_KEM_saber_lightsaber 1
-/* #undef OQS_ENABLE_KEM_saber_lightsaber_avx2 */
-#define OQS_ENABLE_KEM_saber_saber 1
-/* #undef OQS_ENABLE_KEM_saber_saber_avx2 */
-#define OQS_ENABLE_KEM_saber_firesaber 1
-/* #undef OQS_ENABLE_KEM_saber_firesaber_avx2 */
-
-#define OQS_ENABLE_SIG_DILITHIUM 1
-#define OQS_ENABLE_SIG_dilithium_2 1
-/* #undef OQS_ENABLE_SIG_dilithium_2_avx2 */
-#define OQS_ENABLE_SIG_dilithium_3 1
-/* #undef OQS_ENABLE_SIG_dilithium_3_avx2 */
-#define OQS_ENABLE_SIG_dilithium_4 1
-/* #undef OQS_ENABLE_SIG_dilithium_4_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_RAINBOW 1
-#define OQS_ENABLE_SIG_rainbow_Ia_classic 1
-#define OQS_ENABLE_SIG_rainbow_Ia_cyclic 1
-#define OQS_ENABLE_SIG_rainbow_Ia_cyclic_compressed 1
-#define OQS_ENABLE_SIG_rainbow_IIIc_classic 1
-#define OQS_ENABLE_SIG_rainbow_IIIc_cyclic 1
-#define OQS_ENABLE_SIG_rainbow_IIIc_cyclic_compressed 1
-#define OQS_ENABLE_SIG_rainbow_Vc_classic 1
-#define OQS_ENABLE_SIG_rainbow_Vc_cyclic 1
-#define OQS_ENABLE_SIG_rainbow_Vc_cyclic_compressed 1
-
-#define OQS_ENABLE_SIG_SPHINCS 1
-#define OQS_ENABLE_SIG_sphincs_haraka_128f_robust 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128f_robust_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_128f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128f_simple_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_128s_robust 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128s_robust_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_128s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_128s_simple_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_192f_robust 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192f_robust_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_192f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192f_simple_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_192s_robust 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192s_robust_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_192s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_192s_simple_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_256f_robust 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256f_robust_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_256f_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256f_simple_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_256s_robust 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256s_robust_aesni */
-#define OQS_ENABLE_SIG_sphincs_haraka_256s_simple 1
-/* #undef OQS_ENABLE_SIG_sphincs_haraka_256s_simple_aesni */
-#define OQS_ENABLE_SIG_sphincs_sha256_128f_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_sha256_128s_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_sha256_192f_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_sha256_192s_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_sha256_256f_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_sha256_256s_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_shake256_128f_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_shake256_128s_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_shake256_192f_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_shake256_192s_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_shake256_256f_robust 1
-/* #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 */
-#define OQS_ENABLE_SIG_sphincs_shake256_256s_robust 1
-/* #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_PQCLEAN_FRAGMENT_ADD_ALG_ENABLE_DEFINES_END
diff --git a/liboqs-android/jni/include/oqs/rand.h b/liboqs-android/jni/include/oqs/rand.h
deleted file mode 100644
index 3499c25..0000000
--- a/liboqs-android/jni/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
-#include
-#include
-
-#include
-
-#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/liboqs-android/jni/include/oqs/sha2.h b/liboqs-android/jni/include/oqs/sha2.h
deleted file mode 100644
index 66da5be..0000000
--- a/liboqs-android/jni/include/oqs/sha2.h
+++ /dev/null
@@ -1,251 +0,0 @@
-/**
- * \file sha2.h
- * \brief SHA2 functions; not part of the OQS public API
- *
- * Contains the API and documentation for SHA2 digest implementation
- *
- * 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.
- *
- * \author Douglas Stebila
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_SHA2_H
-#define OQS_SHA2_H
-
-#include
-#include
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/**
- * \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/liboqs-android/jni/include/oqs/sha3.h b/liboqs-android/jni/include/oqs/sha3.h
deleted file mode 100644
index 9fdf42a..0000000
--- a/liboqs-android/jni/include/oqs/sha3.h
+++ /dev/null
@@ -1,744 +0,0 @@
-/**
- * \file sha3.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.
- *
- * 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.
- *
- * \author John Underhill, Douglas Stebila
- *
- * SPDX-License-Identifier: MIT
- */
-
-#ifndef OQS_SHA3_H
-#define OQS_SHA3_H
-
-#include
-#include
-
-#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 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_SHA3_sha3_256(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the SHA3-256 incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_sha3_256_inc_ctx;
-
-/**
- * \brief Initialize the state for the SHA3-256 incremental hashing API.
- *
- * \warning State must be allovated by the caller. Caller is responsible
- * for releasing state by calling either OQS_SHA3_sha3_256_inc_finalize or
- * OQS_SHA3_sha3_256_inc_ctx_release.
- *
- * \param state The function state to be initialized; must be allocated.
- */
-void OQS_SHA3_sha3_256_inc_init(OQS_SHA3_sha3_256_inc_ctx *state);
-
-/**
- * \brief The SHA3-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 The input message byte array
- * \param inlen The number of message bytes to process
- */
-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 squeeze/finalize function.
- * Permutes and extracts the state to an output byte array.
- * Releases state.
- *
- * \warning Output array must be allocated.
- * State cannot be used after this without re-calling OQS_SHA3_sha3_256_inc_init.
-
- * \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.
- *
- * \warning State cannot be used after this without re-calling OQS_SHA3_sha3_256_inc_init.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_256_inc_ctx_release(OQS_SHA3_sha3_256_inc_ctx *state);
-
-/**
- * \brief Clone the state for the SHA3-256 incremental 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_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 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_SHA3_sha3_384(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the SHA3-384 incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_sha3_384_inc_ctx;
-
-/**
- * \brief Initialize the state for the SHA3-384 incremental hashing API.
- *
- * \warning State must be allovated by the caller. Caller is responsible
- * for releasing state by calling either OQS_SHA3_sha3_384_inc_finalize or
- * OQS_SHA3_sha3_384_inc_ctx_release.
- *
- * \param state The function state to be initialized; must be allocated.
- */
-void OQS_SHA3_sha3_384_inc_init(OQS_SHA3_sha3_384_inc_ctx *state);
-
-/**
- * \brief The SHA3-384 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 The input message byte array
- * \param inlen The number of message bytes to process
- */
-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 squeeze/finalize function.
- * Permutes and extracts the state to an output byte array.
- * Releases state.
- *
- * \warning Output array must be allocated.
- * State cannot be used after this without re-calling OQS_SHA3_sha3_384_inc_init.
-
- * \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.
- *
- * \warning State cannot be used after this without re-calling OQS_SHA3_sha3_384_inc_init.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_384_inc_ctx_release(OQS_SHA3_sha3_384_inc_ctx *state);
-
-/**
- * \brief Clone the state for the SHA3-384 incremental API.
- *
- * \warning dest must be allovated 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_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 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_SHA3_sha3_512(uint8_t *output, const uint8_t *input, size_t inplen);
-
-/** Data structure for the state of the SHA3-512 incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_sha3_512_inc_ctx;
-
-/**
- * \brief Initialize the state for the SHA3-512 incremental hashing API.
- *
- * \warning State must be allovated by the caller. Caller is responsible
- * for releasing state by calling either OQS_SHA3_sha3_512_inc_finalize or
- * OQS_SHA3_sha3_512_inc_ctx_release.
- *
- * \param state The function state to be initialized; must be allocated.
- */
-void OQS_SHA3_sha3_512_inc_init(OQS_SHA3_sha3_512_inc_ctx *state);
-
-/**
- * \brief The SHA3-512 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 The input message byte array
- * \param inlen The number of message bytes to process
- */
-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 squeeze/finalize function.
- * Permutes and extracts the state to an output byte array.
- * Releases state.
- *
- * \warning Output array must be allocated.
- * State cannot be used after this without re-calling OQS_SHA3_sha3_512_inc_init.
-
- * \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.
- *
- * \warning State cannot be used after this without re-calling OQS_SHA3_sha3_512_inc_init.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_sha3_512_inc_ctx_release(OQS_SHA3_sha3_512_inc_ctx *state);
-
-/**
- * \brief Clone the state for the SHA3-512 incremental API.
- *
- * \warning dest must be allovated 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_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 SHAKE128 non-incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake128_ctx;
-
-/**
- * \brief The SHAKE-128 absorb function.
- * Absorb and finalize an input seed byte array.
- * Should be used in conjunction with the shake128_squeezeblocks function.
- *
- * \warning Finalizes the seed state, should not be used in consecutive calls.
- * State must be allocated by the caller. State msut be freed by calling
- * OQS_SHA3_shake128_ctx_release.
- *
- * \param state The function state; must be allocated
- * \param input The input seed byte array
- * \param inplen The number of seed bytes to process
- */
-void OQS_SHA3_shake128_absorb(OQS_SHA3_shake128_ctx *state, const uint8_t *input, size_t inplen);
-
-/**
- * \brief The SHAKE-128 squeeze function.
- * Permutes and extracts the state to an output byte array.
- * Should be used in conjunction with the shake128_absorb function.
- *
- * \warning Output array must be initialized to a multiple of the byte rate.
- *
- * \param output The output byte array
- * \param nblocks The number of blocks to extract
- * \param state The function state; must be allocated
- */
-void OQS_SHA3_shake128_squeezeblocks(uint8_t *output, size_t nblocks, OQS_SHA3_shake128_ctx *state);
-
-/**
- * \brief Frees the state for SHAKE-128.
- *
- * \param state The state to free
- */
-void OQS_SHA3_shake128_ctx_release(OQS_SHA3_shake128_ctx *state);
-
-/**
- * \brief Copies the state for SHAKE-128.
- *
- * \warning dest must be allocated. dest must be freed by calling
- * OQS_SHA3_shake128_ctx_release.
- *
- * \param dest The state to copy into
- * \param src The state to copy from
- */
-void OQS_SHA3_shake128_ctx_clone(OQS_SHA3_shake128_ctx *dest, const OQS_SHA3_shake128_ctx *src);
-
-/** Data structure for the state of the SHAKE-128 incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake128_inc_ctx;
-
-/**
- * \brief Initialize the state for the SHAKE-128 incremental hashing API.
- *
- * \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 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_shake128_inc_absorb(OQS_SHA3_shake128_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The SHAKE-128 finalize function.
- *
- * \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
- */
-void OQS_SHA3_shake128_inc_squeeze(uint8_t *output, size_t outlen, OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief Frees the state for the SHAKE-128 incremental hashing 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 hashing API.
- *
- * \warning dest must be allocated. dest must be freed by calling
- * OQS_SHA3_shake128_inc_ctx_release.
- *
- * \param dest The state to copy into
- * \param src The state to copy from
- */
-void OQS_SHA3_shake128_inc_ctx_clone(OQS_SHA3_shake128_inc_ctx *dest, const OQS_SHA3_shake128_inc_ctx *src);
-
-/** 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 SHAKE256 non-incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake256_ctx;
-
-/**
- * \brief The SHAKE-256 absorb function.
- * Absorb and finalize an input seed byte array.
- * Should be used in conjunction with the shake256_squeezeblocks function.
- *
- * \warning Finalizes the seed state, should not be used in consecutive calls.
- * State must be allocated by the caller. State msut be freed by calling
- * OQS_SHA3_shake256_ctx_release.
- *
- * \param state The function state; must be allocated
- * \param input The input seed byte array
- * \param inplen The number of seed bytes to process
- */
-void OQS_SHA3_shake256_absorb(OQS_SHA3_shake256_ctx *state, const uint8_t *input, size_t inplen);
-
-/**
- * \brief The SHAKE-256 squeeze function.
- * Permutes and extracts the state to an output byte array.
- * Should be used in conjunction with the shake256_absorb function.
- *
- * \warning Output array must be initialized to a multiple of the byte rate.
- *
- * \param output The output byte array
- * \param nblocks The number of blocks to extract
- * \param state The function state; must be allocated
- */
-void OQS_SHA3_shake256_squeezeblocks(uint8_t *output, size_t nblocks, OQS_SHA3_shake256_ctx *state);
-
-/**
- * \brief Frees the state for SHAKE-256.
- *
- * \param state The state to free
- */
-void OQS_SHA3_shake256_ctx_release(OQS_SHA3_shake256_ctx *state);
-
-/**
- * \brief Copies the state for SHAKE-256.
- *
- * \warning dest must be allocated. dest must be freed by calling
- * OQS_SHA3_shake256_ctx_release.
- *
- * \param dest The state to copy into
- * \param src The state to copy from
- */
-void OQS_SHA3_shake256_ctx_clone(OQS_SHA3_shake256_ctx *dest, const OQS_SHA3_shake256_ctx *src);
-
-/** Data structure for the state of the SHAKE-256 incremental hashing API. */
-typedef struct {
- /** Internal state. */
- void *ctx;
-} OQS_SHA3_shake256_inc_ctx;
-
-/**
- * \brief Initialize the state for the SHAKE-256 incremental hashing 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 SHAKE-256 incremental hashing 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 SHAKE-256 incremental hashing 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
- * \param src The state to copy from
- */
-void OQS_SHA3_shake256_inc_ctx_clone(OQS_SHA3_shake256_inc_ctx *dest, const OQS_SHA3_shake256_inc_ctx *src);
-
-/* cSHAKE */
-
-/**
- * \brief Seed a cSHAKE-128 instance and generate pseudo-random output.
- * Permutes and extracts the state to an output byte array.
- *
- * \warning This function has a counter period of 2^16.
- *
- * \param output The output byte array
- * \param outlen The number of output bytes to generate
- * \param name The function name input as a byte array
- * \param namelen The length of the function name byte array
- * \param cstm The customization string as a byte array
- * \param cstmlen The length of the customization string byte array
- * \param input The input seed byte array
- * \param inlen The number of seed bytes to process
- */
-void OQS_SHA3_cshake128(uint8_t *output, size_t outlen, const uint8_t *name, size_t namelen, const uint8_t *cstm, size_t cstmlen, const uint8_t *input, size_t inlen);
-
-/**
- * \brief Initialize the state for the cSHAKE-128 incremental hashing API.
- *
- * \param state The function state to be initialized; must be allocated
- * \param name The function name input as a byte array
- * \param namelen The length of the function name byte array
- * \param cstm The customization string as a byte array
- * \param cstmlen The length of the customization string byte array
- */
-void OQS_SHA3_cshake128_inc_init(OQS_SHA3_shake128_inc_ctx *state, const uint8_t *name, size_t namelen, const uint8_t *cstm, size_t cstmlen);
-
-/**
- * \brief The cSHAKE-128 absorb function.
- * Absorb an input message array directly into the state.
- *
- * \warning State must be initialized by the caller.
- *
- * \param state state
- * \param input input buffer
- * \param inlen length of input buffer
- */
-void OQS_SHA3_cshake128_inc_absorb(OQS_SHA3_shake128_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The cSHAKE-128 finalize function.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_cshake128_inc_finalize(OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief The cSHAKE-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
- */
-void OQS_SHA3_cshake128_inc_squeeze(uint8_t *output, size_t outlen, OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief Free the cSHAKE-128 incremental context.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_cshake128_inc_ctx_release(OQS_SHA3_shake128_inc_ctx *state);
-
-/**
- * \brief Copies the state for the cSHAKE-128 incremental hashing API.
- *
- * \warning dest must be allocated. dest must be freed by calling
- * OQS_SHA3_cshake128_inc_ctx_release.
- *
- * \param dest The state to copy into
- * \param src The state to copy from
- */
-void OQS_SHA3_cshake128_inc_ctx_clone(OQS_SHA3_shake128_inc_ctx *dest, const OQS_SHA3_shake128_inc_ctx *src);
-
-/**
- * \brief Seed a cSHAKE-256 instance and generate pseudo-random output.
- * Permutes and extracts the state to an output byte array.
- *
- * \warning This function has a counter period of 2^16.
- *
- * \param output The output byte array
- * \param outlen The number of output bytes to generate
- * \param name The function name input as a byte array
- * \param namelen The length of the function name byte array
- * \param cstm The customization string as a byte array
- * \param cstmlen The length of the customization string byte array
- * \param input The input seed byte array
- * \param inlen The number of seed bytes to process
- */
-void OQS_SHA3_cshake256(uint8_t *output, size_t outlen, const uint8_t *name, size_t namelen, const uint8_t *cstm, size_t cstmlen, const uint8_t *input, size_t inlen);
-
-/**
- * \brief Initialize the state for the cSHAKE-256 incremental hashing API.
- *
- * \param state The function state to be initialized; must be allocated
- * \param name The function name input as a byte array
- * \param namelen The length of the function name byte array
- * \param cstm The customization string as a byte array
- * \param cstmlen The length of the customization string byte array
- */
-void OQS_SHA3_cshake256_inc_init(OQS_SHA3_shake256_inc_ctx *state, const uint8_t *name, size_t namelen, const uint8_t *cstm, size_t cstmlen);
-
-/**
- * \brief The cSHAKE-256 absorb function.
- * Absorb an input message array directly into the state.
- *
- * \warning State must be initialized by the caller.
- *
- * \param state state
- * \param input input buffer
- * \param inlen length of input buffer
- */
-void OQS_SHA3_cshake256_inc_absorb(OQS_SHA3_shake256_inc_ctx *state, const uint8_t *input, size_t inlen);
-
-/**
- * \brief The cSHAKE-256 finalize function.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_cshake256_inc_finalize(OQS_SHA3_shake256_inc_ctx *state);
-
-/**
- * \brief The cSHAKE-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_cshake256_inc_squeeze(uint8_t *output, size_t outlen, OQS_SHA3_shake256_inc_ctx *state);
-
-/**
- * \brief Free the cSHAKE-256 incremental context.
- *
- * \param state The function state; must be initialized
- */
-void OQS_SHA3_cshake256_inc_ctx_release(OQS_SHA3_shake256_inc_ctx *state);
-
-/**
- * \brief Copies the state for the cSHAKE-256 incremental hashing API.
- *
- * \warning dest must be allocated. dest must be freed by calling
- * OQS_SHA3_cshake256_inc_ctx_release.
- *
- * \param dest The state to copy into
- * \param src The state to copy from
- */
-void OQS_SHA3_cshake256_inc_ctx_clone(OQS_SHA3_shake256_inc_ctx *dest, const OQS_SHA3_shake256_inc_ctx *src);
-
-/**
-* \brief Seed a cSHAKE-128 instance and generate pseudo-random output, using a "simplified" customization string.
-* Permutes and extracts the state to an output byte array.
-* The "simplified" customization string procedure is ad hoc but used in several NIST candidates.
-*
-* \warning This function has a counter period of 2^16.
-*
-* \param output The output byte array
-* \param outlen The number of output bytes to generate
-* \param cstm The 16bit customization integer
-* \param input The input seed byte array
-* \param inplen The number of seed bytes to process
-*/
-void OQS_SHA3_cshake128_simple(uint8_t *output, size_t outlen, uint16_t cstm, const uint8_t *input, size_t inplen);
-
-/**
-* \brief Seed a cSHAKE-256 instance and generate pseudo-random output, using a "simplified" customization string.
-* Permutes and extracts the state to an output byte array.
-* The "simplified" customization string procedure is ad hoc but used in several NIST candidates.
-*
-* \warning This function has a counter period of 2^16.
-*
-* \param output The output byte array
-* \param outlen The number of output bytes to generate
-* \param cstm The 16bit customization integer
-* \param input The input seed byte array
-* \param inplen The number of seed bytes to process
-*/
-void OQS_SHA3_cshake256_simple(uint8_t *output, size_t outlen, uint16_t cstm, const uint8_t *input, size_t inplen);
-
-#ifdef OQS_USE_AVX2_INSTRUCTIONS
-/**
- * \brief Seed 4 parallel SHAKE-128 instances, and generate 4 arrays of pseudo-random bytes.
- *
- * Uses a vectorized (AVX2) implementation of SHAKE-128.
- *
- * \warning The output array length must not be zero.
- *
- * \param output0 The first output byte array
- * \param output1 The second output byte array
- * \param output2 The third output byte array
- * \param output3 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_4x(uint8_t *output0, uint8_t *output1, uint8_t *output2, uint8_t *output3, size_t outlen, const uint8_t *in0, const uint8_t *in1, const uint8_t *in2, const uint8_t *in3, size_t inlen);
-
-/**
-* \brief Seed 4 parallel cSHAKE-128 instances, and generate 4 arrays of pseudo-random output, using a "simplified" customization string.
-* Uses a vectorized (AVX2) implementation of cSHAKE-128.
-* Permutes and extracts the state to an output byte array.
-* The "simplified" customization string procedure is ad hoc but used in several NIST candidates.
-*
-* \warning This function has a counter period of 2^16.
-*
-* \param output0 The first output byte array
-* \param output1 The second output byte array
-* \param output2 The third output byte array
-* \param output3 The fourth output byte array
-* \param outlen The number of output bytes to generate in every output array
-* \param cstm0 The first 16bit customization integer
-* \param cstm1 The second 16bit customization integer
-* \param cstm2 The third 16bit customization integer
-* \param cstm3 The fourth 16bit customization integer
-* \param input The input seed byte array
-* \param inplen The number of seed bytes to process
-*/
-void OQS_SHA3_cshake128_simple4x(uint8_t *output0, uint8_t *output1, uint8_t *output2, uint8_t *output3, size_t outlen, uint16_t cstm0, uint16_t cstm1, uint16_t cstm2, uint16_t cstm3, const uint8_t *in, size_t inlen);
-#endif
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_SHA3_H
diff --git a/liboqs-android/jni/include/oqs/sig.h b/liboqs-android/jni/include/oqs/sig.h
deleted file mode 100644
index f0610f2..0000000
--- a/liboqs-android/jni/include/oqs/sig.h
+++ /dev/null
@@ -1,354 +0,0 @@
-/**
- * \file sig.h
- * \brief Signature schemes
- *
- * The file `src/sig/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
-#include
-#include
-
-#include
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-/** Algorithm identifier for default SIG algorithm. */
-#define OQS_SIG_alg_default "DEFAULT"
-/** Algorithm identifier for picnic_L1_FS */
-#define OQS_SIG_alg_picnic_L1_FS "picnic_L1_FS"
-/** Algorithm identifier for picnic_L1_UR */
-#define OQS_SIG_alg_picnic_L1_UR "picnic_L1_UR"
-/** Algorithm identifier for picnic_L1_full */
-#define OQS_SIG_alg_picnic_L1_full "picnic_L1_full"
-/** Algorithm identifier for picnic_L3_FS */
-#define OQS_SIG_alg_picnic_L3_FS "picnic_L3_FS"
-/** Algorithm identifier for picnic_L3_UR */
-#define OQS_SIG_alg_picnic_L3_UR "picnic_L3_UR"
-/** Algorithm identifier for picnic_L3_full */
-#define OQS_SIG_alg_picnic_L3_full "picnic_L3_full"
-/** Algorithm identifier for picnic_L5_FS */
-#define OQS_SIG_alg_picnic_L5_FS "picnic_L5_FS"
-/** Algorithm identifier for picnic_L5_FS */
-#define OQS_SIG_alg_picnic_L5_UR "picnic_L5_UR"
-/** Algorithm identifier for picnic_L5_full */
-#define OQS_SIG_alg_picnic_L5_full "picnic_L5_full"
-/** Algorithm identifier for picnic3_L1 */
-#define OQS_SIG_alg_picnic3_L1 "picnic3_L1"
-/** Algorithm identifier for picnic3_L3 */
-#define OQS_SIG_alg_picnic3_L3 "picnic3_L3"
-/** Algorithm identifier for picnic3_L5 */
-#define OQS_SIG_alg_picnic3_L5 "picnic3_L5"
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_ALG_IDENTIFIER_START
-/** Algorithm identifier for DILITHIUM_2 */
-#define OQS_SIG_alg_dilithium_2 "DILITHIUM_2"
-/** Algorithm identifier for DILITHIUM_3 */
-#define OQS_SIG_alg_dilithium_3 "DILITHIUM_3"
-/** Algorithm identifier for DILITHIUM_4 */
-#define OQS_SIG_alg_dilithium_4 "DILITHIUM_4"
-/** 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 Rainbow-Ia-Classic */
-#define OQS_SIG_alg_rainbow_Ia_classic "Rainbow-Ia-Classic"
-/** Algorithm identifier for Rainbow-Ia-Cyclic */
-#define OQS_SIG_alg_rainbow_Ia_cyclic "Rainbow-Ia-Cyclic"
-/** Algorithm identifier for Rainbow-Ia-Cyclic-Compressed */
-#define OQS_SIG_alg_rainbow_Ia_cyclic_compressed "Rainbow-Ia-Cyclic-Compressed"
-/** Algorithm identifier for Rainbow-IIIc-Classic */
-#define OQS_SIG_alg_rainbow_IIIc_classic "Rainbow-IIIc-Classic"
-/** Algorithm identifier for Rainbow-IIIc-Cyclic */
-#define OQS_SIG_alg_rainbow_IIIc_cyclic "Rainbow-IIIc-Cyclic"
-/** Algorithm identifier for Rainbow-IIIc-Cyclic-Compressed */
-#define OQS_SIG_alg_rainbow_IIIc_cyclic_compressed "Rainbow-IIIc-Cyclic-Compressed"
-/** Algorithm identifier for Rainbow-Vc-Classic */
-#define OQS_SIG_alg_rainbow_Vc_classic "Rainbow-Vc-Classic"
-/** Algorithm identifier for Rainbow-Vc-Cyclic */
-#define OQS_SIG_alg_rainbow_Vc_cyclic "Rainbow-Vc-Cyclic"
-/** Algorithm identifier for Rainbow-Vc-Cyclic-Compressed */
-#define OQS_SIG_alg_rainbow_Vc_cyclic_compressed "Rainbow-Vc-Cyclic-Compressed"
-/** 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_PQCLEAN_FRAGMENT_ALG_IDENTIFIER_END
-// EDIT-WHEN-ADDING-SIG
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_ALGS_LENGTH_START
-/** Number of algorithm identifiers above (including default). */
-#define OQS_SIG_algs_length 63
-///// OQS_COPY_FROM_PQCLEAN_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 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_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);
-
-#ifdef OQS_ENABLE_SIG_PICNIC
-#include
-#endif /* OQS_ENABLE_SIG_PICNIC */
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_INCLUDE_START
-#ifdef OQS_ENABLE_SIG_DILITHIUM
-#include
-#endif /* OQS_ENABLE_SIG_DILITHIUM */
-#ifdef OQS_ENABLE_SIG_FALCON
-#include
-#endif /* OQS_ENABLE_SIG_FALCON */
-#ifdef OQS_ENABLE_SIG_RAINBOW
-#include
-#endif /* OQS_ENABLE_SIG_RAINBOW */
-#ifdef OQS_ENABLE_SIG_SPHINCS
-#include
-#endif /* OQS_ENABLE_SIG_SPHINCS */
-///// OQS_COPY_FROM_PQCLEAN_FRAGMENT_INCLUDE_END
-// EDIT-WHEN-ADDING-SIG
-
-#if defined(__cplusplus)
-} // extern "C"
-#endif
-
-#endif // OQS_SIG_H
diff --git a/liboqs-android/jni/include/oqs/sig_dilithium.h b/liboqs-android/jni/include/oqs/sig_dilithium.h
deleted file mode 100644
index a6d26ed..0000000
--- a/liboqs-android/jni/include/oqs/sig_dilithium.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_SIG_DILITHIUM_H
-#define OQS_SIG_DILITHIUM_H
-
-#include
-
-#ifdef OQS_ENABLE_SIG_dilithium_2
-#define OQS_SIG_dilithium_2_length_public_key 1184
-#define OQS_SIG_dilithium_2_length_secret_key 2800
-#define OQS_SIG_dilithium_2_length_signature 2044
-
-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 1472
-#define OQS_SIG_dilithium_3_length_secret_key 3504
-#define OQS_SIG_dilithium_3_length_signature 2701
-
-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_4
-#define OQS_SIG_dilithium_4_length_public_key 1760
-#define OQS_SIG_dilithium_4_length_secret_key 3856
-#define OQS_SIG_dilithium_4_length_signature 3366
-
-OQS_SIG *OQS_SIG_dilithium_4_new(void);
-OQS_API OQS_STATUS OQS_SIG_dilithium_4_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_dilithium_4_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_4_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/liboqs-android/jni/include/oqs/sig_falcon.h b/liboqs-android/jni/include/oqs/sig_falcon.h
deleted file mode 100644
index 2cd6616..0000000
--- a/liboqs-android/jni/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
-
-#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/liboqs-android/jni/include/oqs/sig_rainbow.h b/liboqs-android/jni/include/oqs/sig_rainbow.h
deleted file mode 100644
index 69c01ef..0000000
--- a/liboqs-android/jni/include/oqs/sig_rainbow.h
+++ /dev/null
@@ -1,107 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-#ifndef OQS_SIG_RAINBOW_H
-#define OQS_SIG_RAINBOW_H
-
-#include
-
-#ifdef OQS_ENABLE_SIG_rainbow_Ia_classic
-#define OQS_SIG_rainbow_Ia_classic_length_public_key 148992
-#define OQS_SIG_rainbow_Ia_classic_length_secret_key 92960
-#define OQS_SIG_rainbow_Ia_classic_length_signature 64
-
-OQS_SIG *OQS_SIG_rainbow_Ia_classic_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Ia_classic_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Ia_classic_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_rainbow_Ia_classic_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_rainbow_Ia_cyclic
-#define OQS_SIG_rainbow_Ia_cyclic_length_public_key 58144
-#define OQS_SIG_rainbow_Ia_cyclic_length_secret_key 92960
-#define OQS_SIG_rainbow_Ia_cyclic_length_signature 64
-
-OQS_SIG *OQS_SIG_rainbow_Ia_cyclic_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Ia_cyclic_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Ia_cyclic_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_rainbow_Ia_cyclic_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_rainbow_Ia_cyclic_compressed
-#define OQS_SIG_rainbow_Ia_cyclic_compressed_length_public_key 58144
-#define OQS_SIG_rainbow_Ia_cyclic_compressed_length_secret_key 64
-#define OQS_SIG_rainbow_Ia_cyclic_compressed_length_signature 64
-
-OQS_SIG *OQS_SIG_rainbow_Ia_cyclic_compressed_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Ia_cyclic_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Ia_cyclic_compressed_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_rainbow_Ia_cyclic_compressed_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_rainbow_IIIc_classic
-#define OQS_SIG_rainbow_IIIc_classic_length_public_key 710640
-#define OQS_SIG_rainbow_IIIc_classic_length_secret_key 511448
-#define OQS_SIG_rainbow_IIIc_classic_length_signature 156
-
-OQS_SIG *OQS_SIG_rainbow_IIIc_classic_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_IIIc_classic_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_IIIc_classic_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_rainbow_IIIc_classic_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_rainbow_IIIc_cyclic
-#define OQS_SIG_rainbow_IIIc_cyclic_length_public_key 206744
-#define OQS_SIG_rainbow_IIIc_cyclic_length_secret_key 511448
-#define OQS_SIG_rainbow_IIIc_cyclic_length_signature 156
-
-OQS_SIG *OQS_SIG_rainbow_IIIc_cyclic_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_IIIc_cyclic_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_IIIc_cyclic_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_rainbow_IIIc_cyclic_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_rainbow_IIIc_cyclic_compressed
-#define OQS_SIG_rainbow_IIIc_cyclic_compressed_length_public_key 206744
-#define OQS_SIG_rainbow_IIIc_cyclic_compressed_length_secret_key 64
-#define OQS_SIG_rainbow_IIIc_cyclic_compressed_length_signature 156
-
-OQS_SIG *OQS_SIG_rainbow_IIIc_cyclic_compressed_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_IIIc_cyclic_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_IIIc_cyclic_compressed_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_rainbow_IIIc_cyclic_compressed_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_rainbow_Vc_classic
-#define OQS_SIG_rainbow_Vc_classic_length_public_key 1705536
-#define OQS_SIG_rainbow_Vc_classic_length_secret_key 1227104
-#define OQS_SIG_rainbow_Vc_classic_length_signature 204
-
-OQS_SIG *OQS_SIG_rainbow_Vc_classic_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Vc_classic_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Vc_classic_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_rainbow_Vc_classic_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_rainbow_Vc_cyclic
-#define OQS_SIG_rainbow_Vc_cyclic_length_public_key 491936
-#define OQS_SIG_rainbow_Vc_cyclic_length_secret_key 1227104
-#define OQS_SIG_rainbow_Vc_cyclic_length_signature 204
-
-OQS_SIG *OQS_SIG_rainbow_Vc_cyclic_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Vc_cyclic_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Vc_cyclic_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_rainbow_Vc_cyclic_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_rainbow_Vc_cyclic_compressed
-#define OQS_SIG_rainbow_Vc_cyclic_compressed_length_public_key 491936
-#define OQS_SIG_rainbow_Vc_cyclic_compressed_length_secret_key 64
-#define OQS_SIG_rainbow_Vc_cyclic_compressed_length_signature 204
-
-OQS_SIG *OQS_SIG_rainbow_Vc_cyclic_compressed_new(void);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Vc_cyclic_compressed_keypair(uint8_t *public_key, uint8_t *secret_key);
-OQS_API OQS_STATUS OQS_SIG_rainbow_Vc_cyclic_compressed_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_rainbow_Vc_cyclic_compressed_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/liboqs-android/jni/include/oqs/sig_sphincs.h b/liboqs-android/jni/include/oqs/sig_sphincs.h
deleted file mode 100644
index 26d3603..0000000
--- a/liboqs-android/jni/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
-
-#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 16976
-
-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 16976
-
-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 8080
-
-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 8080
-
-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 17064
-
-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 17064
-
-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 49216
-
-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 49216
-
-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 16976
-
-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 16976
-
-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 8080
-
-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 8080
-
-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 17064
-
-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 17064
-
-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 49216
-
-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 49216
-
-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 16976
-
-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 16976
-
-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 8080
-
-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 8080
-
-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 17064
-
-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 17064
-
-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 49216
-
-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 49216
-
-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
diff --git a/liboqs-android/jni/jni/KEMs.c b/liboqs-android/jni/jni/KEMs.c
deleted file mode 100644
index e821e0b..0000000
--- a/liboqs-android/jni/jni/KEMs.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include
-#include "KEMs.h"
-
-/*
- * Class: org_openquantumsafe_KEMs
- * Method: max_number_KEMs
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KEMs_max_1number_1KEMs
- (JNIEnv *env, jclass cls)
-{
- return (jint) OQS_KEM_alg_count();
-}
-
-/*
- * Class: org_openquantumsafe_KEMs
- * Method: is_KEM_enabled
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_example_liboqs_KEMs_is_1KEM_1enabled
- (JNIEnv *env, jclass cls, jstring java_str)
-{
- const char *str_native = (*env)->GetStringUTFChars(env, java_str, 0);
- int is_enabled = OQS_KEM_alg_is_enabled (str_native);
- (*env)->ReleaseStringUTFChars(env, java_str, str_native);
- return (is_enabled) ? JNI_TRUE : JNI_FALSE;
-}
-
-/*
- * Class: org_openquantumsafe_KEMs
- * Method: get_KEM_name
- * Signature: (J)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_example_liboqs_KEMs_get_1KEM_1name
- (JNIEnv *env, jclass cls, jlong alg_id)
-{
- const char *str_native = OQS_KEM_alg_identifier((size_t) alg_id);
- return (*env)->NewStringUTF(env, str_native);
-}
-
diff --git a/liboqs-android/jni/jni/KEMs.h b/liboqs-android/jni/jni/KEMs.h
deleted file mode 100644
index f7d0e2a..0000000
--- a/liboqs-android/jni/jni/KEMs.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include
-/* Header for class org_openquantumsafe_KEMs */
-
-#ifndef _KEMS_H_INCLUDED_
-#define _KEMS_H_INCLUDED_
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: org_openquantumsafe_KEMs
- * Method: max_number_KEMs
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KEMs_max_1number_1KEMs
- (JNIEnv *, jclass);
-
-/*
- * Class: org_openquantumsafe_KEMs
- * Method: is_KEM_enabled
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_example_liboqs_KEMs_is_1KEM_1enabled
- (JNIEnv *, jclass, jstring);
-
-/*
- * Class: org_openquantumsafe_KEMs
- * Method: get_KEM_name
- * Signature: (J)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_example_liboqs_KEMs_get_1KEM_1name
- (JNIEnv *, jclass, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/liboqs-android/jni/jni/KeyEncapsulation.c b/liboqs-android/jni/jni/KeyEncapsulation.c
deleted file mode 100644
index 8f54f51..0000000
--- a/liboqs-android/jni/jni/KeyEncapsulation.c
+++ /dev/null
@@ -1,158 +0,0 @@
-#include
-#include "KeyEncapsulation.h"
-#include "handle.h"
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: get_new_KEM
- * Signature: (Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_KeyEncapsulation_create_1KEM_1new
- (JNIEnv *env, jobject obj, jstring jstr)
-{
- // Create get a liboqs::OQS_KEM pointer
- const char *str_native = (*env)->GetStringUTFChars(env, jstr, 0);
- OQS_KEM *kem = OQS_KEM_new(str_native);
- (*env)->ReleaseStringUTFChars(env, jstr, str_native);
- // Stow the native OQS_KEM pointer in the Java handle.
- setHandle(env, obj, kem, "native_kem_handle_");
-}
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: free_KEM
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_KeyEncapsulation_free_1KEM
- (JNIEnv *env, jobject obj)
-{
- OQS_KEM *kem = (OQS_KEM *) getHandle(env, obj, "native_kem_handle_");
- OQS_KEM_free(kem);
-}
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: get_KEM_details
- * Signature: ()Lcom/example/liboqs/KeyEncapsulation/KeyEncapsulationDetails;
- */
-JNIEXPORT jobject JNICALL Java_com_example_liboqs_KeyEncapsulation_get_1KEM_1details
- (JNIEnv *env, jobject obj)
-{
- jclass cls = (*env)->FindClass(env, "com/example/liboqs/KeyEncapsulation$KeyEncapsulationDetails");
- if (cls == NULL) { fprintf(stderr, "\nCould not find class\n"); return NULL; }
-
- // Get the Method ID of the constructor
- jmethodID constructor_meth_id_ = (*env)->GetMethodID(env, cls, "", "(Lcom/example/liboqs/KeyEncapsulation;)V");
- if (NULL == constructor_meth_id_) { fprintf(stderr, "\nCould not initialize class\n"); return NULL; }
-
- // Call back constructor to allocate a new instance, with an int argument
- jobject _nativeKED = (*env)->NewObject(env, cls, constructor_meth_id_, obj);
- // We need to pass obj (superclass) additionally to run on android: https://stackoverflow.com/questions/25363027/jni-getmethodid-not-working-for-constructor-of-inner-class
-
- OQS_KEM *kem = (OQS_KEM *) getHandle(env, obj, "native_kem_handle_");
-
- // Copy fields from C struct to Java class
- // String method_name;
- jfieldID _method_name = (*env)->GetFieldID(env, cls, "method_name", "Ljava/lang/String;");
- jstring j_method_name = (*env)->NewStringUTF(env, kem->method_name);
- (*env)->SetObjectField(env, _nativeKED, _method_name, j_method_name);
-
- // String alg_version;
- jfieldID _alg_version = (*env)->GetFieldID(env, cls, "alg_version", "Ljava/lang/String;");
- jstring j_alg_version = (*env)->NewStringUTF(env, kem->alg_version);
- (*env)->SetObjectField(env, _nativeKED, _alg_version, j_alg_version);
-
- // byte claimed_nist_level;
- jfieldID _claimed_nist_level = (*env)->GetFieldID(env, cls, "claimed_nist_level", "B");
- (*env)->SetByteField(env, _nativeKED, _claimed_nist_level, (jbyte) kem->claimed_nist_level);
-
- // boolean ind_cca;
- jfieldID _ind_cca = (*env)->GetFieldID(env, cls, "ind_cca", "Z");
- (*env)->SetBooleanField(env, _nativeKED, _ind_cca, (jboolean) kem->ind_cca);
-
- // long length_public_key;
- jfieldID _length_public_key = (*env)->GetFieldID(env, cls, "length_public_key", "J");
- (*env)->SetLongField(env, _nativeKED, _length_public_key, (jlong) kem->length_public_key);
-
- // long length_secret_key;
- jfieldID _length_secret_key = (*env)->GetFieldID(env, cls, "length_secret_key", "J");
- (*env)->SetLongField(env, _nativeKED, _length_secret_key, (jlong) kem->length_secret_key);
-
- // long length_ciphertext;
- jfieldID _length_ciphertext = (*env)->GetFieldID(env, cls, "length_ciphertext", "J");
- (*env)->SetLongField(env, _nativeKED, _length_ciphertext, (jlong) kem->length_ciphertext);
-
- // long length_shared_secret;
- jfieldID _length_shared_secret = (*env)->GetFieldID(env, cls, "length_shared_secret", "J");
- (*env)->SetLongField(env, _nativeKED, _length_shared_secret, (jlong) kem->length_shared_secret);
-
- return _nativeKED;
-}
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: generate_keypair
- * Signature: ([B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KeyEncapsulation_generate_1keypair
- (JNIEnv *env, jobject obj, jbyteArray jpublic_key, jbyteArray jsecret_key)
-{
- jbyte *public_key_native = (*env)->GetByteArrayElements(env, jpublic_key, 0);
- jbyte *secret_key_native = (*env)->GetByteArrayElements(env, jsecret_key, 0);
-
- // Get pointer to KEM
- OQS_KEM *kem = (OQS_KEM *) getHandle(env, obj, "native_kem_handle_");
-
- // Invoke liboqs KEM keypair generation function
- OQS_STATUS rv_ = OQS_KEM_keypair(kem, (uint8_t*) public_key_native, (uint8_t*) secret_key_native);
-
- (*env)->ReleaseByteArrayElements(env, jpublic_key, public_key_native, JNI_COMMIT);
- (*env)->ReleaseByteArrayElements(env, jsecret_key, secret_key_native, JNI_COMMIT);
- return (rv_ == OQS_SUCCESS) ? 0 : -1;
-}
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: encap_secret
- * Signature: ([B[B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KeyEncapsulation_encap_1secret
- (JNIEnv *env, jobject obj, jbyteArray jciphertext, jbyteArray jshared_secret, jbyteArray jpublic_key)
-{
- // Convert public_key to jbyte array
- jbyte *public_key = (*env)->GetByteArrayElements(env, jpublic_key, 0);
- jbyte* ciphertext = (*env)->GetByteArrayElements(env, jciphertext, 0);
- jbyte* shared_secret = (*env)->GetByteArrayElements(env, jshared_secret, 0);
-
- // Get pointer to KEM and invoke liboqs encapsulate secret function
- OQS_KEM *kem = (OQS_KEM *) getHandle(env, obj, "native_kem_handle_");
- OQS_STATUS rv_ = OQS_KEM_encaps(kem, (uint8_t*) ciphertext, (uint8_t*) shared_secret, (uint8_t*) public_key);
-
- // Release C public_key
- (*env)->ReleaseByteArrayElements(env, jpublic_key, public_key, JNI_ABORT);
- (*env)->ReleaseByteArrayElements(env, jciphertext, ciphertext, JNI_COMMIT);
- (*env)->ReleaseByteArrayElements(env, jshared_secret, shared_secret, JNI_COMMIT);
- return (rv_ == OQS_SUCCESS) ? 0 : -1;
-}
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: decap_secret
- * Signature: ([B[B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KeyEncapsulation_decap_1secret
- (JNIEnv *env, jobject obj, jbyteArray jshared_secret, jbyteArray jciphertext, jbyteArray jsecret_key)
-{
- jbyte *shared_secret_native = (*env)->GetByteArrayElements(env, jshared_secret, 0);
- jbyte *ciphertext_native = (*env)->GetByteArrayElements(env, jciphertext, 0);
- jbyte *secret_key_native = (*env)->GetByteArrayElements(env, jsecret_key, 0);
-
- OQS_KEM *kem = (OQS_KEM *) getHandle(env, obj, "native_kem_handle_");
- OQS_STATUS rv_ = OQS_KEM_decaps(kem, (uint8_t*) shared_secret_native, (uint8_t*) ciphertext_native, (uint8_t*) secret_key_native);
-
- // release memory
- (*env)->ReleaseByteArrayElements(env, jshared_secret, shared_secret_native, JNI_COMMIT);
- (*env)->ReleaseByteArrayElements(env, jciphertext, ciphertext_native, JNI_ABORT);
- (*env)->ReleaseByteArrayElements(env, jsecret_key, secret_key_native, JNI_ABORT);
- return (rv_ == OQS_SUCCESS) ? 0 : -1;
-}
diff --git a/liboqs-android/jni/jni/KeyEncapsulation.h b/liboqs-android/jni/jni/KeyEncapsulation.h
deleted file mode 100644
index 29af032..0000000
--- a/liboqs-android/jni/jni/KeyEncapsulation.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include
-/* Header for class org_openquantumsafe_KeyEncapsulation */
-
-#ifndef _KEYENCAPSULATION_H_INCLUDED_
-#define _KEYENCAPSULATION_H_INCLUDED_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: create_KEM_new
- * Signature: (Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_KeyEncapsulation_create_1KEM_1new
- (JNIEnv *, jobject, jstring);
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: free_KEM
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_KeyEncapsulation_free_1KEM
- (JNIEnv *, jobject);
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: get_KEM_details
- * Signature: ()Lcom/example/liboqs/KeyEncapsulation/KeyEncapsulationDetails;
- */
-JNIEXPORT jobject JNICALL Java_com_example_liboqs_KeyEncapsulation_get_1KEM_1details
- (JNIEnv *, jobject);
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: generate_keypair
- * Signature: ([B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KeyEncapsulation_generate_1keypair
- (JNIEnv *, jobject, jbyteArray, jbyteArray);
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: encap_secret
- * Signature: ([B[B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KeyEncapsulation_encap_1secret
- (JNIEnv *, jobject, jbyteArray, jbyteArray, jbyteArray);
-
-/*
- * Class: org_openquantumsafe_KeyEncapsulation
- * Method: decap_secret
- * Signature: ([B[B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_KeyEncapsulation_decap_1secret
- (JNIEnv *, jobject, jbyteArray, jbyteArray, jbyteArray);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/liboqs-android/jni/jni/Rand.c b/liboqs-android/jni/jni/Rand.c
deleted file mode 100644
index 840c75a..0000000
--- a/liboqs-android/jni/jni/Rand.c
+++ /dev/null
@@ -1,64 +0,0 @@
-#include
-#include "Rand.h"
-
-/*
- * Class: org_openquantumsafe_Rand
- * Method: randombytes
- * Signature: (J)[B
- */
-JNIEXPORT jbyteArray JNICALL Java_com_example_liboqs_Rand_randombytes
- (JNIEnv *env, jclass cls, jlong bytes_to_read)
-{
- // create array that will be passed back to Java
- jbyteArray jrand_bytes = (jbyteArray)(*env)->NewByteArray(env, bytes_to_read);
- if (jrand_bytes == NULL) return NULL;
-
- // allocate and fill C based array
- jbyte *rand_bytes_native = calloc(bytes_to_read, sizeof(jbyte));
- if (rand_bytes_native == NULL) return NULL;
-
- // native call to liboqs
- OQS_randombytes((uint8_t*) rand_bytes_native, bytes_to_read);
-
- // Store java byte array
- (*env)->SetByteArrayRegion(env, jrand_bytes, 0, bytes_to_read, (jbyte*) rand_bytes_native);
-
- // free memory allocated inside C
- free(rand_bytes_native);
- return jrand_bytes;
-}
-
-/*
- * Class: org_openquantumsafe_Rand
- * Method: randombytes_switch_algorithm_native
- * Signature: (Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Rand_randombytes_1switch_1algorithm_1native
- (JNIEnv *env, jclass cls, jstring jstr)
-{
- const char *alg_name_native = (*env)->GetStringUTFChars(env, jstr, 0);
- int rv_ = OQS_randombytes_switch_algorithm(alg_name_native);
- (*env)->ReleaseStringUTFChars(env, jstr, alg_name_native);
- return (rv_ == OQS_SUCCESS) ? 0 : -1;
-}
-
-/*
- * Class: org_openquantumsafe_Rand
- * Method: randombytes_nist_kat_init
- * Signature: ([B[BJ)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Rand_randombytes_1nist_1kat_1init
- (JNIEnv *env, jclass cls, jbyteArray jentropy_input, jbyteArray jpers_str, jlong pers_str_len)
-{
- jbyte *entropy_input_native = (*env)->GetByteArrayElements(env, jentropy_input, 0);
-
- if (pers_str_len == 0) {
- OQS_randombytes_nist_kat_init_256bit((uint8_t*) entropy_input_native, NULL);
- } else {
- jbyte *pers_str_native = (*env)->GetByteArrayElements(env, jpers_str, 0);
- OQS_randombytes_nist_kat_init_256bit((uint8_t*) entropy_input_native, (uint8_t*) pers_str_native);
- (*env)->ReleaseByteArrayElements(env, jpers_str, pers_str_native, JNI_ABORT);
- }
-
- (*env)->ReleaseByteArrayElements(env, jentropy_input, entropy_input_native, JNI_ABORT);
-}
diff --git a/liboqs-android/jni/jni/Rand.h b/liboqs-android/jni/jni/Rand.h
deleted file mode 100644
index 832a7ed..0000000
--- a/liboqs-android/jni/jni/Rand.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include
-/* Header for class org_openquantumsafe_Rand */
-
-#ifndef _RAND_H_INCLUDED_
-#define _RAND_H_INCLUDED_
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: org_openquantumsafe_Rand
- * Method: randombytes
- * Signature: (J)[B
- */
-JNIEXPORT jbyteArray JNICALL Java_com_example_liboqs_Rand_randombytes
- (JNIEnv *, jclass, jlong);
-
-/*
- * Class: org_openquantumsafe_Rand
- * Method: randombytes_switch_algorithm_native
- * Signature: (Ljava/lang/String;)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Rand_randombytes_1switch_1algorithm_1native
- (JNIEnv *, jclass, jstring);
-
-/*
- * Class: org_openquantumsafe_Rand
- * Method: randombytes_nist_kat_init
- * Signature: ([B[BJ)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Rand_randombytes_1nist_1kat_1init
- (JNIEnv *, jclass, jbyteArray, jbyteArray, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/liboqs-android/jni/jni/Signature.c b/liboqs-android/jni/jni/Signature.c
deleted file mode 100644
index 399f3bc..0000000
--- a/liboqs-android/jni/jni/Signature.c
+++ /dev/null
@@ -1,175 +0,0 @@
-#include
-#include "Signature.h"
-#include "handle.h"
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: create_sig_new
- * Signature: (Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Signature_create_1sig_1new
- (JNIEnv *env, jobject obj, jstring jstr)
-{
- // Create get a liboqs::OQS_SIG pointer
- const char *str_native = (*env)->GetStringUTFChars(env, jstr, 0);
- OQS_SIG *sig = OQS_SIG_new(str_native);
- (*env)->ReleaseStringUTFChars(env, jstr, str_native);
- // Stow the native OQS_SIG pointer in the Java handle.
- setHandle(env, obj, sig, "native_sig_handle_");
-}
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: free_sig
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Signature_free_1sig
- (JNIEnv *env, jobject obj)
-{
- OQS_SIG *sig = (OQS_SIG *) getHandle(env, obj, "native_sig_handle_");
- OQS_SIG_free(sig);
-}
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: get_sig_details
- * Signature: ()Lcom/example/liboqs/Signature/SignatureDetails;
- */
-JNIEXPORT jobject JNICALL Java_com_example_liboqs_Signature_get_1sig_1details
- (JNIEnv *env, jobject obj)
-{
- jclass cls = (*env)->FindClass(env, "com/example/liboqs/Signature$SignatureDetails");
- if (cls == NULL) { fprintf(stderr, "\nCould not find class\n"); return NULL; }
-
- // Get the Method ID of the constructor
- jmethodID constructor_meth_id_ = (*env)->GetMethodID(env, cls, "", "(Lcom/example/liboqs/Signature;)V");
- if (NULL == constructor_meth_id_) { fprintf(stderr, "\nCould not initialize class\n"); return NULL; }
-
- // Call back constructor to allocate a new instance, with an int argument
- jobject _nativeKED = (*env)->NewObject(env, cls, constructor_meth_id_, obj);
-
- OQS_SIG *sig = (OQS_SIG *) getHandle(env, obj, "native_sig_handle_");
-
- // Copy fields from C struct to Java class
- // String method_name;
- jfieldID _method_name = (*env)->GetFieldID(env, cls, "method_name", "Ljava/lang/String;");
- jstring j_method_name = (*env)->NewStringUTF(env, sig->method_name);
- (*env)->SetObjectField(env, _nativeKED, _method_name, j_method_name);
-
- // String alg_version;
- jfieldID _alg_version = (*env)->GetFieldID(env, cls, "alg_version", "Ljava/lang/String;");
- jstring j_alg_version = (*env)->NewStringUTF(env, sig->alg_version);
- (*env)->SetObjectField(env, _nativeKED, _alg_version, j_alg_version);
-
- // byte claimed_nist_level;
- jfieldID _claimed_nist_level = (*env)->GetFieldID(env, cls, "claimed_nist_level", "B");
- (*env)->SetByteField(env, _nativeKED, _claimed_nist_level, (jbyte) sig->claimed_nist_level);
-
- // boolean is_euf_cma;
- jfieldID _is_euf_cma = (*env)->GetFieldID(env, cls, "is_euf_cma", "Z");
- (*env)->SetBooleanField(env, _nativeKED, _is_euf_cma, (jboolean) sig->euf_cma);
-
- // long length_public_key;
- jfieldID _length_public_key = (*env)->GetFieldID(env, cls, "length_public_key", "J");
- (*env)->SetLongField(env, _nativeKED, _length_public_key, (jlong) sig->length_public_key);
-
- // long length_secret_key;
- jfieldID _length_secret_key = (*env)->GetFieldID(env, cls, "length_secret_key", "J");
- (*env)->SetLongField(env, _nativeKED, _length_secret_key, (jlong) sig->length_secret_key);
-
- // long max_length_signature;
- jfieldID _max_length_signature = (*env)->GetFieldID(env, cls, "max_length_signature", "J");
- (*env)->SetLongField(env, _nativeKED, _max_length_signature, (jlong) sig->length_signature);
-
- return _nativeKED;
-}
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: generate_keypair
- * Signature: ([B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Signature_generate_1keypair
- (JNIEnv *env, jobject obj, jbyteArray jpublic_key, jbyteArray jsecret_key)
-{
- jbyte *public_key_native = (*env)->GetByteArrayElements(env, jpublic_key, 0);
- jbyte *secret_key_native = (*env)->GetByteArrayElements(env, jsecret_key, 0);
-
- // Get pointer to sig
- OQS_SIG *sig = (OQS_SIG *) getHandle(env, obj, "native_sig_handle_");
-
- // Invoke liboqs sig keypair generation function
- OQS_STATUS rv_ = OQS_SIG_keypair(sig, (uint8_t*) public_key_native, (uint8_t*) secret_key_native);
-
- (*env)->ReleaseByteArrayElements(env, jpublic_key, public_key_native, JNI_COMMIT);
- (*env)->ReleaseByteArrayElements(env, jsecret_key, secret_key_native, JNI_COMMIT);
- return (rv_ == OQS_SUCCESS) ? 0 : -1;
-}
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: sign
- * Signature: ([BLjava/lang/Long;[BJ[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Signature_sign
- (JNIEnv * env, jobject obj, jbyteArray jsignature, jobject sig_len_obj,
- jbyteArray jmessage, jlong message_len, jbyteArray jsecret_key)
-{
- // Convert to jbyte arrays
- jbyte *signature_native = (*env)->GetByteArrayElements(env, jsignature, 0);
- jbyte *message_native = (*env)->GetByteArrayElements(env, jmessage, 0);
- jbyte *secret_key_native = (*env)->GetByteArrayElements(env, jsecret_key, 0);
-
- OQS_SIG *sig = (OQS_SIG *) getHandle(env, obj, "native_sig_handle_");
- size_t len_sig;
- OQS_STATUS rv_ = OQS_SIG_sign(sig, (uint8_t*)signature_native, &len_sig,
- (uint8_t*)message_native, message_len,
- (uint8_t*)secret_key_native);
-
- // fill java signature bytes
- (*env)->SetByteArrayRegion(env, jsignature, 0, len_sig, (jbyte*) signature_native);
-
- // fill java object signature length
- jfieldID value_fid = (*env)->GetFieldID(env,
- (*env)->GetObjectClass(env, sig_len_obj),
- "value", "Ljava/lang/Object;");
- jclass cls = (*env)->FindClass(env, "java/lang/Long");
- jobject jlong_obj = (*env)->NewObject(env, cls,
- (*env)->GetMethodID(env, cls, "", "(J)V"),
- (jlong) len_sig);
- (*env)->SetObjectField(env, sig_len_obj, value_fid, jlong_obj);
-
- // Release C memory
- (*env)->ReleaseByteArrayElements(env, jsignature, signature_native, JNI_COMMIT);
- (*env)->ReleaseByteArrayElements(env, jmessage, message_native, JNI_ABORT);
- (*env)->ReleaseByteArrayElements(env, jsecret_key, secret_key_native, JNI_ABORT);
-
- return (rv_ == OQS_SUCCESS) ? 0 : -1;
-}
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: verify
- * Signature: ([BJ[BJ[B)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_example_liboqs_Signature_verify
- (JNIEnv *env, jobject obj, jbyteArray jmessage, jlong message_len,
- jbyteArray jsignature, jlong signature_len, jbyteArray jpublic_key)
-{
- // Convert to jbyte arrays
- jbyte *message_native = (*env)->GetByteArrayElements(env, jmessage, 0);
- jbyte *signature_native = (*env)->GetByteArrayElements(env, jsignature, 0);
- jbyte *public_key_native = (*env)->GetByteArrayElements(env, jpublic_key, 0);
-
- OQS_SIG *sig = (OQS_SIG *) getHandle(env, obj, "native_sig_handle_");
- OQS_STATUS rv_ = OQS_SIG_verify(sig, (uint8_t*) message_native, message_len,
- (uint8_t*) signature_native, signature_len,
- (uint8_t*) public_key_native);
-
- // Release C memory
- (*env)->ReleaseByteArrayElements(env, jsignature, signature_native, JNI_ABORT);
- (*env)->ReleaseByteArrayElements(env, jmessage, message_native, JNI_ABORT);
- (*env)->ReleaseByteArrayElements(env, jpublic_key, public_key_native, JNI_ABORT);
-
- return (rv_ == OQS_SUCCESS) ? JNI_TRUE : JNI_FALSE;
-}
diff --git a/liboqs-android/jni/jni/Signature.h b/liboqs-android/jni/jni/Signature.h
deleted file mode 100644
index d9212cb..0000000
--- a/liboqs-android/jni/jni/Signature.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include
-/* Header for class org_openquantumsafe_Signature */
-
-#ifndef _SIGNATURE_H_INCLUDED_
-#define _SIGNATURE_H_INCLUDED_
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: org_openquantumsafe_Signature
- * Method: create_sig_new
- * Signature: (Ljava/lang/String;)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Signature_create_1sig_1new
- (JNIEnv *, jobject, jstring);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: free_sig
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Signature_free_1sig
- (JNIEnv *, jobject);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: get_sig_details
- * Signature: ()Lcom/example/liboqs/Signature/SignatureDetails;
- */
-JNIEXPORT jobject JNICALL Java_com_example_liboqs_Signature_get_1sig_1details
- (JNIEnv *, jobject);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: generate_keypair
- * Signature: ([B[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Signature_generate_1keypair
- (JNIEnv *, jobject, jbyteArray, jbyteArray);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: import_secret_key
- * Signature: ([B)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Signature_import_1secret_1key
- (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: export_public_key
- * Signature: ([B)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Signature_export_1public_1key
- (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: export_secret_key
- * Signature: ([B)V
- */
-JNIEXPORT void JNICALL Java_com_example_liboqs_Signature_export_1secret_1key
- (JNIEnv *, jobject, jbyteArray);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: sign
- * Signature: ([BLjava/lang/Long;[BJ[B)I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Signature_sign
- (JNIEnv *, jobject, jbyteArray, jobject, jbyteArray, jlong, jbyteArray);
-
-/*
- * Class: org_openquantumsafe_Signature
- * Method: verify
- * Signature: ([BJ[BJ[B)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_example_liboqs_Signature_verify
- (JNIEnv *, jobject, jbyteArray, jlong, jbyteArray, jlong, jbyteArray);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/liboqs-android/jni/jni/Sigs.c b/liboqs-android/jni/jni/Sigs.c
deleted file mode 100644
index 6be2ff9..0000000
--- a/liboqs-android/jni/jni/Sigs.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include
-#include "Sigs.h"
-
-/*
- * Class: org_openquantumsafe_Sigs
- * Method: max_number_sigs
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Sigs_max_1number_1sigs
- (JNIEnv *env, jclass cls)
-{
- return (jint) OQS_SIG_alg_count();
-}
-
-/*
- * Class: org_openquantumsafe_Sigs
- * Method: is_sig_enabled
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_example_liboqs_Sigs_is_1sig_1enabled
- (JNIEnv *env, jclass cls, jstring jstr)
-{
- const char *str_native = (*env)->GetStringUTFChars(env, jstr, 0);
- int is_enabled = OQS_SIG_alg_is_enabled (str_native);
- (*env)->ReleaseStringUTFChars(env, jstr, str_native);
- return (is_enabled) ? JNI_TRUE : JNI_FALSE;
-}
-
-/*
- * Class: org_openquantumsafe_Sigs
- * Method: get_sig_name
- * Signature: (J)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_example_liboqs_Sigs_get_1sig_1name
- (JNIEnv *env, jclass cls, jlong alg_id)
-{
- const char *str_native = OQS_SIG_alg_identifier((size_t) alg_id);
- return (*env)->NewStringUTF(env, str_native);
-}
diff --git a/liboqs-android/jni/jni/Sigs.h b/liboqs-android/jni/jni/Sigs.h
deleted file mode 100644
index 2a5cc40..0000000
--- a/liboqs-android/jni/jni/Sigs.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include
-/* Header for class org_openquantumsafe_Sigs */
-
-#ifndef _SIGS_H_INCLUDED_
-#define _SIGS_H_INCLUDED_
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: org_openquantumsafe_Sigs
- * Method: max_number_sigs
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_com_example_liboqs_Sigs_max_1number_1sigs
- (JNIEnv *, jclass);
-
-/*
- * Class: org_openquantumsafe_Sigs
- * Method: is_sig_enabled
- * Signature: (Ljava/lang/String;)Z
- */
-JNIEXPORT jboolean JNICALL Java_com_example_liboqs_Sigs_is_1sig_1enabled
- (JNIEnv *, jclass, jstring);
-
-/*
- * Class: org_openquantumsafe_Sigs
- * Method: get_sig_name
- * Signature: (J)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_com_example_liboqs_Sigs_get_1sig_1name
- (JNIEnv *, jclass, jlong);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/liboqs-android/jni/jni/handle.c b/liboqs-android/jni/jni/handle.c
deleted file mode 100644
index 1468eb8..0000000
--- a/liboqs-android/jni/jni/handle.c
+++ /dev/null
@@ -1,16 +0,0 @@
-#include "handle.h"
-
-jfieldID getHandleField(JNIEnv *env, jobject obj, char *handle_field) {
- jclass c = (*env)->GetObjectClass(env, obj);
- return (*env)->GetFieldID(env, c, handle_field, "J");
-}
-
-void *getHandle(JNIEnv *env, jobject obj, char *handle_field) {
- jlong handle = (*env)->GetLongField(env, obj, getHandleField(env, obj, handle_field));
- return (void *)(handle);
-}
-
-void setHandle(JNIEnv *env, jobject obj, void *t, char *handle_field) {
- jlong handle = (jlong) (t);
- (*env)->SetLongField(env, obj, getHandleField(env, obj, handle_field), handle);
-}
diff --git a/liboqs-android/jni/jni/handle.h b/liboqs-android/jni/jni/handle.h
deleted file mode 100644
index 84abb5c..0000000
--- a/liboqs-android/jni/jni/handle.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _HANDLE_H_INCLUDED_
-#define _HANDLE_H_INCLUDED_
-
-#include
-#include
-
-jfieldID getHandleField(JNIEnv *, jobject, char *);
-
-void *getHandle(JNIEnv *, jobject, char *);
-
-void setHandle(JNIEnv *, jobject, void *, char *);
-
-#endif
diff --git a/liboqs-android/jni/jniLibs/arm64-v8a/liboqs.so b/liboqs-android/jni/jniLibs/arm64-v8a/liboqs.so
deleted file mode 100644
index b6aa7bb..0000000
Binary files a/liboqs-android/jni/jniLibs/arm64-v8a/liboqs.so and /dev/null differ
diff --git a/liboqs-android/jni/jniLibs/x86_64/liboqs.so b/liboqs-android/jni/jniLibs/x86_64/liboqs.so
deleted file mode 100644
index 3b606ae..0000000
Binary files a/liboqs-android/jni/jniLibs/x86_64/liboqs.so and /dev/null differ
diff --git a/liboqs-android/src/androidTest/java/com/example/android/KEMTest.java b/liboqs-android/src/androidTest/java/de/hartz/software/unofficial/liboqs/android/KEMTest.java
similarity index 97%
rename from liboqs-android/src/androidTest/java/com/example/android/KEMTest.java
rename to liboqs-android/src/androidTest/java/de/hartz/software/unofficial/liboqs/android/KEMTest.java
index 4fa9ea2..e4c3842 100644
--- a/liboqs-android/src/androidTest/java/com/example/android/KEMTest.java
+++ b/liboqs-android/src/androidTest/java/de/hartz/software/unofficial/liboqs/android/KEMTest.java
@@ -1,11 +1,11 @@
-package com.example.android;
+package de.hartz.software.unofficial.liboqs.android;
import android.util.Log;
-import com.example.liboqs.KEMs;
-import com.example.liboqs.KeyEncapsulation;
-import com.example.liboqs.MechanismNotSupportedError;
-import com.example.liboqs.Pair;
+import org.openquantumsafe.KEMs;
+import org.openquantumsafe.KeyEncapsulation;
+import org.openquantumsafe.MechanismNotSupportedError;
+import org.openquantumsafe.Pair;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
diff --git a/liboqs-android/src/androidTest/java/com/example/android/SignatureTest.java b/liboqs-android/src/androidTest/java/de/hartz/software/unofficial/liboqs/android/SignatureTest.java
similarity index 97%
rename from liboqs-android/src/androidTest/java/com/example/android/SignatureTest.java
rename to liboqs-android/src/androidTest/java/de/hartz/software/unofficial/liboqs/android/SignatureTest.java
index 7968b4e..6dd5d52 100644
--- a/liboqs-android/src/androidTest/java/com/example/android/SignatureTest.java
+++ b/liboqs-android/src/androidTest/java/de/hartz/software/unofficial/liboqs/android/SignatureTest.java
@@ -1,11 +1,11 @@
-package com.example.android;
+package de.hartz.software.unofficial.liboqs.android;
import android.util.Log;
-import com.example.liboqs.MechanismNotSupportedError;
-import com.example.liboqs.Signature;
-import com.example.liboqs.Sigs;
+import org.openquantumsafe.MechanismNotSupportedError;
+import org.openquantumsafe.Signature;
+import org.openquantumsafe.Sigs;
import org.junit.Test;
import org.junit.jupiter.api.Assertions;
diff --git a/liboqs-android/src/main/AndroidManifest.xml b/liboqs-android/src/main/AndroidManifest.xml
index 4f071b3..a0bbe81 100644
--- a/liboqs-android/src/main/AndroidManifest.xml
+++ b/liboqs-android/src/main/AndroidManifest.xml
@@ -1,5 +1,5 @@
+ package="org.openquantumsafe">
\ No newline at end of file
diff --git a/liboqs-android/src/main/java/com/example/liboqs/Common.java b/liboqs-android/src/main/java/com/example/liboqs/Common.java
deleted file mode 100644
index 3e82841..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/Common.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.example.liboqs;
-
-import android.os.Build;
-
-import java.util.Arrays;
-
-public class Common {
-
- private static final String OS = System.getProperty("os.name").toLowerCase();
-
- public static void wipe(byte[] array) {
- Arrays.fill(array, (byte) 0);
- }
-
- public static boolean isWindows() {
- return OS.contains("win");
- }
-
- public static boolean isMac() {
- return OS.contains("mac");
- }
-
- public static boolean isLinux() {
- return OS.contains("nux");
- }
-
- public static void loadNativeLibrary() {
- System.err.println("---------------------------");
- System.err.println("Loading liboqs for: " + Build.CPU_ABI);
- System.err.println("---------------------------");
- System.loadLibrary("oqs-jni");
- }
-
- public static > void print_list(T list) {
- for (Object element : list){
- System.out.print(element);
- System.out.print(" ");
- }
- System.out.println();
- }
-
- public static String to_hex(byte[] bytes) {
- final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
- StringBuilder sb = new StringBuilder();
- for (byte aByte : bytes) {
- int v = aByte & 0xFF;
- sb.append(HEX_ARRAY[v >>> 4]);
- sb.append(HEX_ARRAY[v & 0x0F]);
- sb.append(" ");
- }
- return sb.toString();
- }
-
- public static String chop_hex(byte[] bytes) {
- final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
- StringBuilder sb = new StringBuilder();
- int num = 8;
- for (int i = 0; i < num; i++) {
- int v = bytes[i] & 0xFF;
- sb.append(HEX_ARRAY[v >>> 4]);
- sb.append(HEX_ARRAY[v & 0x0F]);
- sb.append(" ");
- }
- if (bytes.length > num*2) {
- sb.append("... ");
- }
- for (int i = bytes.length - num; i < bytes.length; i++) {
- int v = bytes[i] & 0xFF;
- sb.append(HEX_ARRAY[v >>> 4]);
- sb.append(HEX_ARRAY[v & 0x0F]);
- sb.append(" ");
- }
- return sb.toString();
- }
-
-}
\ No newline at end of file
diff --git a/liboqs-android/src/main/java/com/example/liboqs/KEMExample.java b/liboqs-android/src/main/java/com/example/liboqs/KEMExample.java
deleted file mode 100644
index 030a5f7..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/KEMExample.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.example.liboqs;
-
-import java.util.Arrays;
-
-public class KEMExample {
-
- public static void main(String[] args) {
- System.out.println("Supported KEMs:");
- Common.print_list(KEMs.get_supported_KEMs());
- System.out.println();
-
- System.out.println("Enabled KEMs:");
- Common.print_list(KEMs.get_enabled_KEMs());
- System.out.println();
-
- String kem_name = "DEFAULT";
- KeyEncapsulation client = new KeyEncapsulation(kem_name);
- client.print_details();
- System.out.println();
-
- long t = System.currentTimeMillis();
- byte[] client_public_key = client.generate_keypair();
- long timeElapsed = System.currentTimeMillis() - t;
-
- System.out.println("Client public key:");
- System.out.println(Common.chop_hex(client_public_key));
- System.out.println("\nIt took " + timeElapsed + " millisecs to generate the key pair.");
-
- KeyEncapsulation server = new KeyEncapsulation(kem_name);
-
- t = System.currentTimeMillis();
- Pair server_pair = server.encap_secret(client_public_key);
- System.out.println("It took " + (System.currentTimeMillis() - t) + " millisecs to encapsulate the secret.");
- byte[] ciphertext = server_pair.getLeft();
- byte[] shared_secret_server = server_pair.getRight();
-
- t = System.currentTimeMillis();
- byte[] shared_secret_client = client.decap_secret(ciphertext);
- System.out.println("It took " + (System.currentTimeMillis() - t) + " millisecs to decapsulate the secret.");
-
- client.dispose_KEM();
- server.dispose_KEM();
-
- System.out.println("\nClient shared secret:");
- System.out.println(Common.chop_hex(shared_secret_client));
- System.out.println("\nServer shared secret:");
- System.out.println(Common.chop_hex(shared_secret_server));
-
- System.out.println("\nShared secrets coincide? " + Arrays.equals(shared_secret_client, shared_secret_server));
- }
-
-}
diff --git a/liboqs-android/src/main/java/com/example/liboqs/KEMs.java b/liboqs-android/src/main/java/com/example/liboqs/KEMs.java
deleted file mode 100644
index 5c7413a..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/KEMs.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.example.liboqs;
-
-import java.util.ArrayList;
-
-/**
- * \brief Key Encapsulation Mechanisms Singleton class.
- * Contains details about supported/enabled key exchange mechanisms (KEMs)
- */
-public class KEMs {
-
- static {
- Common.loadNativeLibrary();
- }
-
- /**
- * The single KEMs class instance.
- */
- private static KEMs single_instance = null;
-
- private KEMs() {}
-
- /**
- * \brief Make sure that at most one instance is generated.
- * \return Singleton instance
- */
- public static synchronized KEMs get_instance() {
- if (single_instance == null) {
- single_instance = new KEMs();
- }
- return single_instance;
- }
-
- /**
- * \brief Wrapper for OQS_API int OQS_KEM_alg_count(void);
- * \return Maximum number of supported KEM algorithms
- */
- public static native int max_number_KEMs();
-
- /**
- * \brief Wrapper for OQS_API int OQS_KEM_alg_is_enabled(const char *method_name);
- * Checks whether the KEM algorithm alg_name is enabled
- * \param alg_name Cryptographic algorithm name
- * \return True if the KEM algorithm is enabled, false otherwise
- */
- public static native boolean is_KEM_enabled(String alg_name);
-
- /**
- * \brief Wrapper for OQS_API const char *OQS_KEM_alg_identifier(size_t i);
- * \param alg_id Cryptographic algorithm numerical id
- * \return KEM algorithm name
- */
- public static native String get_KEM_name(long alg_id);
-
-
- /**
- * \brief ArrayList of supported KEM algorithms
- * \return ArrayList of supported KEM algorithms
- */
- public static ArrayList get_supported_KEMs() {
- ArrayList supported_KEMs = new ArrayList<>();
- for (int i = 0; i < max_number_KEMs(); ++i) {
- supported_KEMs.add(get_KEM_name(i));
- }
- return supported_KEMs;
- }
-
- /**
- * \brief Vector of enabled KEM algorithms
- * \return Vector of enabled KEM algorithms
- */
- public static ArrayList get_enabled_KEMs() {
- ArrayList enabled_KEMs = new ArrayList<>();
- for (String elem : get_supported_KEMs()) {
- if (is_KEM_enabled(elem)) {
- enabled_KEMs.add(elem);
- }
- }
- return enabled_KEMs;
- }
-
- /**
- * \brief Checks whether the KEM algorithm \a alg_name is supported
- * \param alg_name Cryptographic algorithm name
- * \return True if the KEM algorithm is supported, false otherwise
- */
- public static boolean is_KEM_supported(String alg_name) {
- ArrayList supported_KEMs = get_supported_KEMs();
- return supported_KEMs.contains(alg_name);
- }
-
-}
diff --git a/liboqs-android/src/main/java/com/example/liboqs/KeyEncapsulation.java b/liboqs-android/src/main/java/com/example/liboqs/KeyEncapsulation.java
deleted file mode 100644
index 5bb95a7..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/KeyEncapsulation.java
+++ /dev/null
@@ -1,240 +0,0 @@
-package com.example.liboqs;
-
-import java.util.Arrays;
-
-/**
- * \brief Key Encapsulation Mechanisms
- */
-public class KeyEncapsulation {
-
- /**
- * \brief KEM algorithm details
- */
- class KeyEncapsulationDetails {
-
- String method_name;
- String alg_version;
- byte claimed_nist_level;
- boolean ind_cca;
- long length_public_key;
- long length_secret_key;
- long length_ciphertext;
- long length_shared_secret;
-
- /**
- * \brief Print KEM algorithm details
- */
- void printKeyEncapsulation() {
- System.out.println("KEM Details:" +
- "\n Name: " + this.method_name +
- "\n Version: " + this.alg_version +
- "\n Claimed NIST level: " + this.claimed_nist_level +
- "\n Is IND-CCA: " + this.ind_cca +
- "\n Length public key (bytes): " + this.length_public_key +
- "\n Length secret key (bytes): " + this.length_secret_key +
- "\n Length ciphertext (bytes): " + this.length_ciphertext +
- "\n Length shared secret (bytes): " + this.length_shared_secret
- );
- }
-
- }
-
- /**
- * Keep native pointer for Java to remember which C memory it is managing.
- */
- private long native_kem_handle_;
-
- private byte[] public_key_;
- private byte[] secret_key_;
-
- /**
- * Private object that has the KEM details.
- */
- private KeyEncapsulationDetails alg_details_;
-
- /**
- * \brief Constructs an instance of oqs::KeyEncapsulation
- * \param alg_name Cryptographic algorithm method_name
- */
- public KeyEncapsulation(String alg_name) throws RuntimeException {
- this(alg_name, null);
- }
-
- /**
- * \brief Constructs an instance of oqs::KeyEncapsulation
- * \param alg_name Cryptographic algorithm method_name
- * \param secret_key Secret key
- */
- public KeyEncapsulation(String alg_name, byte[] secret_key)
- throws RuntimeException {
- // KEM not enabled
- if (!KEMs.is_KEM_enabled(alg_name)) {
- // perhaps it's supported
- if (KEMs.is_KEM_supported(alg_name)) {
- throw new MechanismNotEnabledError(alg_name);
- } else {
- throw new MechanismNotSupportedError(alg_name);
- }
- }
- create_KEM_new(alg_name);
- alg_details_ = get_KEM_details();
- // initialize keys
- if (secret_key != null) {
- this.secret_key_ = Arrays.copyOf(secret_key, secret_key.length);
- } else {
- this.secret_key_ = new byte[(int) alg_details_.length_secret_key];
- }
- this.public_key_ = new byte[(int) alg_details_.length_public_key];
- }
-
- /**
- * \brief Wrapper for OQS_API OQS_KEM *OQS_KEM_new(const char *method_name).
- * Calls OQS_KEM_new and stores return value to native_kem_handle_.
- */
- public native void create_KEM_new(String method_name);
-
- /**
- * \brief Wrapper for OQS_API void OQS_KEM_free(OQS_KEM *kem);
- * Frees an OQS_KEM object that was constructed by OQS_KEM_new.
- */
- private native void free_KEM();
-
- /**
- * \brief Initialize and fill a KeyEncapsulationDetails object from the
- * native C struct pointed by native_kem_handle_.
- */
- private native KeyEncapsulationDetails get_KEM_details();
-
- /**
- * \brief Wrapper for OQS_API OQS_STATUS OQS_KEM_keypair(const OQS_KEM *kem,
- * uint8_t *public_key, uint8_t *secret_key);
- * \param Public key
- * \param Secret key
- * \return Status
- */
- private native int generate_keypair(byte[] public_key, byte[] secret_key);
-
- /**
- * \brief Wrapper for OQS_API OQS_STATUS OQS_KEM_encaps(const OQS_KEM *kem,
- * uint8_t *ciphertext,
- * uint8_t *shared_secret,
- * const uint8_t *public_key);
- * \param ciphertext
- * \param shared secret>
- * \param Public key
- * \return Status
- */
- private native int encap_secret(byte[] ciphertext, byte[] shared_secret,
- byte[] public_key);
-
- /**
- * \brief Wrapper for OQS_API OQS_STATUS OQS_KEM_decaps(const OQS_KEM *kem,
- * uint8_t *shared_secret,
- * const unsigned char *ciphertext,
- * const uint8_t *secret_key);
- * \param shared_secret
- * \param ciphertext
- * \param secret_key
- * \return Status
- */
- private native int decap_secret(byte[] shared_secret, byte[] ciphertext,
- byte[] secret_key);
-
- /**
- * \brief Invoke native free_KEM
- */
- public void dispose_KEM() {
- Common.wipe(this.secret_key_);
- free_KEM();
- }
-
-
- /**
- * \brief Invoke native generate_keypair method using the PK and SK lengths
- * from alg_details_. Check return value and if != 0 throw Exception.
- */
- public byte[] generate_keypair() throws RuntimeException {
- int rv_ = generate_keypair(this.public_key_, this.secret_key_);
- if (rv_ != 0) throw new RuntimeException("Cannot generate keypair");
- return this.public_key_;
- }
-
- /**
- * \brief Return public key
- */
- public byte[] export_public_key() {
- return this.public_key_;
- }
-
- /**
- * \brief Return secret key
- */
- public byte[] export_secret_key() {
- return this.secret_key_;
- }
-
- /**
- * \brief Invoke native encap_secret method
- * \param Public key
- * \return Pair
- */
- public Pair encap_secret(byte[] public_key)
- throws RuntimeException {
- if (public_key.length != alg_details_.length_public_key) {
- throw new RuntimeException("Incorrect public key length");
- }
-
- byte[] ciphertext = new byte[(int) alg_details_.length_ciphertext];
- byte[] shared_secret = new byte[(int) alg_details_.length_shared_secret];
-
- int rv_= encap_secret(ciphertext, shared_secret, public_key);
-
- Pair pair = new Pair<>(ciphertext, shared_secret);
- if (rv_ != 0) throw new RuntimeException("Cannot encapsulate secret");
- return pair;
- }
-
- /**
- * \brief Decapsulate secret
- * \param ciphertext Ciphertext
- * \return Shared secret
- */
- public byte[] decap_secret(byte[] ciphertext) throws RuntimeException {
- if (ciphertext.length != alg_details_.length_ciphertext) {
- throw new RuntimeException("Incorrect ciphertext length");
- }
- if (this.secret_key_.length != alg_details_.length_secret_key) {
- throw new RuntimeException("Incorrect secret key length, " +
- "make sure you specify one in the " +
- "constructor or run generate_keypair()");
- }
- byte[] shared_secret = new byte[(int)alg_details_.length_shared_secret];
- int rv_ = decap_secret(shared_secret, ciphertext, this.secret_key_);
- if (rv_ != 0) throw new RuntimeException("Cannot decapsulate secret");
- return shared_secret;
- }
-
- /**
- * \brief Print KeyEncapsulation. If a KeyEncapsulationDetails object is not
- * initialized, initialize it and fill it using native C code.
- */
- public void print_KeyEncapsulation() {
- if (alg_details_ == null) {
- alg_details_ = get_KEM_details();
- }
- System.out.println("Key Encapsulation Mechanism: " +
- alg_details_.method_name);
- }
-
- /**
- * \brief print KEM algorithm details. If a KeyEncapsulationDetails object
- * is not initialized, initialize it and fill it using native C code.
- */
- public void print_details() {
- if (alg_details_ == null) {
- alg_details_ = get_KEM_details();
- }
- alg_details_.printKeyEncapsulation();
- }
-
-}
diff --git a/liboqs-android/src/main/java/com/example/liboqs/MechanismNotEnabledError.java b/liboqs-android/src/main/java/com/example/liboqs/MechanismNotEnabledError.java
deleted file mode 100644
index 1fca514..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/MechanismNotEnabledError.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.example.liboqs;
-
-/**
- * \brief Cryptographic scheme not enabled
- */
-public class MechanismNotEnabledError extends RuntimeException {
-
- public MechanismNotEnabledError(String alg_name) {
- super("\"" + alg_name + "\" is not enabled by OQS");
- }
-
- public MechanismNotEnabledError(String alg_name, Throwable throwable) {
- super("\"" + alg_name + "\" is not enabled by OQS", throwable);
- }
-
-}
diff --git a/liboqs-android/src/main/java/com/example/liboqs/MechanismNotSupportedError.java b/liboqs-android/src/main/java/com/example/liboqs/MechanismNotSupportedError.java
deleted file mode 100644
index 6816873..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/MechanismNotSupportedError.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.example.liboqs;
-
-/**
- * \brief Cryptographic scheme not supported
- */
-public class MechanismNotSupportedError extends RuntimeException {
-
- public MechanismNotSupportedError(String alg_name) {
- super("\"" + alg_name + "\" is not supported by OQS");
- }
-
- public MechanismNotSupportedError(String alg_name, Throwable throwable) {
- super("\"" + alg_name + "\" is not supported by OQS", throwable);
- }
-
-}
diff --git a/liboqs-android/src/main/java/com/example/liboqs/Pair.java b/liboqs-android/src/main/java/com/example/liboqs/Pair.java
deleted file mode 100644
index 9c1044f..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/Pair.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.example.liboqs;
-
-// https://stackoverflow.com/questions/521171/a-java-collection-of-value-pairs-tuples
-public class Pair {
- private final L left;
- private final R right;
-
- public Pair(L left, R right) {
- assert left != null;
- assert right != null;
-
- this.left = left;
- this.right = right;
- }
-
- public L getLeft() { return left; }
- public R getRight() { return right; }
-
- @Override
- public int hashCode() { return left.hashCode() ^ right.hashCode(); }
-
- @Override
- public boolean equals(Object o) {
- if (!(o instanceof Pair)) return false;
- Pair pairo = (Pair) o;
- return this.left.equals(pairo.getLeft()) && this.right.equals(pairo.getRight());
- }
-
-}
\ No newline at end of file
diff --git a/liboqs-android/src/main/java/com/example/liboqs/Rand.java b/liboqs-android/src/main/java/com/example/liboqs/Rand.java
deleted file mode 100644
index 9a79302..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/Rand.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package com.example.liboqs;
-
-/**
- * \brief Class containing RNG-related functions
- */
-public class Rand {
-
- static {
- Common.loadNativeLibrary();
- }
-
- private Rand() {}
-
- /**
- * \brief Wrapper for OQS_API void OQS_randombytes(uint8_t *random_array,
- * size_t bytes_to_read);
- *
- * \param bytes_to_read The number of random byte[] to generate
- * \return random byte array
- */
- public static native byte[] randombytes(long bytes_to_read);
-
- /**
- * \brief Wrapper for OQS_API OQS_STATUS OQS_randombytes_switch_algorithm(
- * const char *);
- *
- * \param alg_name Algorithm name ["system", "NIST-KAT", "OpenSSL"]
- */
- private static native int randombytes_switch_algorithm_native(
- String alg_name);
-
- public static void randombytes_switch_algorithm(String alg_name)
- throws RuntimeException {
- int rv_ = randombytes_switch_algorithm_native(alg_name);
- if (rv_ != 0) {
- throw new RuntimeException("Cannot switch rand algorithm");
- }
- }
-
- /**
- * \brief Wrapper for OQS_API void OQS_randombytes_nist_kat_init(
- * const uint8_t *entropy_input,
- * const uint8_t *personalization_string,
- * int security_strength);
- *
- * \param Entropy input seed, must be exactly 48 bytes long
- * \param Entropy seed length
- * \param Optional personalization string, which, if non-empty, must be at
- * least 48 byte[] long
- * \param personalization string length
- */
- private static native void randombytes_nist_kat_init(byte[] entropy_input,
- byte[] personalization_string,
- long personalization_string_len);
-
- public static void randombytes_nist_kat_init(byte[] entropy_input) {
- randombytes_nist_kat_init(entropy_input, null);
- }
-
- public static void randombytes_nist_kat_init(byte[] entropy_input,
- byte[] personalization_string) {
- if (entropy_input.length != 48) {
- throw new RuntimeException("The entropy source must be exactly 48 byte[] long");
- }
- if (personalization_string == null) {
- randombytes_nist_kat_init(entropy_input, null, 0);
- return;
- }
- if (personalization_string.length < 48) {
- throw new RuntimeException("The personalization string must be either empty or at least 48 byte[] long");
- }
- randombytes_nist_kat_init(entropy_input, personalization_string, personalization_string.length);
- }
-}
diff --git a/liboqs-android/src/main/java/com/example/liboqs/Signature.java b/liboqs-android/src/main/java/com/example/liboqs/Signature.java
deleted file mode 100644
index 1c72349..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/Signature.java
+++ /dev/null
@@ -1,252 +0,0 @@
-package com.example.liboqs;
-
-import java.util.Arrays;
-
-/**
- * \brief Signature Mechanisms
- */
-public class Signature {
-
- /**
- * \brief Signature algorithm details
- */
- class SignatureDetails {
-
- String method_name;
- String alg_version;
- byte claimed_nist_level;
- boolean is_euf_cma;
- long length_public_key;
- long length_secret_key;
- long max_length_signature;
-
- /**
- * \brief Print Signature algorithm details
- */
- void printSignature() {
- System.out.println("Signature Details:" +
- "\n Name: " + this.method_name +
- "\n Version: " + this.alg_version +
- "\n Claimed NIST level: " + this.claimed_nist_level +
- "\n Is IND-CCA: " + this.is_euf_cma +
- "\n Length public key (bytes): " + this.length_public_key +
- "\n Length secret key (bytes): " + this.length_secret_key +
- "\n Maximum length signature (bytes): " + this.max_length_signature
- );
- }
-
- }
-
- /**
- * Keep native pointers for Java to remember which C memory it is managing.
- */
- private long native_sig_handle_;
-
- private byte[] public_key_;
- private byte[] secret_key_;
-
- /**
- * Private object that has the signature details.
- */
- private SignatureDetails alg_details_;
-
- /**
- * \brief Constructs an instance of oqs::Signature
- * \param alg_name Cryptographic algorithm method_name
- */
- public Signature(String alg_name) throws RuntimeException {
- this(alg_name, null);
- }
-
- /**
- * \brief Constructs an instance of oqs::Signature
- * \param alg_name Cryptographic algorithm method_name
- * \param secret_key Secret key
- */
- public Signature(String alg_name, byte[] secret_key)
- throws RuntimeException {
- // signature not enabled
- if (!Sigs.is_sig_enabled(alg_name)) {
- // perhaps it's supported
- if (Sigs.is_sig_supported(alg_name)) {
- throw new MechanismNotEnabledError(alg_name);
- } else {
- throw new MechanismNotSupportedError(alg_name);
- }
- }
- create_sig_new(alg_name);
- alg_details_ = get_sig_details();
- // initialize keys
- if (secret_key != null) {
- this.secret_key_ = Arrays.copyOf(secret_key, secret_key.length);
- } else {
- this.secret_key_ = new byte[(int) alg_details_.length_secret_key];
- }
- this.public_key_ = new byte[(int) alg_details_.length_public_key];
- }
-
- /**
- * \brief Wrapper for OQS_API OQS_SIG *OQS_SIG_new(const char *method_name);
- * Calls OQS_SIG_new and stores return value to native_sig_handle_.
- */
- public native void create_sig_new(String method_name);
-
- /**
- * \brief Wrapper for OQS_API void OQS_SIG_free(OQS_SIG *sig);
- * Frees an OQS_SIG object that was constructed by OQS_SIG_new.
- */
- private native void free_sig();
-
- /**
- * \brief Initialize and fill a SignatureDetails object from the native
- * C struct pointed by native_sig_handle_.
- */
- private native SignatureDetails get_sig_details();
-
- /**
- * \brief Wrapper for OQS_API OQS_STATUS OQS_SIG_keypair(const OQS_SIG *sig,
- * uint8_t *public_key, uint8_t *secret_key);
- * \param Public key
- * \param Secret key
- * \return Status
- */
- private native int generate_keypair(byte[] public_key, byte[] secret_key);
-
- /**
- * \brief Wrapper for 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);
- * \param signature
- * \param signature_len_ret
- * \param message
- * \param message_len
- * \param secret_key
- * \return Status
- */
- private native int sign(byte[] signature, Mutable signature_len_ret,
- byte[] message, long message_len, byte[] secret_key);
-
- /**
- * \brief Wrapper for 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);
- * \param message
- * \param message_len
- * \param signature
- * \param signature_len
- * \param public_key
- * \return True if the signature is valid, false otherwise
- */
- private native boolean verify(byte[] message, long message_len,
- byte[] signature, long signature_len,
- byte[] public_key);
-
- /**
- * \brief Invoke native free_sig
- */
- public void dispose_sig() {
- Common.wipe(this.secret_key_);
- free_sig();
- }
-
- /**
- * \brief Invoke native generate_keypair method using the PK and SK lengths
- * from alg_details_. Check return value and if != 0 throw RuntimeException.
- */
- public byte[] generate_keypair() throws RuntimeException {
- int rv_ = generate_keypair(this.public_key_, this.secret_key_);
- if (rv_ != 0) throw new RuntimeException("Cannot generate keypair");
- return this.public_key_;
- }
-
- /**
- * \brief Return public key
- */
- public byte[] export_public_key() {
- return this.public_key_;
- }
-
- /**
- * \brief Return secret key
- */
- public byte[] export_secret_key() {
- return this.secret_key_;
- }
-
- /**
- * \brief Invoke native sign method
- * \param message
- * \return signature
- */
- public byte[] sign(byte[] message) throws RuntimeException {
- if (this.secret_key_.length != alg_details_.length_secret_key) {
- throw new RuntimeException("Incorrect secret key length, " +
- "make sure you specify one in the " +
- "constructor or run generate_keypair()");
- }
- byte[] signature = new byte[(int) alg_details_.max_length_signature];
- Mutable signature_len_ret = new Mutable<>();
- int rv_= sign(signature, signature_len_ret,
- message, message.length, this.secret_key_);
- long actual_signature_len = signature_len_ret.value;
- byte[] actual_signature = new byte[(int) actual_signature_len];
- System.arraycopy(signature, 0,
- actual_signature, 0, (int) actual_signature_len);
- if (rv_ != 0) throw new RuntimeException("Cannot sign message");
- return actual_signature;
- }
-
- /**
- * \brief Invoke native verify method
- * \param message
- * \param signature
- * \param public_key
- * \return True if the signature is valid, false otherwise
- */
- public boolean verify(byte[] message, byte[] signature, byte[] public_key)
- throws RuntimeException {
- if (public_key.length != alg_details_.length_public_key) {
- throw new RuntimeException("Incorrect public key length");
- }
- if (signature.length > alg_details_.max_length_signature) {
- throw new RuntimeException("Incorrect signature length");
- }
-
- return verify(message, message.length, signature, signature.length, public_key);
- }
-
- /**
- * \brief Print Signature. If a SignatureDetails object is not
- * initialized, initialize it and fill it using native C code.
- */
- public void print_signature() {
- if (alg_details_ == null) {
- alg_details_ = get_sig_details();
- }
- System.out.println("Signature: " + alg_details_.method_name);
- }
-
- /**
- * \brief print signature algorithm details. If a SignatureDetails object is
- * not initialized, initialize it and fill it using native C code.
- */
- public void print_details() {
- if (alg_details_ == null) {
- alg_details_ = get_sig_details();
- }
- alg_details_.printSignature();
- }
-
- public static class Mutable {
- T value;
- public void setValue(T t) { this.value = t; }
- public T getValue() { return this.value; }
- }
-
-}
diff --git a/liboqs-android/src/main/java/com/example/liboqs/Sigs.java b/liboqs-android/src/main/java/com/example/liboqs/Sigs.java
deleted file mode 100644
index cecd605..0000000
--- a/liboqs-android/src/main/java/com/example/liboqs/Sigs.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.example.liboqs;
-
-import java.util.ArrayList;
-
-/**
- * \brief Signatures singleton class.
- * Singleton class, contains details about supported/enabled signature mechanisms
- */
-public class Sigs {
-
- static {
- Common.loadNativeLibrary();
- }
-
- /**
- * The single Sigs class instance.
- */
- private static Sigs single_instance = null;
-
- private Sigs() {}
-
- /**
- * \brief Make sure that at most one instance is generated.
- * \return Singleton instance
- */
- public static synchronized Sigs get_instance() {
- if (single_instance == null) {
- single_instance = new Sigs();
- }
- return single_instance;
- }
-
- /**
- * \brief Wrapper for OQS_API int OQS_SIG_alg_count(void);
- * \return Maximum number of supported signature algorithms
- */
- public static native int max_number_sigs();
-
- /**
- * \brief Wrapper for OQS_API int OQS_SIG_alg_is_enabled(const char *method_name);
- * Checks whether the signature algorithm alg_name is enabled
- * \param alg_name Cryptographic algorithm name
- * \return True if the signature algorithm is enabled, false otherwise
- */
- public static native boolean is_sig_enabled(String alg_name);
-
- /**
- * \brief Wrapper for OQS_API const char *OQS_SIG_alg_identifier(size_t i);
- * \param alg_id Cryptographic algorithm numerical id
- * \return signature algorithm name
- */
- public static native String get_sig_name(long alg_id);
-
-
- /**
- * \brief ArrayList of supported signature algorithms
- * \return ArrayList of supported signature algorithms
- */
- public static ArrayList get_supported_sigs() {
- ArrayList supported_Sigs = new ArrayList<>();
- for (int i = 0; i < max_number_sigs(); ++i) {
- supported_Sigs.add(get_sig_name(i));
- }
- return supported_Sigs;
- }
-
- /**
- * \brief Vector of enabled signature algorithms
- * \return Vector of enabled signature algorithms
- */
- public static ArrayList get_enabled_sigs() {
- ArrayList enabled_Sigs = new ArrayList<>();
- for (String elem : get_supported_sigs()) {
- if (is_sig_enabled(elem)) {
- enabled_Sigs.add(elem);
- }
- }
- return enabled_Sigs;
- }
-
- /**
- * \brief Checks whether the signature algorithm \a alg_name is supported
- * \param alg_name Cryptographic algorithm name
- * \return True if the signature algorithm is supported, false otherwise
- */
- public static boolean is_sig_supported(String alg_name) {
- ArrayList supported_Sigs = get_supported_sigs();
- return supported_Sigs.contains(alg_name);
- }
-
-}