From d05fe79c5f778b0f865b446d50bee7492e5eb051 Mon Sep 17 00:00:00 2001 From: feventura Date: Tue, 27 Aug 2024 11:36:03 -0400 Subject: [PATCH] adding double octet string encoding to ed25519 and ed448 as rfc8410 Signed-off-by: feventura --- oqsprov/oqs_decode_der2key.c | 167 +- oqsprov/oqs_encode_key2any.c | 820 +++++----- oqsprov/oqs_kmgmt.c | 734 +++++---- oqsprov/oqs_prov.h | 2621 +++++++++++++++++++++---------- oqsprov/oqsprov.c | 719 ++++++--- oqsprov/oqsprov_capabilities.c | 762 +++++---- oqsprov/oqsprov_keys.c | 261 +-- test/oqs_test_evp_pkey_params.c | 78 +- 8 files changed, 3899 insertions(+), 2263 deletions(-) diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c index d57d4f55..49cd2b99 100644 --- a/oqsprov/oqs_decode_der2key.c +++ b/oqsprov/oqs_decode_der2key.c @@ -526,52 +526,69 @@ static void oqsx_key_adjust(void *key, struct der2key_ctx_st *ctx) { ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_START #ifdef OQS_KEM_ENCODERS - MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, SubjectPublicKeyInfo); @@ -580,21 +597,24 @@ MAKE_DECODER(_ecp, "p384_kyber768", p384_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "mlkem512", mlkem512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mlkem512", mlkem512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_mlkem512", p256_mlkem512, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_mlkem512", p256_mlkem512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_mlkem512", x25519_mlkem512, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_mlkem512", x25519_mlkem512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_mlkem512", x25519_mlkem512, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "mlkem768", mlkem768, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mlkem768", mlkem768, oqsx, SubjectPublicKeyInfo); @@ -603,16 +623,19 @@ MAKE_DECODER(_ecp, "p384_mlkem768", p384_mlkem768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_mlkem768", x448_mlkem768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecx, "x448_mlkem768", x448_mlkem768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_mlkem768", x25519_mlkem768, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_mlkem768", x25519_mlkem768, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_mlkem768", x25519_mlkem768, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_mlkem768", p256_mlkem768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_mlkem768", p256_mlkem768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "mlkem1024", mlkem1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mlkem1024", mlkem1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p521_mlkem1024", p521_mlkem1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_mlkem1024", p521_mlkem1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_mlkem1024", p521_mlkem1024, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p384_mlkem1024", p384_mlkem1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_mlkem1024", p384_mlkem1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_mlkem1024", p384_mlkem1024, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, SubjectPublicKeyInfo); @@ -653,13 +676,13 @@ MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, SubjectPublicKeyInfo); #endif /* OQS_KEM_ENCODERS */ - MAKE_DECODER(, "dilithium2", dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium2", dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, PrivateKeyInfo); @@ -713,43 +736,73 @@ MAKE_DECODER(, "falcon512", falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "falconpadded512", falconpadded512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falconpadded512", falconpadded512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_falconpadded512", p256_falconpadded512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_falconpadded512", p256_falconpadded512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_falconpadded512", rsa3072_falconpadded512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_falconpadded512", rsa3072_falconpadded512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_falconpadded512", p256_falconpadded512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_falconpadded512", p256_falconpadded512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falconpadded512", rsa3072_falconpadded512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_falconpadded512", rsa3072_falconpadded512, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "falconpadded1024", falconpadded1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falconpadded1024", falconpadded1024, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p521_falconpadded1024", p521_falconpadded1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p521_falconpadded1024", p521_falconpadded1024, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falconpadded1024", falconpadded1024, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p521_falconpadded1024", p521_falconpadded1024, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p521_falconpadded1024", p521_falconpadded1024, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, + oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, + oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, + oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "mayo1", mayo1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "mayo1", mayo1, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_mayo1", p256_mayo1, oqsx, PrivateKeyInfo); diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c index 01f39e9d..a686b7cc 100644 --- a/oqsprov/oqs_encode_key2any.c +++ b/oqsprov/oqs_encode_key2any.c @@ -660,7 +660,9 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) { OPENSSL_malloc(oqsxkey->numkeys * sizeof(ASN1_OCTET_STRING *)); unsigned char **temp = OPENSSL_malloc(oqsxkey->numkeys * sizeof(unsigned char *)); - size_t *templen = OPENSSL_malloc(oqsxkey->numkeys * sizeof(size_t)); + unsigned char *ed_internal; + size_t *templen = OPENSSL_malloc(oqsxkey->numkeys * sizeof(size_t)), + ed_internallen; PKCS8_PRIV_KEY_INFO *p8inf_internal = NULL; int i; @@ -775,7 +777,7 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) { memcpy(buf, oqsxkey->comp_privkey[i], buflen); // buflen for classical (RSA) // might be different from - // oqsxkey->privkeylen_cmp[ + // oqsxkey->privkeylen_cmp } if (nid == EVP_PKEY_EC) { // add the curve OID with the ECPubkey OID @@ -786,30 +788,89 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) { version = V_ASN1_UNDEF; pval = NULL; } - if (!PKCS8_pkey_set0(p8inf_internal, OBJ_nid2obj(nid), 0, version, - pval, buf, buflen)) { - for (int j = 0; j <= i; j++) { - OPENSSL_cleanse(aString[j]->data, aString[j]->length); - ASN1_OCTET_STRING_free(aString[j]); - OPENSSL_cleanse(aType[j]->value.sequence->data, - aType[j]->value.sequence->length); - OPENSSL_clear_free(temp[j], templen[j]); + if (nid == EVP_PKEY_ED25519 || nid == EVP_PKEY_ED448) { + oct.data = buf; + oct.length = buflen; + oct.flags = 0; + ed_internal = NULL; + + ed_internallen = i2d_ASN1_OCTET_STRING(&oct, &ed_internal); + if (ed_internallen < 0) { + for (int j = 0; j <= i; j++) { + OPENSSL_cleanse(aString[j]->data, aString[j]->length); + ASN1_OCTET_STRING_free(aString[j]); + OPENSSL_cleanse(aType[j]->value.sequence->data, + aType[j]->value.sequence->length); + OPENSSL_clear_free(temp[j], templen[j]); + } + + sk_ASN1_TYPE_pop_free(sk, &ASN1_TYPE_free); + OPENSSL_free(name); + OPENSSL_free(aType); + OPENSSL_free(aString); + OPENSSL_free(temp); + OPENSSL_free(templen); + OPENSSL_cleanse(buf, + buflen); // buf is part of p8inf_internal so + // we cant free now, we cleanse it + // to remove pkey from memory + PKCS8_PRIV_KEY_INFO_free( + p8inf_internal); // this also free buf + return -1; } - sk_ASN1_TYPE_pop_free(sk, &ASN1_TYPE_free); - OPENSSL_free(name); - OPENSSL_free(aType); - OPENSSL_free(aString); - OPENSSL_free(temp); - OPENSSL_free(templen); - OPENSSL_cleanse(buf, - buflen); // buf is part of p8inf_internal so we - // cant free now, we cleanse it to - // remove pkey from memory - PKCS8_PRIV_KEY_INFO_free(p8inf_internal); // this also free buf - return -1; - } + if (!PKCS8_pkey_set0(p8inf_internal, OBJ_nid2obj(nid), 0, + version, pval, ed_internal, + ed_internallen)) { + for (int j = 0; j <= i; j++) { + OPENSSL_cleanse(aString[j]->data, aString[j]->length); + ASN1_OCTET_STRING_free(aString[j]); + OPENSSL_cleanse(aType[j]->value.sequence->data, + aType[j]->value.sequence->length); + OPENSSL_clear_free(temp[j], templen[j]); + } + + sk_ASN1_TYPE_pop_free(sk, &ASN1_TYPE_free); + OPENSSL_free(name); + OPENSSL_free(aType); + OPENSSL_free(aString); + OPENSSL_free(temp); + OPENSSL_free(templen); + OPENSSL_cleanse(buf, + buflen); // buf is part of p8inf_internal so + // we cant free now, we cleanse it + // to remove pkey from memory + PKCS8_PRIV_KEY_INFO_free( + p8inf_internal); // this also free buf + return -1; + } + + } else { + if (!PKCS8_pkey_set0(p8inf_internal, OBJ_nid2obj(nid), 0, + version, pval, buf, buflen)) { + for (int j = 0; j <= i; j++) { + OPENSSL_cleanse(aString[j]->data, aString[j]->length); + ASN1_OCTET_STRING_free(aString[j]); + OPENSSL_cleanse(aType[j]->value.sequence->data, + aType[j]->value.sequence->length); + OPENSSL_clear_free(temp[j], templen[j]); + } + sk_ASN1_TYPE_pop_free(sk, &ASN1_TYPE_free); + OPENSSL_free(name); + OPENSSL_free(aType); + OPENSSL_free(aString); + OPENSSL_free(temp); + OPENSSL_free(templen); + OPENSSL_cleanse(buf, + buflen); // buf is part of p8inf_internal so + // we cant free now, we cleanse it + // to remove pkey from memory + PKCS8_PRIV_KEY_INFO_free( + p8inf_internal); // this also free buf + return -1; + } + } templen[i] = i2d_PKCS8_PRIV_KEY_INFO(p8inf_internal, &temp[i]); // create the privkey info @@ -879,353 +940,353 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) { // OQS provider uses NIDs generated at load time as EVP_type identifiers // so initially this must be 0 and set to a real value by OBJ_sn2nid later ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_START -# define frodo640aes_evp_type 0 -# define frodo640aes_input_type "frodo640aes" -# define frodo640aes_pem_type "frodo640aes" - -# define p256_frodo640aes_evp_type 0 -# define p256_frodo640aes_input_type "p256_frodo640aes" -# define p256_frodo640aes_pem_type "p256_frodo640aes" -# define x25519_frodo640aes_evp_type 0 -# define x25519_frodo640aes_input_type "x25519_frodo640aes" -# define x25519_frodo640aes_pem_type "x25519_frodo640aes" -# define frodo640shake_evp_type 0 -# define frodo640shake_input_type "frodo640shake" -# define frodo640shake_pem_type "frodo640shake" - -# define p256_frodo640shake_evp_type 0 -# define p256_frodo640shake_input_type "p256_frodo640shake" -# define p256_frodo640shake_pem_type "p256_frodo640shake" -# define x25519_frodo640shake_evp_type 0 -# define x25519_frodo640shake_input_type "x25519_frodo640shake" -# define x25519_frodo640shake_pem_type "x25519_frodo640shake" -# define frodo976aes_evp_type 0 -# define frodo976aes_input_type "frodo976aes" -# define frodo976aes_pem_type "frodo976aes" - -# define p384_frodo976aes_evp_type 0 -# define p384_frodo976aes_input_type "p384_frodo976aes" -# define p384_frodo976aes_pem_type "p384_frodo976aes" -# define x448_frodo976aes_evp_type 0 -# define x448_frodo976aes_input_type "x448_frodo976aes" -# define x448_frodo976aes_pem_type "x448_frodo976aes" -# define frodo976shake_evp_type 0 -# define frodo976shake_input_type "frodo976shake" -# define frodo976shake_pem_type "frodo976shake" - -# define p384_frodo976shake_evp_type 0 -# define p384_frodo976shake_input_type "p384_frodo976shake" -# define p384_frodo976shake_pem_type "p384_frodo976shake" -# define x448_frodo976shake_evp_type 0 -# define x448_frodo976shake_input_type "x448_frodo976shake" -# define x448_frodo976shake_pem_type "x448_frodo976shake" -# define frodo1344aes_evp_type 0 -# define frodo1344aes_input_type "frodo1344aes" -# define frodo1344aes_pem_type "frodo1344aes" - -# define p521_frodo1344aes_evp_type 0 -# define p521_frodo1344aes_input_type "p521_frodo1344aes" -# define p521_frodo1344aes_pem_type "p521_frodo1344aes" -# define frodo1344shake_evp_type 0 -# define frodo1344shake_input_type "frodo1344shake" -# define frodo1344shake_pem_type "frodo1344shake" - -# define p521_frodo1344shake_evp_type 0 -# define p521_frodo1344shake_input_type "p521_frodo1344shake" -# define p521_frodo1344shake_pem_type "p521_frodo1344shake" -# define kyber512_evp_type 0 -# define kyber512_input_type "kyber512" -# define kyber512_pem_type "kyber512" - -# define p256_kyber512_evp_type 0 -# define p256_kyber512_input_type "p256_kyber512" -# define p256_kyber512_pem_type "p256_kyber512" -# define x25519_kyber512_evp_type 0 -# define x25519_kyber512_input_type "x25519_kyber512" -# define x25519_kyber512_pem_type "x25519_kyber512" -# define kyber768_evp_type 0 -# define kyber768_input_type "kyber768" -# define kyber768_pem_type "kyber768" - -# define p384_kyber768_evp_type 0 -# define p384_kyber768_input_type "p384_kyber768" -# define p384_kyber768_pem_type "p384_kyber768" -# define x448_kyber768_evp_type 0 -# define x448_kyber768_input_type "x448_kyber768" -# define x448_kyber768_pem_type "x448_kyber768" -# define x25519_kyber768_evp_type 0 -# define x25519_kyber768_input_type "x25519_kyber768" -# define x25519_kyber768_pem_type "x25519_kyber768" -# define p256_kyber768_evp_type 0 -# define p256_kyber768_input_type "p256_kyber768" -# define p256_kyber768_pem_type "p256_kyber768" -# define kyber1024_evp_type 0 -# define kyber1024_input_type "kyber1024" -# define kyber1024_pem_type "kyber1024" - -# define p521_kyber1024_evp_type 0 -# define p521_kyber1024_input_type "p521_kyber1024" -# define p521_kyber1024_pem_type "p521_kyber1024" -# define mlkem512_evp_type 0 -# define mlkem512_input_type "mlkem512" -# define mlkem512_pem_type "mlkem512" - -# define p256_mlkem512_evp_type 0 -# define p256_mlkem512_input_type "p256_mlkem512" -# define p256_mlkem512_pem_type "p256_mlkem512" -# define x25519_mlkem512_evp_type 0 -# define x25519_mlkem512_input_type "x25519_mlkem512" -# define x25519_mlkem512_pem_type "x25519_mlkem512" -# define mlkem768_evp_type 0 -# define mlkem768_input_type "mlkem768" -# define mlkem768_pem_type "mlkem768" - -# define p384_mlkem768_evp_type 0 -# define p384_mlkem768_input_type "p384_mlkem768" -# define p384_mlkem768_pem_type "p384_mlkem768" -# define x448_mlkem768_evp_type 0 -# define x448_mlkem768_input_type "x448_mlkem768" -# define x448_mlkem768_pem_type "x448_mlkem768" -# define x25519_mlkem768_evp_type 0 -# define x25519_mlkem768_input_type "x25519_mlkem768" -# define x25519_mlkem768_pem_type "x25519_mlkem768" -# define p256_mlkem768_evp_type 0 -# define p256_mlkem768_input_type "p256_mlkem768" -# define p256_mlkem768_pem_type "p256_mlkem768" -# define mlkem1024_evp_type 0 -# define mlkem1024_input_type "mlkem1024" -# define mlkem1024_pem_type "mlkem1024" - -# define p521_mlkem1024_evp_type 0 -# define p521_mlkem1024_input_type "p521_mlkem1024" -# define p521_mlkem1024_pem_type "p521_mlkem1024" -# define p384_mlkem1024_evp_type 0 -# define p384_mlkem1024_input_type "p384_mlkem1024" -# define p384_mlkem1024_pem_type "p384_mlkem1024" -# define bikel1_evp_type 0 -# define bikel1_input_type "bikel1" -# define bikel1_pem_type "bikel1" - -# define p256_bikel1_evp_type 0 -# define p256_bikel1_input_type "p256_bikel1" -# define p256_bikel1_pem_type "p256_bikel1" -# define x25519_bikel1_evp_type 0 -# define x25519_bikel1_input_type "x25519_bikel1" -# define x25519_bikel1_pem_type "x25519_bikel1" -# define bikel3_evp_type 0 -# define bikel3_input_type "bikel3" -# define bikel3_pem_type "bikel3" - -# define p384_bikel3_evp_type 0 -# define p384_bikel3_input_type "p384_bikel3" -# define p384_bikel3_pem_type "p384_bikel3" -# define x448_bikel3_evp_type 0 -# define x448_bikel3_input_type "x448_bikel3" -# define x448_bikel3_pem_type "x448_bikel3" -# define bikel5_evp_type 0 -# define bikel5_input_type "bikel5" -# define bikel5_pem_type "bikel5" - -# define p521_bikel5_evp_type 0 -# define p521_bikel5_input_type "p521_bikel5" -# define p521_bikel5_pem_type "p521_bikel5" -# define hqc128_evp_type 0 -# define hqc128_input_type "hqc128" -# define hqc128_pem_type "hqc128" - -# define p256_hqc128_evp_type 0 -# define p256_hqc128_input_type "p256_hqc128" -# define p256_hqc128_pem_type "p256_hqc128" -# define x25519_hqc128_evp_type 0 -# define x25519_hqc128_input_type "x25519_hqc128" -# define x25519_hqc128_pem_type "x25519_hqc128" -# define hqc192_evp_type 0 -# define hqc192_input_type "hqc192" -# define hqc192_pem_type "hqc192" - -# define p384_hqc192_evp_type 0 -# define p384_hqc192_input_type "p384_hqc192" -# define p384_hqc192_pem_type "p384_hqc192" -# define x448_hqc192_evp_type 0 -# define x448_hqc192_input_type "x448_hqc192" -# define x448_hqc192_pem_type "x448_hqc192" -# define hqc256_evp_type 0 -# define hqc256_input_type "hqc256" -# define hqc256_pem_type "hqc256" - -# define p521_hqc256_evp_type 0 -# define p521_hqc256_input_type "p521_hqc256" -# define p521_hqc256_pem_type "p521_hqc256" - - -# define dilithium2_evp_type 0 -# define dilithium2_input_type "dilithium2" -# define dilithium2_pem_type "dilithium2" -# define p256_dilithium2_evp_type 0 -# define p256_dilithium2_input_type "p256_dilithium2" -# define p256_dilithium2_pem_type "p256_dilithium2" -# define rsa3072_dilithium2_evp_type 0 -# define rsa3072_dilithium2_input_type "rsa3072_dilithium2" -# define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" -# define dilithium3_evp_type 0 -# define dilithium3_input_type "dilithium3" -# define dilithium3_pem_type "dilithium3" -# define p384_dilithium3_evp_type 0 -# define p384_dilithium3_input_type "p384_dilithium3" -# define p384_dilithium3_pem_type "p384_dilithium3" -# define dilithium5_evp_type 0 -# define dilithium5_input_type "dilithium5" -# define dilithium5_pem_type "dilithium5" -# define p521_dilithium5_evp_type 0 -# define p521_dilithium5_input_type "p521_dilithium5" -# define p521_dilithium5_pem_type "p521_dilithium5" -# define mldsa44_evp_type 0 -# define mldsa44_input_type "mldsa44" -# define mldsa44_pem_type "mldsa44" -# define p256_mldsa44_evp_type 0 -# define p256_mldsa44_input_type "p256_mldsa44" -# define p256_mldsa44_pem_type "p256_mldsa44" -# define rsa3072_mldsa44_evp_type 0 -# define rsa3072_mldsa44_input_type "rsa3072_mldsa44" -# define rsa3072_mldsa44_pem_type "rsa3072_mldsa44" -# define mldsa44_pss2048_evp_type 0 -# define mldsa44_pss2048_input_type "mldsa44_pss2048" -# define mldsa44_pss2048_pem_type "mldsa44_pss2048" -# define mldsa44_rsa2048_evp_type 0 -# define mldsa44_rsa2048_input_type "mldsa44_rsa2048" -# define mldsa44_rsa2048_pem_type "mldsa44_rsa2048" -# define mldsa44_ed25519_evp_type 0 -# define mldsa44_ed25519_input_type "mldsa44_ed25519" -# define mldsa44_ed25519_pem_type "mldsa44_ed25519" -# define mldsa44_p256_evp_type 0 -# define mldsa44_p256_input_type "mldsa44_p256" -# define mldsa44_p256_pem_type "mldsa44_p256" -# define mldsa44_bp256_evp_type 0 -# define mldsa44_bp256_input_type "mldsa44_bp256" -# define mldsa44_bp256_pem_type "mldsa44_bp256" -# define mldsa65_evp_type 0 -# define mldsa65_input_type "mldsa65" -# define mldsa65_pem_type "mldsa65" -# define p384_mldsa65_evp_type 0 -# define p384_mldsa65_input_type "p384_mldsa65" -# define p384_mldsa65_pem_type "p384_mldsa65" -# define mldsa65_pss3072_evp_type 0 -# define mldsa65_pss3072_input_type "mldsa65_pss3072" -# define mldsa65_pss3072_pem_type "mldsa65_pss3072" -# define mldsa65_rsa3072_evp_type 0 -# define mldsa65_rsa3072_input_type "mldsa65_rsa3072" -# define mldsa65_rsa3072_pem_type "mldsa65_rsa3072" -# define mldsa65_p256_evp_type 0 -# define mldsa65_p256_input_type "mldsa65_p256" -# define mldsa65_p256_pem_type "mldsa65_p256" -# define mldsa65_bp256_evp_type 0 -# define mldsa65_bp256_input_type "mldsa65_bp256" -# define mldsa65_bp256_pem_type "mldsa65_bp256" -# define mldsa65_ed25519_evp_type 0 -# define mldsa65_ed25519_input_type "mldsa65_ed25519" -# define mldsa65_ed25519_pem_type "mldsa65_ed25519" -# define mldsa87_evp_type 0 -# define mldsa87_input_type "mldsa87" -# define mldsa87_pem_type "mldsa87" -# define p521_mldsa87_evp_type 0 -# define p521_mldsa87_input_type "p521_mldsa87" -# define p521_mldsa87_pem_type "p521_mldsa87" -# define mldsa87_p384_evp_type 0 -# define mldsa87_p384_input_type "mldsa87_p384" -# define mldsa87_p384_pem_type "mldsa87_p384" -# define mldsa87_bp384_evp_type 0 -# define mldsa87_bp384_input_type "mldsa87_bp384" -# define mldsa87_bp384_pem_type "mldsa87_bp384" -# define mldsa87_ed448_evp_type 0 -# define mldsa87_ed448_input_type "mldsa87_ed448" -# define mldsa87_ed448_pem_type "mldsa87_ed448" -# define falcon512_evp_type 0 -# define falcon512_input_type "falcon512" -# define falcon512_pem_type "falcon512" -# define p256_falcon512_evp_type 0 -# define p256_falcon512_input_type "p256_falcon512" -# define p256_falcon512_pem_type "p256_falcon512" -# define rsa3072_falcon512_evp_type 0 -# define rsa3072_falcon512_input_type "rsa3072_falcon512" -# define rsa3072_falcon512_pem_type "rsa3072_falcon512" -# define falconpadded512_evp_type 0 -# define falconpadded512_input_type "falconpadded512" -# define falconpadded512_pem_type "falconpadded512" -# define p256_falconpadded512_evp_type 0 -# define p256_falconpadded512_input_type "p256_falconpadded512" -# define p256_falconpadded512_pem_type "p256_falconpadded512" -# define rsa3072_falconpadded512_evp_type 0 -# define rsa3072_falconpadded512_input_type "rsa3072_falconpadded512" -# define rsa3072_falconpadded512_pem_type "rsa3072_falconpadded512" -# define falcon1024_evp_type 0 -# define falcon1024_input_type "falcon1024" -# define falcon1024_pem_type "falcon1024" -# define p521_falcon1024_evp_type 0 -# define p521_falcon1024_input_type "p521_falcon1024" -# define p521_falcon1024_pem_type "p521_falcon1024" -# define falconpadded1024_evp_type 0 -# define falconpadded1024_input_type "falconpadded1024" -# define falconpadded1024_pem_type "falconpadded1024" -# define p521_falconpadded1024_evp_type 0 -# define p521_falconpadded1024_input_type "p521_falconpadded1024" -# define p521_falconpadded1024_pem_type "p521_falconpadded1024" -# define sphincssha2128fsimple_evp_type 0 -# define sphincssha2128fsimple_input_type "sphincssha2128fsimple" -# define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" -# define p256_sphincssha2128fsimple_evp_type 0 -# define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" -# define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" -# define rsa3072_sphincssha2128fsimple_evp_type 0 -# define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" -# define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" -# define sphincssha2128ssimple_evp_type 0 -# define sphincssha2128ssimple_input_type "sphincssha2128ssimple" -# define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" -# define p256_sphincssha2128ssimple_evp_type 0 -# define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" -# define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" -# define rsa3072_sphincssha2128ssimple_evp_type 0 -# define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" -# define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" -# define sphincssha2192fsimple_evp_type 0 -# define sphincssha2192fsimple_input_type "sphincssha2192fsimple" -# define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" -# define p384_sphincssha2192fsimple_evp_type 0 -# define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" -# define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" -# define sphincsshake128fsimple_evp_type 0 -# define sphincsshake128fsimple_input_type "sphincsshake128fsimple" -# define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" -# define p256_sphincsshake128fsimple_evp_type 0 -# define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" -# define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" -# define rsa3072_sphincsshake128fsimple_evp_type 0 -# define rsa3072_sphincsshake128fsimple_input_type "rsa3072_sphincsshake128fsimple" -# define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" -# define mayo1_evp_type 0 -# define mayo1_input_type "mayo1" -# define mayo1_pem_type "mayo1" -# define p256_mayo1_evp_type 0 -# define p256_mayo1_input_type "p256_mayo1" -# define p256_mayo1_pem_type "p256_mayo1" -# define mayo2_evp_type 0 -# define mayo2_input_type "mayo2" -# define mayo2_pem_type "mayo2" -# define p256_mayo2_evp_type 0 -# define p256_mayo2_input_type "p256_mayo2" -# define p256_mayo2_pem_type "p256_mayo2" -# define mayo3_evp_type 0 -# define mayo3_input_type "mayo3" -# define mayo3_pem_type "mayo3" -# define p384_mayo3_evp_type 0 -# define p384_mayo3_input_type "p384_mayo3" -# define p384_mayo3_pem_type "p384_mayo3" -# define mayo5_evp_type 0 -# define mayo5_input_type "mayo5" -# define mayo5_pem_type "mayo5" -# define p521_mayo5_evp_type 0 -# define p521_mayo5_input_type "p521_mayo5" -# define p521_mayo5_pem_type "p521_mayo5" +#define frodo640aes_evp_type 0 +#define frodo640aes_input_type "frodo640aes" +#define frodo640aes_pem_type "frodo640aes" + +#define p256_frodo640aes_evp_type 0 +#define p256_frodo640aes_input_type "p256_frodo640aes" +#define p256_frodo640aes_pem_type "p256_frodo640aes" +#define x25519_frodo640aes_evp_type 0 +#define x25519_frodo640aes_input_type "x25519_frodo640aes" +#define x25519_frodo640aes_pem_type "x25519_frodo640aes" +#define frodo640shake_evp_type 0 +#define frodo640shake_input_type "frodo640shake" +#define frodo640shake_pem_type "frodo640shake" + +#define p256_frodo640shake_evp_type 0 +#define p256_frodo640shake_input_type "p256_frodo640shake" +#define p256_frodo640shake_pem_type "p256_frodo640shake" +#define x25519_frodo640shake_evp_type 0 +#define x25519_frodo640shake_input_type "x25519_frodo640shake" +#define x25519_frodo640shake_pem_type "x25519_frodo640shake" +#define frodo976aes_evp_type 0 +#define frodo976aes_input_type "frodo976aes" +#define frodo976aes_pem_type "frodo976aes" + +#define p384_frodo976aes_evp_type 0 +#define p384_frodo976aes_input_type "p384_frodo976aes" +#define p384_frodo976aes_pem_type "p384_frodo976aes" +#define x448_frodo976aes_evp_type 0 +#define x448_frodo976aes_input_type "x448_frodo976aes" +#define x448_frodo976aes_pem_type "x448_frodo976aes" +#define frodo976shake_evp_type 0 +#define frodo976shake_input_type "frodo976shake" +#define frodo976shake_pem_type "frodo976shake" + +#define p384_frodo976shake_evp_type 0 +#define p384_frodo976shake_input_type "p384_frodo976shake" +#define p384_frodo976shake_pem_type "p384_frodo976shake" +#define x448_frodo976shake_evp_type 0 +#define x448_frodo976shake_input_type "x448_frodo976shake" +#define x448_frodo976shake_pem_type "x448_frodo976shake" +#define frodo1344aes_evp_type 0 +#define frodo1344aes_input_type "frodo1344aes" +#define frodo1344aes_pem_type "frodo1344aes" + +#define p521_frodo1344aes_evp_type 0 +#define p521_frodo1344aes_input_type "p521_frodo1344aes" +#define p521_frodo1344aes_pem_type "p521_frodo1344aes" +#define frodo1344shake_evp_type 0 +#define frodo1344shake_input_type "frodo1344shake" +#define frodo1344shake_pem_type "frodo1344shake" + +#define p521_frodo1344shake_evp_type 0 +#define p521_frodo1344shake_input_type "p521_frodo1344shake" +#define p521_frodo1344shake_pem_type "p521_frodo1344shake" +#define kyber512_evp_type 0 +#define kyber512_input_type "kyber512" +#define kyber512_pem_type "kyber512" + +#define p256_kyber512_evp_type 0 +#define p256_kyber512_input_type "p256_kyber512" +#define p256_kyber512_pem_type "p256_kyber512" +#define x25519_kyber512_evp_type 0 +#define x25519_kyber512_input_type "x25519_kyber512" +#define x25519_kyber512_pem_type "x25519_kyber512" +#define kyber768_evp_type 0 +#define kyber768_input_type "kyber768" +#define kyber768_pem_type "kyber768" + +#define p384_kyber768_evp_type 0 +#define p384_kyber768_input_type "p384_kyber768" +#define p384_kyber768_pem_type "p384_kyber768" +#define x448_kyber768_evp_type 0 +#define x448_kyber768_input_type "x448_kyber768" +#define x448_kyber768_pem_type "x448_kyber768" +#define x25519_kyber768_evp_type 0 +#define x25519_kyber768_input_type "x25519_kyber768" +#define x25519_kyber768_pem_type "x25519_kyber768" +#define p256_kyber768_evp_type 0 +#define p256_kyber768_input_type "p256_kyber768" +#define p256_kyber768_pem_type "p256_kyber768" +#define kyber1024_evp_type 0 +#define kyber1024_input_type "kyber1024" +#define kyber1024_pem_type "kyber1024" + +#define p521_kyber1024_evp_type 0 +#define p521_kyber1024_input_type "p521_kyber1024" +#define p521_kyber1024_pem_type "p521_kyber1024" +#define mlkem512_evp_type 0 +#define mlkem512_input_type "mlkem512" +#define mlkem512_pem_type "mlkem512" + +#define p256_mlkem512_evp_type 0 +#define p256_mlkem512_input_type "p256_mlkem512" +#define p256_mlkem512_pem_type "p256_mlkem512" +#define x25519_mlkem512_evp_type 0 +#define x25519_mlkem512_input_type "x25519_mlkem512" +#define x25519_mlkem512_pem_type "x25519_mlkem512" +#define mlkem768_evp_type 0 +#define mlkem768_input_type "mlkem768" +#define mlkem768_pem_type "mlkem768" + +#define p384_mlkem768_evp_type 0 +#define p384_mlkem768_input_type "p384_mlkem768" +#define p384_mlkem768_pem_type "p384_mlkem768" +#define x448_mlkem768_evp_type 0 +#define x448_mlkem768_input_type "x448_mlkem768" +#define x448_mlkem768_pem_type "x448_mlkem768" +#define x25519_mlkem768_evp_type 0 +#define x25519_mlkem768_input_type "x25519_mlkem768" +#define x25519_mlkem768_pem_type "x25519_mlkem768" +#define p256_mlkem768_evp_type 0 +#define p256_mlkem768_input_type "p256_mlkem768" +#define p256_mlkem768_pem_type "p256_mlkem768" +#define mlkem1024_evp_type 0 +#define mlkem1024_input_type "mlkem1024" +#define mlkem1024_pem_type "mlkem1024" + +#define p521_mlkem1024_evp_type 0 +#define p521_mlkem1024_input_type "p521_mlkem1024" +#define p521_mlkem1024_pem_type "p521_mlkem1024" +#define p384_mlkem1024_evp_type 0 +#define p384_mlkem1024_input_type "p384_mlkem1024" +#define p384_mlkem1024_pem_type "p384_mlkem1024" +#define bikel1_evp_type 0 +#define bikel1_input_type "bikel1" +#define bikel1_pem_type "bikel1" + +#define p256_bikel1_evp_type 0 +#define p256_bikel1_input_type "p256_bikel1" +#define p256_bikel1_pem_type "p256_bikel1" +#define x25519_bikel1_evp_type 0 +#define x25519_bikel1_input_type "x25519_bikel1" +#define x25519_bikel1_pem_type "x25519_bikel1" +#define bikel3_evp_type 0 +#define bikel3_input_type "bikel3" +#define bikel3_pem_type "bikel3" + +#define p384_bikel3_evp_type 0 +#define p384_bikel3_input_type "p384_bikel3" +#define p384_bikel3_pem_type "p384_bikel3" +#define x448_bikel3_evp_type 0 +#define x448_bikel3_input_type "x448_bikel3" +#define x448_bikel3_pem_type "x448_bikel3" +#define bikel5_evp_type 0 +#define bikel5_input_type "bikel5" +#define bikel5_pem_type "bikel5" + +#define p521_bikel5_evp_type 0 +#define p521_bikel5_input_type "p521_bikel5" +#define p521_bikel5_pem_type "p521_bikel5" +#define hqc128_evp_type 0 +#define hqc128_input_type "hqc128" +#define hqc128_pem_type "hqc128" + +#define p256_hqc128_evp_type 0 +#define p256_hqc128_input_type "p256_hqc128" +#define p256_hqc128_pem_type "p256_hqc128" +#define x25519_hqc128_evp_type 0 +#define x25519_hqc128_input_type "x25519_hqc128" +#define x25519_hqc128_pem_type "x25519_hqc128" +#define hqc192_evp_type 0 +#define hqc192_input_type "hqc192" +#define hqc192_pem_type "hqc192" + +#define p384_hqc192_evp_type 0 +#define p384_hqc192_input_type "p384_hqc192" +#define p384_hqc192_pem_type "p384_hqc192" +#define x448_hqc192_evp_type 0 +#define x448_hqc192_input_type "x448_hqc192" +#define x448_hqc192_pem_type "x448_hqc192" +#define hqc256_evp_type 0 +#define hqc256_input_type "hqc256" +#define hqc256_pem_type "hqc256" + +#define p521_hqc256_evp_type 0 +#define p521_hqc256_input_type "p521_hqc256" +#define p521_hqc256_pem_type "p521_hqc256" + +#define dilithium2_evp_type 0 +#define dilithium2_input_type "dilithium2" +#define dilithium2_pem_type "dilithium2" +#define p256_dilithium2_evp_type 0 +#define p256_dilithium2_input_type "p256_dilithium2" +#define p256_dilithium2_pem_type "p256_dilithium2" +#define rsa3072_dilithium2_evp_type 0 +#define rsa3072_dilithium2_input_type "rsa3072_dilithium2" +#define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" +#define dilithium3_evp_type 0 +#define dilithium3_input_type "dilithium3" +#define dilithium3_pem_type "dilithium3" +#define p384_dilithium3_evp_type 0 +#define p384_dilithium3_input_type "p384_dilithium3" +#define p384_dilithium3_pem_type "p384_dilithium3" +#define dilithium5_evp_type 0 +#define dilithium5_input_type "dilithium5" +#define dilithium5_pem_type "dilithium5" +#define p521_dilithium5_evp_type 0 +#define p521_dilithium5_input_type "p521_dilithium5" +#define p521_dilithium5_pem_type "p521_dilithium5" +#define mldsa44_evp_type 0 +#define mldsa44_input_type "mldsa44" +#define mldsa44_pem_type "mldsa44" +#define p256_mldsa44_evp_type 0 +#define p256_mldsa44_input_type "p256_mldsa44" +#define p256_mldsa44_pem_type "p256_mldsa44" +#define rsa3072_mldsa44_evp_type 0 +#define rsa3072_mldsa44_input_type "rsa3072_mldsa44" +#define rsa3072_mldsa44_pem_type "rsa3072_mldsa44" +#define mldsa44_pss2048_evp_type 0 +#define mldsa44_pss2048_input_type "mldsa44_pss2048" +#define mldsa44_pss2048_pem_type "mldsa44_pss2048" +#define mldsa44_rsa2048_evp_type 0 +#define mldsa44_rsa2048_input_type "mldsa44_rsa2048" +#define mldsa44_rsa2048_pem_type "mldsa44_rsa2048" +#define mldsa44_ed25519_evp_type 0 +#define mldsa44_ed25519_input_type "mldsa44_ed25519" +#define mldsa44_ed25519_pem_type "mldsa44_ed25519" +#define mldsa44_p256_evp_type 0 +#define mldsa44_p256_input_type "mldsa44_p256" +#define mldsa44_p256_pem_type "mldsa44_p256" +#define mldsa44_bp256_evp_type 0 +#define mldsa44_bp256_input_type "mldsa44_bp256" +#define mldsa44_bp256_pem_type "mldsa44_bp256" +#define mldsa65_evp_type 0 +#define mldsa65_input_type "mldsa65" +#define mldsa65_pem_type "mldsa65" +#define p384_mldsa65_evp_type 0 +#define p384_mldsa65_input_type "p384_mldsa65" +#define p384_mldsa65_pem_type "p384_mldsa65" +#define mldsa65_pss3072_evp_type 0 +#define mldsa65_pss3072_input_type "mldsa65_pss3072" +#define mldsa65_pss3072_pem_type "mldsa65_pss3072" +#define mldsa65_rsa3072_evp_type 0 +#define mldsa65_rsa3072_input_type "mldsa65_rsa3072" +#define mldsa65_rsa3072_pem_type "mldsa65_rsa3072" +#define mldsa65_p256_evp_type 0 +#define mldsa65_p256_input_type "mldsa65_p256" +#define mldsa65_p256_pem_type "mldsa65_p256" +#define mldsa65_bp256_evp_type 0 +#define mldsa65_bp256_input_type "mldsa65_bp256" +#define mldsa65_bp256_pem_type "mldsa65_bp256" +#define mldsa65_ed25519_evp_type 0 +#define mldsa65_ed25519_input_type "mldsa65_ed25519" +#define mldsa65_ed25519_pem_type "mldsa65_ed25519" +#define mldsa87_evp_type 0 +#define mldsa87_input_type "mldsa87" +#define mldsa87_pem_type "mldsa87" +#define p521_mldsa87_evp_type 0 +#define p521_mldsa87_input_type "p521_mldsa87" +#define p521_mldsa87_pem_type "p521_mldsa87" +#define mldsa87_p384_evp_type 0 +#define mldsa87_p384_input_type "mldsa87_p384" +#define mldsa87_p384_pem_type "mldsa87_p384" +#define mldsa87_bp384_evp_type 0 +#define mldsa87_bp384_input_type "mldsa87_bp384" +#define mldsa87_bp384_pem_type "mldsa87_bp384" +#define mldsa87_ed448_evp_type 0 +#define mldsa87_ed448_input_type "mldsa87_ed448" +#define mldsa87_ed448_pem_type "mldsa87_ed448" +#define falcon512_evp_type 0 +#define falcon512_input_type "falcon512" +#define falcon512_pem_type "falcon512" +#define p256_falcon512_evp_type 0 +#define p256_falcon512_input_type "p256_falcon512" +#define p256_falcon512_pem_type "p256_falcon512" +#define rsa3072_falcon512_evp_type 0 +#define rsa3072_falcon512_input_type "rsa3072_falcon512" +#define rsa3072_falcon512_pem_type "rsa3072_falcon512" +#define falconpadded512_evp_type 0 +#define falconpadded512_input_type "falconpadded512" +#define falconpadded512_pem_type "falconpadded512" +#define p256_falconpadded512_evp_type 0 +#define p256_falconpadded512_input_type "p256_falconpadded512" +#define p256_falconpadded512_pem_type "p256_falconpadded512" +#define rsa3072_falconpadded512_evp_type 0 +#define rsa3072_falconpadded512_input_type "rsa3072_falconpadded512" +#define rsa3072_falconpadded512_pem_type "rsa3072_falconpadded512" +#define falcon1024_evp_type 0 +#define falcon1024_input_type "falcon1024" +#define falcon1024_pem_type "falcon1024" +#define p521_falcon1024_evp_type 0 +#define p521_falcon1024_input_type "p521_falcon1024" +#define p521_falcon1024_pem_type "p521_falcon1024" +#define falconpadded1024_evp_type 0 +#define falconpadded1024_input_type "falconpadded1024" +#define falconpadded1024_pem_type "falconpadded1024" +#define p521_falconpadded1024_evp_type 0 +#define p521_falconpadded1024_input_type "p521_falconpadded1024" +#define p521_falconpadded1024_pem_type "p521_falconpadded1024" +#define sphincssha2128fsimple_evp_type 0 +#define sphincssha2128fsimple_input_type "sphincssha2128fsimple" +#define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" +#define p256_sphincssha2128fsimple_evp_type 0 +#define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" +#define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" +#define rsa3072_sphincssha2128fsimple_evp_type 0 +#define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" +#define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" +#define sphincssha2128ssimple_evp_type 0 +#define sphincssha2128ssimple_input_type "sphincssha2128ssimple" +#define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" +#define p256_sphincssha2128ssimple_evp_type 0 +#define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" +#define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" +#define rsa3072_sphincssha2128ssimple_evp_type 0 +#define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" +#define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" +#define sphincssha2192fsimple_evp_type 0 +#define sphincssha2192fsimple_input_type "sphincssha2192fsimple" +#define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" +#define p384_sphincssha2192fsimple_evp_type 0 +#define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" +#define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" +#define sphincsshake128fsimple_evp_type 0 +#define sphincsshake128fsimple_input_type "sphincsshake128fsimple" +#define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" +#define p256_sphincsshake128fsimple_evp_type 0 +#define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" +#define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" +#define rsa3072_sphincsshake128fsimple_evp_type 0 +#define rsa3072_sphincsshake128fsimple_input_type \ + "rsa3072_sphincsshake128fsimple" +#define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" +#define mayo1_evp_type 0 +#define mayo1_input_type "mayo1" +#define mayo1_pem_type "mayo1" +#define p256_mayo1_evp_type 0 +#define p256_mayo1_input_type "p256_mayo1" +#define p256_mayo1_pem_type "p256_mayo1" +#define mayo2_evp_type 0 +#define mayo2_input_type "mayo2" +#define mayo2_pem_type "mayo2" +#define p256_mayo2_evp_type 0 +#define p256_mayo2_input_type "p256_mayo2" +#define p256_mayo2_pem_type "p256_mayo2" +#define mayo3_evp_type 0 +#define mayo3_input_type "mayo3" +#define mayo3_pem_type "mayo3" +#define p384_mayo3_evp_type 0 +#define p384_mayo3_input_type "p384_mayo3" +#define p384_mayo3_pem_type "p384_mayo3" +#define mayo5_evp_type 0 +#define mayo5_input_type "mayo5" +#define mayo5_pem_type "mayo5" +#define p521_mayo5_evp_type 0 +#define p521_mayo5_input_type "p521_mayo5" +#define p521_mayo5_pem_type "p521_mayo5" ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_END /* ---------------------------------------------------------------------- */ @@ -1872,7 +1933,6 @@ key2text_encode(void *vctx, const void *key, int selection, OSSL_CORE_BIO *cout, ///// OQS_TEMPLATE_FRAGMENT_ENCODER_MAKE_START #ifdef OQS_KEM_ENCODERS - MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, frodo640aes, oqsx, PrivateKeyInfo, der); @@ -2537,8 +2597,10 @@ MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128fsimple); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); @@ -2558,8 +2620,10 @@ MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128ssimple); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); @@ -2593,8 +2657,10 @@ MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincsshake128fsimple); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); diff --git a/oqsprov/oqs_kmgmt.c b/oqsprov/oqs_kmgmt.c index 8288584d..c24ccaaf 100644 --- a/oqsprov/oqs_kmgmt.c +++ b/oqsprov/oqs_kmgmt.c @@ -667,515 +667,545 @@ static int oqsx_gen_set_params(void *genctx, const OSSL_PARAM params[]) { } ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_START -static void *dilithium2_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); +static void *dilithium2_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); } -static void *dilithium2_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2", 0, 128, 0); +static void *dilithium2_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2", 0, 128, 0); } -static void *p256_dilithium2_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); +static void *p256_dilithium2_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); } -static void *p256_dilithium2_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); +static void *p256_dilithium2_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); } -static void *rsa3072_dilithium2_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); +static void *rsa3072_dilithium2_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); } -static void *rsa3072_dilithium2_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); +static void *rsa3072_dilithium2_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); } -static void *dilithium3_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3", KEY_TYPE_SIG, NULL, 192, 3); +static void *dilithium3_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3", KEY_TYPE_SIG, NULL, 192, 3); } -static void *dilithium3_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3", 0, 192, 3); +static void *dilithium3_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3", 0, 192, 3); } -static void *p384_dilithium3_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 4); +static void *p384_dilithium3_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 4); } -static void *p384_dilithium3_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 4); +static void *p384_dilithium3_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 4); } -static void *dilithium5_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5", KEY_TYPE_SIG, NULL, 256, 5); +static void *dilithium5_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5", KEY_TYPE_SIG, NULL, 256, 5); } -static void *dilithium5_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5", 0, 256, 5); +static void *dilithium5_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5", 0, 256, 5); } -static void *p521_dilithium5_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 6); +static void *p521_dilithium5_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 6); } -static void *p521_dilithium5_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 6); +static void *p521_dilithium5_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 6); } -static void *mldsa44_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "mldsa44", KEY_TYPE_SIG, NULL, 128, 7); +static void *mldsa44_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "mldsa44", KEY_TYPE_SIG, NULL, 128, 7); } -static void *mldsa44_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "mldsa44", 0, 128, 7); +static void *mldsa44_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "mldsa44", + 0, 128, 7); } -static void *p256_mldsa44_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "p256_mldsa44", KEY_TYPE_HYB_SIG, NULL, 128, 8); +static void *p256_mldsa44_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "p256_mldsa44", KEY_TYPE_HYB_SIG, NULL, 128, 8); } -static void *p256_mldsa44_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "p256_mldsa44", KEY_TYPE_HYB_SIG, 128, 8); +static void *p256_mldsa44_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, + "p256_mldsa44", KEY_TYPE_HYB_SIG, 128, 8); } -static void *rsa3072_mldsa44_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "rsa3072_mldsa44", KEY_TYPE_HYB_SIG, NULL, 128, 9); +static void *rsa3072_mldsa44_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "rsa3072_mldsa44", KEY_TYPE_HYB_SIG, NULL, 128, 9); } -static void *rsa3072_mldsa44_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "rsa3072_mldsa44", KEY_TYPE_HYB_SIG, 128, 9); +static void *rsa3072_mldsa44_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, + "rsa3072_mldsa44", KEY_TYPE_HYB_SIG, 128, 9); } -static void *mldsa44_pss2048_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "mldsa44_pss2048", KEY_TYPE_CMP_SIG, NULL, 112, 10); +static void *mldsa44_pss2048_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "mldsa44_pss2048", KEY_TYPE_CMP_SIG, NULL, 112, 10); } -static void *mldsa44_pss2048_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "mldsa44_pss2048", KEY_TYPE_CMP_SIG, 112, 10); +static void *mldsa44_pss2048_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, + "mldsa44_pss2048", KEY_TYPE_CMP_SIG, 112, 10); } -static void *mldsa44_rsa2048_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "mldsa44_rsa2048", KEY_TYPE_CMP_SIG, NULL, 112, 11); +static void *mldsa44_rsa2048_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "mldsa44_rsa2048", KEY_TYPE_CMP_SIG, NULL, 112, 11); } -static void *mldsa44_rsa2048_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "mldsa44_rsa2048", KEY_TYPE_CMP_SIG, 112, 11); +static void *mldsa44_rsa2048_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, + "mldsa44_rsa2048", KEY_TYPE_CMP_SIG, 112, 11); } -static void *mldsa44_ed25519_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "mldsa44_ed25519", KEY_TYPE_CMP_SIG, NULL, 128, 12); +static void *mldsa44_ed25519_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "mldsa44_ed25519", KEY_TYPE_CMP_SIG, NULL, 128, 12); } -static void *mldsa44_ed25519_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "mldsa44_ed25519", KEY_TYPE_CMP_SIG, 128, 12); +static void *mldsa44_ed25519_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, + "mldsa44_ed25519", KEY_TYPE_CMP_SIG, 128, 12); } -static void *mldsa44_p256_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "mldsa44_p256", KEY_TYPE_CMP_SIG, NULL, 128, 13); +static void *mldsa44_p256_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "mldsa44_p256", KEY_TYPE_CMP_SIG, NULL, 128, 13); } -static void *mldsa44_p256_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "mldsa44_p256", KEY_TYPE_CMP_SIG, 128, 13); +static void *mldsa44_p256_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, + "mldsa44_p256", KEY_TYPE_CMP_SIG, 128, 13); } -static void *mldsa44_bp256_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, "mldsa44_bp256", KEY_TYPE_CMP_SIG, NULL, 256, 14); +static void *mldsa44_bp256_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_44, + "mldsa44_bp256", KEY_TYPE_CMP_SIG, NULL, 256, 14); } -static void *mldsa44_bp256_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, "mldsa44_bp256", KEY_TYPE_CMP_SIG, 256, 14); +static void *mldsa44_bp256_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_44, + "mldsa44_bp256", KEY_TYPE_CMP_SIG, 256, 14); } -static void *mldsa65_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, "mldsa65", KEY_TYPE_SIG, NULL, 192, 15); +static void *mldsa65_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, + "mldsa65", KEY_TYPE_SIG, NULL, 192, 15); } -static void *mldsa65_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "mldsa65", 0, 192, 15); +static void *mldsa65_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "mldsa65", + 0, 192, 15); } -static void *p384_mldsa65_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, "p384_mldsa65", KEY_TYPE_HYB_SIG, NULL, 192, 16); +static void *p384_mldsa65_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, + "p384_mldsa65", KEY_TYPE_HYB_SIG, NULL, 192, 16); } -static void *p384_mldsa65_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "p384_mldsa65", KEY_TYPE_HYB_SIG, 192, 16); +static void *p384_mldsa65_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, + "p384_mldsa65", KEY_TYPE_HYB_SIG, 192, 16); } -static void *mldsa65_pss3072_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, "mldsa65_pss3072", KEY_TYPE_CMP_SIG, NULL, 128, 17); +static void *mldsa65_pss3072_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, + "mldsa65_pss3072", KEY_TYPE_CMP_SIG, NULL, 128, 17); } -static void *mldsa65_pss3072_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "mldsa65_pss3072", KEY_TYPE_CMP_SIG, 128, 17); +static void *mldsa65_pss3072_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, + "mldsa65_pss3072", KEY_TYPE_CMP_SIG, 128, 17); } -static void *mldsa65_rsa3072_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, "mldsa65_rsa3072", KEY_TYPE_CMP_SIG, NULL, 128, 18); +static void *mldsa65_rsa3072_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, + "mldsa65_rsa3072", KEY_TYPE_CMP_SIG, NULL, 128, 18); } -static void *mldsa65_rsa3072_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "mldsa65_rsa3072", KEY_TYPE_CMP_SIG, 128, 18); +static void *mldsa65_rsa3072_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, + "mldsa65_rsa3072", KEY_TYPE_CMP_SIG, 128, 18); } -static void *mldsa65_p256_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, "mldsa65_p256", KEY_TYPE_CMP_SIG, NULL, 128, 19); +static void *mldsa65_p256_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, + "mldsa65_p256", KEY_TYPE_CMP_SIG, NULL, 128, 19); } -static void *mldsa65_p256_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "mldsa65_p256", KEY_TYPE_CMP_SIG, 128, 19); +static void *mldsa65_p256_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, + "mldsa65_p256", KEY_TYPE_CMP_SIG, 128, 19); } -static void *mldsa65_bp256_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, "mldsa65_bp256", KEY_TYPE_CMP_SIG, NULL, 256, 20); +static void *mldsa65_bp256_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, + "mldsa65_bp256", KEY_TYPE_CMP_SIG, NULL, 256, 20); } -static void *mldsa65_bp256_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "mldsa65_bp256", KEY_TYPE_CMP_SIG, 256, 20); +static void *mldsa65_bp256_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, + "mldsa65_bp256", KEY_TYPE_CMP_SIG, 256, 20); } -static void *mldsa65_ed25519_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, "mldsa65_ed25519", KEY_TYPE_CMP_SIG, NULL, 128, 21); +static void *mldsa65_ed25519_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_65, + "mldsa65_ed25519", KEY_TYPE_CMP_SIG, NULL, 128, 21); } -static void *mldsa65_ed25519_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, "mldsa65_ed25519", KEY_TYPE_CMP_SIG, 128, 21); +static void *mldsa65_ed25519_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_65, + "mldsa65_ed25519", KEY_TYPE_CMP_SIG, 128, 21); } -static void *mldsa87_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, "mldsa87", KEY_TYPE_SIG, NULL, 256, 22); +static void *mldsa87_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, + "mldsa87", KEY_TYPE_SIG, NULL, 256, 22); } -static void *mldsa87_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, "mldsa87", 0, 256, 22); +static void *mldsa87_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, "mldsa87", + 0, 256, 22); } -static void *p521_mldsa87_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, "p521_mldsa87", KEY_TYPE_HYB_SIG, NULL, 256, 23); +static void *p521_mldsa87_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, + "p521_mldsa87", KEY_TYPE_HYB_SIG, NULL, 256, 23); } -static void *p521_mldsa87_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, "p521_mldsa87", KEY_TYPE_HYB_SIG, 256, 23); +static void *p521_mldsa87_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, + "p521_mldsa87", KEY_TYPE_HYB_SIG, 256, 23); } -static void *mldsa87_p384_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, "mldsa87_p384", KEY_TYPE_CMP_SIG, NULL, 192, 24); +static void *mldsa87_p384_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, + "mldsa87_p384", KEY_TYPE_CMP_SIG, NULL, 192, 24); } -static void *mldsa87_p384_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, "mldsa87_p384", KEY_TYPE_CMP_SIG, 192, 24); +static void *mldsa87_p384_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, + "mldsa87_p384", KEY_TYPE_CMP_SIG, 192, 24); } -static void *mldsa87_bp384_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, "mldsa87_bp384", KEY_TYPE_CMP_SIG, NULL, 384, 25); +static void *mldsa87_bp384_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, + "mldsa87_bp384", KEY_TYPE_CMP_SIG, NULL, 384, 25); } -static void *mldsa87_bp384_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, "mldsa87_bp384", KEY_TYPE_CMP_SIG, 384, 25); +static void *mldsa87_bp384_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, + "mldsa87_bp384", KEY_TYPE_CMP_SIG, 384, 25); } -static void *mldsa87_ed448_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, "mldsa87_ed448", KEY_TYPE_CMP_SIG, NULL, 192, 26); +static void *mldsa87_ed448_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_ml_dsa_87, + "mldsa87_ed448", KEY_TYPE_CMP_SIG, NULL, 192, 26); } -static void *mldsa87_ed448_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, "mldsa87_ed448", KEY_TYPE_CMP_SIG, 192, 26); +static void *mldsa87_ed448_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_ml_dsa_87, + "mldsa87_ed448", KEY_TYPE_CMP_SIG, 192, 26); } -static void *falcon512_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512", KEY_TYPE_SIG, NULL, 128, 27); +static void *falcon512_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512", KEY_TYPE_SIG, NULL, 128, 27); } -static void *falcon512_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512", 0, 128, 27); +static void *falcon512_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512", 0, 128, 27); } -static void *p256_falcon512_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 28); +static void *p256_falcon512_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 28); } -static void *p256_falcon512_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 28); +static void *p256_falcon512_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 28); } -static void *rsa3072_falcon512_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 29); +static void *rsa3072_falcon512_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 29); } -static void *rsa3072_falcon512_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 29); +static void *rsa3072_falcon512_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 29); } -static void *falconpadded512_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_padded_512, "falconpadded512", KEY_TYPE_SIG, NULL, 128, 30); +static void *falconpadded512_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_falcon_padded_512, "falconpadded512", + KEY_TYPE_SIG, NULL, 128, 30); } -static void *falconpadded512_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_512, "falconpadded512", 0, 128, 30); +static void *falconpadded512_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_512, + "falconpadded512", 0, 128, 30); } -static void *p256_falconpadded512_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_padded_512, "p256_falconpadded512", KEY_TYPE_HYB_SIG, NULL, 128, 31); +static void *p256_falconpadded512_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_falcon_padded_512, "p256_falconpadded512", + KEY_TYPE_HYB_SIG, NULL, 128, 31); } -static void *p256_falconpadded512_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_512, "p256_falconpadded512", KEY_TYPE_HYB_SIG, 128, 31); +static void *p256_falconpadded512_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_512, + "p256_falconpadded512", KEY_TYPE_HYB_SIG, 128, 31); } -static void *rsa3072_falconpadded512_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_padded_512, "rsa3072_falconpadded512", KEY_TYPE_HYB_SIG, NULL, 128, 32); +static void *rsa3072_falconpadded512_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_padded_512, + "rsa3072_falconpadded512", KEY_TYPE_HYB_SIG, NULL, 128, 32); } -static void *rsa3072_falconpadded512_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_512, "rsa3072_falconpadded512", KEY_TYPE_HYB_SIG, 128, 32); +static void *rsa3072_falconpadded512_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_512, + "rsa3072_falconpadded512", KEY_TYPE_HYB_SIG, 128, 32); } -static void *falcon1024_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024", KEY_TYPE_SIG, NULL, 256, 33); +static void *falcon1024_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024", KEY_TYPE_SIG, NULL, 256, 33); } -static void *falcon1024_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024", 0, 256, 33); +static void *falcon1024_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024", 0, 256, 33); } -static void *p521_falcon1024_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 34); +static void *p521_falcon1024_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 34); } -static void *p521_falcon1024_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 34); +static void *p521_falcon1024_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 34); } -static void *falconpadded1024_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_padded_1024, "falconpadded1024", KEY_TYPE_SIG, NULL, 256, 35); +static void *falconpadded1024_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_falcon_padded_1024, "falconpadded1024", + KEY_TYPE_SIG, NULL, 256, 35); } -static void *falconpadded1024_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_1024, "falconpadded1024", 0, 256, 35); +static void *falconpadded1024_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_1024, + "falconpadded1024", 0, 256, 35); } -static void *p521_falconpadded1024_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_padded_1024, "p521_falconpadded1024", KEY_TYPE_HYB_SIG, NULL, 256, 36); +static void *p521_falconpadded1024_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_falcon_padded_1024, "p521_falconpadded1024", + KEY_TYPE_HYB_SIG, NULL, 256, 36); } -static void *p521_falconpadded1024_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_1024, "p521_falconpadded1024", KEY_TYPE_HYB_SIG, 256, 36); +static void *p521_falconpadded1024_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_padded_1024, + "p521_falconpadded1024", KEY_TYPE_HYB_SIG, 256, 36); } - -static void *sphincssha2128fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 37); +static void *sphincssha2128fsimple_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_128f_simple, + "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 37); } -static void *sphincssha2128fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", 0, 128, 37); +static void *sphincssha2128fsimple_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_128f_simple, + "sphincssha2128fsimple", 0, 128, 37); } -static void *p256_sphincssha2128fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 38); +static void *p256_sphincssha2128fsimple_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, + "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 38); } -static void *p256_sphincssha2128fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 38); +static void *p256_sphincssha2128fsimple_gen_init(void *provctx, int selection) { + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, + "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 38); } -static void *rsa3072_sphincssha2128fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 39); +static void *rsa3072_sphincssha2128fsimple_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, + "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 39); } -static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 39); +static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, + int selection) { + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, + "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 39); } -static void *sphincssha2128ssimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 40); +static void *sphincssha2128ssimple_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_128s_simple, + "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 40); } -static void *sphincssha2128ssimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", 0, 128, 40); +static void *sphincssha2128ssimple_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_128s_simple, + "sphincssha2128ssimple", 0, 128, 40); } -static void *p256_sphincssha2128ssimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 41); +static void *p256_sphincssha2128ssimple_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, + "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 41); } -static void *p256_sphincssha2128ssimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 41); +static void *p256_sphincssha2128ssimple_gen_init(void *provctx, int selection) { + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, + "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 41); } -static void *rsa3072_sphincssha2128ssimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 42); +static void *rsa3072_sphincssha2128ssimple_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, + "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 42); } -static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 42); +static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, + int selection) { + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, + "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 42); } -static void *sphincssha2192fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 43); +static void *sphincssha2192fsimple_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_192f_simple, + "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 43); } -static void *sphincssha2192fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", 0, 192, 43); +static void *sphincssha2192fsimple_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_192f_simple, + "sphincssha2192fsimple", 0, 192, 43); } -static void *p384_sphincssha2192fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 44); +static void *p384_sphincssha2192fsimple_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, + "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 44); } -static void *p384_sphincssha2192fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 44); +static void *p384_sphincssha2192fsimple_gen_init(void *provctx, int selection) { + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, + "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 44); } -static void *sphincsshake128fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 45); +static void *sphincsshake128fsimple_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_shake_128f_simple, + "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 45); } -static void *sphincsshake128fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", 0, 128, 45); +static void *sphincsshake128fsimple_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_shake_128f_simple, + "sphincsshake128fsimple", 0, 128, 45); } -static void *p256_sphincsshake128fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 46); +static void *p256_sphincsshake128fsimple_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, + "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 46); } -static void *p256_sphincsshake128fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 46); +static void *p256_sphincsshake128fsimple_gen_init(void *provctx, + int selection) { + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, + "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 46); } -static void *rsa3072_sphincsshake128fsimple_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 47); +static void *rsa3072_sphincsshake128fsimple_new_key(void *provctx) { + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, + "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 47); } -static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 47); +static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, + int selection) { + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, + "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 47); } -static void *mayo1_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_1, "mayo1", KEY_TYPE_SIG, NULL, 128, 48); +static void *mayo1_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_1, + "mayo1", KEY_TYPE_SIG, NULL, 128, 48); } -static void *mayo1_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_1, "mayo1", 0, 128, 48); +static void *mayo1_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_1, "mayo1", 0, + 128, 48); } -static void *p256_mayo1_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_1, "p256_mayo1", KEY_TYPE_HYB_SIG, NULL, 128, 49); +static void *p256_mayo1_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_1, + "p256_mayo1", KEY_TYPE_HYB_SIG, NULL, 128, 49); } -static void *p256_mayo1_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_1, "p256_mayo1", KEY_TYPE_HYB_SIG, 128, 49); +static void *p256_mayo1_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_1, "p256_mayo1", + KEY_TYPE_HYB_SIG, 128, 49); } -static void *mayo2_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_2, "mayo2", KEY_TYPE_SIG, NULL, 128, 50); +static void *mayo2_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_2, + "mayo2", KEY_TYPE_SIG, NULL, 128, 50); } -static void *mayo2_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_2, "mayo2", 0, 128, 50); +static void *mayo2_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_2, "mayo2", 0, + 128, 50); } -static void *p256_mayo2_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_2, "p256_mayo2", KEY_TYPE_HYB_SIG, NULL, 128, 51); +static void *p256_mayo2_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_2, + "p256_mayo2", KEY_TYPE_HYB_SIG, NULL, 128, 51); } -static void *p256_mayo2_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_2, "p256_mayo2", KEY_TYPE_HYB_SIG, 128, 51); +static void *p256_mayo2_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_2, "p256_mayo2", + KEY_TYPE_HYB_SIG, 128, 51); } -static void *mayo3_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_3, "mayo3", KEY_TYPE_SIG, NULL, 192, 52); +static void *mayo3_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_3, + "mayo3", KEY_TYPE_SIG, NULL, 192, 52); } -static void *mayo3_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_3, "mayo3", 0, 192, 52); +static void *mayo3_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_3, "mayo3", 0, + 192, 52); } -static void *p384_mayo3_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_3, "p384_mayo3", KEY_TYPE_HYB_SIG, NULL, 192, 53); +static void *p384_mayo3_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_3, + "p384_mayo3", KEY_TYPE_HYB_SIG, NULL, 192, 53); } -static void *p384_mayo3_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_3, "p384_mayo3", KEY_TYPE_HYB_SIG, 192, 53); +static void *p384_mayo3_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_3, "p384_mayo3", + KEY_TYPE_HYB_SIG, 192, 53); } -static void *mayo5_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_5, "mayo5", KEY_TYPE_SIG, NULL, 256, 54); +static void *mayo5_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_5, + "mayo5", KEY_TYPE_SIG, NULL, 256, 54); } -static void *mayo5_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_5, "mayo5", 0, 256, 54); +static void *mayo5_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_5, "mayo5", 0, + 256, 54); } -static void *p521_mayo5_new_key(void *provctx) -{ - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_5, "p521_mayo5", KEY_TYPE_HYB_SIG, NULL, 256, 55); +static void *p521_mayo5_new_key(void *provctx) { + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_mayo_5, + "p521_mayo5", KEY_TYPE_HYB_SIG, NULL, 256, 55); } -static void *p521_mayo5_gen_init(void *provctx, int selection) -{ - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_5, "p521_mayo5", KEY_TYPE_HYB_SIG, 256, 55); +static void *p521_mayo5_gen_init(void *provctx, int selection) { + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_mayo_5, "p521_mayo5", + KEY_TYPE_HYB_SIG, 256, 55); } ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END @@ -1380,30 +1410,40 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(p521_mayo5) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, + 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, + 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, + OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, + OQS_KEM_alg_frodokem_640_shake, 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, + 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, + 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, + OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, + OQS_KEM_alg_frodokem_976_shake, 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, + 256) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, + OQS_KEM_alg_frodokem_1344_shake, 256) MAKE_KEM_KEYMGMT_FUNCTIONS(kyber512, OQS_KEM_alg_kyber_512, 128) MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_kyber512, OQS_KEM_alg_kyber_512, 128) diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h index 5ec22f40..30816e93 100644 --- a/oqsprov/oqs_prov.h +++ b/oqsprov/oqs_prov.h @@ -259,940 +259,1957 @@ extern const OSSL_DISPATCH oqs_signature_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_START #ifdef OQS_KEM_ENCODERS - -extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mlkem512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mlkem512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mlkem512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_mlkem512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mlkem512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mlkem512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mlkem512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mlkem512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mlkem512_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_mlkem512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_mlkem512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_mlkem512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_mlkem512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_mlkem512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_mlkem512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_mlkem512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_mlkem512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mlkem768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mlkem768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mlkem768_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mlkem768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_mlkem768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_mlkem768_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_mlkem768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_mlkem768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_mlkem768_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_mlkem768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_mlkem768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_mlkem768_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mlkem768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mlkem768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mlkem768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mlkem768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mlkem1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_mlkem768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mlkem1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mlkem1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mlkem1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mlkem1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_mlkem1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mlkem1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mlkem1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mlkem1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mlkem1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mlkem1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mlkem1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mlkem1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mlkem1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mlkem1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mlkem1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mlkem1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mlkem1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mlkem1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_mlkem1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_mlkem1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_mlkem1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_mlkem1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_mlkem1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mlkem1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mlkem1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_mlkem1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_mlkem1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_mlkem1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_mlkem1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_bikel5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_hqc256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; #endif /* OQS_KEM_ENCODERS */ - -extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mldsa44_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mldsa44_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mldsa44_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mldsa44_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mldsa44_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mldsa44_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mldsa44_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mldsa44_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mldsa44_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mldsa44_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mldsa44_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_mldsa44_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_mldsa44_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_mldsa44_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_mldsa44_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_mldsa44_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_mldsa44_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_mldsa44_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_mldsa44_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_mldsa44_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_pss2048_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_pss2048_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_pss2048_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_pss2048_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_pss2048_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_pss2048_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_pss2048_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_pss2048_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_pss2048_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa44_pss2048_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa44_pss2048_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_rsa2048_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_rsa2048_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_rsa2048_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_rsa2048_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_rsa2048_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_rsa2048_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_rsa2048_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_rsa2048_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa44_rsa2048_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa44_rsa2048_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_ed25519_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_ed25519_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_ed25519_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_ed25519_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_ed25519_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_ed25519_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_ed25519_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_ed25519_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa44_p256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_p256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_p256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_p256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_p256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_p256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa44_ed25519_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa44_ed25519_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_p256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_p256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_p256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_p256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_p256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_p256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_p256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_p256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_p256_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa44_p256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa44_p256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_bp256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_bp256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_bp256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_bp256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_bp256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa44_bp256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa44_bp256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa44_bp256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa44_bp256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa44_bp256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa44_bp256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_mldsa65_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mldsa65_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mldsa65_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mldsa65_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mldsa65_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mldsa65_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa65_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa65_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mldsa65_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mldsa65_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mldsa65_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mldsa65_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mldsa65_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mldsa65_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mldsa65_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_mldsa65_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_mldsa65_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_mldsa65_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_mldsa65_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_pss3072_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_pss3072_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_pss3072_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_pss3072_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_pss3072_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_pss3072_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_pss3072_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_pss3072_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_pss3072_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa65_pss3072_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa65_pss3072_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_rsa3072_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_rsa3072_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_rsa3072_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_rsa3072_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_rsa3072_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_rsa3072_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_rsa3072_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_rsa3072_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa65_p256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_p256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_p256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_p256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_p256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_p256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa65_rsa3072_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa65_rsa3072_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_p256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_p256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_p256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_p256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_p256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_p256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_p256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_p256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_p256_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa65_p256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa65_p256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_bp256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_bp256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_bp256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_bp256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_bp256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_bp256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_bp256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_bp256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_bp256_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa65_bp256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa65_bp256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_ed25519_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_ed25519_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_ed25519_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_ed25519_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_ed25519_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa65_ed25519_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa65_ed25519_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa65_ed25519_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa65_ed25519_decoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa65_ed25519_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa65_ed25519_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_mldsa87_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mldsa87_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mldsa87_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mldsa87_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mldsa87_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mldsa87_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa87_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa87_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mldsa87_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mldsa87_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mldsa87_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mldsa87_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mldsa87_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mldsa87_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_mldsa87_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_mldsa87_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_mldsa87_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa87_p384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_p384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_p384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_p384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_p384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_p384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_mldsa87_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_mldsa87_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_p384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_p384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_p384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_p384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_p384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_p384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_p384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_p384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_p384_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa87_p384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa87_p384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_bp384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_bp384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_bp384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_bp384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_bp384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_bp384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_bp384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_bp384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_bp384_decoder_functions[];extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa87_bp384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa87_bp384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_ed448_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_ed448_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_ed448_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_ed448_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_ed448_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mldsa87_ed448_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mldsa87_ed448_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mldsa87_ed448_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mldsa87_ed448_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_mldsa87_ed448_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mldsa87_ed448_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falconpadded512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falconpadded512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falconpadded512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falconpadded512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falconpadded512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falconpadded512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falconpadded512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falconpadded512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falconpadded512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falconpadded512_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falconpadded512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falconpadded512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falconpadded512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_falconpadded512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falconpadded1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falconpadded1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falconpadded1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falconpadded1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falconpadded1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falconpadded1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falconpadded1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falconpadded1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falconpadded1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falconpadded1024_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_falconpadded1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_falconpadded1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions + []; extern const OSSL_DISPATCH oqs_mayo1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo1_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo1_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_mayo1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mayo1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mayo1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mayo1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mayo1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_mayo1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_mayo1_decoder_functions[]; extern const OSSL_DISPATCH oqs_mayo2_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo2_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo2_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_mayo2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_mayo2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mayo2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_mayo2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_mayo2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_mayo2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_mayo2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_mayo2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_mayo2_decoder_functions[]; extern const OSSL_DISPATCH oqs_mayo3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo3_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_mayo3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mayo3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mayo3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mayo3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mayo3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_mayo3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mayo3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mayo3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mayo3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mayo3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mayo3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mayo3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_mayo3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_mayo3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_mayo3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_mayo3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_mayo3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_mayo3_decoder_functions[]; extern const OSSL_DISPATCH oqs_mayo5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_mayo5_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_mayo5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_mayo5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_mayo5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mayo5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mayo5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mayo5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mayo5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_mayo5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mayo5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mayo5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mayo5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mayo5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mayo5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_mayo5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_mayo5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_mayo5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_mayo5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_mayo5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_mayo5_decoder_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_END ///// OQS_TEMPLATE_FRAGMENT_ALG_FUNCTIONS_START -extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_mldsa44_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_mldsa44_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa44_pss2048_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa44_ed25519_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa44_p256_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa44_bp256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_mldsa65_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_mldsa65_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa65_pss3072_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa65_p256_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa65_bp256_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa65_ed25519_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_mldsa87_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_mldsa87_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa87_p384_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa87_bp384_keymgmt_functions[];extern const OSSL_DISPATCH oqs_mldsa87_ed448_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_falconpadded512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falconpadded1024_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_falconpadded1024_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_mayo1_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_mayo1_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_mayo2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_mayo2_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_mayo3_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_mayo3_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_mayo5_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_mayo5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa44_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_mldsa44_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_mldsa44_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa44_pss2048_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa44_rsa2048_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa44_ed25519_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa44_p256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa44_bp256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa65_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_mldsa65_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa65_pss3072_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa65_rsa3072_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa65_p256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa65_bp256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa65_ed25519_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa87_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_mldsa87_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa87_p384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa87_bp384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mldsa87_ed448_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falconpadded512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_falconpadded512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falconpadded512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falconpadded1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_falconpadded1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mayo1_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_mayo1_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mayo2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_mayo2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mayo3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_mayo3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_mayo5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_mayo5_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_keymgmt_functions[]; diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index dfb14e87..5a2f93ce 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -50,275 +50,488 @@ extern OSSL_FUNC_provider_get_capabilities_fn oqs_provider_get_capabilities; */ ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_START - #ifdef OQS_KEM_ENCODERS #define OQS_OID_CNT 218 #else #define OQS_OID_CNT 112 #endif -const char* oqs_oid_alg_list[OQS_OID_CNT] = -{ +const char *oqs_oid_alg_list[OQS_OID_CNT] = { #ifdef OQS_KEM_ENCODERS -"1.3.9999.99.17", "frodo640aes", -"1.3.9999.99.16", "p256_frodo640aes", -"1.3.9999.99.1", "x25519_frodo640aes", -"1.3.9999.99.19", "frodo640shake", -"1.3.9999.99.18", "p256_frodo640shake", -"1.3.9999.99.2", "x25519_frodo640shake", -"1.3.9999.99.21", "frodo976aes", -"1.3.9999.99.20", "p384_frodo976aes", -"1.3.9999.99.3", "x448_frodo976aes", -"1.3.9999.99.23", "frodo976shake", -"1.3.9999.99.22", "p384_frodo976shake", -"1.3.9999.99.4", "x448_frodo976shake", -"1.3.9999.99.25", "frodo1344aes", -"1.3.9999.99.24", "p521_frodo1344aes", -"1.3.9999.99.27", "frodo1344shake", -"1.3.9999.99.26", "p521_frodo1344shake", -"1.3.6.1.4.1.2.267.8.2.2", "kyber512", -"1.3.9999.99.28", "p256_kyber512", -"1.3.9999.99.5", "x25519_kyber512", -"1.3.6.1.4.1.2.267.8.3.3", "kyber768", -"1.3.9999.99.29", "p384_kyber768", -"1.3.9999.99.6", "x448_kyber768", -"1.3.9999.99.7", "x25519_kyber768", -"1.3.9999.99.8", "p256_kyber768", -"1.3.6.1.4.1.2.267.8.4.4", "kyber1024", -"1.3.9999.99.30", "p521_kyber1024", -"1.3.6.1.4.1.22554.5.6.1", "mlkem512", -"1.3.6.1.4.1.22554.5.7.1", "p256_mlkem512", -"1.3.6.1.4.1.22554.5.8.1", "x25519_mlkem512", -"1.3.6.1.4.1.22554.5.6.2", "mlkem768", -"1.3.9999.99.31", "p384_mlkem768", -"1.3.9999.99.9", "x448_mlkem768", -"1.3.9999.99.10", "x25519_mlkem768", -"1.3.9999.99.11", "p256_mlkem768", -"1.3.6.1.4.1.22554.5.6.3", "mlkem1024", -"1.3.9999.99.32", "p521_mlkem1024", -"1.3.6.1.4.1.42235.6", "p384_mlkem1024", -"1.3.9999.99.34", "bikel1", -"1.3.9999.99.33", "p256_bikel1", -"1.3.9999.99.12", "x25519_bikel1", -"1.3.9999.99.36", "bikel3", -"1.3.9999.99.35", "p384_bikel3", -"1.3.9999.99.13", "x448_bikel3", -"1.3.9999.99.38", "bikel5", -"1.3.9999.99.37", "p521_bikel5", -"1.3.9999.99.40", "hqc128", -"1.3.9999.99.39", "p256_hqc128", -"1.3.9999.99.14", "x25519_hqc128", -"1.3.9999.99.42", "hqc192", -"1.3.9999.99.41", "p384_hqc192", -"1.3.9999.99.15", "x448_hqc192", -"1.3.9999.99.44", "hqc256", -"1.3.9999.99.43", "p521_hqc256", + "1.3.9999.99.17", + "frodo640aes", + "1.3.9999.99.16", + "p256_frodo640aes", + "1.3.9999.99.1", + "x25519_frodo640aes", + "1.3.9999.99.19", + "frodo640shake", + "1.3.9999.99.18", + "p256_frodo640shake", + "1.3.9999.99.2", + "x25519_frodo640shake", + "1.3.9999.99.21", + "frodo976aes", + "1.3.9999.99.20", + "p384_frodo976aes", + "1.3.9999.99.3", + "x448_frodo976aes", + "1.3.9999.99.23", + "frodo976shake", + "1.3.9999.99.22", + "p384_frodo976shake", + "1.3.9999.99.4", + "x448_frodo976shake", + "1.3.9999.99.25", + "frodo1344aes", + "1.3.9999.99.24", + "p521_frodo1344aes", + "1.3.9999.99.27", + "frodo1344shake", + "1.3.9999.99.26", + "p521_frodo1344shake", + "1.3.6.1.4.1.2.267.8.2.2", + "kyber512", + "1.3.9999.99.28", + "p256_kyber512", + "1.3.9999.99.5", + "x25519_kyber512", + "1.3.6.1.4.1.2.267.8.3.3", + "kyber768", + "1.3.9999.99.29", + "p384_kyber768", + "1.3.9999.99.6", + "x448_kyber768", + "1.3.9999.99.7", + "x25519_kyber768", + "1.3.9999.99.8", + "p256_kyber768", + "1.3.6.1.4.1.2.267.8.4.4", + "kyber1024", + "1.3.9999.99.30", + "p521_kyber1024", + "1.3.6.1.4.1.22554.5.6.1", + "mlkem512", + "1.3.6.1.4.1.22554.5.7.1", + "p256_mlkem512", + "1.3.6.1.4.1.22554.5.8.1", + "x25519_mlkem512", + "1.3.6.1.4.1.22554.5.6.2", + "mlkem768", + "1.3.9999.99.31", + "p384_mlkem768", + "1.3.9999.99.9", + "x448_mlkem768", + "1.3.9999.99.10", + "x25519_mlkem768", + "1.3.9999.99.11", + "p256_mlkem768", + "1.3.6.1.4.1.22554.5.6.3", + "mlkem1024", + "1.3.9999.99.32", + "p521_mlkem1024", + "1.3.6.1.4.1.42235.6", + "p384_mlkem1024", + "1.3.9999.99.34", + "bikel1", + "1.3.9999.99.33", + "p256_bikel1", + "1.3.9999.99.12", + "x25519_bikel1", + "1.3.9999.99.36", + "bikel3", + "1.3.9999.99.35", + "p384_bikel3", + "1.3.9999.99.13", + "x448_bikel3", + "1.3.9999.99.38", + "bikel5", + "1.3.9999.99.37", + "p521_bikel5", + "1.3.9999.99.40", + "hqc128", + "1.3.9999.99.39", + "p256_hqc128", + "1.3.9999.99.14", + "x25519_hqc128", + "1.3.9999.99.42", + "hqc192", + "1.3.9999.99.41", + "p384_hqc192", + "1.3.9999.99.15", + "x448_hqc192", + "1.3.9999.99.44", + "hqc256", + "1.3.9999.99.43", + "p521_hqc256", #endif /* OQS_KEM_ENCODERS */ - -"1.3.6.1.4.1.2.267.7.4.4", "dilithium2", -"1.3.9999.2.7.1" , "p256_dilithium2", -"1.3.9999.2.7.2" , "rsa3072_dilithium2", -"1.3.6.1.4.1.2.267.7.6.5", "dilithium3", -"1.3.9999.2.7.3" , "p384_dilithium3", -"1.3.6.1.4.1.2.267.7.8.7", "dilithium5", -"1.3.9999.2.7.4" , "p521_dilithium5", -"1.3.6.1.4.1.2.267.12.4.4", "mldsa44", -"1.3.9999.7.1" , "p256_mldsa44", -"1.3.9999.7.2" , "rsa3072_mldsa44", -"2.16.840.1.114027.80.8.1.1" , "mldsa44_pss2048", -"2.16.840.1.114027.80.8.1.2" , "mldsa44_rsa2048", -"2.16.840.1.114027.80.8.1.3" , "mldsa44_ed25519", -"2.16.840.1.114027.80.8.1.4" , "mldsa44_p256", -"2.16.840.1.114027.80.8.1.5" , "mldsa44_bp256", -"1.3.6.1.4.1.2.267.12.6.5", "mldsa65", -"1.3.9999.7.3" , "p384_mldsa65", -"2.16.840.1.114027.80.8.1.6" , "mldsa65_pss3072", -"2.16.840.1.114027.80.8.1.7" , "mldsa65_rsa3072", -"2.16.840.1.114027.80.8.1.8" , "mldsa65_p256", -"2.16.840.1.114027.80.8.1.9" , "mldsa65_bp256", -"2.16.840.1.114027.80.8.1.10" , "mldsa65_ed25519", -"1.3.6.1.4.1.2.267.12.8.7", "mldsa87", -"1.3.9999.7.4" , "p521_mldsa87", -"2.16.840.1.114027.80.8.1.11" , "mldsa87_p384", -"2.16.840.1.114027.80.8.1.12" , "mldsa87_bp384", -"2.16.840.1.114027.80.8.1.13" , "mldsa87_ed448", -"1.3.9999.3.11", "falcon512", -"1.3.9999.3.12" , "p256_falcon512", -"1.3.9999.3.13" , "rsa3072_falcon512", -"1.3.9999.3.16", "falconpadded512", -"1.3.9999.3.17" , "p256_falconpadded512", -"1.3.9999.3.18" , "rsa3072_falconpadded512", -"1.3.9999.3.14", "falcon1024", -"1.3.9999.3.15" , "p521_falcon1024", -"1.3.9999.3.19", "falconpadded1024", -"1.3.9999.3.20" , "p521_falconpadded1024", -"1.3.9999.6.4.13", "sphincssha2128fsimple", -"1.3.9999.6.4.14" , "p256_sphincssha2128fsimple", -"1.3.9999.6.4.15" , "rsa3072_sphincssha2128fsimple", -"1.3.9999.6.4.16", "sphincssha2128ssimple", -"1.3.9999.6.4.17" , "p256_sphincssha2128ssimple", -"1.3.9999.6.4.18" , "rsa3072_sphincssha2128ssimple", -"1.3.9999.6.5.10", "sphincssha2192fsimple", -"1.3.9999.6.5.11" , "p384_sphincssha2192fsimple", -"1.3.9999.6.7.13", "sphincsshake128fsimple", -"1.3.9999.6.7.14" , "p256_sphincsshake128fsimple", -"1.3.9999.6.7.15" , "rsa3072_sphincsshake128fsimple", -"1.3.9999.8.1.1", "mayo1", -"1.3.9999.8.1.2" , "p256_mayo1", -"1.3.9999.8.2.1", "mayo2", -"1.3.9999.8.2.2" , "p256_mayo2", -"1.3.9999.8.3.1", "mayo3", -"1.3.9999.8.3.2" , "p384_mayo3", -"1.3.9999.8.5.1", "mayo5", -"1.3.9999.8.5.2" , "p521_mayo5", -///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END + "1.3.6.1.4.1.2.267.7.4.4", + "dilithium2", + "1.3.9999.2.7.1", + "p256_dilithium2", + "1.3.9999.2.7.2", + "rsa3072_dilithium2", + "1.3.6.1.4.1.2.267.7.6.5", + "dilithium3", + "1.3.9999.2.7.3", + "p384_dilithium3", + "1.3.6.1.4.1.2.267.7.8.7", + "dilithium5", + "1.3.9999.2.7.4", + "p521_dilithium5", + "1.3.6.1.4.1.2.267.12.4.4", + "mldsa44", + "1.3.9999.7.1", + "p256_mldsa44", + "1.3.9999.7.2", + "rsa3072_mldsa44", + "2.16.840.1.114027.80.8.1.1", + "mldsa44_pss2048", + "2.16.840.1.114027.80.8.1.2", + "mldsa44_rsa2048", + "2.16.840.1.114027.80.8.1.3", + "mldsa44_ed25519", + "2.16.840.1.114027.80.8.1.4", + "mldsa44_p256", + "2.16.840.1.114027.80.8.1.5", + "mldsa44_bp256", + "1.3.6.1.4.1.2.267.12.6.5", + "mldsa65", + "1.3.9999.7.3", + "p384_mldsa65", + "2.16.840.1.114027.80.8.1.6", + "mldsa65_pss3072", + "2.16.840.1.114027.80.8.1.7", + "mldsa65_rsa3072", + "2.16.840.1.114027.80.8.1.8", + "mldsa65_p256", + "2.16.840.1.114027.80.8.1.9", + "mldsa65_bp256", + "2.16.840.1.114027.80.8.1.10", + "mldsa65_ed25519", + "1.3.6.1.4.1.2.267.12.8.7", + "mldsa87", + "1.3.9999.7.4", + "p521_mldsa87", + "2.16.840.1.114027.80.8.1.11", + "mldsa87_p384", + "2.16.840.1.114027.80.8.1.12", + "mldsa87_bp384", + "2.16.840.1.114027.80.8.1.13", + "mldsa87_ed448", + "1.3.9999.3.11", + "falcon512", + "1.3.9999.3.12", + "p256_falcon512", + "1.3.9999.3.13", + "rsa3072_falcon512", + "1.3.9999.3.16", + "falconpadded512", + "1.3.9999.3.17", + "p256_falconpadded512", + "1.3.9999.3.18", + "rsa3072_falconpadded512", + "1.3.9999.3.14", + "falcon1024", + "1.3.9999.3.15", + "p521_falcon1024", + "1.3.9999.3.19", + "falconpadded1024", + "1.3.9999.3.20", + "p521_falconpadded1024", + "1.3.9999.6.4.13", + "sphincssha2128fsimple", + "1.3.9999.6.4.14", + "p256_sphincssha2128fsimple", + "1.3.9999.6.4.15", + "rsa3072_sphincssha2128fsimple", + "1.3.9999.6.4.16", + "sphincssha2128ssimple", + "1.3.9999.6.4.17", + "p256_sphincssha2128ssimple", + "1.3.9999.6.4.18", + "rsa3072_sphincssha2128ssimple", + "1.3.9999.6.5.10", + "sphincssha2192fsimple", + "1.3.9999.6.5.11", + "p384_sphincssha2192fsimple", + "1.3.9999.6.7.13", + "sphincsshake128fsimple", + "1.3.9999.6.7.14", + "p256_sphincsshake128fsimple", + "1.3.9999.6.7.15", + "rsa3072_sphincsshake128fsimple", + "1.3.9999.8.1.1", + "mayo1", + "1.3.9999.8.1.2", + "p256_mayo1", + "1.3.9999.8.2.1", + "mayo2", + "1.3.9999.8.2.2", + "p256_mayo2", + "1.3.9999.8.3.1", + "mayo3", + "1.3.9999.8.3.2", + "p384_mayo3", + "1.3.9999.8.5.1", + "mayo5", + "1.3.9999.8.5.2", + "p521_mayo5", + ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END }; int oqs_patch_oids(void) { ///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_START -{ - const char *envval = NULL; + { + const char *envval = NULL; #ifdef OQS_KEM_ENCODERS - - -if ((envval = getenv("OQS_OID_FRODO640AES"))) oqs_oid_alg_list[0] = envval; - -if ((envval = getenv("OQS_OID_P256_FRODO640AES"))) oqs_oid_alg_list[2] = envval; -if ((envval = getenv("OQS_OID_X25519_FRODO640AES"))) oqs_oid_alg_list[4] = envval; -if ((envval = getenv("OQS_OID_FRODO640SHAKE"))) oqs_oid_alg_list[6] = envval; - -if ((envval = getenv("OQS_OID_P256_FRODO640SHAKE"))) oqs_oid_alg_list[8] = envval; -if ((envval = getenv("OQS_OID_X25519_FRODO640SHAKE"))) oqs_oid_alg_list[10] = envval; -if ((envval = getenv("OQS_OID_FRODO976AES"))) oqs_oid_alg_list[12] = envval; - -if ((envval = getenv("OQS_OID_P384_FRODO976AES"))) oqs_oid_alg_list[14] = envval; -if ((envval = getenv("OQS_OID_X448_FRODO976AES"))) oqs_oid_alg_list[16] = envval; -if ((envval = getenv("OQS_OID_FRODO976SHAKE"))) oqs_oid_alg_list[18] = envval; - -if ((envval = getenv("OQS_OID_P384_FRODO976SHAKE"))) oqs_oid_alg_list[20] = envval; -if ((envval = getenv("OQS_OID_X448_FRODO976SHAKE"))) oqs_oid_alg_list[22] = envval; -if ((envval = getenv("OQS_OID_FRODO1344AES"))) oqs_oid_alg_list[24] = envval; - -if ((envval = getenv("OQS_OID_P521_FRODO1344AES"))) oqs_oid_alg_list[26] = envval; -if ((envval = getenv("OQS_OID_FRODO1344SHAKE"))) oqs_oid_alg_list[28] = envval; - -if ((envval = getenv("OQS_OID_P521_FRODO1344SHAKE"))) oqs_oid_alg_list[30] = envval; -if ((envval = getenv("OQS_OID_KYBER512"))) oqs_oid_alg_list[32] = envval; - -if ((envval = getenv("OQS_OID_P256_KYBER512"))) oqs_oid_alg_list[34] = envval; -if ((envval = getenv("OQS_OID_X25519_KYBER512"))) oqs_oid_alg_list[36] = envval; -if ((envval = getenv("OQS_OID_KYBER768"))) oqs_oid_alg_list[38] = envval; - -if ((envval = getenv("OQS_OID_P384_KYBER768"))) oqs_oid_alg_list[40] = envval; -if ((envval = getenv("OQS_OID_X448_KYBER768"))) oqs_oid_alg_list[42] = envval; -if ((envval = getenv("OQS_OID_X25519_KYBER768"))) oqs_oid_alg_list[44] = envval; -if ((envval = getenv("OQS_OID_P256_KYBER768"))) oqs_oid_alg_list[46] = envval; -if ((envval = getenv("OQS_OID_KYBER1024"))) oqs_oid_alg_list[48] = envval; - -if ((envval = getenv("OQS_OID_P521_KYBER1024"))) oqs_oid_alg_list[50] = envval; -if ((envval = getenv("OQS_OID_MLKEM512"))) oqs_oid_alg_list[52] = envval; - -if ((envval = getenv("OQS_OID_P256_MLKEM512"))) oqs_oid_alg_list[54] = envval; -if ((envval = getenv("OQS_OID_X25519_MLKEM512"))) oqs_oid_alg_list[56] = envval; -if ((envval = getenv("OQS_OID_MLKEM768"))) oqs_oid_alg_list[58] = envval; - -if ((envval = getenv("OQS_OID_P384_MLKEM768"))) oqs_oid_alg_list[60] = envval; -if ((envval = getenv("OQS_OID_X448_MLKEM768"))) oqs_oid_alg_list[62] = envval; -if ((envval = getenv("OQS_OID_X25519_MLKEM768"))) oqs_oid_alg_list[64] = envval; -if ((envval = getenv("OQS_OID_P256_MLKEM768"))) oqs_oid_alg_list[66] = envval; -if ((envval = getenv("OQS_OID_MLKEM1024"))) oqs_oid_alg_list[68] = envval; - -if ((envval = getenv("OQS_OID_P521_MLKEM1024"))) oqs_oid_alg_list[70] = envval; -if ((envval = getenv("OQS_OID_P384_MLKEM1024"))) oqs_oid_alg_list[72] = envval; -if ((envval = getenv("OQS_OID_BIKEL1"))) oqs_oid_alg_list[74] = envval; - -if ((envval = getenv("OQS_OID_P256_BIKEL1"))) oqs_oid_alg_list[76] = envval; -if ((envval = getenv("OQS_OID_X25519_BIKEL1"))) oqs_oid_alg_list[78] = envval; -if ((envval = getenv("OQS_OID_BIKEL3"))) oqs_oid_alg_list[80] = envval; - -if ((envval = getenv("OQS_OID_P384_BIKEL3"))) oqs_oid_alg_list[82] = envval; -if ((envval = getenv("OQS_OID_X448_BIKEL3"))) oqs_oid_alg_list[84] = envval; -if ((envval = getenv("OQS_OID_BIKEL5"))) oqs_oid_alg_list[86] = envval; - -if ((envval = getenv("OQS_OID_P521_BIKEL5"))) oqs_oid_alg_list[88] = envval; -if ((envval = getenv("OQS_OID_HQC128"))) oqs_oid_alg_list[90] = envval; - -if ((envval = getenv("OQS_OID_P256_HQC128"))) oqs_oid_alg_list[92] = envval; -if ((envval = getenv("OQS_OID_X25519_HQC128"))) oqs_oid_alg_list[94] = envval; -if ((envval = getenv("OQS_OID_HQC192"))) oqs_oid_alg_list[96] = envval; - -if ((envval = getenv("OQS_OID_P384_HQC192"))) oqs_oid_alg_list[98] = envval; -if ((envval = getenv("OQS_OID_X448_HQC192"))) oqs_oid_alg_list[100] = envval; -if ((envval = getenv("OQS_OID_HQC256"))) oqs_oid_alg_list[102] = envval; - -if ((envval = getenv("OQS_OID_P521_HQC256"))) oqs_oid_alg_list[104] = envval; - -#define OQS_KEMOID_CNT 104+2 + if ((envval = getenv("OQS_OID_FRODO640AES"))) + oqs_oid_alg_list[0] = envval; + + if ((envval = getenv("OQS_OID_P256_FRODO640AES"))) + oqs_oid_alg_list[2] = envval; + if ((envval = getenv("OQS_OID_X25519_FRODO640AES"))) + oqs_oid_alg_list[4] = envval; + if ((envval = getenv("OQS_OID_FRODO640SHAKE"))) + oqs_oid_alg_list[6] = envval; + + if ((envval = getenv("OQS_OID_P256_FRODO640SHAKE"))) + oqs_oid_alg_list[8] = envval; + if ((envval = getenv("OQS_OID_X25519_FRODO640SHAKE"))) + oqs_oid_alg_list[10] = envval; + if ((envval = getenv("OQS_OID_FRODO976AES"))) + oqs_oid_alg_list[12] = envval; + + if ((envval = getenv("OQS_OID_P384_FRODO976AES"))) + oqs_oid_alg_list[14] = envval; + if ((envval = getenv("OQS_OID_X448_FRODO976AES"))) + oqs_oid_alg_list[16] = envval; + if ((envval = getenv("OQS_OID_FRODO976SHAKE"))) + oqs_oid_alg_list[18] = envval; + + if ((envval = getenv("OQS_OID_P384_FRODO976SHAKE"))) + oqs_oid_alg_list[20] = envval; + if ((envval = getenv("OQS_OID_X448_FRODO976SHAKE"))) + oqs_oid_alg_list[22] = envval; + if ((envval = getenv("OQS_OID_FRODO1344AES"))) + oqs_oid_alg_list[24] = envval; + + if ((envval = getenv("OQS_OID_P521_FRODO1344AES"))) + oqs_oid_alg_list[26] = envval; + if ((envval = getenv("OQS_OID_FRODO1344SHAKE"))) + oqs_oid_alg_list[28] = envval; + + if ((envval = getenv("OQS_OID_P521_FRODO1344SHAKE"))) + oqs_oid_alg_list[30] = envval; + if ((envval = getenv("OQS_OID_KYBER512"))) + oqs_oid_alg_list[32] = envval; + + if ((envval = getenv("OQS_OID_P256_KYBER512"))) + oqs_oid_alg_list[34] = envval; + if ((envval = getenv("OQS_OID_X25519_KYBER512"))) + oqs_oid_alg_list[36] = envval; + if ((envval = getenv("OQS_OID_KYBER768"))) + oqs_oid_alg_list[38] = envval; + + if ((envval = getenv("OQS_OID_P384_KYBER768"))) + oqs_oid_alg_list[40] = envval; + if ((envval = getenv("OQS_OID_X448_KYBER768"))) + oqs_oid_alg_list[42] = envval; + if ((envval = getenv("OQS_OID_X25519_KYBER768"))) + oqs_oid_alg_list[44] = envval; + if ((envval = getenv("OQS_OID_P256_KYBER768"))) + oqs_oid_alg_list[46] = envval; + if ((envval = getenv("OQS_OID_KYBER1024"))) + oqs_oid_alg_list[48] = envval; + + if ((envval = getenv("OQS_OID_P521_KYBER1024"))) + oqs_oid_alg_list[50] = envval; + if ((envval = getenv("OQS_OID_MLKEM512"))) + oqs_oid_alg_list[52] = envval; + + if ((envval = getenv("OQS_OID_P256_MLKEM512"))) + oqs_oid_alg_list[54] = envval; + if ((envval = getenv("OQS_OID_X25519_MLKEM512"))) + oqs_oid_alg_list[56] = envval; + if ((envval = getenv("OQS_OID_MLKEM768"))) + oqs_oid_alg_list[58] = envval; + + if ((envval = getenv("OQS_OID_P384_MLKEM768"))) + oqs_oid_alg_list[60] = envval; + if ((envval = getenv("OQS_OID_X448_MLKEM768"))) + oqs_oid_alg_list[62] = envval; + if ((envval = getenv("OQS_OID_X25519_MLKEM768"))) + oqs_oid_alg_list[64] = envval; + if ((envval = getenv("OQS_OID_P256_MLKEM768"))) + oqs_oid_alg_list[66] = envval; + if ((envval = getenv("OQS_OID_MLKEM1024"))) + oqs_oid_alg_list[68] = envval; + + if ((envval = getenv("OQS_OID_P521_MLKEM1024"))) + oqs_oid_alg_list[70] = envval; + if ((envval = getenv("OQS_OID_P384_MLKEM1024"))) + oqs_oid_alg_list[72] = envval; + if ((envval = getenv("OQS_OID_BIKEL1"))) + oqs_oid_alg_list[74] = envval; + + if ((envval = getenv("OQS_OID_P256_BIKEL1"))) + oqs_oid_alg_list[76] = envval; + if ((envval = getenv("OQS_OID_X25519_BIKEL1"))) + oqs_oid_alg_list[78] = envval; + if ((envval = getenv("OQS_OID_BIKEL3"))) + oqs_oid_alg_list[80] = envval; + + if ((envval = getenv("OQS_OID_P384_BIKEL3"))) + oqs_oid_alg_list[82] = envval; + if ((envval = getenv("OQS_OID_X448_BIKEL3"))) + oqs_oid_alg_list[84] = envval; + if ((envval = getenv("OQS_OID_BIKEL5"))) + oqs_oid_alg_list[86] = envval; + + if ((envval = getenv("OQS_OID_P521_BIKEL5"))) + oqs_oid_alg_list[88] = envval; + if ((envval = getenv("OQS_OID_HQC128"))) + oqs_oid_alg_list[90] = envval; + + if ((envval = getenv("OQS_OID_P256_HQC128"))) + oqs_oid_alg_list[92] = envval; + if ((envval = getenv("OQS_OID_X25519_HQC128"))) + oqs_oid_alg_list[94] = envval; + if ((envval = getenv("OQS_OID_HQC192"))) + oqs_oid_alg_list[96] = envval; + + if ((envval = getenv("OQS_OID_P384_HQC192"))) + oqs_oid_alg_list[98] = envval; + if ((envval = getenv("OQS_OID_X448_HQC192"))) + oqs_oid_alg_list[100] = envval; + if ((envval = getenv("OQS_OID_HQC256"))) + oqs_oid_alg_list[102] = envval; + + if ((envval = getenv("OQS_OID_P521_HQC256"))) + oqs_oid_alg_list[104] = envval; + +#define OQS_KEMOID_CNT 104 + 2 #else #define OQS_KEMOID_CNT 0 #endif /* OQS_KEM_ENCODERS */ - if ((envval = getenv("OQS_OID_DILITHIUM2"))) oqs_oid_alg_list[0+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_DILITHIUM2"))) oqs_oid_alg_list[2+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_RSA3072_DILITHIUM2"))) oqs_oid_alg_list[4+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_DILITHIUM3"))) oqs_oid_alg_list[6+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P384_DILITHIUM3"))) oqs_oid_alg_list[8+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_DILITHIUM5"))) oqs_oid_alg_list[10+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P521_DILITHIUM5"))) oqs_oid_alg_list[12+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA44"))) oqs_oid_alg_list[14+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_MLDSA44"))) oqs_oid_alg_list[16+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_RSA3072_MLDSA44"))) oqs_oid_alg_list[18+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA44_PSS2048"))) oqs_oid_alg_list[20+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA44_RSA2048"))) oqs_oid_alg_list[22+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA44_ED25519"))) oqs_oid_alg_list[24+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA44_P256"))) oqs_oid_alg_list[26+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA44_BP256"))) oqs_oid_alg_list[28+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA65"))) oqs_oid_alg_list[30+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P384_MLDSA65"))) oqs_oid_alg_list[32+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA65_PSS3072"))) oqs_oid_alg_list[34+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA65_RSA3072"))) oqs_oid_alg_list[36+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA65_P256"))) oqs_oid_alg_list[38+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA65_BP256"))) oqs_oid_alg_list[40+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA65_ED25519"))) oqs_oid_alg_list[42+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA87"))) oqs_oid_alg_list[44+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P521_MLDSA87"))) oqs_oid_alg_list[46+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA87_P384"))) oqs_oid_alg_list[48+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA87_BP384"))) oqs_oid_alg_list[50+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MLDSA87_ED448"))) oqs_oid_alg_list[52+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_FALCON512"))) oqs_oid_alg_list[54+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_FALCON512"))) oqs_oid_alg_list[56+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_RSA3072_FALCON512"))) oqs_oid_alg_list[58+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_FALCONPADDED512"))) oqs_oid_alg_list[60+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_FALCONPADDED512"))) oqs_oid_alg_list[62+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_RSA3072_FALCONPADDED512"))) oqs_oid_alg_list[64+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_FALCON1024"))) oqs_oid_alg_list[66+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P521_FALCON1024"))) oqs_oid_alg_list[68+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_FALCONPADDED1024"))) oqs_oid_alg_list[70+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P521_FALCONPADDED1024"))) oqs_oid_alg_list[72+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"))) oqs_oid_alg_list[74+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"))) oqs_oid_alg_list[76+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"))) oqs_oid_alg_list[78+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"))) oqs_oid_alg_list[80+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"))) oqs_oid_alg_list[82+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"))) oqs_oid_alg_list[84+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"))) oqs_oid_alg_list[86+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"))) oqs_oid_alg_list[88+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"))) oqs_oid_alg_list[90+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"))) oqs_oid_alg_list[92+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"))) oqs_oid_alg_list[94+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MAYO1"))) oqs_oid_alg_list[96+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_MAYO1"))) oqs_oid_alg_list[98+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MAYO2"))) oqs_oid_alg_list[100+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P256_MAYO2"))) oqs_oid_alg_list[102+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MAYO3"))) oqs_oid_alg_list[104+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P384_MAYO3"))) oqs_oid_alg_list[106+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_MAYO5"))) oqs_oid_alg_list[108+OQS_KEMOID_CNT] = envval; - if ((envval = getenv("OQS_OID_P521_MAYO5"))) oqs_oid_alg_list[110+OQS_KEMOID_CNT] = envval; -}///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END + if ((envval = getenv("OQS_OID_DILITHIUM2"))) + oqs_oid_alg_list[0 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_DILITHIUM2"))) + oqs_oid_alg_list[2 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_RSA3072_DILITHIUM2"))) + oqs_oid_alg_list[4 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_DILITHIUM3"))) + oqs_oid_alg_list[6 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P384_DILITHIUM3"))) + oqs_oid_alg_list[8 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_DILITHIUM5"))) + oqs_oid_alg_list[10 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P521_DILITHIUM5"))) + oqs_oid_alg_list[12 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA44"))) + oqs_oid_alg_list[14 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_MLDSA44"))) + oqs_oid_alg_list[16 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_RSA3072_MLDSA44"))) + oqs_oid_alg_list[18 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA44_PSS2048"))) + oqs_oid_alg_list[20 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA44_RSA2048"))) + oqs_oid_alg_list[22 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA44_ED25519"))) + oqs_oid_alg_list[24 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA44_P256"))) + oqs_oid_alg_list[26 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA44_BP256"))) + oqs_oid_alg_list[28 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA65"))) + oqs_oid_alg_list[30 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P384_MLDSA65"))) + oqs_oid_alg_list[32 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA65_PSS3072"))) + oqs_oid_alg_list[34 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA65_RSA3072"))) + oqs_oid_alg_list[36 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA65_P256"))) + oqs_oid_alg_list[38 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA65_BP256"))) + oqs_oid_alg_list[40 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA65_ED25519"))) + oqs_oid_alg_list[42 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA87"))) + oqs_oid_alg_list[44 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P521_MLDSA87"))) + oqs_oid_alg_list[46 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA87_P384"))) + oqs_oid_alg_list[48 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA87_BP384"))) + oqs_oid_alg_list[50 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MLDSA87_ED448"))) + oqs_oid_alg_list[52 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_FALCON512"))) + oqs_oid_alg_list[54 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_FALCON512"))) + oqs_oid_alg_list[56 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_RSA3072_FALCON512"))) + oqs_oid_alg_list[58 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_FALCONPADDED512"))) + oqs_oid_alg_list[60 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_FALCONPADDED512"))) + oqs_oid_alg_list[62 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_RSA3072_FALCONPADDED512"))) + oqs_oid_alg_list[64 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_FALCON1024"))) + oqs_oid_alg_list[66 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P521_FALCON1024"))) + oqs_oid_alg_list[68 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_FALCONPADDED1024"))) + oqs_oid_alg_list[70 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P521_FALCONPADDED1024"))) + oqs_oid_alg_list[72 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"))) + oqs_oid_alg_list[74 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"))) + oqs_oid_alg_list[76 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"))) + oqs_oid_alg_list[78 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"))) + oqs_oid_alg_list[80 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"))) + oqs_oid_alg_list[82 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"))) + oqs_oid_alg_list[84 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"))) + oqs_oid_alg_list[86 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"))) + oqs_oid_alg_list[88 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"))) + oqs_oid_alg_list[90 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"))) + oqs_oid_alg_list[92 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"))) + oqs_oid_alg_list[94 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MAYO1"))) + oqs_oid_alg_list[96 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_MAYO1"))) + oqs_oid_alg_list[98 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MAYO2"))) + oqs_oid_alg_list[100 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P256_MAYO2"))) + oqs_oid_alg_list[102 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MAYO3"))) + oqs_oid_alg_list[104 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P384_MAYO3"))) + oqs_oid_alg_list[106 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_MAYO5"))) + oqs_oid_alg_list[108 + OQS_KEMOID_CNT] = envval; + if ((envval = getenv("OQS_OID_P521_MAYO5"))) + oqs_oid_alg_list[110 + OQS_KEMOID_CNT] = envval; + } ///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END return 1; } @@ -453,7 +666,7 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { SIGALG("mayo5", 256, oqs_signature_functions), SIGALG("p521_mayo5", 256, oqs_signature_functions), #endif -///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END + ///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { @@ -548,8 +761,8 @@ static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { KEMBASEALG(hqc256, 256) KEMHYBALG(p521_hqc256, 256) #endif -// clang-format on -///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END + // clang-format on + ///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { @@ -756,8 +969,8 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { KEMKMHYBALG(p521_hqc256, 256, ecp) #endif -// clang-format on -///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END + // clang-format on + ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_encoder[] = { diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index cb64e93f..f3e3ea70 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -35,78 +35,78 @@ typedef struct oqs_group_constants_st { static OQS_GROUP_CONSTANTS oqs_group_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_START - { 0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0247, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0247, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F47, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB2, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0248, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F47, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB2, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0248, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F48, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB3, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB4, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB5, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0249, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F48, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB3, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB4, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB5, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0249, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F49, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F4A, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F49, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F4A, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0244, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0244, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F44, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB0, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0245, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F44, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB0, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0245, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F45, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB1, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0246, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F45, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB1, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0246, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F46, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, -///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END + {0x2F46, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END }; // Adds entries for tlsname, `ecx`_tlsname and `ecp`_tlsname @@ -142,13 +142,16 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(frodo640aes, frodo640aes, frodo640aes, 0), OQS_GROUP_ENTRY(p256_frodo640aes, p256_frodo640aes, p256_frodo640aes, 1), - OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, 2), + OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, + 2), #endif #ifdef OQS_ENABLE_KEM_frodokem_640_shake OQS_GROUP_ENTRY(frodo640shake, frodo640shake, frodo640shake, 3), - OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, 4), - OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, x25519_frodo640shake, 5), + OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, + 4), + OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, + x25519_frodo640shake, 5), #endif #ifdef OQS_ENABLE_KEM_frodokem_976_aes OQS_GROUP_ENTRY(frodo976aes, frodo976aes, frodo976aes, 6), @@ -159,18 +162,22 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { #ifdef OQS_ENABLE_KEM_frodokem_976_shake OQS_GROUP_ENTRY(frodo976shake, frodo976shake, frodo976shake, 9), - OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, 10), - OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, 11), + OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, + 10), + OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, + 11), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_aes OQS_GROUP_ENTRY(frodo1344aes, frodo1344aes, frodo1344aes, 12), - OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, 13), + OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, + 13), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_shake OQS_GROUP_ENTRY(frodo1344shake, frodo1344shake, frodo1344shake, 14), - OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, p521_frodo1344shake, 15), + OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, + p521_frodo1344shake, 15), #endif #ifdef OQS_ENABLE_KEM_kyber_512 OQS_GROUP_ENTRY(kyber512, kyber512, kyber512, 16), @@ -245,7 +252,7 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(p521_hqc256, p521_hqc256, p521_hqc256, 52), #endif -///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END + ///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END }; typedef struct oqs_sigalg_constants_st { @@ -258,178 +265,339 @@ typedef struct oqs_sigalg_constants_st { static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_START - { 0xfea0, 128, TLS1_3_VERSION, 0 }, - { 0xfea1, 128, TLS1_3_VERSION, 0 }, - { 0xfea2, 128, TLS1_3_VERSION, 0 }, - { 0xfea3, 192, TLS1_3_VERSION, 0 }, - { 0xfea4, 192, TLS1_3_VERSION, 0 }, - { 0xfea5, 256, TLS1_3_VERSION, 0 }, - { 0xfea6, 256, TLS1_3_VERSION, 0 }, - { 0xfed0, 128, TLS1_3_VERSION, 0 }, - { 0xfed3, 128, TLS1_3_VERSION, 0 }, - { 0xfed4, 128, TLS1_3_VERSION, 0 }, - { 0xfee1, 128, TLS1_3_VERSION, 0 }, - { 0xfee2, 128, TLS1_3_VERSION, 0 }, - { 0xfee3, 128, TLS1_3_VERSION, 0 }, - { 0xfee4, 128, TLS1_3_VERSION, 0 }, - { 0xfee5, 128, TLS1_3_VERSION, 0 }, - { 0xfed1, 192, TLS1_3_VERSION, 0 }, - { 0xfed5, 192, TLS1_3_VERSION, 0 }, - { 0xfee6, 192, TLS1_3_VERSION, 0 }, - { 0xfee7, 192, TLS1_3_VERSION, 0 }, - { 0xfee8, 192, TLS1_3_VERSION, 0 }, - { 0xfee9, 192, TLS1_3_VERSION, 0 }, - { 0xfeea, 192, TLS1_3_VERSION, 0 }, - { 0xfed2, 256, TLS1_3_VERSION, 0 }, - { 0xfed6, 256, TLS1_3_VERSION, 0 }, - { 0xfeeb, 256, TLS1_3_VERSION, 0 }, - { 0xfeec, 256, TLS1_3_VERSION, 0 }, - { 0xfeed, 256, TLS1_3_VERSION, 0 }, - { 0xfed7, 128, TLS1_3_VERSION, 0 }, - { 0xfed8, 128, TLS1_3_VERSION, 0 }, - { 0xfed9, 128, TLS1_3_VERSION, 0 }, - { 0xfedc, 128, TLS1_3_VERSION, 0 }, - { 0xfedd, 128, TLS1_3_VERSION, 0 }, - { 0xfede, 128, TLS1_3_VERSION, 0 }, - { 0xfeda, 256, TLS1_3_VERSION, 0 }, - { 0xfedb, 256, TLS1_3_VERSION, 0 }, - { 0xfedf, 256, TLS1_3_VERSION, 0 }, - { 0xfee0, 256, TLS1_3_VERSION, 0 }, - { 0xfeb3, 128, TLS1_3_VERSION, 0 }, - { 0xfeb4, 128, TLS1_3_VERSION, 0 }, - { 0xfeb5, 128, TLS1_3_VERSION, 0 }, - { 0xfeb6, 128, TLS1_3_VERSION, 0 }, - { 0xfeb7, 128, TLS1_3_VERSION, 0 }, - { 0xfeb8, 128, TLS1_3_VERSION, 0 }, - { 0xfeb9, 192, TLS1_3_VERSION, 0 }, - { 0xfeba, 192, TLS1_3_VERSION, 0 }, - { 0xfec2, 128, TLS1_3_VERSION, 0 }, - { 0xfec3, 128, TLS1_3_VERSION, 0 }, - { 0xfec4, 128, TLS1_3_VERSION, 0 }, - { 0xfeee, 128, TLS1_3_VERSION, 0 }, - { 0xfef2, 128, TLS1_3_VERSION, 0 }, - { 0xfeef, 128, TLS1_3_VERSION, 0 }, - { 0xfef3, 128, TLS1_3_VERSION, 0 }, - { 0xfef0, 192, TLS1_3_VERSION, 0 }, - { 0xfef4, 192, TLS1_3_VERSION, 0 }, - { 0xfef1, 256, TLS1_3_VERSION, 0 }, - { 0xfef5, 256, TLS1_3_VERSION, 0 }, -///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END + {0xfea0, 128, TLS1_3_VERSION, 0}, {0xfea1, 128, TLS1_3_VERSION, 0}, + {0xfea2, 128, TLS1_3_VERSION, 0}, {0xfea3, 192, TLS1_3_VERSION, 0}, + {0xfea4, 192, TLS1_3_VERSION, 0}, {0xfea5, 256, TLS1_3_VERSION, 0}, + {0xfea6, 256, TLS1_3_VERSION, 0}, {0xfed0, 128, TLS1_3_VERSION, 0}, + {0xfed3, 128, TLS1_3_VERSION, 0}, {0xfed4, 128, TLS1_3_VERSION, 0}, + {0xfee1, 128, TLS1_3_VERSION, 0}, {0xfee2, 128, TLS1_3_VERSION, 0}, + {0xfee3, 128, TLS1_3_VERSION, 0}, {0xfee4, 128, TLS1_3_VERSION, 0}, + {0xfee5, 128, TLS1_3_VERSION, 0}, {0xfed1, 192, TLS1_3_VERSION, 0}, + {0xfed5, 192, TLS1_3_VERSION, 0}, {0xfee6, 192, TLS1_3_VERSION, 0}, + {0xfee7, 192, TLS1_3_VERSION, 0}, {0xfee8, 192, TLS1_3_VERSION, 0}, + {0xfee9, 192, TLS1_3_VERSION, 0}, {0xfeea, 192, TLS1_3_VERSION, 0}, + {0xfed2, 256, TLS1_3_VERSION, 0}, {0xfed6, 256, TLS1_3_VERSION, 0}, + {0xfeeb, 256, TLS1_3_VERSION, 0}, {0xfeec, 256, TLS1_3_VERSION, 0}, + {0xfeed, 256, TLS1_3_VERSION, 0}, {0xfed7, 128, TLS1_3_VERSION, 0}, + {0xfed8, 128, TLS1_3_VERSION, 0}, {0xfed9, 128, TLS1_3_VERSION, 0}, + {0xfedc, 128, TLS1_3_VERSION, 0}, {0xfedd, 128, TLS1_3_VERSION, 0}, + {0xfede, 128, TLS1_3_VERSION, 0}, {0xfeda, 256, TLS1_3_VERSION, 0}, + {0xfedb, 256, TLS1_3_VERSION, 0}, {0xfedf, 256, TLS1_3_VERSION, 0}, + {0xfee0, 256, TLS1_3_VERSION, 0}, {0xfeb3, 128, TLS1_3_VERSION, 0}, + {0xfeb4, 128, TLS1_3_VERSION, 0}, {0xfeb5, 128, TLS1_3_VERSION, 0}, + {0xfeb6, 128, TLS1_3_VERSION, 0}, {0xfeb7, 128, TLS1_3_VERSION, 0}, + {0xfeb8, 128, TLS1_3_VERSION, 0}, {0xfeb9, 192, TLS1_3_VERSION, 0}, + {0xfeba, 192, TLS1_3_VERSION, 0}, {0xfec2, 128, TLS1_3_VERSION, 0}, + {0xfec3, 128, TLS1_3_VERSION, 0}, {0xfec4, 128, TLS1_3_VERSION, 0}, + {0xfeee, 128, TLS1_3_VERSION, 0}, {0xfef2, 128, TLS1_3_VERSION, 0}, + {0xfeef, 128, TLS1_3_VERSION, 0}, {0xfef3, 128, TLS1_3_VERSION, 0}, + {0xfef0, 192, TLS1_3_VERSION, 0}, {0xfef4, 192, TLS1_3_VERSION, 0}, + {0xfef1, 256, TLS1_3_VERSION, 0}, {0xfef5, 256, TLS1_3_VERSION, 0}, + ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END }; int oqs_patch_codepoints() { ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_START - if (getenv("OQS_CODEPOINT_FRODO640AES")) oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); - if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) oqs_group_list[1].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) oqs_group_list[2].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); - if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) oqs_group_list[3].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) oqs_group_list[4].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) oqs_group_list[5].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO976AES")) oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); - if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) oqs_group_list[7].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); - if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) oqs_group_list[8].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); - if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) oqs_group_list[9].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) oqs_group_list[10].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) oqs_group_list[11].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO1344AES")) oqs_group_list[12].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) oqs_group_list[13].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) oqs_group_list[14].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) oqs_group_list[15].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_KYBER512")) oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); - if (getenv("OQS_CODEPOINT_P256_KYBER512")) oqs_group_list[17].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); - if (getenv("OQS_CODEPOINT_X25519_KYBER512")) oqs_group_list[18].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); - if (getenv("OQS_CODEPOINT_KYBER768")) oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); - if (getenv("OQS_CODEPOINT_P384_KYBER768")) oqs_group_list[20].group_id = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); - if (getenv("OQS_CODEPOINT_X448_KYBER768")) oqs_group_list[21].group_id = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); - if (getenv("OQS_CODEPOINT_X25519_KYBER768")) oqs_group_list[22].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); - if (getenv("OQS_CODEPOINT_P256_KYBER768")) oqs_group_list[23].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); - if (getenv("OQS_CODEPOINT_KYBER1024")) oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); - if (getenv("OQS_CODEPOINT_P521_KYBER1024")) oqs_group_list[25].group_id = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); - if (getenv("OQS_CODEPOINT_MLKEM512")) oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_MLKEM512")); - if (getenv("OQS_CODEPOINT_P256_MLKEM512")) oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_MLKEM512")); - if (getenv("OQS_CODEPOINT_X25519_MLKEM512")) oqs_group_list[28].group_id = atoi(getenv("OQS_CODEPOINT_X25519_MLKEM512")); - if (getenv("OQS_CODEPOINT_MLKEM768")) oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_MLKEM768")); - if (getenv("OQS_CODEPOINT_P384_MLKEM768")) oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_MLKEM768")); - if (getenv("OQS_CODEPOINT_X448_MLKEM768")) oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_MLKEM768")); - if (getenv("OQS_CODEPOINT_X25519_MLKEM768")) oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_X25519_MLKEM768")); - if (getenv("OQS_CODEPOINT_P256_MLKEM768")) oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P256_MLKEM768")); - if (getenv("OQS_CODEPOINT_MLKEM1024")) oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_MLKEM1024")); - if (getenv("OQS_CODEPOINT_P521_MLKEM1024")) oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P521_MLKEM1024")); - if (getenv("OQS_CODEPOINT_P384_MLKEM1024")) oqs_group_list[36].group_id = atoi(getenv("OQS_CODEPOINT_P384_MLKEM1024")); - if (getenv("OQS_CODEPOINT_BIKEL1")) oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); - if (getenv("OQS_CODEPOINT_P256_BIKEL1")) oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); - if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); - if (getenv("OQS_CODEPOINT_BIKEL3")) oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); - if (getenv("OQS_CODEPOINT_P384_BIKEL3")) oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); - if (getenv("OQS_CODEPOINT_X448_BIKEL3")) oqs_group_list[42].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); - if (getenv("OQS_CODEPOINT_BIKEL5")) oqs_group_list[43].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); - if (getenv("OQS_CODEPOINT_P521_BIKEL5")) oqs_group_list[44].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); - if (getenv("OQS_CODEPOINT_HQC128")) oqs_group_list[45].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); - if (getenv("OQS_CODEPOINT_P256_HQC128")) oqs_group_list[46].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); - if (getenv("OQS_CODEPOINT_X25519_HQC128")) oqs_group_list[47].group_id = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); - if (getenv("OQS_CODEPOINT_HQC192")) oqs_group_list[48].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); - if (getenv("OQS_CODEPOINT_P384_HQC192")) oqs_group_list[49].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); - if (getenv("OQS_CODEPOINT_X448_HQC192")) oqs_group_list[50].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); - if (getenv("OQS_CODEPOINT_HQC256")) oqs_group_list[51].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); - if (getenv("OQS_CODEPOINT_P521_HQC256")) oqs_group_list[52].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); - - if (getenv("OQS_CODEPOINT_DILITHIUM2")) oqs_sigalg_list[0].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) oqs_sigalg_list[1].code_point = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) oqs_sigalg_list[2].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_DILITHIUM3")) oqs_sigalg_list[3].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) oqs_sigalg_list[4].code_point = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_DILITHIUM5")) oqs_sigalg_list[5].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) oqs_sigalg_list[6].code_point = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_MLDSA44")) oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA44")); - if (getenv("OQS_CODEPOINT_P256_MLDSA44")) oqs_sigalg_list[8].code_point = atoi(getenv("OQS_CODEPOINT_P256_MLDSA44")); - if (getenv("OQS_CODEPOINT_RSA3072_MLDSA44")) oqs_sigalg_list[9].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_MLDSA44")); - if (getenv("OQS_CODEPOINT_MLDSA44_PSS2048")) oqs_sigalg_list[10].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA44_PSS2048")); - if (getenv("OQS_CODEPOINT_MLDSA44_RSA2048")) oqs_sigalg_list[11].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA44_RSA2048")); - if (getenv("OQS_CODEPOINT_MLDSA44_ED25519")) oqs_sigalg_list[12].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA44_ED25519")); - if (getenv("OQS_CODEPOINT_MLDSA44_P256")) oqs_sigalg_list[13].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA44_P256")); - if (getenv("OQS_CODEPOINT_MLDSA44_BP256")) oqs_sigalg_list[14].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA44_BP256")); - if (getenv("OQS_CODEPOINT_MLDSA65")) oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA65")); - if (getenv("OQS_CODEPOINT_P384_MLDSA65")) oqs_sigalg_list[16].code_point = atoi(getenv("OQS_CODEPOINT_P384_MLDSA65")); - if (getenv("OQS_CODEPOINT_MLDSA65_PSS3072")) oqs_sigalg_list[17].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA65_PSS3072")); - if (getenv("OQS_CODEPOINT_MLDSA65_RSA3072")) oqs_sigalg_list[18].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA65_RSA3072")); - if (getenv("OQS_CODEPOINT_MLDSA65_P256")) oqs_sigalg_list[19].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA65_P256")); - if (getenv("OQS_CODEPOINT_MLDSA65_BP256")) oqs_sigalg_list[20].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA65_BP256")); - if (getenv("OQS_CODEPOINT_MLDSA65_ED25519")) oqs_sigalg_list[21].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA65_ED25519")); - if (getenv("OQS_CODEPOINT_MLDSA87")) oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA87")); - if (getenv("OQS_CODEPOINT_P521_MLDSA87")) oqs_sigalg_list[23].code_point = atoi(getenv("OQS_CODEPOINT_P521_MLDSA87")); - if (getenv("OQS_CODEPOINT_MLDSA87_P384")) oqs_sigalg_list[24].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA87_P384")); - if (getenv("OQS_CODEPOINT_MLDSA87_BP384")) oqs_sigalg_list[25].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA87_BP384")); - if (getenv("OQS_CODEPOINT_MLDSA87_ED448")) oqs_sigalg_list[26].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA87_ED448")); - if (getenv("OQS_CODEPOINT_FALCON512")) oqs_sigalg_list[27].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); - if (getenv("OQS_CODEPOINT_P256_FALCON512")) oqs_sigalg_list[28].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); - if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) oqs_sigalg_list[29].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); - if (getenv("OQS_CODEPOINT_FALCONPADDED512")) oqs_sigalg_list[30].code_point = atoi(getenv("OQS_CODEPOINT_FALCONPADDED512")); - if (getenv("OQS_CODEPOINT_P256_FALCONPADDED512")) oqs_sigalg_list[31].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCONPADDED512")); - if (getenv("OQS_CODEPOINT_RSA3072_FALCONPADDED512")) oqs_sigalg_list[32].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCONPADDED512")); - if (getenv("OQS_CODEPOINT_FALCON1024")) oqs_sigalg_list[33].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024")); - if (getenv("OQS_CODEPOINT_P521_FALCON1024")) oqs_sigalg_list[34].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); - if (getenv("OQS_CODEPOINT_FALCONPADDED1024")) oqs_sigalg_list[35].code_point = atoi(getenv("OQS_CODEPOINT_FALCONPADDED1024")); - if (getenv("OQS_CODEPOINT_P521_FALCONPADDED1024")) oqs_sigalg_list[36].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCONPADDED1024")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[37].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[38].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[39].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[40].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[41].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[42].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[43].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[44].code_point = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[45].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[46].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[47].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_MAYO1")) oqs_sigalg_list[48].code_point = atoi(getenv("OQS_CODEPOINT_MAYO1")); - if (getenv("OQS_CODEPOINT_P256_MAYO1")) oqs_sigalg_list[49].code_point = atoi(getenv("OQS_CODEPOINT_P256_MAYO1")); - if (getenv("OQS_CODEPOINT_MAYO2")) oqs_sigalg_list[50].code_point = atoi(getenv("OQS_CODEPOINT_MAYO2")); - if (getenv("OQS_CODEPOINT_P256_MAYO2")) oqs_sigalg_list[51].code_point = atoi(getenv("OQS_CODEPOINT_P256_MAYO2")); - if (getenv("OQS_CODEPOINT_MAYO3")) oqs_sigalg_list[52].code_point = atoi(getenv("OQS_CODEPOINT_MAYO3")); - if (getenv("OQS_CODEPOINT_P384_MAYO3")) oqs_sigalg_list[53].code_point = atoi(getenv("OQS_CODEPOINT_P384_MAYO3")); - if (getenv("OQS_CODEPOINT_MAYO5")) oqs_sigalg_list[54].code_point = atoi(getenv("OQS_CODEPOINT_MAYO5")); - if (getenv("OQS_CODEPOINT_P521_MAYO5")) oqs_sigalg_list[55].code_point = atoi(getenv("OQS_CODEPOINT_P521_MAYO5")); -///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END + if (getenv("OQS_CODEPOINT_FRODO640AES")) + oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); + if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) + oqs_group_list[1].group_id = + atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) + oqs_group_list[2].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); + if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) + oqs_group_list[3].group_id = + atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) + oqs_group_list[4].group_id = + atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) + oqs_group_list[5].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO976AES")) + oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); + if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) + oqs_group_list[7].group_id = + atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); + if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) + oqs_group_list[8].group_id = + atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); + if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) + oqs_group_list[9].group_id = + atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) + oqs_group_list[10].group_id = + atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) + oqs_group_list[11].group_id = + atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO1344AES")) + oqs_group_list[12].group_id = + atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) + oqs_group_list[13].group_id = + atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) + oqs_group_list[14].group_id = + atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) + oqs_group_list[15].group_id = + atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_KYBER512")) + oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); + if (getenv("OQS_CODEPOINT_P256_KYBER512")) + oqs_group_list[17].group_id = + atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); + if (getenv("OQS_CODEPOINT_X25519_KYBER512")) + oqs_group_list[18].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); + if (getenv("OQS_CODEPOINT_KYBER768")) + oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); + if (getenv("OQS_CODEPOINT_P384_KYBER768")) + oqs_group_list[20].group_id = + atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); + if (getenv("OQS_CODEPOINT_X448_KYBER768")) + oqs_group_list[21].group_id = + atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); + if (getenv("OQS_CODEPOINT_X25519_KYBER768")) + oqs_group_list[22].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); + if (getenv("OQS_CODEPOINT_P256_KYBER768")) + oqs_group_list[23].group_id = + atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); + if (getenv("OQS_CODEPOINT_KYBER1024")) + oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); + if (getenv("OQS_CODEPOINT_P521_KYBER1024")) + oqs_group_list[25].group_id = + atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); + if (getenv("OQS_CODEPOINT_MLKEM512")) + oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_MLKEM512")); + if (getenv("OQS_CODEPOINT_P256_MLKEM512")) + oqs_group_list[27].group_id = + atoi(getenv("OQS_CODEPOINT_P256_MLKEM512")); + if (getenv("OQS_CODEPOINT_X25519_MLKEM512")) + oqs_group_list[28].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_MLKEM512")); + if (getenv("OQS_CODEPOINT_MLKEM768")) + oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_MLKEM768")); + if (getenv("OQS_CODEPOINT_P384_MLKEM768")) + oqs_group_list[30].group_id = + atoi(getenv("OQS_CODEPOINT_P384_MLKEM768")); + if (getenv("OQS_CODEPOINT_X448_MLKEM768")) + oqs_group_list[31].group_id = + atoi(getenv("OQS_CODEPOINT_X448_MLKEM768")); + if (getenv("OQS_CODEPOINT_X25519_MLKEM768")) + oqs_group_list[32].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_MLKEM768")); + if (getenv("OQS_CODEPOINT_P256_MLKEM768")) + oqs_group_list[33].group_id = + atoi(getenv("OQS_CODEPOINT_P256_MLKEM768")); + if (getenv("OQS_CODEPOINT_MLKEM1024")) + oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_MLKEM1024")); + if (getenv("OQS_CODEPOINT_P521_MLKEM1024")) + oqs_group_list[35].group_id = + atoi(getenv("OQS_CODEPOINT_P521_MLKEM1024")); + if (getenv("OQS_CODEPOINT_P384_MLKEM1024")) + oqs_group_list[36].group_id = + atoi(getenv("OQS_CODEPOINT_P384_MLKEM1024")); + if (getenv("OQS_CODEPOINT_BIKEL1")) + oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); + if (getenv("OQS_CODEPOINT_P256_BIKEL1")) + oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); + if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) + oqs_group_list[39].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); + if (getenv("OQS_CODEPOINT_BIKEL3")) + oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); + if (getenv("OQS_CODEPOINT_P384_BIKEL3")) + oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); + if (getenv("OQS_CODEPOINT_X448_BIKEL3")) + oqs_group_list[42].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); + if (getenv("OQS_CODEPOINT_BIKEL5")) + oqs_group_list[43].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); + if (getenv("OQS_CODEPOINT_P521_BIKEL5")) + oqs_group_list[44].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); + if (getenv("OQS_CODEPOINT_HQC128")) + oqs_group_list[45].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); + if (getenv("OQS_CODEPOINT_P256_HQC128")) + oqs_group_list[46].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); + if (getenv("OQS_CODEPOINT_X25519_HQC128")) + oqs_group_list[47].group_id = + atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); + if (getenv("OQS_CODEPOINT_HQC192")) + oqs_group_list[48].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); + if (getenv("OQS_CODEPOINT_P384_HQC192")) + oqs_group_list[49].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); + if (getenv("OQS_CODEPOINT_X448_HQC192")) + oqs_group_list[50].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); + if (getenv("OQS_CODEPOINT_HQC256")) + oqs_group_list[51].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); + if (getenv("OQS_CODEPOINT_P521_HQC256")) + oqs_group_list[52].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); + + if (getenv("OQS_CODEPOINT_DILITHIUM2")) + oqs_sigalg_list[0].code_point = + atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) + oqs_sigalg_list[1].code_point = + atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) + oqs_sigalg_list[2].code_point = + atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_DILITHIUM3")) + oqs_sigalg_list[3].code_point = + atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) + oqs_sigalg_list[4].code_point = + atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_DILITHIUM5")) + oqs_sigalg_list[5].code_point = + atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) + oqs_sigalg_list[6].code_point = + atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_MLDSA44")) + oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA44")); + if (getenv("OQS_CODEPOINT_P256_MLDSA44")) + oqs_sigalg_list[8].code_point = + atoi(getenv("OQS_CODEPOINT_P256_MLDSA44")); + if (getenv("OQS_CODEPOINT_RSA3072_MLDSA44")) + oqs_sigalg_list[9].code_point = + atoi(getenv("OQS_CODEPOINT_RSA3072_MLDSA44")); + if (getenv("OQS_CODEPOINT_MLDSA44_PSS2048")) + oqs_sigalg_list[10].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA44_PSS2048")); + if (getenv("OQS_CODEPOINT_MLDSA44_RSA2048")) + oqs_sigalg_list[11].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA44_RSA2048")); + if (getenv("OQS_CODEPOINT_MLDSA44_ED25519")) + oqs_sigalg_list[12].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA44_ED25519")); + if (getenv("OQS_CODEPOINT_MLDSA44_P256")) + oqs_sigalg_list[13].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA44_P256")); + if (getenv("OQS_CODEPOINT_MLDSA44_BP256")) + oqs_sigalg_list[14].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA44_BP256")); + if (getenv("OQS_CODEPOINT_MLDSA65")) + oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA65")); + if (getenv("OQS_CODEPOINT_P384_MLDSA65")) + oqs_sigalg_list[16].code_point = + atoi(getenv("OQS_CODEPOINT_P384_MLDSA65")); + if (getenv("OQS_CODEPOINT_MLDSA65_PSS3072")) + oqs_sigalg_list[17].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA65_PSS3072")); + if (getenv("OQS_CODEPOINT_MLDSA65_RSA3072")) + oqs_sigalg_list[18].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA65_RSA3072")); + if (getenv("OQS_CODEPOINT_MLDSA65_P256")) + oqs_sigalg_list[19].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA65_P256")); + if (getenv("OQS_CODEPOINT_MLDSA65_BP256")) + oqs_sigalg_list[20].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA65_BP256")); + if (getenv("OQS_CODEPOINT_MLDSA65_ED25519")) + oqs_sigalg_list[21].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA65_ED25519")); + if (getenv("OQS_CODEPOINT_MLDSA87")) + oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_MLDSA87")); + if (getenv("OQS_CODEPOINT_P521_MLDSA87")) + oqs_sigalg_list[23].code_point = + atoi(getenv("OQS_CODEPOINT_P521_MLDSA87")); + if (getenv("OQS_CODEPOINT_MLDSA87_P384")) + oqs_sigalg_list[24].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA87_P384")); + if (getenv("OQS_CODEPOINT_MLDSA87_BP384")) + oqs_sigalg_list[25].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA87_BP384")); + if (getenv("OQS_CODEPOINT_MLDSA87_ED448")) + oqs_sigalg_list[26].code_point = + atoi(getenv("OQS_CODEPOINT_MLDSA87_ED448")); + if (getenv("OQS_CODEPOINT_FALCON512")) + oqs_sigalg_list[27].code_point = + atoi(getenv("OQS_CODEPOINT_FALCON512")); + if (getenv("OQS_CODEPOINT_P256_FALCON512")) + oqs_sigalg_list[28].code_point = + atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); + if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) + oqs_sigalg_list[29].code_point = + atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); + if (getenv("OQS_CODEPOINT_FALCONPADDED512")) + oqs_sigalg_list[30].code_point = + atoi(getenv("OQS_CODEPOINT_FALCONPADDED512")); + if (getenv("OQS_CODEPOINT_P256_FALCONPADDED512")) + oqs_sigalg_list[31].code_point = + atoi(getenv("OQS_CODEPOINT_P256_FALCONPADDED512")); + if (getenv("OQS_CODEPOINT_RSA3072_FALCONPADDED512")) + oqs_sigalg_list[32].code_point = + atoi(getenv("OQS_CODEPOINT_RSA3072_FALCONPADDED512")); + if (getenv("OQS_CODEPOINT_FALCON1024")) + oqs_sigalg_list[33].code_point = + atoi(getenv("OQS_CODEPOINT_FALCON1024")); + if (getenv("OQS_CODEPOINT_P521_FALCON1024")) + oqs_sigalg_list[34].code_point = + atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); + if (getenv("OQS_CODEPOINT_FALCONPADDED1024")) + oqs_sigalg_list[35].code_point = + atoi(getenv("OQS_CODEPOINT_FALCONPADDED1024")); + if (getenv("OQS_CODEPOINT_P521_FALCONPADDED1024")) + oqs_sigalg_list[36].code_point = + atoi(getenv("OQS_CODEPOINT_P521_FALCONPADDED1024")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[37].code_point = + atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[38].code_point = + atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[39].code_point = + atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[40].code_point = + atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[41].code_point = + atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[42].code_point = + atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) + oqs_sigalg_list[43].code_point = + atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) + oqs_sigalg_list[44].code_point = + atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[45].code_point = + atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[46].code_point = + atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[47].code_point = + atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_MAYO1")) + oqs_sigalg_list[48].code_point = atoi(getenv("OQS_CODEPOINT_MAYO1")); + if (getenv("OQS_CODEPOINT_P256_MAYO1")) + oqs_sigalg_list[49].code_point = + atoi(getenv("OQS_CODEPOINT_P256_MAYO1")); + if (getenv("OQS_CODEPOINT_MAYO2")) + oqs_sigalg_list[50].code_point = atoi(getenv("OQS_CODEPOINT_MAYO2")); + if (getenv("OQS_CODEPOINT_P256_MAYO2")) + oqs_sigalg_list[51].code_point = + atoi(getenv("OQS_CODEPOINT_P256_MAYO2")); + if (getenv("OQS_CODEPOINT_MAYO3")) + oqs_sigalg_list[52].code_point = atoi(getenv("OQS_CODEPOINT_MAYO3")); + if (getenv("OQS_CODEPOINT_P384_MAYO3")) + oqs_sigalg_list[53].code_point = + atoi(getenv("OQS_CODEPOINT_P384_MAYO3")); + if (getenv("OQS_CODEPOINT_MAYO5")) + oqs_sigalg_list[54].code_point = atoi(getenv("OQS_CODEPOINT_MAYO5")); + if (getenv("OQS_CODEPOINT_P521_MAYO5")) + oqs_sigalg_list[55].code_point = + atoi(getenv("OQS_CODEPOINT_P521_MAYO5")); + ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END return 1; } @@ -467,80 +635,126 @@ static int oqs_group_capability(OSSL_CALLBACK *cb, void *arg) { static const OSSL_PARAM oqs_param_sigalg_list[][12] = { ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_START #ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, "1.3.6.1.4.1.2.267.7.4.4", 0), - OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, "1.3.9999.2.7.1", 1), - OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, "1.3.9999.2.7.2", 2), + OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, + "1.3.6.1.4.1.2.267.7.4.4", 0), + OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, + "1.3.9999.2.7.1", 1), + OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, + "1.3.9999.2.7.2", 2), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, "1.3.6.1.4.1.2.267.7.6.5", 3), - OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, "1.3.9999.2.7.3", 4), + OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, + "1.3.6.1.4.1.2.267.7.6.5", 3), + OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, + "1.3.9999.2.7.3", 4), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, "1.3.6.1.4.1.2.267.7.8.7", 5), - OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, "1.3.9999.2.7.4", 6), + OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, + "1.3.6.1.4.1.2.267.7.8.7", 5), + OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, + "1.3.9999.2.7.4", 6), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_44 OQS_SIGALG_ENTRY(mldsa44, mldsa44, mldsa44, "1.3.6.1.4.1.2.267.12.4.4", 7), - OQS_SIGALG_ENTRY(p256_mldsa44, p256_mldsa44, p256_mldsa44, "1.3.9999.7.1", 8), - OQS_SIGALG_ENTRY(rsa3072_mldsa44, rsa3072_mldsa44, rsa3072_mldsa44, "1.3.9999.7.2", 9), - OQS_SIGALG_ENTRY(mldsa44_pss2048, mldsa44_pss2048, mldsa44_pss2048, "2.16.840.1.114027.80.8.1.1", 10), - OQS_SIGALG_ENTRY(mldsa44_rsa2048, mldsa44_rsa2048, mldsa44_rsa2048, "2.16.840.1.114027.80.8.1.2", 11), - OQS_SIGALG_ENTRY(mldsa44_ed25519, mldsa44_ed25519, mldsa44_ed25519, "2.16.840.1.114027.80.8.1.3", 12), - OQS_SIGALG_ENTRY(mldsa44_p256, mldsa44_p256, mldsa44_p256, "2.16.840.1.114027.80.8.1.4", 13), - OQS_SIGALG_ENTRY(mldsa44_bp256, mldsa44_bp256, mldsa44_bp256, "2.16.840.1.114027.80.8.1.5", 14), + OQS_SIGALG_ENTRY(p256_mldsa44, p256_mldsa44, p256_mldsa44, "1.3.9999.7.1", + 8), + OQS_SIGALG_ENTRY(rsa3072_mldsa44, rsa3072_mldsa44, rsa3072_mldsa44, + "1.3.9999.7.2", 9), + OQS_SIGALG_ENTRY(mldsa44_pss2048, mldsa44_pss2048, mldsa44_pss2048, + "2.16.840.1.114027.80.8.1.1", 10), + OQS_SIGALG_ENTRY(mldsa44_rsa2048, mldsa44_rsa2048, mldsa44_rsa2048, + "2.16.840.1.114027.80.8.1.2", 11), + OQS_SIGALG_ENTRY(mldsa44_ed25519, mldsa44_ed25519, mldsa44_ed25519, + "2.16.840.1.114027.80.8.1.3", 12), + OQS_SIGALG_ENTRY(mldsa44_p256, mldsa44_p256, mldsa44_p256, + "2.16.840.1.114027.80.8.1.4", 13), + OQS_SIGALG_ENTRY(mldsa44_bp256, mldsa44_bp256, mldsa44_bp256, + "2.16.840.1.114027.80.8.1.5", 14), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_65 OQS_SIGALG_ENTRY(mldsa65, mldsa65, mldsa65, "1.3.6.1.4.1.2.267.12.6.5", 15), - OQS_SIGALG_ENTRY(p384_mldsa65, p384_mldsa65, p384_mldsa65, "1.3.9999.7.3", 16), - OQS_SIGALG_ENTRY(mldsa65_pss3072, mldsa65_pss3072, mldsa65_pss3072, "2.16.840.1.114027.80.8.1.6", 17), - OQS_SIGALG_ENTRY(mldsa65_rsa3072, mldsa65_rsa3072, mldsa65_rsa3072, "2.16.840.1.114027.80.8.1.7", 18), - OQS_SIGALG_ENTRY(mldsa65_p256, mldsa65_p256, mldsa65_p256, "2.16.840.1.114027.80.8.1.8", 19), - OQS_SIGALG_ENTRY(mldsa65_bp256, mldsa65_bp256, mldsa65_bp256, "2.16.840.1.114027.80.8.1.9", 20), - OQS_SIGALG_ENTRY(mldsa65_ed25519, mldsa65_ed25519, mldsa65_ed25519, "2.16.840.1.114027.80.8.1.10", 21), + OQS_SIGALG_ENTRY(p384_mldsa65, p384_mldsa65, p384_mldsa65, "1.3.9999.7.3", + 16), + OQS_SIGALG_ENTRY(mldsa65_pss3072, mldsa65_pss3072, mldsa65_pss3072, + "2.16.840.1.114027.80.8.1.6", 17), + OQS_SIGALG_ENTRY(mldsa65_rsa3072, mldsa65_rsa3072, mldsa65_rsa3072, + "2.16.840.1.114027.80.8.1.7", 18), + OQS_SIGALG_ENTRY(mldsa65_p256, mldsa65_p256, mldsa65_p256, + "2.16.840.1.114027.80.8.1.8", 19), + OQS_SIGALG_ENTRY(mldsa65_bp256, mldsa65_bp256, mldsa65_bp256, + "2.16.840.1.114027.80.8.1.9", 20), + OQS_SIGALG_ENTRY(mldsa65_ed25519, mldsa65_ed25519, mldsa65_ed25519, + "2.16.840.1.114027.80.8.1.10", 21), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_87 OQS_SIGALG_ENTRY(mldsa87, mldsa87, mldsa87, "1.3.6.1.4.1.2.267.12.8.7", 22), - OQS_SIGALG_ENTRY(p521_mldsa87, p521_mldsa87, p521_mldsa87, "1.3.9999.7.4", 23), - OQS_SIGALG_ENTRY(mldsa87_p384, mldsa87_p384, mldsa87_p384, "2.16.840.1.114027.80.8.1.11", 24), - OQS_SIGALG_ENTRY(mldsa87_bp384, mldsa87_bp384, mldsa87_bp384, "2.16.840.1.114027.80.8.1.12", 25), - OQS_SIGALG_ENTRY(mldsa87_ed448, mldsa87_ed448, mldsa87_ed448, "2.16.840.1.114027.80.8.1.13", 26), + OQS_SIGALG_ENTRY(p521_mldsa87, p521_mldsa87, p521_mldsa87, "1.3.9999.7.4", + 23), + OQS_SIGALG_ENTRY(mldsa87_p384, mldsa87_p384, mldsa87_p384, + "2.16.840.1.114027.80.8.1.11", 24), + OQS_SIGALG_ENTRY(mldsa87_bp384, mldsa87_bp384, mldsa87_bp384, + "2.16.840.1.114027.80.8.1.12", 25), + OQS_SIGALG_ENTRY(mldsa87_ed448, mldsa87_ed448, mldsa87_ed448, + "2.16.840.1.114027.80.8.1.13", 26), #endif #ifdef OQS_ENABLE_SIG_falcon_512 OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.11", 27), - OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, "1.3.9999.3.12", 28), - OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, "1.3.9999.3.13", 29), + OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, + "1.3.9999.3.12", 28), + OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, + "1.3.9999.3.13", 29), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_512 - OQS_SIGALG_ENTRY(falconpadded512, falconpadded512, falconpadded512, "1.3.9999.3.16", 30), - OQS_SIGALG_ENTRY(p256_falconpadded512, p256_falconpadded512, p256_falconpadded512, "1.3.9999.3.17", 31), - OQS_SIGALG_ENTRY(rsa3072_falconpadded512, rsa3072_falconpadded512, rsa3072_falconpadded512, "1.3.9999.3.18", 32), + OQS_SIGALG_ENTRY(falconpadded512, falconpadded512, falconpadded512, + "1.3.9999.3.16", 30), + OQS_SIGALG_ENTRY(p256_falconpadded512, p256_falconpadded512, + p256_falconpadded512, "1.3.9999.3.17", 31), + OQS_SIGALG_ENTRY(rsa3072_falconpadded512, rsa3072_falconpadded512, + rsa3072_falconpadded512, "1.3.9999.3.18", 32), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.14", 33), - OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, "1.3.9999.3.15", 34), + OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, + "1.3.9999.3.15", 34), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_1024 - OQS_SIGALG_ENTRY(falconpadded1024, falconpadded1024, falconpadded1024, "1.3.9999.3.19", 35), - OQS_SIGALG_ENTRY(p521_falconpadded1024, p521_falconpadded1024, p521_falconpadded1024, "1.3.9999.3.20", 36), + OQS_SIGALG_ENTRY(falconpadded1024, falconpadded1024, falconpadded1024, + "1.3.9999.3.19", 35), + OQS_SIGALG_ENTRY(p521_falconpadded1024, p521_falconpadded1024, + p521_falconpadded1024, "1.3.9999.3.20", 36), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, sphincssha2128fsimple, "1.3.9999.6.4.13", 37), - OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 38), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 39), + OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, + sphincssha2128fsimple, "1.3.9999.6.4.13", 37), + OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, + p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 38), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, + rsa3072_sphincssha2128fsimple, + rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 39), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, sphincssha2128ssimple, "1.3.9999.6.4.16", 40), - OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 41), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 42), + OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, + sphincssha2128ssimple, "1.3.9999.6.4.16", 40), + OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, + p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 41), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, + rsa3072_sphincssha2128ssimple, + rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 42), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, sphincssha2192fsimple, "1.3.9999.6.5.10", 43), - OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 44), + OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, + sphincssha2192fsimple, "1.3.9999.6.5.10", 43), + OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, + p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 44), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, sphincsshake128fsimple, "1.3.9999.6.7.13", 45), - OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 46), - OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 47), + OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, + sphincsshake128fsimple, "1.3.9999.6.7.13", 45), + OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, + p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 46), + OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, + rsa3072_sphincsshake128fsimple, + rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 47), #endif #ifdef OQS_ENABLE_SIG_mayo_1 OQS_SIGALG_ENTRY(mayo1, mayo1, mayo1, "1.3.9999.8.1.1", 48), @@ -558,7 +772,7 @@ static const OSSL_PARAM oqs_param_sigalg_list[][12] = { OQS_SIGALG_ENTRY(mayo5, mayo5, mayo5, "1.3.9999.8.5.1", 54), OQS_SIGALG_ENTRY(p521_mayo5, p521_mayo5, p521_mayo5, "1.3.9999.8.5.2", 55), #endif -///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END + ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END }; static int oqs_sigalg_capability(OSSL_CALLBACK *cb, void *arg) { diff --git a/oqsprov/oqsprov_keys.c b/oqsprov/oqsprov_keys.c index c442d9ce..0f526abb 100644 --- a/oqsprov/oqsprov_keys.c +++ b/oqsprov/oqsprov_keys.c @@ -51,10 +51,6 @@ static int oqsx_key_recreate_classickey(OQSX_KEY *key, oqsx_key_op_t op); ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_START - - - - #ifdef OQS_KEM_ENCODERS #define NID_TABLE_LEN 109 #else @@ -64,118 +60,142 @@ static int oqsx_key_recreate_classickey(OQSX_KEY *key, oqsx_key_op_t op); static oqs_nid_name_t nid_names[NID_TABLE_LEN] = { #ifdef OQS_KEM_ENCODERS - { 0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128 }, - { 0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128 }, - { 0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192 }, - { 0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192 }, - { 0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256 }, - { 0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256 }, - { 0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128 }, - { 0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192 }, - { 0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256 }, - { 0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "mlkem512", OQS_KEM_alg_ml_kem_512, KEY_TYPE_KEM, 128 }, - { 0, "p256_mlkem512", OQS_KEM_alg_ml_kem_512, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_mlkem512", OQS_KEM_alg_ml_kem_512, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_KEM, 192 }, - { 0, "p384_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "x25519_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "p256_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_KEM, 256 }, - { 0, "p521_mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "p384_mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128 }, - { 0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192 }, - { 0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256 }, - { 0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128 }, - { 0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192 }, - { 0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256 }, - { 0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM , 256 }, + {0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128}, + {0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM, + 128}, + {0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, + KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128}, + {0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, + KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, + KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192}, + {0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM, + 192}, + {0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM, + 192}, + {0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192}, + {0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, + KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, + KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256}, + {0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, + KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256}, + {0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, + KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128}, + {0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192}, + {0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256}, + {0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "mlkem512", OQS_KEM_alg_ml_kem_512, KEY_TYPE_KEM, 128}, + {0, "p256_mlkem512", OQS_KEM_alg_ml_kem_512, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_mlkem512", OQS_KEM_alg_ml_kem_512, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_KEM, 192}, + {0, "p384_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "x25519_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "p256_mlkem768", OQS_KEM_alg_ml_kem_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_KEM, 256}, + {0, "p521_mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "p384_mlkem1024", OQS_KEM_alg_ml_kem_1024, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128}, + {0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192}, + {0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256}, + {0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128}, + {0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192}, + {0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256}, + {0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM, 256}, #endif /* OQS_KEM_ENCODERS */ - { 0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, - { 0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192 }, - { 0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256 }, - { 0, "mldsa44", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_SIG, 128 }, - { 0, "p256_mldsa44", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_mldsa44", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_HYB_SIG, 128 }, - { 0, "mldsa44_pss2048", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 112 }, - { 0, "mldsa44_rsa2048", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 112 }, - { 0, "mldsa44_ed25519", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 128 }, - { 0, "mldsa44_p256", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 128 }, - { 0, "mldsa44_bp256", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 256 }, - { 0, "mldsa65", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_SIG, 192 }, - { 0, "p384_mldsa65", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_HYB_SIG, 192 }, - { 0, "mldsa65_pss3072", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128 }, - { 0, "mldsa65_rsa3072", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128 }, - { 0, "mldsa65_p256", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128 }, - { 0, "mldsa65_bp256", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 256 }, - { 0, "mldsa65_ed25519", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128 }, - { 0, "mldsa87", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_SIG, 256 }, - { 0, "p521_mldsa87", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_HYB_SIG, 256 }, - { 0, "mldsa87_p384", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_CMP_SIG, 192 }, - { 0, "mldsa87_bp384", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_CMP_SIG, 384 }, - { 0, "mldsa87_ed448", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_CMP_SIG, 192 }, - { 0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "falconpadded512", OQS_SIG_alg_falcon_padded_512, KEY_TYPE_SIG, 128 }, - { 0, "p256_falconpadded512", OQS_SIG_alg_falcon_padded_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_falconpadded512", OQS_SIG_alg_falcon_padded_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256 }, - { 0, "falconpadded1024", OQS_SIG_alg_falcon_padded_1024, KEY_TYPE_SIG, 256 }, - { 0, "p521_falconpadded1024", OQS_SIG_alg_falcon_padded_1024, KEY_TYPE_HYB_SIG, 256 }, - { 0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_SIG, 192 }, - { 0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_HYB_SIG, 192 }, - { 0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "mayo1", OQS_SIG_alg_mayo_1, KEY_TYPE_SIG, 128 }, - { 0, "p256_mayo1", OQS_SIG_alg_mayo_1, KEY_TYPE_HYB_SIG, 128 }, - { 0, "mayo2", OQS_SIG_alg_mayo_2, KEY_TYPE_SIG, 128 }, - { 0, "p256_mayo2", OQS_SIG_alg_mayo_2, KEY_TYPE_HYB_SIG, 128 }, - { 0, "mayo3", OQS_SIG_alg_mayo_3, KEY_TYPE_SIG, 192 }, - { 0, "p384_mayo3", OQS_SIG_alg_mayo_3, KEY_TYPE_HYB_SIG, 192 }, - { 0, "mayo5", OQS_SIG_alg_mayo_5, KEY_TYPE_SIG, 256 }, - { 0, "p521_mayo5", OQS_SIG_alg_mayo_5, KEY_TYPE_HYB_SIG, 256 }, -///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END + {0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, + {0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192}, + {0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256}, + {0, "mldsa44", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_SIG, 128}, + {0, "p256_mldsa44", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_mldsa44", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_HYB_SIG, 128}, + {0, "mldsa44_pss2048", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 112}, + {0, "mldsa44_rsa2048", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 112}, + {0, "mldsa44_ed25519", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 128}, + {0, "mldsa44_p256", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 128}, + {0, "mldsa44_bp256", OQS_SIG_alg_ml_dsa_44, KEY_TYPE_CMP_SIG, 256}, + {0, "mldsa65", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_SIG, 192}, + {0, "p384_mldsa65", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_HYB_SIG, 192}, + {0, "mldsa65_pss3072", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128}, + {0, "mldsa65_rsa3072", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128}, + {0, "mldsa65_p256", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128}, + {0, "mldsa65_bp256", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 256}, + {0, "mldsa65_ed25519", OQS_SIG_alg_ml_dsa_65, KEY_TYPE_CMP_SIG, 128}, + {0, "mldsa87", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_SIG, 256}, + {0, "p521_mldsa87", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_HYB_SIG, 256}, + {0, "mldsa87_p384", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_CMP_SIG, 192}, + {0, "mldsa87_bp384", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_CMP_SIG, 384}, + {0, "mldsa87_ed448", OQS_SIG_alg_ml_dsa_87, KEY_TYPE_CMP_SIG, 192}, + {0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, + {0, "falconpadded512", OQS_SIG_alg_falcon_padded_512, KEY_TYPE_SIG, 128}, + {0, "p256_falconpadded512", OQS_SIG_alg_falcon_padded_512, KEY_TYPE_HYB_SIG, + 128}, + {0, "rsa3072_falconpadded512", OQS_SIG_alg_falcon_padded_512, + KEY_TYPE_HYB_SIG, 128}, + {0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256}, + {0, "falconpadded1024", OQS_SIG_alg_falcon_padded_1024, KEY_TYPE_SIG, 256}, + {0, "p521_falconpadded1024", OQS_SIG_alg_falcon_padded_1024, + KEY_TYPE_HYB_SIG, 256}, + {0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, + KEY_TYPE_SIG, 192}, + {0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, + KEY_TYPE_HYB_SIG, 192}, + {0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "mayo1", OQS_SIG_alg_mayo_1, KEY_TYPE_SIG, 128}, + {0, "p256_mayo1", OQS_SIG_alg_mayo_1, KEY_TYPE_HYB_SIG, 128}, + {0, "mayo2", OQS_SIG_alg_mayo_2, KEY_TYPE_SIG, 128}, + {0, "p256_mayo2", OQS_SIG_alg_mayo_2, KEY_TYPE_HYB_SIG, 128}, + {0, "mayo3", OQS_SIG_alg_mayo_3, KEY_TYPE_SIG, 192}, + {0, "p384_mayo3", OQS_SIG_alg_mayo_3, KEY_TYPE_HYB_SIG, 192}, + {0, "mayo5", OQS_SIG_alg_mayo_5, KEY_TYPE_SIG, 256}, + {0, "p521_mayo5", OQS_SIG_alg_mayo_5, KEY_TYPE_HYB_SIG, 256}, + ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END }; int oqs_set_nid(char *tlsname, int nid) { @@ -1233,6 +1253,19 @@ OQSX_KEY *oqsx_key_from_pkcs8(const PKCS8_PRIV_KEY_INFO *p8inf, key_diff = nids_sig[6].length_private_key - buflen; } + // removing extra OTECT STRING from ED25519 and ED448 keys + if ((keytype == EVP_PKEY_ED25519) || + (keytype == EVP_PKEY_ED448)) { + ASN1_OCTET_STRING *ed_octet; + ed_octet = d2i_ASN1_OCTET_STRING(&ed_octet, &buf, buflen); + aux += ed_octet->length; + memcpy(concat_key + plen - 1 - aux, ed_octet->data, + ed_octet->length); + nid = 1; // setting to non zero value so the key is not + // copied again + ASN1_OCTET_STRING_free(ed_octet); + } + if (!nid) { aux += buflen; memcpy(concat_key + plen - 1 - aux, buf, diff --git a/test/oqs_test_evp_pkey_params.c b/test/oqs_test_evp_pkey_params.c index ea8828f4..18ac883a 100644 --- a/test/oqs_test_evp_pkey_params.c +++ b/test/oqs_test_evp_pkey_params.c @@ -17,8 +17,32 @@ /** \brief List of hybrid signature algorithms. */ const char *kHybridSignatureAlgorithms[] = { -"p256_dilithium2","rsa3072_dilithium2","p384_dilithium3","p521_dilithium5","p256_mldsa44","rsa3072_mldsa44","p384_mldsa65","p521_mldsa87","p256_falcon512","rsa3072_falcon512","p256_falconpadded512","rsa3072_falconpadded512","p521_falcon1024","p521_falconpadded1024","p256_sphincssha2128fsimple","rsa3072_sphincssha2128fsimple","p256_sphincssha2128ssimple","rsa3072_sphincssha2128ssimple","p384_sphincssha2192fsimple","p256_sphincsshake128fsimple","rsa3072_sphincsshake128fsimple","p256_mayo1","p256_mayo2","p384_mayo3","p521_mayo5", -NULL, + "p256_dilithium2", + "rsa3072_dilithium2", + "p384_dilithium3", + "p521_dilithium5", + "p256_mldsa44", + "rsa3072_mldsa44", + "p384_mldsa65", + "p521_mldsa87", + "p256_falcon512", + "rsa3072_falcon512", + "p256_falconpadded512", + "rsa3072_falconpadded512", + "p521_falcon1024", + "p521_falconpadded1024", + "p256_sphincssha2128fsimple", + "rsa3072_sphincssha2128fsimple", + "p256_sphincssha2128ssimple", + "rsa3072_sphincssha2128ssimple", + "p384_sphincssha2192fsimple", + "p256_sphincsshake128fsimple", + "rsa3072_sphincsshake128fsimple", + "p256_mayo1", + "p256_mayo2", + "p384_mayo3", + "p521_mayo5", + NULL, }; ///// OQS_TEMPLATE_FRAGMENT_HYBRID_SIG_ALGS_END @@ -26,43 +50,19 @@ NULL, /** \brief List of hybrid KEMs. */ const char *kHybridKEMAlgorithms[] = { - "p256_frodo640aes", - "x25519_frodo640aes", - "p256_frodo640shake", - "x25519_frodo640shake", - "p384_frodo976aes", - "x448_frodo976aes", - "p384_frodo976shake", - "x448_frodo976shake", - "p521_frodo1344aes", - "p521_frodo1344shake", - "p256_kyber512", - "x25519_kyber512", - "p384_kyber768", - "x448_kyber768", - "x25519_kyber768", - "p256_kyber768", - "p521_kyber1024", - "p256_mlkem512", - "x25519_mlkem512", - "p384_mlkem768", - "x448_mlkem768", - "x25519_mlkem768", - "p256_mlkem768", - "p521_mlkem1024", - "p384_mlkem1024", - "p256_bikel1", - "x25519_bikel1", - "p384_bikel3", - "x448_bikel3", - "p521_bikel5", - "p256_hqc128", - "x25519_hqc128", - "p384_hqc192", - "x448_hqc192", - "p521_hqc256", -NULL, -};///// OQS_TEMPLATE_FRAGMENT_HYBRID_KEM_ALGS_END + "p256_frodo640aes", "x25519_frodo640aes", "p256_frodo640shake", + "x25519_frodo640shake", "p384_frodo976aes", "x448_frodo976aes", + "p384_frodo976shake", "x448_frodo976shake", "p521_frodo1344aes", + "p521_frodo1344shake", "p256_kyber512", "x25519_kyber512", + "p384_kyber768", "x448_kyber768", "x25519_kyber768", + "p256_kyber768", "p521_kyber1024", "p256_mlkem512", + "x25519_mlkem512", "p384_mlkem768", "x448_mlkem768", + "x25519_mlkem768", "p256_mlkem768", "p521_mlkem1024", + "p384_mlkem1024", "p256_bikel1", "x25519_bikel1", + "p384_bikel3", "x448_bikel3", "p521_bikel5", + "p256_hqc128", "x25519_hqc128", "p384_hqc192", + "x448_hqc192", "p521_hqc256", NULL, +}; ///// OQS_TEMPLATE_FRAGMENT_HYBRID_KEM_ALGS_END /** \brief Indicates if a string is in a given list of strings. *