From 1b8bdd99eba4d1acf4261a1003bc88f3b7ed512d Mon Sep 17 00:00:00 2001 From: Basil Hess Date: Wed, 13 Nov 2024 23:52:46 +0100 Subject: [PATCH 1/7] tracking fips204 Signed-off-by: Basil Hess --- ALGORITHMS.md | 28 +- oqs-template/generate.yml | 30 +- oqs-template/oqs-sig-info.md | 384 +++--- oqsprov/oqs_sig.c | 11 +- oqsprov/oqsdecoders.inc | 574 +++++---- oqsprov/oqsencoders.inc | 2033 +++++++++++++++++++------------- oqsprov/oqsprov.c | 14 +- oqsprov/oqsprov_capabilities.c | 24 +- scripts/fullbuild.sh | 2 +- 9 files changed, 1845 insertions(+), 1255 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index b7ef5929..0a161bfa 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -72,23 +72,23 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | p384_dilithium3 | 0xfea4 |Yes| OQS_CODEPOINT_P384_DILITHIUM3 | dilithium5 | 0xfea5 |Yes| OQS_CODEPOINT_DILITHIUM5 | p521_dilithium5 | 0xfea6 |Yes| OQS_CODEPOINT_P521_DILITHIUM5 -| mldsa44 | 0xfed0 |Yes| OQS_CODEPOINT_MLDSA44 -| p256_mldsa44 | 0xfed3 |Yes| OQS_CODEPOINT_P256_MLDSA44 -| rsa3072_mldsa44 | 0xfed4 |Yes| OQS_CODEPOINT_RSA3072_MLDSA44 +| mldsa44 | 0xff06 |Yes| OQS_CODEPOINT_MLDSA44 +| p256_mldsa44 | 0xff09 |Yes| OQS_CODEPOINT_P256_MLDSA44 +| rsa3072_mldsa44 | 0xff0a |Yes| OQS_CODEPOINT_RSA3072_MLDSA44 | mldsa44_pss2048 | 0xfee1 |Yes| OQS_CODEPOINT_MLDSA44_pss2048 | mldsa44_rsa2048 | 0xfee2 |Yes| OQS_CODEPOINT_MLDSA44_rsa2048 | mldsa44_ed25519 | 0xfee3 |Yes| OQS_CODEPOINT_MLDSA44_ed25519 | mldsa44_p256 | 0xfee4 |Yes| OQS_CODEPOINT_MLDSA44_p256 | mldsa44_bp256 | 0xfee5 |Yes| OQS_CODEPOINT_MLDSA44_bp256 -| mldsa65 | 0xfed1 |Yes| OQS_CODEPOINT_MLDSA65 -| p384_mldsa65 | 0xfed5 |Yes| OQS_CODEPOINT_P384_MLDSA65 +| mldsa65 | 0xff07 |Yes| OQS_CODEPOINT_MLDSA65 +| p384_mldsa65 | 0xff0b |Yes| OQS_CODEPOINT_P384_MLDSA65 | mldsa65_pss3072 | 0xfee6 |Yes| OQS_CODEPOINT_MLDSA65_pss3072 | mldsa65_rsa3072 | 0xfee7 |Yes| OQS_CODEPOINT_MLDSA65_rsa3072 | mldsa65_p256 | 0xfee8 |Yes| OQS_CODEPOINT_MLDSA65_p256 | mldsa65_bp256 | 0xfee9 |Yes| OQS_CODEPOINT_MLDSA65_bp256 | mldsa65_ed25519 | 0xfeea |Yes| OQS_CODEPOINT_MLDSA65_ed25519 -| mldsa87 | 0xfed2 |Yes| OQS_CODEPOINT_MLDSA87 -| p521_mldsa87 | 0xfed6 |Yes| OQS_CODEPOINT_P521_MLDSA87 +| mldsa87 | 0xff08 |Yes| OQS_CODEPOINT_MLDSA87 +| p521_mldsa87 | 0xff0c |Yes| OQS_CODEPOINT_P521_MLDSA87 | mldsa87_p384 | 0xfeeb |Yes| OQS_CODEPOINT_MLDSA87_p384 | mldsa87_bp384 | 0xfeec |Yes| OQS_CODEPOINT_MLDSA87_bp384 | mldsa87_ed448 | 0xfeed |Yes| OQS_CODEPOINT_MLDSA87_ed448 @@ -190,23 +190,23 @@ discussed in https://github.com/open-quantum-safe/oqs-provider/issues/351. | p384_dilithium3 | 1.3.9999.2.7.3 |Yes| OQS_OID_P384_DILITHIUM3 | dilithium5 | 1.3.6.1.4.1.2.267.7.8.7 |Yes| OQS_OID_DILITHIUM5 | p521_dilithium5 | 1.3.9999.2.7.4 |Yes| OQS_OID_P521_DILITHIUM5 -| mldsa44 | 1.3.6.1.4.1.2.267.12.4.4 |Yes| OQS_OID_MLDSA44 -| p256_mldsa44 | 1.3.9999.7.1 |Yes| OQS_OID_P256_MLDSA44 -| rsa3072_mldsa44 | 1.3.9999.7.2 |Yes| OQS_OID_RSA3072_MLDSA44 +| mldsa44 | 2.16.840.1.101.3.4.3.17 |Yes| OQS_OID_MLDSA44 +| p256_mldsa44 | 1.3.9999.7.5 |Yes| OQS_OID_P256_MLDSA44 +| rsa3072_mldsa44 | 1.3.9999.7.6 |Yes| OQS_OID_RSA3072_MLDSA44 | mldsa44_pss2048 | 2.16.840.1.114027.80.8.1.1 |Yes| OQS_OID_MLDSA44_pss2048 | mldsa44_rsa2048 | 2.16.840.1.114027.80.8.1.2 |Yes| OQS_OID_MLDSA44_rsa2048 | mldsa44_ed25519 | 2.16.840.1.114027.80.8.1.3 |Yes| OQS_OID_MLDSA44_ed25519 | mldsa44_p256 | 2.16.840.1.114027.80.8.1.4 |Yes| OQS_OID_MLDSA44_p256 | mldsa44_bp256 | 2.16.840.1.114027.80.8.1.5 |Yes| OQS_OID_MLDSA44_bp256 -| mldsa65 | 1.3.6.1.4.1.2.267.12.6.5 |Yes| OQS_OID_MLDSA65 -| p384_mldsa65 | 1.3.9999.7.3 |Yes| OQS_OID_P384_MLDSA65 +| mldsa65 | 2.16.840.1.101.3.4.3.18 |Yes| OQS_OID_MLDSA65 +| p384_mldsa65 | 1.3.9999.7.7 |Yes| OQS_OID_P384_MLDSA65 | mldsa65_pss3072 | 2.16.840.1.114027.80.8.1.6 |Yes| OQS_OID_MLDSA65_pss3072 | mldsa65_rsa3072 | 2.16.840.1.114027.80.8.1.7 |Yes| OQS_OID_MLDSA65_rsa3072 | mldsa65_p256 | 2.16.840.1.114027.80.8.1.8 |Yes| OQS_OID_MLDSA65_p256 | mldsa65_bp256 | 2.16.840.1.114027.80.8.1.9 |Yes| OQS_OID_MLDSA65_bp256 | mldsa65_ed25519 | 2.16.840.1.114027.80.8.1.10 |Yes| OQS_OID_MLDSA65_ed25519 -| mldsa87 | 1.3.6.1.4.1.2.267.12.8.7 |Yes| OQS_OID_MLDSA87 -| p521_mldsa87 | 1.3.9999.7.4 |Yes| OQS_OID_P521_MLDSA87 +| mldsa87 | 2.16.840.1.101.3.4.3.19 |Yes| OQS_OID_MLDSA87 +| p521_mldsa87 | 1.3.9999.7.8 |Yes| OQS_OID_P521_MLDSA87 | mldsa87_p384 | 2.16.840.1.114027.80.8.1.11 |Yes| OQS_OID_MLDSA87_p384 | mldsa87_bp384 | 2.16.840.1.114027.80.8.1.12 |Yes| OQS_OID_MLDSA87_bp384 | mldsa87_ed448 | 2.16.840.1.114027.80.8.1.13 |Yes| OQS_OID_MLDSA87_ed448 diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index 0f4bd1a9..901283e7 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -426,7 +426,7 @@ kem_nid_end: '0x0250' kem_nid_hybrid_end: '0x2FFF' # need to edit ssl_local.h macros IS_OQS_KEM_CURVEID and IS_OQS_KEM_HYBRID_CURVEID with the above _end values -# Next free signature ID: 0xff06 +# Next free signature ID: 0xff19 sigs: # - # iso (1) @@ -582,17 +582,17 @@ sigs: name: 'mldsa44' pretty_name: 'ML-DSA-44' oqs_meth: 'OQS_SIG_alg_ml_dsa_44' - oid: '1.3.6.1.4.1.2.267.12.4.4' - code_point: '0xfed0' + oid: '2.16.840.1.101.3.4.3.17' + code_point: '0xff06' enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', - 'oid': '1.3.9999.7.1', - 'code_point': '0xfed3'}, + 'oid': '1.3.9999.7.5', + 'code_point': '0xff09'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', - 'oid': '1.3.9999.7.2', - 'code_point': '0xfed4'}] + 'oid': '1.3.9999.7.6', + 'code_point': '0xff0a'}] composite: [{'name': 'pss2048', 'pretty_name': 'RSA PSS 2048', 'security': '112', @@ -622,13 +622,13 @@ sigs: name: 'mldsa65' pretty_name: 'ML-DSA-65' oqs_meth: 'OQS_SIG_alg_ml_dsa_65' - oid: '1.3.6.1.4.1.2.267.12.6.5' - code_point: '0xfed1' + oid: '2.16.840.1.101.3.4.3.18' + code_point: '0xff07' enable: true mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', - 'oid': '1.3.9999.7.3', - 'code_point': '0xfed5'}] + 'oid': '1.3.9999.7.7', + 'code_point': '0xff0b'}] composite: [{'name': 'pss3072', 'pretty_name': 'RSA PSS 3072', 'security': '128', @@ -658,13 +658,13 @@ sigs: name: 'mldsa87' pretty_name: 'ML-DSA-87' oqs_meth: 'OQS_SIG_alg_ml_dsa_87' - oid: '1.3.6.1.4.1.2.267.12.8.7' - code_point: '0xfed2' + oid: '2.16.840.1.101.3.4.3.19' + code_point: '0xff08' enable: true mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', - 'oid': '1.3.9999.7.4', - 'code_point': '0xfed6'}] + 'oid': '1.3.9999.7.8', + 'code_point': '0xff0c'}] composite: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'security': '192', diff --git a/oqs-template/oqs-sig-info.md b/oqs-template/oqs-sig-info.md index 787cf569..635a15f7 100644 --- a/oqs-template/oqs-sig-info.md +++ b/oqs-template/oqs-sig-info.md @@ -1,192 +1,192 @@ -| Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID | -|:--------------------------------------------------|:-------------------------------------------------|:-------------|---------------------:|:-------------|:----------------------------| -| CROSSrsdp128balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfef6 | 1.3.6.1.4.1.62245.2.1.1 | -| CROSSrsdp128fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfef7 | 1.3.6.1.4.1.62245.2.1.2 | -| CROSSrsdp128small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfef8 | 1.3.6.1.4.1.62245.2.1.3 | -| CROSSrsdp192balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xfef9 | 1.3.6.1.4.1.62245.2.1.4 | -| CROSSrsdp192fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xfefa | 1.3.6.1.4.1.62245.2.1.5 | -| CROSSrsdp192small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xfefb | 1.3.6.1.4.1.62245.2.1.6 | -| CROSSrsdp256small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xfefc | 1.3.6.1.4.1.62245.2.1.9 | -| CROSSrsdpg128balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfefd | 1.3.6.1.4.1.62245.2.1.10 | -| CROSSrsdpg128fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfefe | 1.3.6.1.4.1.62245.2.1.11 | -| CROSSrsdpg128small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfeff | 1.3.6.1.4.1.62245.2.1.12 | -| CROSSrsdpg192balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xff00 | 1.3.6.1.4.1.62245.2.1.13 | -| CROSSrsdpg192fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xff01 | 1.3.6.1.4.1.62245.2.1.14 | -| CROSSrsdpg192small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xff02 | 1.3.6.1.4.1.62245.2.1.15 | -| CROSSrsdpg256balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xff03 | 1.3.6.1.4.1.62245.2.1.16 | -| CROSSrsdpg256fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xff04 | 1.3.6.1.4.1.62245.2.1.17 | -| CROSSrsdpg256small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xff05 | 1.3.6.1.4.1.62245.2.1.18 | -| dilithium2 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.2.267.7.4.4 | -| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfea1 | 1.3.9999.2.7.1 | -| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfea2 | 1.3.9999.2.7.2 | -| dilithium3 | 3.1 | 3 | 3 | 0xfea3 | 1.3.6.1.4.1.2.267.7.6.5 | -| dilithium3 **hybrid with** p384 | 3.1 | 3 | 3 | 0xfea4 | 1.3.9999.2.7.3 | -| dilithium5 | 3.1 | 3 | 5 | 0xfea5 | 1.3.6.1.4.1.2.267.7.8.7 | -| dilithium5 **hybrid with** p521 | 3.1 | 3 | 5 | 0xfea6 | 1.3.9999.2.7.4 | -| dilithium2_aes | NIST Round 3 submission | 3 | 2 | 0xfea7 | 1.3.6.1.4.1.2.267.11.4.4 | -| dilithium2_aes **hybrid with** p256 | NIST Round 3 submission | 3 | 2 | 0xfea8 | 1.3.9999.2.11.1 | -| dilithium2_aes **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 2 | 0xfea9 | 1.3.9999.2.11.2 | -| dilithium3_aes | NIST Round 3 submission | 3 | 3 | 0xfeaa | 1.3.6.1.4.1.2.267.11.6.5 | -| dilithium3_aes **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfeab | 1.3.9999.2.11.3 | -| dilithium5_aes | NIST Round 3 submission | 3 | 5 | 0xfeac | 1.3.6.1.4.1.2.267.11.8.7 | -| dilithium5_aes **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfead | 1.3.9999.2.11.4 | -| falcon512 | 20211101 | 3 | 1 | 0xfed7 | 1.3.9999.3.11 | -| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfed8 | 1.3.9999.3.12 | -| falcon512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfed9 | 1.3.9999.3.13 | -| falcon512 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeae | 1.3.9999.3.6 | -| falcon512 **hybrid with** p256 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeaf | 1.3.9999.3.7 | -| falcon512 **hybrid with** rsa3072 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeb0 | 1.3.9999.3.8 | -| falcon512 | NIST Round 3 submission | 3 | 1 | 0xfe0b | 1.3.9999.3.1 | -| falcon512 **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe0c | 1.3.9999.3.2 | -| falcon512 **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe0d | 1.3.9999.3.3 | -| falconpadded512 | 20211101 | 3 | 1 | 0xfedc | 1.3.9999.3.16 | -| falconpadded512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfedd | 1.3.9999.3.17 | -| falconpadded512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfede | 1.3.9999.3.18 | -| falcon1024 | 20211101 | 3 | 5 | 0xfeda | 1.3.9999.3.14 | -| falcon1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfedb | 1.3.9999.3.15 | -| falcon1024 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb1 | 1.3.9999.3.9 | -| falcon1024 **hybrid with** p521 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb2 | 1.3.9999.3.10 | -| falcon1024 | NIST Round 3 submission | 3 | 5 | 0xfe0e | 1.3.9999.3.4 | -| falcon1024 **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe0f | 1.3.9999.3.5 | -| falconpadded1024 | 20211101 | 3 | 5 | 0xfedf | 1.3.9999.3.19 | -| falconpadded1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfee0 | 1.3.9999.3.20 | -| mayo1 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeee | 1.3.9999.8.1.1 | -| mayo1 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef2 | 1.3.9999.8.1.2 | -| mayo2 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeef | 1.3.9999.8.2.1 | -| mayo2 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef3 | 1.3.9999.8.2.2 | -| mayo3 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef0 | 1.3.9999.8.3.1 | -| mayo3 **hybrid with** p384 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef4 | 1.3.9999.8.3.2 | -| mayo5 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef1 | 1.3.9999.8.5.1 | -| mayo5 **hybrid with** p521 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef5 | 1.3.9999.8.5.2 | -| mldsa44 | ML-DSA | FIPS204 | 1 | 0xfed0 | 1.3.6.1.4.1.2.267.12.4.4 | -| mldsa44 **hybrid with** p256 | ML-DSA | FIPS204 | 1 | 0xfed3 | 1.3.9999.7.1 | -| mldsa44 **hybrid with** rsa3072 | ML-DSA | FIPS204 | 1 | 0xfed4 | 1.3.9999.7.2 | -| mldsa44 **composite with** pss2048 | ML-DSA | FIPS204 | 1 | 0xfee1 | 2.16.840.1.114027.80.8.1.1 | -| mldsa44 **composite with** rsa2048 | ML-DSA | FIPS204 | 1 | 0xfee2 | 2.16.840.1.114027.80.8.1.2 | -| mldsa44 **composite with** ed25519 | ML-DSA | FIPS204 | 1 | 0xfee3 | 2.16.840.1.114027.80.8.1.3 | -| mldsa44 **composite with** p256 | ML-DSA | FIPS204 | 1 | 0xfee4 | 2.16.840.1.114027.80.8.1.4 | -| mldsa44 **composite with** bp256 | ML-DSA | FIPS204 | 1 | 0xfee5 | 2.16.840.1.114027.80.8.1.5 | -| mldsa65 | ML-DSA | FIPS204 | 3 | 0xfed1 | 1.3.6.1.4.1.2.267.12.6.5 | -| mldsa65 **hybrid with** p384 | ML-DSA | FIPS204 | 3 | 0xfed5 | 1.3.9999.7.3 | -| mldsa65 **composite with** pss3072 | ML-DSA | FIPS204 | 3 | 0xfee6 | 2.16.840.1.114027.80.8.1.6 | -| mldsa65 **composite with** rsa3072 | ML-DSA | FIPS204 | 3 | 0xfee7 | 2.16.840.1.114027.80.8.1.7 | -| mldsa65 **composite with** p256 | ML-DSA | FIPS204 | 3 | 0xfee8 | 2.16.840.1.114027.80.8.1.8 | -| mldsa65 **composite with** bp256 | ML-DSA | FIPS204 | 3 | 0xfee9 | 2.16.840.1.114027.80.8.1.9 | -| mldsa65 **composite with** ed25519 | ML-DSA | FIPS204 | 3 | 0xfeea | 2.16.840.1.114027.80.8.1.10 | -| mldsa87 | ML-DSA | FIPS204 | 5 | 0xfed2 | 1.3.6.1.4.1.2.267.12.8.7 | -| mldsa87 **hybrid with** p521 | ML-DSA | FIPS204 | 5 | 0xfed6 | 1.3.9999.7.4 | -| mldsa87 **composite with** p384 | ML-DSA | FIPS204 | 5 | 0xfeeb | 2.16.840.1.114027.80.8.1.11 | -| mldsa87 **composite with** bp384 | ML-DSA | FIPS204 | 5 | 0xfeec | 2.16.840.1.114027.80.8.1.12 | -| mldsa87 **composite with** ed448 | ML-DSA | FIPS204 | 5 | 0xfeed | 2.16.840.1.114027.80.8.1.13 | -| sphincsharaka128frobust | NIST Round 3 submission | 3 | 1 | 0xfe42 | 1.3.9999.6.1.1 | -| sphincsharaka128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe43 | 1.3.9999.6.1.2 | -| sphincsharaka128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe44 | 1.3.9999.6.1.3 | -| sphincsharaka128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe45 | 1.3.9999.6.1.4 | -| sphincsharaka128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe46 | 1.3.9999.6.1.5 | -| sphincsharaka128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe47 | 1.3.9999.6.1.6 | -| sphincsharaka128srobust | NIST Round 3 submission | 3 | 1 | 0xfe48 | 1.3.9999.6.1.7 | -| sphincsharaka128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe49 | 1.3.9999.6.1.8 | -| sphincsharaka128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4a | 1.3.9999.6.1.9 | -| sphincsharaka128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe4b | 1.3.9999.6.1.10 | -| sphincsharaka128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe4c | 1.3.9999.6.1.11 | -| sphincsharaka128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4d | 1.3.9999.6.1.12 | -| sphincsharaka192frobust | NIST Round 3 submission | 3 | 3 | 0xfe4e | 1.3.9999.6.2.1 | -| sphincsharaka192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe4f | 1.3.9999.6.2.2 | -| sphincsharaka192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe50 | 1.3.9999.6.2.3 | -| sphincsharaka192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe51 | 1.3.9999.6.2.4 | -| sphincsharaka192srobust | NIST Round 3 submission | 3 | 3 | 0xfe52 | 1.3.9999.6.2.5 | -| sphincsharaka192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe53 | 1.3.9999.6.2.6 | -| sphincsharaka192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe54 | 1.3.9999.6.2.7 | -| sphincsharaka192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe55 | 1.3.9999.6.2.8 | -| sphincsharaka256frobust | NIST Round 3 submission | 3 | 3 | 0xfe56 | 1.3.9999.6.3.1 | -| sphincsharaka256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 3 | 0xfe57 | 1.3.9999.6.3.2 | -| sphincsharaka256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe58 | 1.3.9999.6.3.3 | -| sphincsharaka256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe59 | 1.3.9999.6.3.4 | -| sphincsharaka256srobust | NIST Round 3 submission | 3 | 5 | 0xfe5a | 1.3.9999.6.3.5 | -| sphincsharaka256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5b | 1.3.9999.6.3.6 | -| sphincsharaka256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe5c | 1.3.9999.6.3.7 | -| sphincsharaka256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5d | 1.3.9999.6.3.8 | -| sphincssha26128frobust | NIST Round 3 submission | 3 | 5 | 0xfe5e | 1.3.9999.6.4.1 | -| sphincssha26128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe5f | 1.3.9999.6.4.2 | -| sphincssha26128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe60 | 1.3.9999.6.4.3 | -| sphincssha2128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb3 | 1.3.9999.6.4.13 | -| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb4 | 1.3.9999.6.4.14 | -| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb5 | 1.3.9999.6.4.15 | -| sphincssha2128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe61 | 1.3.9999.6.4.4 | -| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe62 | 1.3.9999.6.4.5 | -| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe63 | 1.3.9999.6.4.6 | -| sphincssha256128srobust | NIST Round 3 submission | 3 | 5 | 0xfe64 | 1.3.9999.6.4.7 | -| sphincssha256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe65 | 1.3.9999.6.4.8 | -| sphincssha256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe66 | 1.3.9999.6.4.9 | -| sphincssha2128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb6 | 1.3.9999.6.4.16 | -| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb7 | 1.3.9999.6.4.17 | -| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb8 | 1.3.9999.6.4.18 | -| sphincssha2128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe67 | 1.3.9999.6.4.10 | -| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe68 | 1.3.9999.6.4.11 | -| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe69 | 1.3.9999.6.4.12 | -| sphincssha256192frobust | NIST Round 3 submission | 3 | 5 | 0xfe6a | 1.3.9999.6.5.1 | -| sphincssha256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6b | 1.3.9999.6.5.2 | -| sphincssha2192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeb9 | 1.3.9999.6.5.10 | -| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeba | 1.3.9999.6.5.11 | -| sphincssha2192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe6c | 1.3.9999.6.5.3 | -| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe6d | 1.3.9999.6.5.4 | -| sphincssha256192srobust | NIST Round 3 submission | 3 | 5 | 0xfe6e | 1.3.9999.6.5.5 | -| sphincssha256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6f | 1.3.9999.6.5.6 | -| sphincssha2192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebb | 1.3.9999.6.5.12 | -| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebc | 1.3.9999.6.5.13 | -| sphincssha2192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe70 | 1.3.9999.6.5.7 | -| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe71 | 1.3.9999.6.5.8 | -| sphincssha256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe72 | 1.3.9999.6.6.1 | -| sphincssha256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe73 | 1.3.9999.6.6.2 | -| sphincssha2256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebd | 1.3.9999.6.6.10 | -| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebe | 1.3.9999.6.6.11 | -| sphincssha2256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe74 | 1.3.9999.6.6.3 | -| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe75 | 1.3.9999.6.6.4 | -| sphincssha256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe76 | 1.3.9999.6.6.5 | -| sphincssha256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe77 | 1.3.9999.6.6.6 | -| sphincssha2256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec0 | 1.3.9999.6.6.12 | -| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec1 | 1.3.9999.6.6.13 | -| sphincssha2256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe78 | 1.3.9999.6.6.7 | -| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe79 | 1.3.9999.6.6.8 | -| sphincsshake256128frobust | NIST Round 3 submission | 3 | 1 | 0xfe7a | 1.3.9999.6.7.1 | -| sphincsshake256128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7b | 1.3.9999.6.7.2 | -| sphincsshake256128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7c | 1.3.9999.6.7.3 | -| sphincsshake128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec2 | 1.3.9999.6.7.13 | -| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec3 | 1.3.9999.6.7.14 | -| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec4 | 1.3.9999.6.7.15 | -| sphincsshake128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe7d | 1.3.9999.6.7.4 | -| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7e | 1.3.9999.6.7.5 | -| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7f | 1.3.9999.6.7.6 | -| sphincsshake256128srobust | NIST Round 3 submission | 3 | 1 | 0xfe80 | 1.3.9999.6.7.7 | -| sphincsshake256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe81 | 1.3.9999.6.7.8 | -| sphincsshake256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe82 | 1.3.9999.6.7.9 | -| sphincsshake128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec5 | 1.3.9999.6.7.16 | -| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec6 | 1.3.9999.6.7.17 | -| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec7 | 1.3.9999.6.7.18 | -| sphincsshake128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe83 | 1.3.9999.6.7.10 | -| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe84 | 1.3.9999.6.7.11 | -| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe85 | 1.3.9999.6.7.12 | -| sphincsshake256192frobust | NIST Round 3 submission | 3 | 3 | 0xfe86 | 1.3.9999.6.8.1 | -| sphincsshake256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe87 | 1.3.9999.6.8.2 | -| sphincsshake192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec8 | 1.3.9999.6.8.10 | -| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec9 | 1.3.9999.6.8.11 | -| sphincsshake192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe88 | 1.3.9999.6.8.3 | -| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe89 | 1.3.9999.6.8.4 | -| sphincsshake256192srobust | NIST Round 3 submission | 3 | 3 | 0xfe8a | 1.3.9999.6.8.5 | -| sphincsshake256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8b | 1.3.9999.6.8.6 | -| sphincsshake192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeca | 1.3.9999.6.8.12 | -| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfecb | 1.3.9999.6.8.13 | -| sphincsshake192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe8c | 1.3.9999.6.8.7 | -| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8d | 1.3.9999.6.8.8 | -| sphincsshake256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe8e | 1.3.9999.6.9.1 | -| sphincsshake256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe8f | 1.3.9999.6.9.2 | -| sphincsshake256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecc | 1.3.9999.6.9.10 | -| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecd | 1.3.9999.6.9.11 | -| sphincsshake256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe90 | 1.3.9999.6.9.3 | -| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe91 | 1.3.9999.6.9.4 | -| sphincsshake256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe92 | 1.3.9999.6.9.5 | -| sphincsshake256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe93 | 1.3.9999.6.9.6 | -| sphincsshake256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfece | 1.3.9999.6.9.12 | -| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecf | 1.3.9999.6.9.13 | -| sphincsshake256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe94 | 1.3.9999.6.9.7 | -| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe95 | 1.3.9999.6.9.8 | \ No newline at end of file +| Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID | +|:--------------------------------------------------|:------------------------------------------------|:-------------|---------------------:|:-------------|:----------------------------| +| CROSSrsdp128balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef6 | 1.3.6.1.4.1.62245.2.1.1 | +| CROSSrsdp128fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef7 | 1.3.6.1.4.1.62245.2.1.2 | +| CROSSrsdp128small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef8 | 1.3.6.1.4.1.62245.2.1.3 | +| CROSSrsdp192balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfef9 | 1.3.6.1.4.1.62245.2.1.4 | +| CROSSrsdp192fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfefa | 1.3.6.1.4.1.62245.2.1.5 | +| CROSSrsdp192small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfefb | 1.3.6.1.4.1.62245.2.1.6 | +| CROSSrsdp256small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xfefc | 1.3.6.1.4.1.62245.2.1.9 | +| CROSSrsdpg128balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfefd | 1.3.6.1.4.1.62245.2.1.10 | +| CROSSrsdpg128fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfefe | 1.3.6.1.4.1.62245.2.1.11 | +| CROSSrsdpg128small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfeff | 1.3.6.1.4.1.62245.2.1.12 | +| CROSSrsdpg192balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff00 | 1.3.6.1.4.1.62245.2.1.13 | +| CROSSrsdpg192fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff01 | 1.3.6.1.4.1.62245.2.1.14 | +| CROSSrsdpg192small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff02 | 1.3.6.1.4.1.62245.2.1.15 | +| CROSSrsdpg256balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff03 | 1.3.6.1.4.1.62245.2.1.16 | +| CROSSrsdpg256fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff04 | 1.3.6.1.4.1.62245.2.1.17 | +| CROSSrsdpg256small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff05 | 1.3.6.1.4.1.62245.2.1.18 | +| dilithium2 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.2.267.7.4.4 | +| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfea1 | 1.3.9999.2.7.1 | +| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfea2 | 1.3.9999.2.7.2 | +| dilithium3 | 3.1 | 3 | 3 | 0xfea3 | 1.3.6.1.4.1.2.267.7.6.5 | +| dilithium3 **hybrid with** p384 | 3.1 | 3 | 3 | 0xfea4 | 1.3.9999.2.7.3 | +| dilithium5 | 3.1 | 3 | 5 | 0xfea5 | 1.3.6.1.4.1.2.267.7.8.7 | +| dilithium5 **hybrid with** p521 | 3.1 | 3 | 5 | 0xfea6 | 1.3.9999.2.7.4 | +| dilithium2_aes | NIST Round 3 submission | 3 | 2 | 0xfea7 | 1.3.6.1.4.1.2.267.11.4.4 | +| dilithium2_aes **hybrid with** p256 | NIST Round 3 submission | 3 | 2 | 0xfea8 | 1.3.9999.2.11.1 | +| dilithium2_aes **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 2 | 0xfea9 | 1.3.9999.2.11.2 | +| dilithium3_aes | NIST Round 3 submission | 3 | 3 | 0xfeaa | 1.3.6.1.4.1.2.267.11.6.5 | +| dilithium3_aes **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfeab | 1.3.9999.2.11.3 | +| dilithium5_aes | NIST Round 3 submission | 3 | 5 | 0xfeac | 1.3.6.1.4.1.2.267.11.8.7 | +| dilithium5_aes **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfead | 1.3.9999.2.11.4 | +| falcon512 | 20211101 | 3 | 1 | 0xfed7 | 1.3.9999.3.11 | +| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfed8 | 1.3.9999.3.12 | +| falcon512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfed9 | 1.3.9999.3.13 | +| falcon512 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeae | 1.3.9999.3.6 | +| falcon512 **hybrid with** p256 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeaf | 1.3.9999.3.7 | +| falcon512 **hybrid with** rsa3072 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeb0 | 1.3.9999.3.8 | +| falcon512 | NIST Round 3 submission | 3 | 1 | 0xfe0b | 1.3.9999.3.1 | +| falcon512 **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe0c | 1.3.9999.3.2 | +| falcon512 **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe0d | 1.3.9999.3.3 | +| falconpadded512 | 20211101 | 3 | 1 | 0xfedc | 1.3.9999.3.16 | +| falconpadded512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfedd | 1.3.9999.3.17 | +| falconpadded512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfede | 1.3.9999.3.18 | +| falcon1024 | 20211101 | 3 | 5 | 0xfeda | 1.3.9999.3.14 | +| falcon1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfedb | 1.3.9999.3.15 | +| falcon1024 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb1 | 1.3.9999.3.9 | +| falcon1024 **hybrid with** p521 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb2 | 1.3.9999.3.10 | +| falcon1024 | NIST Round 3 submission | 3 | 5 | 0xfe0e | 1.3.9999.3.4 | +| falcon1024 **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe0f | 1.3.9999.3.5 | +| falconpadded1024 | 20211101 | 3 | 5 | 0xfedf | 1.3.9999.3.19 | +| falconpadded1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfee0 | 1.3.9999.3.20 | +| mayo1 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeee | 1.3.9999.8.1.1 | +| mayo1 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef2 | 1.3.9999.8.1.2 | +| mayo2 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeef | 1.3.9999.8.2.1 | +| mayo2 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef3 | 1.3.9999.8.2.2 | +| mayo3 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef0 | 1.3.9999.8.3.1 | +| mayo3 **hybrid with** p384 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef4 | 1.3.9999.8.3.2 | +| mayo5 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef1 | 1.3.9999.8.5.1 | +| mayo5 **hybrid with** p521 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef5 | 1.3.9999.8.5.2 | +| mldsa44 | ML-DSA | FIPS204 | 1 | 0xff06 | 2.16.840.1.101.3.4.3.17 | +| mldsa44 **hybrid with** p256 | ML-DSA | FIPS204 | 1 | 0xff09 | 1.3.9999.7.5 | +| mldsa44 **hybrid with** rsa3072 | ML-DSA | FIPS204 | 1 | 0xff0a | 1.3.9999.7.6 | +| mldsa44 **composite with** pss2048 | ML-DSA | FIPS204 | 1 | 0xfee1 | 2.16.840.1.114027.80.8.1.1 | +| mldsa44 **composite with** rsa2048 | ML-DSA | FIPS204 | 1 | 0xfee2 | 2.16.840.1.114027.80.8.1.2 | +| mldsa44 **composite with** ed25519 | ML-DSA | FIPS204 | 1 | 0xfee3 | 2.16.840.1.114027.80.8.1.3 | +| mldsa44 **composite with** p256 | ML-DSA | FIPS204 | 1 | 0xfee4 | 2.16.840.1.114027.80.8.1.4 | +| mldsa44 **composite with** bp256 | ML-DSA | FIPS204 | 1 | 0xfee5 | 2.16.840.1.114027.80.8.1.5 | +| mldsa65 | ML-DSA | FIPS204 | 3 | 0xff07 | 2.16.840.1.101.3.4.3.18 | +| mldsa65 **hybrid with** p384 | ML-DSA | FIPS204 | 3 | 0xff0b | 1.3.9999.7.7 | +| mldsa65 **composite with** pss3072 | ML-DSA | FIPS204 | 3 | 0xfee6 | 2.16.840.1.114027.80.8.1.6 | +| mldsa65 **composite with** rsa3072 | ML-DSA | FIPS204 | 3 | 0xfee7 | 2.16.840.1.114027.80.8.1.7 | +| mldsa65 **composite with** p256 | ML-DSA | FIPS204 | 3 | 0xfee8 | 2.16.840.1.114027.80.8.1.8 | +| mldsa65 **composite with** bp256 | ML-DSA | FIPS204 | 3 | 0xfee9 | 2.16.840.1.114027.80.8.1.9 | +| mldsa65 **composite with** ed25519 | ML-DSA | FIPS204 | 3 | 0xfeea | 2.16.840.1.114027.80.8.1.10 | +| mldsa87 | ML-DSA | FIPS204 | 5 | 0xff08 | 2.16.840.1.101.3.4.3.19 | +| mldsa87 **hybrid with** p521 | ML-DSA | FIPS204 | 5 | 0xff0c | 1.3.9999.7.8 | +| mldsa87 **composite with** p384 | ML-DSA | FIPS204 | 5 | 0xfeeb | 2.16.840.1.114027.80.8.1.11 | +| mldsa87 **composite with** bp384 | ML-DSA | FIPS204 | 5 | 0xfeec | 2.16.840.1.114027.80.8.1.12 | +| mldsa87 **composite with** ed448 | ML-DSA | FIPS204 | 5 | 0xfeed | 2.16.840.1.114027.80.8.1.13 | +| sphincsharaka128frobust | NIST Round 3 submission | 3 | 1 | 0xfe42 | 1.3.9999.6.1.1 | +| sphincsharaka128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe43 | 1.3.9999.6.1.2 | +| sphincsharaka128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe44 | 1.3.9999.6.1.3 | +| sphincsharaka128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe45 | 1.3.9999.6.1.4 | +| sphincsharaka128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe46 | 1.3.9999.6.1.5 | +| sphincsharaka128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe47 | 1.3.9999.6.1.6 | +| sphincsharaka128srobust | NIST Round 3 submission | 3 | 1 | 0xfe48 | 1.3.9999.6.1.7 | +| sphincsharaka128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe49 | 1.3.9999.6.1.8 | +| sphincsharaka128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4a | 1.3.9999.6.1.9 | +| sphincsharaka128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe4b | 1.3.9999.6.1.10 | +| sphincsharaka128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe4c | 1.3.9999.6.1.11 | +| sphincsharaka128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4d | 1.3.9999.6.1.12 | +| sphincsharaka192frobust | NIST Round 3 submission | 3 | 3 | 0xfe4e | 1.3.9999.6.2.1 | +| sphincsharaka192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe4f | 1.3.9999.6.2.2 | +| sphincsharaka192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe50 | 1.3.9999.6.2.3 | +| sphincsharaka192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe51 | 1.3.9999.6.2.4 | +| sphincsharaka192srobust | NIST Round 3 submission | 3 | 3 | 0xfe52 | 1.3.9999.6.2.5 | +| sphincsharaka192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe53 | 1.3.9999.6.2.6 | +| sphincsharaka192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe54 | 1.3.9999.6.2.7 | +| sphincsharaka192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe55 | 1.3.9999.6.2.8 | +| sphincsharaka256frobust | NIST Round 3 submission | 3 | 3 | 0xfe56 | 1.3.9999.6.3.1 | +| sphincsharaka256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 3 | 0xfe57 | 1.3.9999.6.3.2 | +| sphincsharaka256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe58 | 1.3.9999.6.3.3 | +| sphincsharaka256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe59 | 1.3.9999.6.3.4 | +| sphincsharaka256srobust | NIST Round 3 submission | 3 | 5 | 0xfe5a | 1.3.9999.6.3.5 | +| sphincsharaka256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5b | 1.3.9999.6.3.6 | +| sphincsharaka256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe5c | 1.3.9999.6.3.7 | +| sphincsharaka256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5d | 1.3.9999.6.3.8 | +| sphincssha26128frobust | NIST Round 3 submission | 3 | 5 | 0xfe5e | 1.3.9999.6.4.1 | +| sphincssha26128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe5f | 1.3.9999.6.4.2 | +| sphincssha26128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe60 | 1.3.9999.6.4.3 | +| sphincssha2128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb3 | 1.3.9999.6.4.13 | +| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb4 | 1.3.9999.6.4.14 | +| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb5 | 1.3.9999.6.4.15 | +| sphincssha2128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe61 | 1.3.9999.6.4.4 | +| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe62 | 1.3.9999.6.4.5 | +| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe63 | 1.3.9999.6.4.6 | +| sphincssha256128srobust | NIST Round 3 submission | 3 | 5 | 0xfe64 | 1.3.9999.6.4.7 | +| sphincssha256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe65 | 1.3.9999.6.4.8 | +| sphincssha256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe66 | 1.3.9999.6.4.9 | +| sphincssha2128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb6 | 1.3.9999.6.4.16 | +| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb7 | 1.3.9999.6.4.17 | +| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb8 | 1.3.9999.6.4.18 | +| sphincssha2128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe67 | 1.3.9999.6.4.10 | +| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe68 | 1.3.9999.6.4.11 | +| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe69 | 1.3.9999.6.4.12 | +| sphincssha256192frobust | NIST Round 3 submission | 3 | 5 | 0xfe6a | 1.3.9999.6.5.1 | +| sphincssha256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6b | 1.3.9999.6.5.2 | +| sphincssha2192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeb9 | 1.3.9999.6.5.10 | +| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeba | 1.3.9999.6.5.11 | +| sphincssha2192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe6c | 1.3.9999.6.5.3 | +| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe6d | 1.3.9999.6.5.4 | +| sphincssha256192srobust | NIST Round 3 submission | 3 | 5 | 0xfe6e | 1.3.9999.6.5.5 | +| sphincssha256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6f | 1.3.9999.6.5.6 | +| sphincssha2192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebb | 1.3.9999.6.5.12 | +| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebc | 1.3.9999.6.5.13 | +| sphincssha2192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe70 | 1.3.9999.6.5.7 | +| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe71 | 1.3.9999.6.5.8 | +| sphincssha256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe72 | 1.3.9999.6.6.1 | +| sphincssha256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe73 | 1.3.9999.6.6.2 | +| sphincssha2256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebd | 1.3.9999.6.6.10 | +| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebe | 1.3.9999.6.6.11 | +| sphincssha2256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe74 | 1.3.9999.6.6.3 | +| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe75 | 1.3.9999.6.6.4 | +| sphincssha256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe76 | 1.3.9999.6.6.5 | +| sphincssha256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe77 | 1.3.9999.6.6.6 | +| sphincssha2256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec0 | 1.3.9999.6.6.12 | +| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec1 | 1.3.9999.6.6.13 | +| sphincssha2256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe78 | 1.3.9999.6.6.7 | +| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe79 | 1.3.9999.6.6.8 | +| sphincsshake256128frobust | NIST Round 3 submission | 3 | 1 | 0xfe7a | 1.3.9999.6.7.1 | +| sphincsshake256128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7b | 1.3.9999.6.7.2 | +| sphincsshake256128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7c | 1.3.9999.6.7.3 | +| sphincsshake128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec2 | 1.3.9999.6.7.13 | +| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec3 | 1.3.9999.6.7.14 | +| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec4 | 1.3.9999.6.7.15 | +| sphincsshake128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe7d | 1.3.9999.6.7.4 | +| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7e | 1.3.9999.6.7.5 | +| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7f | 1.3.9999.6.7.6 | +| sphincsshake256128srobust | NIST Round 3 submission | 3 | 1 | 0xfe80 | 1.3.9999.6.7.7 | +| sphincsshake256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe81 | 1.3.9999.6.7.8 | +| sphincsshake256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe82 | 1.3.9999.6.7.9 | +| sphincsshake128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec5 | 1.3.9999.6.7.16 | +| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec6 | 1.3.9999.6.7.17 | +| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec7 | 1.3.9999.6.7.18 | +| sphincsshake128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe83 | 1.3.9999.6.7.10 | +| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe84 | 1.3.9999.6.7.11 | +| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe85 | 1.3.9999.6.7.12 | +| sphincsshake256192frobust | NIST Round 3 submission | 3 | 3 | 0xfe86 | 1.3.9999.6.8.1 | +| sphincsshake256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe87 | 1.3.9999.6.8.2 | +| sphincsshake192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec8 | 1.3.9999.6.8.10 | +| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec9 | 1.3.9999.6.8.11 | +| sphincsshake192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe88 | 1.3.9999.6.8.3 | +| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe89 | 1.3.9999.6.8.4 | +| sphincsshake256192srobust | NIST Round 3 submission | 3 | 3 | 0xfe8a | 1.3.9999.6.8.5 | +| sphincsshake256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8b | 1.3.9999.6.8.6 | +| sphincsshake192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeca | 1.3.9999.6.8.12 | +| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfecb | 1.3.9999.6.8.13 | +| sphincsshake192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe8c | 1.3.9999.6.8.7 | +| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8d | 1.3.9999.6.8.8 | +| sphincsshake256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe8e | 1.3.9999.6.9.1 | +| sphincsshake256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe8f | 1.3.9999.6.9.2 | +| sphincsshake256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecc | 1.3.9999.6.9.10 | +| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecd | 1.3.9999.6.9.11 | +| sphincsshake256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe90 | 1.3.9999.6.9.3 | +| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe91 | 1.3.9999.6.9.4 | +| sphincsshake256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe92 | 1.3.9999.6.9.5 | +| sphincsshake256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe93 | 1.3.9999.6.9.6 | +| sphincsshake256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfece | 1.3.9999.6.9.12 | +| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecf | 1.3.9999.6.9.13 | +| sphincsshake256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe94 | 1.3.9999.6.9.7 | +| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe95 | 1.3.9999.6.9.8 | diff --git a/oqsprov/oqs_sig.c b/oqsprov/oqs_sig.c index 91250642..98973ebf 100644 --- a/oqsprov/oqs_sig.c +++ b/oqsprov/oqs_sig.c @@ -519,6 +519,7 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, buf = OPENSSL_malloc(oqs_sig_len); if (OQS_SIG_sign(oqs_key, buf, &oqs_sig_len, (const unsigned char *)final_tbs, final_tbslen, + NULL, 0, oqsxkey->comp_privkey[i]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); CompositeSignature_free(compsig); @@ -667,6 +668,7 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, CompositeSignature_free(compsig); OPENSSL_free(final_tbs); } else if (OQS_SIG_sign(oqs_key, sig + index, &oqs_sig_len, tbs, tbslen, + NULL, 0, oqsxkey->comp_privkey[oqsxkey->numkeys - 1]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); @@ -879,7 +881,7 @@ static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, if (get_oqsname_fromtls(name)) { if (OQS_SIG_verify(oqs_key, (const unsigned char *)final_tbs, - final_tbslen, buf, buf_len, + final_tbslen, buf, buf_len, NULL, 0, oqsxkey->comp_pubkey[i]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); OPENSSL_free(name); @@ -994,9 +996,10 @@ static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); goto endverify; } - if (OQS_SIG_verify( - oqs_key, tbs, tbslen, sig + index, siglen - classical_sig_len, - oqsxkey->comp_pubkey[oqsxkey->numkeys - 1]) != OQS_SUCCESS) { + if (OQS_SIG_verify(oqs_key, tbs, tbslen, sig + index, + siglen - classical_sig_len, NULL, 0, + oqsxkey->comp_pubkey[oqsxkey->numkeys - 1]) != + OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); goto endverify; } diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index cd0403de..e94a0e51 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -36,247 +36,417 @@ ///// OQS_TEMPLATE_FRAGMENT_MAKE_START #ifdef OQS_KEM_ENCODERS -#ifdef OQS_ENABLE_KEM_frodokem_640_aes +# ifdef OQS_ENABLE_KEM_frodokem_640_aes DECODER_w_structure("frodo640aes", der, PrivateKeyInfo, frodo640aes), -DECODER_w_structure("frodo640aes", der, SubjectPublicKeyInfo, frodo640aes), -DECODER_w_structure("p256_frodo640aes", der, PrivateKeyInfo, p256_frodo640aes), -DECODER_w_structure("p256_frodo640aes", der, SubjectPublicKeyInfo, p256_frodo640aes),DECODER_w_structure("x25519_frodo640aes", der, PrivateKeyInfo, x25519_frodo640aes), -DECODER_w_structure("x25519_frodo640aes", der, SubjectPublicKeyInfo, x25519_frodo640aes), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_640_shake -DECODER_w_structure("frodo640shake", der, PrivateKeyInfo, frodo640shake), -DECODER_w_structure("frodo640shake", der, SubjectPublicKeyInfo, frodo640shake), -DECODER_w_structure("p256_frodo640shake", der, PrivateKeyInfo, p256_frodo640shake), -DECODER_w_structure("p256_frodo640shake", der, SubjectPublicKeyInfo, p256_frodo640shake),DECODER_w_structure("x25519_frodo640shake", der, PrivateKeyInfo, x25519_frodo640shake), -DECODER_w_structure("x25519_frodo640shake", der, SubjectPublicKeyInfo, x25519_frodo640shake), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_976_aes -DECODER_w_structure("frodo976aes", der, PrivateKeyInfo, frodo976aes), -DECODER_w_structure("frodo976aes", der, SubjectPublicKeyInfo, frodo976aes), -DECODER_w_structure("p384_frodo976aes", der, PrivateKeyInfo, p384_frodo976aes), -DECODER_w_structure("p384_frodo976aes", der, SubjectPublicKeyInfo, p384_frodo976aes),DECODER_w_structure("x448_frodo976aes", der, PrivateKeyInfo, x448_frodo976aes), -DECODER_w_structure("x448_frodo976aes", der, SubjectPublicKeyInfo, x448_frodo976aes), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_976_shake -DECODER_w_structure("frodo976shake", der, PrivateKeyInfo, frodo976shake), -DECODER_w_structure("frodo976shake", der, SubjectPublicKeyInfo, frodo976shake), -DECODER_w_structure("p384_frodo976shake", der, PrivateKeyInfo, p384_frodo976shake), -DECODER_w_structure("p384_frodo976shake", der, SubjectPublicKeyInfo, p384_frodo976shake),DECODER_w_structure("x448_frodo976shake", der, PrivateKeyInfo, x448_frodo976shake), -DECODER_w_structure("x448_frodo976shake", der, SubjectPublicKeyInfo, x448_frodo976shake), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_1344_aes -DECODER_w_structure("frodo1344aes", der, PrivateKeyInfo, frodo1344aes), -DECODER_w_structure("frodo1344aes", der, SubjectPublicKeyInfo, frodo1344aes), -DECODER_w_structure("p521_frodo1344aes", der, PrivateKeyInfo, p521_frodo1344aes), -DECODER_w_structure("p521_frodo1344aes", der, SubjectPublicKeyInfo, p521_frodo1344aes), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_1344_shake -DECODER_w_structure("frodo1344shake", der, PrivateKeyInfo, frodo1344shake), -DECODER_w_structure("frodo1344shake", der, SubjectPublicKeyInfo, frodo1344shake), -DECODER_w_structure("p521_frodo1344shake", der, PrivateKeyInfo, p521_frodo1344shake), -DECODER_w_structure("p521_frodo1344shake", der, SubjectPublicKeyInfo, p521_frodo1344shake), -#endif -#ifdef OQS_ENABLE_KEM_kyber_512 -DECODER_w_structure("kyber512", der, PrivateKeyInfo, kyber512), -DECODER_w_structure("kyber512", der, SubjectPublicKeyInfo, kyber512), -DECODER_w_structure("p256_kyber512", der, PrivateKeyInfo, p256_kyber512), -DECODER_w_structure("p256_kyber512", der, SubjectPublicKeyInfo, p256_kyber512),DECODER_w_structure("x25519_kyber512", der, PrivateKeyInfo, x25519_kyber512), -DECODER_w_structure("x25519_kyber512", der, SubjectPublicKeyInfo, x25519_kyber512), -#endif -#ifdef OQS_ENABLE_KEM_kyber_768 -DECODER_w_structure("kyber768", der, PrivateKeyInfo, kyber768), -DECODER_w_structure("kyber768", der, SubjectPublicKeyInfo, kyber768), -DECODER_w_structure("p384_kyber768", der, PrivateKeyInfo, p384_kyber768), -DECODER_w_structure("p384_kyber768", der, SubjectPublicKeyInfo, p384_kyber768),DECODER_w_structure("x448_kyber768", der, PrivateKeyInfo, x448_kyber768), -DECODER_w_structure("x448_kyber768", der, SubjectPublicKeyInfo, x448_kyber768),DECODER_w_structure("x25519_kyber768", der, PrivateKeyInfo, x25519_kyber768), -DECODER_w_structure("x25519_kyber768", der, SubjectPublicKeyInfo, x25519_kyber768),DECODER_w_structure("p256_kyber768", der, PrivateKeyInfo, p256_kyber768), -DECODER_w_structure("p256_kyber768", der, SubjectPublicKeyInfo, p256_kyber768), -#endif -#ifdef OQS_ENABLE_KEM_kyber_1024 -DECODER_w_structure("kyber1024", der, PrivateKeyInfo, kyber1024), -DECODER_w_structure("kyber1024", der, SubjectPublicKeyInfo, kyber1024), -DECODER_w_structure("p521_kyber1024", der, PrivateKeyInfo, p521_kyber1024), -DECODER_w_structure("p521_kyber1024", der, SubjectPublicKeyInfo, p521_kyber1024), -#endif -#ifdef OQS_ENABLE_KEM_ml_kem_512 -DECODER_w_structure("mlkem512", der, PrivateKeyInfo, mlkem512), -DECODER_w_structure("mlkem512", der, SubjectPublicKeyInfo, mlkem512), -DECODER_w_structure("p256_mlkem512", der, PrivateKeyInfo, p256_mlkem512), -DECODER_w_structure("p256_mlkem512", der, SubjectPublicKeyInfo, p256_mlkem512),DECODER_w_structure("x25519_mlkem512", der, PrivateKeyInfo, x25519_mlkem512), -DECODER_w_structure("x25519_mlkem512", der, SubjectPublicKeyInfo, x25519_mlkem512), -#endif -#ifdef OQS_ENABLE_KEM_ml_kem_768 -DECODER_w_structure("mlkem768", der, PrivateKeyInfo, mlkem768), -DECODER_w_structure("mlkem768", der, SubjectPublicKeyInfo, mlkem768), -DECODER_w_structure("p384_mlkem768", der, PrivateKeyInfo, p384_mlkem768), -DECODER_w_structure("p384_mlkem768", der, SubjectPublicKeyInfo, p384_mlkem768),DECODER_w_structure("x448_mlkem768", der, PrivateKeyInfo, x448_mlkem768), -DECODER_w_structure("x448_mlkem768", der, SubjectPublicKeyInfo, x448_mlkem768),DECODER_w_structure("X25519MLKEM768", der, PrivateKeyInfo, X25519MLKEM768), -DECODER_w_structure("X25519MLKEM768", der, SubjectPublicKeyInfo, X25519MLKEM768),DECODER_w_structure("SecP256r1MLKEM768", der, PrivateKeyInfo, SecP256r1MLKEM768), -DECODER_w_structure("SecP256r1MLKEM768", der, SubjectPublicKeyInfo, SecP256r1MLKEM768), -#endif -#ifdef OQS_ENABLE_KEM_ml_kem_1024 -DECODER_w_structure("mlkem1024", der, PrivateKeyInfo, mlkem1024), -DECODER_w_structure("mlkem1024", der, SubjectPublicKeyInfo, mlkem1024), -DECODER_w_structure("p521_mlkem1024", der, PrivateKeyInfo, p521_mlkem1024), -DECODER_w_structure("p521_mlkem1024", der, SubjectPublicKeyInfo, p521_mlkem1024),DECODER_w_structure("p384_mlkem1024", der, PrivateKeyInfo, p384_mlkem1024), -DECODER_w_structure("p384_mlkem1024", der, SubjectPublicKeyInfo, p384_mlkem1024), -#endif -#ifdef OQS_ENABLE_KEM_bike_l1 -DECODER_w_structure("bikel1", der, PrivateKeyInfo, bikel1), -DECODER_w_structure("bikel1", der, SubjectPublicKeyInfo, bikel1), -DECODER_w_structure("p256_bikel1", der, PrivateKeyInfo, p256_bikel1), -DECODER_w_structure("p256_bikel1", der, SubjectPublicKeyInfo, p256_bikel1),DECODER_w_structure("x25519_bikel1", der, PrivateKeyInfo, x25519_bikel1), -DECODER_w_structure("x25519_bikel1", der, SubjectPublicKeyInfo, x25519_bikel1), -#endif -#ifdef OQS_ENABLE_KEM_bike_l3 -DECODER_w_structure("bikel3", der, PrivateKeyInfo, bikel3), -DECODER_w_structure("bikel3", der, SubjectPublicKeyInfo, bikel3), -DECODER_w_structure("p384_bikel3", der, PrivateKeyInfo, p384_bikel3), -DECODER_w_structure("p384_bikel3", der, SubjectPublicKeyInfo, p384_bikel3),DECODER_w_structure("x448_bikel3", der, PrivateKeyInfo, x448_bikel3), -DECODER_w_structure("x448_bikel3", der, SubjectPublicKeyInfo, x448_bikel3), -#endif -#ifdef OQS_ENABLE_KEM_bike_l5 -DECODER_w_structure("bikel5", der, PrivateKeyInfo, bikel5), -DECODER_w_structure("bikel5", der, SubjectPublicKeyInfo, bikel5), -DECODER_w_structure("p521_bikel5", der, PrivateKeyInfo, p521_bikel5), -DECODER_w_structure("p521_bikel5", der, SubjectPublicKeyInfo, p521_bikel5), -#endif -#ifdef OQS_ENABLE_KEM_hqc_128 -DECODER_w_structure("hqc128", der, PrivateKeyInfo, hqc128), -DECODER_w_structure("hqc128", der, SubjectPublicKeyInfo, hqc128), -DECODER_w_structure("p256_hqc128", der, PrivateKeyInfo, p256_hqc128), -DECODER_w_structure("p256_hqc128", der, SubjectPublicKeyInfo, p256_hqc128),DECODER_w_structure("x25519_hqc128", der, PrivateKeyInfo, x25519_hqc128), -DECODER_w_structure("x25519_hqc128", der, SubjectPublicKeyInfo, x25519_hqc128), -#endif -#ifdef OQS_ENABLE_KEM_hqc_192 -DECODER_w_structure("hqc192", der, PrivateKeyInfo, hqc192), -DECODER_w_structure("hqc192", der, SubjectPublicKeyInfo, hqc192), -DECODER_w_structure("p384_hqc192", der, PrivateKeyInfo, p384_hqc192), -DECODER_w_structure("p384_hqc192", der, SubjectPublicKeyInfo, p384_hqc192),DECODER_w_structure("x448_hqc192", der, PrivateKeyInfo, x448_hqc192), -DECODER_w_structure("x448_hqc192", der, SubjectPublicKeyInfo, x448_hqc192), -#endif -#ifdef OQS_ENABLE_KEM_hqc_256 -DECODER_w_structure("hqc256", der, PrivateKeyInfo, hqc256), -DECODER_w_structure("hqc256", der, SubjectPublicKeyInfo, hqc256), -DECODER_w_structure("p521_hqc256", der, PrivateKeyInfo, p521_hqc256), -DECODER_w_structure("p521_hqc256", der, SubjectPublicKeyInfo, p521_hqc256), -#endif + DECODER_w_structure("frodo640aes", der, SubjectPublicKeyInfo, frodo640aes), + DECODER_w_structure("p256_frodo640aes", der, PrivateKeyInfo, + p256_frodo640aes), + DECODER_w_structure("p256_frodo640aes", der, SubjectPublicKeyInfo, + p256_frodo640aes), + DECODER_w_structure("x25519_frodo640aes", der, PrivateKeyInfo, + x25519_frodo640aes), + DECODER_w_structure("x25519_frodo640aes", der, SubjectPublicKeyInfo, + x25519_frodo640aes), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_640_shake + DECODER_w_structure("frodo640shake", der, PrivateKeyInfo, frodo640shake), + DECODER_w_structure("frodo640shake", der, SubjectPublicKeyInfo, + frodo640shake), + DECODER_w_structure("p256_frodo640shake", der, PrivateKeyInfo, + p256_frodo640shake), + DECODER_w_structure("p256_frodo640shake", der, SubjectPublicKeyInfo, + p256_frodo640shake), + DECODER_w_structure("x25519_frodo640shake", der, PrivateKeyInfo, + x25519_frodo640shake), + DECODER_w_structure("x25519_frodo640shake", der, SubjectPublicKeyInfo, + x25519_frodo640shake), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_976_aes + DECODER_w_structure("frodo976aes", der, PrivateKeyInfo, frodo976aes), + DECODER_w_structure("frodo976aes", der, SubjectPublicKeyInfo, frodo976aes), + DECODER_w_structure("p384_frodo976aes", der, PrivateKeyInfo, + p384_frodo976aes), + DECODER_w_structure("p384_frodo976aes", der, SubjectPublicKeyInfo, + p384_frodo976aes), + DECODER_w_structure("x448_frodo976aes", der, PrivateKeyInfo, + x448_frodo976aes), + DECODER_w_structure("x448_frodo976aes", der, SubjectPublicKeyInfo, + x448_frodo976aes), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_976_shake + DECODER_w_structure("frodo976shake", der, PrivateKeyInfo, frodo976shake), + DECODER_w_structure("frodo976shake", der, SubjectPublicKeyInfo, + frodo976shake), + DECODER_w_structure("p384_frodo976shake", der, PrivateKeyInfo, + p384_frodo976shake), + DECODER_w_structure("p384_frodo976shake", der, SubjectPublicKeyInfo, + p384_frodo976shake), + DECODER_w_structure("x448_frodo976shake", der, PrivateKeyInfo, + x448_frodo976shake), + DECODER_w_structure("x448_frodo976shake", der, SubjectPublicKeyInfo, + x448_frodo976shake), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_1344_aes + DECODER_w_structure("frodo1344aes", der, PrivateKeyInfo, frodo1344aes), + DECODER_w_structure("frodo1344aes", der, SubjectPublicKeyInfo, + frodo1344aes), + DECODER_w_structure("p521_frodo1344aes", der, PrivateKeyInfo, + p521_frodo1344aes), + DECODER_w_structure("p521_frodo1344aes", der, SubjectPublicKeyInfo, + p521_frodo1344aes), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_1344_shake + DECODER_w_structure("frodo1344shake", der, PrivateKeyInfo, frodo1344shake), + DECODER_w_structure("frodo1344shake", der, SubjectPublicKeyInfo, + frodo1344shake), + DECODER_w_structure("p521_frodo1344shake", der, PrivateKeyInfo, + p521_frodo1344shake), + DECODER_w_structure("p521_frodo1344shake", der, SubjectPublicKeyInfo, + p521_frodo1344shake), +# endif +# ifdef OQS_ENABLE_KEM_kyber_512 + DECODER_w_structure("kyber512", der, PrivateKeyInfo, kyber512), + DECODER_w_structure("kyber512", der, SubjectPublicKeyInfo, kyber512), + DECODER_w_structure("p256_kyber512", der, PrivateKeyInfo, p256_kyber512), + DECODER_w_structure("p256_kyber512", der, SubjectPublicKeyInfo, + p256_kyber512), + DECODER_w_structure("x25519_kyber512", der, PrivateKeyInfo, + x25519_kyber512), + DECODER_w_structure("x25519_kyber512", der, SubjectPublicKeyInfo, + x25519_kyber512), +# endif +# ifdef OQS_ENABLE_KEM_kyber_768 + DECODER_w_structure("kyber768", der, PrivateKeyInfo, kyber768), + DECODER_w_structure("kyber768", der, SubjectPublicKeyInfo, kyber768), + DECODER_w_structure("p384_kyber768", der, PrivateKeyInfo, p384_kyber768), + DECODER_w_structure("p384_kyber768", der, SubjectPublicKeyInfo, + p384_kyber768), + DECODER_w_structure("x448_kyber768", der, PrivateKeyInfo, x448_kyber768), + DECODER_w_structure("x448_kyber768", der, SubjectPublicKeyInfo, + x448_kyber768), + DECODER_w_structure("x25519_kyber768", der, PrivateKeyInfo, + x25519_kyber768), + DECODER_w_structure("x25519_kyber768", der, SubjectPublicKeyInfo, + x25519_kyber768), + DECODER_w_structure("p256_kyber768", der, PrivateKeyInfo, p256_kyber768), + DECODER_w_structure("p256_kyber768", der, SubjectPublicKeyInfo, + p256_kyber768), +# endif +# ifdef OQS_ENABLE_KEM_kyber_1024 + DECODER_w_structure("kyber1024", der, PrivateKeyInfo, kyber1024), + DECODER_w_structure("kyber1024", der, SubjectPublicKeyInfo, kyber1024), + DECODER_w_structure("p521_kyber1024", der, PrivateKeyInfo, p521_kyber1024), + DECODER_w_structure("p521_kyber1024", der, SubjectPublicKeyInfo, + p521_kyber1024), +# endif +# ifdef OQS_ENABLE_KEM_ml_kem_512 + DECODER_w_structure("mlkem512", der, PrivateKeyInfo, mlkem512), + DECODER_w_structure("mlkem512", der, SubjectPublicKeyInfo, mlkem512), + DECODER_w_structure("p256_mlkem512", der, PrivateKeyInfo, p256_mlkem512), + DECODER_w_structure("p256_mlkem512", der, SubjectPublicKeyInfo, + p256_mlkem512), + DECODER_w_structure("x25519_mlkem512", der, PrivateKeyInfo, + x25519_mlkem512), + DECODER_w_structure("x25519_mlkem512", der, SubjectPublicKeyInfo, + x25519_mlkem512), +# endif +# ifdef OQS_ENABLE_KEM_ml_kem_768 + DECODER_w_structure("mlkem768", der, PrivateKeyInfo, mlkem768), + DECODER_w_structure("mlkem768", der, SubjectPublicKeyInfo, mlkem768), + DECODER_w_structure("p384_mlkem768", der, PrivateKeyInfo, p384_mlkem768), + DECODER_w_structure("p384_mlkem768", der, SubjectPublicKeyInfo, + p384_mlkem768), + DECODER_w_structure("x448_mlkem768", der, PrivateKeyInfo, x448_mlkem768), + DECODER_w_structure("x448_mlkem768", der, SubjectPublicKeyInfo, + x448_mlkem768), + DECODER_w_structure("X25519MLKEM768", der, PrivateKeyInfo, X25519MLKEM768), + DECODER_w_structure("X25519MLKEM768", der, SubjectPublicKeyInfo, + X25519MLKEM768), + DECODER_w_structure("SecP256r1MLKEM768", der, PrivateKeyInfo, + SecP256r1MLKEM768), + DECODER_w_structure("SecP256r1MLKEM768", der, SubjectPublicKeyInfo, + SecP256r1MLKEM768), +# endif +# ifdef OQS_ENABLE_KEM_ml_kem_1024 + DECODER_w_structure("mlkem1024", der, PrivateKeyInfo, mlkem1024), + DECODER_w_structure("mlkem1024", der, SubjectPublicKeyInfo, mlkem1024), + DECODER_w_structure("p521_mlkem1024", der, PrivateKeyInfo, p521_mlkem1024), + DECODER_w_structure("p521_mlkem1024", der, SubjectPublicKeyInfo, + p521_mlkem1024), + DECODER_w_structure("p384_mlkem1024", der, PrivateKeyInfo, p384_mlkem1024), + DECODER_w_structure("p384_mlkem1024", der, SubjectPublicKeyInfo, + p384_mlkem1024), +# endif +# ifdef OQS_ENABLE_KEM_bike_l1 + DECODER_w_structure("bikel1", der, PrivateKeyInfo, bikel1), + DECODER_w_structure("bikel1", der, SubjectPublicKeyInfo, bikel1), + DECODER_w_structure("p256_bikel1", der, PrivateKeyInfo, p256_bikel1), + DECODER_w_structure("p256_bikel1", der, SubjectPublicKeyInfo, p256_bikel1), + DECODER_w_structure("x25519_bikel1", der, PrivateKeyInfo, x25519_bikel1), + DECODER_w_structure("x25519_bikel1", der, SubjectPublicKeyInfo, + x25519_bikel1), +# endif +# ifdef OQS_ENABLE_KEM_bike_l3 + DECODER_w_structure("bikel3", der, PrivateKeyInfo, bikel3), + DECODER_w_structure("bikel3", der, SubjectPublicKeyInfo, bikel3), + DECODER_w_structure("p384_bikel3", der, PrivateKeyInfo, p384_bikel3), + DECODER_w_structure("p384_bikel3", der, SubjectPublicKeyInfo, p384_bikel3), + DECODER_w_structure("x448_bikel3", der, PrivateKeyInfo, x448_bikel3), + DECODER_w_structure("x448_bikel3", der, SubjectPublicKeyInfo, x448_bikel3), +# endif +# ifdef OQS_ENABLE_KEM_bike_l5 + DECODER_w_structure("bikel5", der, PrivateKeyInfo, bikel5), + DECODER_w_structure("bikel5", der, SubjectPublicKeyInfo, bikel5), + DECODER_w_structure("p521_bikel5", der, PrivateKeyInfo, p521_bikel5), + DECODER_w_structure("p521_bikel5", der, SubjectPublicKeyInfo, p521_bikel5), +# endif +# ifdef OQS_ENABLE_KEM_hqc_128 + DECODER_w_structure("hqc128", der, PrivateKeyInfo, hqc128), + DECODER_w_structure("hqc128", der, SubjectPublicKeyInfo, hqc128), + DECODER_w_structure("p256_hqc128", der, PrivateKeyInfo, p256_hqc128), + DECODER_w_structure("p256_hqc128", der, SubjectPublicKeyInfo, p256_hqc128), + DECODER_w_structure("x25519_hqc128", der, PrivateKeyInfo, x25519_hqc128), + DECODER_w_structure("x25519_hqc128", der, SubjectPublicKeyInfo, + x25519_hqc128), +# endif +# ifdef OQS_ENABLE_KEM_hqc_192 + DECODER_w_structure("hqc192", der, PrivateKeyInfo, hqc192), + DECODER_w_structure("hqc192", der, SubjectPublicKeyInfo, hqc192), + DECODER_w_structure("p384_hqc192", der, PrivateKeyInfo, p384_hqc192), + DECODER_w_structure("p384_hqc192", der, SubjectPublicKeyInfo, p384_hqc192), + DECODER_w_structure("x448_hqc192", der, PrivateKeyInfo, x448_hqc192), + DECODER_w_structure("x448_hqc192", der, SubjectPublicKeyInfo, x448_hqc192), +# endif +# ifdef OQS_ENABLE_KEM_hqc_256 + DECODER_w_structure("hqc256", der, PrivateKeyInfo, hqc256), + DECODER_w_structure("hqc256", der, SubjectPublicKeyInfo, hqc256), + DECODER_w_structure("p521_hqc256", der, PrivateKeyInfo, p521_hqc256), + DECODER_w_structure("p521_hqc256", der, SubjectPublicKeyInfo, p521_hqc256), +# endif #endif /* OQS_KEM_ENCODERS */ - #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2", der, PrivateKeyInfo, dilithium2), -DECODER_w_structure("dilithium2", der, SubjectPublicKeyInfo, dilithium2),DECODER_w_structure("p256_dilithium2", der, PrivateKeyInfo, p256_dilithium2), -DECODER_w_structure("p256_dilithium2", der, SubjectPublicKeyInfo, p256_dilithium2),DECODER_w_structure("rsa3072_dilithium2", der, PrivateKeyInfo, rsa3072_dilithium2), -DECODER_w_structure("rsa3072_dilithium2", der, SubjectPublicKeyInfo, rsa3072_dilithium2), + DECODER_w_structure("dilithium2", der, PrivateKeyInfo, dilithium2), + DECODER_w_structure("dilithium2", der, SubjectPublicKeyInfo, dilithium2), + DECODER_w_structure("p256_dilithium2", der, PrivateKeyInfo, + p256_dilithium2), + DECODER_w_structure("p256_dilithium2", der, SubjectPublicKeyInfo, + p256_dilithium2), + DECODER_w_structure("rsa3072_dilithium2", der, PrivateKeyInfo, + rsa3072_dilithium2), + DECODER_w_structure("rsa3072_dilithium2", der, SubjectPublicKeyInfo, + rsa3072_dilithium2), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3", der, PrivateKeyInfo, dilithium3), -DECODER_w_structure("dilithium3", der, SubjectPublicKeyInfo, dilithium3),DECODER_w_structure("p384_dilithium3", der, PrivateKeyInfo, p384_dilithium3), -DECODER_w_structure("p384_dilithium3", der, SubjectPublicKeyInfo, p384_dilithium3), + DECODER_w_structure("dilithium3", der, PrivateKeyInfo, dilithium3), + DECODER_w_structure("dilithium3", der, SubjectPublicKeyInfo, dilithium3), + DECODER_w_structure("p384_dilithium3", der, PrivateKeyInfo, + p384_dilithium3), + DECODER_w_structure("p384_dilithium3", der, SubjectPublicKeyInfo, + p384_dilithium3), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5", der, PrivateKeyInfo, dilithium5), -DECODER_w_structure("dilithium5", der, SubjectPublicKeyInfo, dilithium5),DECODER_w_structure("p521_dilithium5", der, PrivateKeyInfo, p521_dilithium5), -DECODER_w_structure("p521_dilithium5", der, SubjectPublicKeyInfo, p521_dilithium5), + DECODER_w_structure("dilithium5", der, PrivateKeyInfo, dilithium5), + DECODER_w_structure("dilithium5", der, SubjectPublicKeyInfo, dilithium5), + DECODER_w_structure("p521_dilithium5", der, PrivateKeyInfo, + p521_dilithium5), + DECODER_w_structure("p521_dilithium5", der, SubjectPublicKeyInfo, + p521_dilithium5), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_44 -DECODER_w_structure("mldsa44", der, PrivateKeyInfo, mldsa44), -DECODER_w_structure("mldsa44", der, SubjectPublicKeyInfo, mldsa44),DECODER_w_structure("p256_mldsa44", der, PrivateKeyInfo, p256_mldsa44), -DECODER_w_structure("p256_mldsa44", der, SubjectPublicKeyInfo, p256_mldsa44),DECODER_w_structure("rsa3072_mldsa44", der, PrivateKeyInfo, rsa3072_mldsa44), -DECODER_w_structure("rsa3072_mldsa44", der, SubjectPublicKeyInfo, rsa3072_mldsa44),DECODER_w_structure("mldsa44_pss2048", der, PrivateKeyInfo, mldsa44_pss2048), -DECODER_w_structure("mldsa44_pss2048", der, SubjectPublicKeyInfo, mldsa44_pss2048),DECODER_w_structure("mldsa44_rsa2048", der, PrivateKeyInfo, mldsa44_rsa2048), -DECODER_w_structure("mldsa44_rsa2048", der, SubjectPublicKeyInfo, mldsa44_rsa2048),DECODER_w_structure("mldsa44_ed25519", der, PrivateKeyInfo, mldsa44_ed25519), -DECODER_w_structure("mldsa44_ed25519", der, SubjectPublicKeyInfo, mldsa44_ed25519),DECODER_w_structure("mldsa44_p256", der, PrivateKeyInfo, mldsa44_p256), -DECODER_w_structure("mldsa44_p256", der, SubjectPublicKeyInfo, mldsa44_p256),DECODER_w_structure("mldsa44_bp256", der, PrivateKeyInfo, mldsa44_bp256), -DECODER_w_structure("mldsa44_bp256", der, SubjectPublicKeyInfo, mldsa44_bp256), + DECODER_w_structure("mldsa44", der, PrivateKeyInfo, mldsa44), + DECODER_w_structure("mldsa44", der, SubjectPublicKeyInfo, mldsa44), + DECODER_w_structure("p256_mldsa44", der, PrivateKeyInfo, p256_mldsa44), + DECODER_w_structure("p256_mldsa44", der, SubjectPublicKeyInfo, + p256_mldsa44), + DECODER_w_structure("rsa3072_mldsa44", der, PrivateKeyInfo, + rsa3072_mldsa44), + DECODER_w_structure("rsa3072_mldsa44", der, SubjectPublicKeyInfo, + rsa3072_mldsa44), + DECODER_w_structure("mldsa44_pss2048", der, PrivateKeyInfo, + mldsa44_pss2048), + DECODER_w_structure("mldsa44_pss2048", der, SubjectPublicKeyInfo, + mldsa44_pss2048), + DECODER_w_structure("mldsa44_rsa2048", der, PrivateKeyInfo, + mldsa44_rsa2048), + DECODER_w_structure("mldsa44_rsa2048", der, SubjectPublicKeyInfo, + mldsa44_rsa2048), + DECODER_w_structure("mldsa44_ed25519", der, PrivateKeyInfo, + mldsa44_ed25519), + DECODER_w_structure("mldsa44_ed25519", der, SubjectPublicKeyInfo, + mldsa44_ed25519), + DECODER_w_structure("mldsa44_p256", der, PrivateKeyInfo, mldsa44_p256), + DECODER_w_structure("mldsa44_p256", der, SubjectPublicKeyInfo, + mldsa44_p256), + DECODER_w_structure("mldsa44_bp256", der, PrivateKeyInfo, mldsa44_bp256), + DECODER_w_structure("mldsa44_bp256", der, SubjectPublicKeyInfo, + mldsa44_bp256), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_65 -DECODER_w_structure("mldsa65", der, PrivateKeyInfo, mldsa65), -DECODER_w_structure("mldsa65", der, SubjectPublicKeyInfo, mldsa65),DECODER_w_structure("p384_mldsa65", der, PrivateKeyInfo, p384_mldsa65), -DECODER_w_structure("p384_mldsa65", der, SubjectPublicKeyInfo, p384_mldsa65),DECODER_w_structure("mldsa65_pss3072", der, PrivateKeyInfo, mldsa65_pss3072), -DECODER_w_structure("mldsa65_pss3072", der, SubjectPublicKeyInfo, mldsa65_pss3072),DECODER_w_structure("mldsa65_rsa3072", der, PrivateKeyInfo, mldsa65_rsa3072), -DECODER_w_structure("mldsa65_rsa3072", der, SubjectPublicKeyInfo, mldsa65_rsa3072),DECODER_w_structure("mldsa65_p256", der, PrivateKeyInfo, mldsa65_p256), -DECODER_w_structure("mldsa65_p256", der, SubjectPublicKeyInfo, mldsa65_p256),DECODER_w_structure("mldsa65_bp256", der, PrivateKeyInfo, mldsa65_bp256), -DECODER_w_structure("mldsa65_bp256", der, SubjectPublicKeyInfo, mldsa65_bp256),DECODER_w_structure("mldsa65_ed25519", der, PrivateKeyInfo, mldsa65_ed25519), -DECODER_w_structure("mldsa65_ed25519", der, SubjectPublicKeyInfo, mldsa65_ed25519), + DECODER_w_structure("mldsa65", der, PrivateKeyInfo, mldsa65), + DECODER_w_structure("mldsa65", der, SubjectPublicKeyInfo, mldsa65), + DECODER_w_structure("p384_mldsa65", der, PrivateKeyInfo, p384_mldsa65), + DECODER_w_structure("p384_mldsa65", der, SubjectPublicKeyInfo, + p384_mldsa65), + DECODER_w_structure("mldsa65_pss3072", der, PrivateKeyInfo, + mldsa65_pss3072), + DECODER_w_structure("mldsa65_pss3072", der, SubjectPublicKeyInfo, + mldsa65_pss3072), + DECODER_w_structure("mldsa65_rsa3072", der, PrivateKeyInfo, + mldsa65_rsa3072), + DECODER_w_structure("mldsa65_rsa3072", der, SubjectPublicKeyInfo, + mldsa65_rsa3072), + DECODER_w_structure("mldsa65_p256", der, PrivateKeyInfo, mldsa65_p256), + DECODER_w_structure("mldsa65_p256", der, SubjectPublicKeyInfo, + mldsa65_p256), + DECODER_w_structure("mldsa65_bp256", der, PrivateKeyInfo, mldsa65_bp256), + DECODER_w_structure("mldsa65_bp256", der, SubjectPublicKeyInfo, + mldsa65_bp256), + DECODER_w_structure("mldsa65_ed25519", der, PrivateKeyInfo, + mldsa65_ed25519), + DECODER_w_structure("mldsa65_ed25519", der, SubjectPublicKeyInfo, + mldsa65_ed25519), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_87 -DECODER_w_structure("mldsa87", der, PrivateKeyInfo, mldsa87), -DECODER_w_structure("mldsa87", der, SubjectPublicKeyInfo, mldsa87),DECODER_w_structure("p521_mldsa87", der, PrivateKeyInfo, p521_mldsa87), -DECODER_w_structure("p521_mldsa87", der, SubjectPublicKeyInfo, p521_mldsa87),DECODER_w_structure("mldsa87_p384", der, PrivateKeyInfo, mldsa87_p384), -DECODER_w_structure("mldsa87_p384", der, SubjectPublicKeyInfo, mldsa87_p384),DECODER_w_structure("mldsa87_bp384", der, PrivateKeyInfo, mldsa87_bp384), -DECODER_w_structure("mldsa87_bp384", der, SubjectPublicKeyInfo, mldsa87_bp384),DECODER_w_structure("mldsa87_ed448", der, PrivateKeyInfo, mldsa87_ed448), -DECODER_w_structure("mldsa87_ed448", der, SubjectPublicKeyInfo, mldsa87_ed448), + DECODER_w_structure("mldsa87", der, PrivateKeyInfo, mldsa87), + DECODER_w_structure("mldsa87", der, SubjectPublicKeyInfo, mldsa87), + DECODER_w_structure("p521_mldsa87", der, PrivateKeyInfo, p521_mldsa87), + DECODER_w_structure("p521_mldsa87", der, SubjectPublicKeyInfo, + p521_mldsa87), + DECODER_w_structure("mldsa87_p384", der, PrivateKeyInfo, mldsa87_p384), + DECODER_w_structure("mldsa87_p384", der, SubjectPublicKeyInfo, + mldsa87_p384), + DECODER_w_structure("mldsa87_bp384", der, PrivateKeyInfo, mldsa87_bp384), + DECODER_w_structure("mldsa87_bp384", der, SubjectPublicKeyInfo, + mldsa87_bp384), + DECODER_w_structure("mldsa87_ed448", der, PrivateKeyInfo, mldsa87_ed448), + DECODER_w_structure("mldsa87_ed448", der, SubjectPublicKeyInfo, + mldsa87_ed448), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512", der, PrivateKeyInfo, falcon512), -DECODER_w_structure("falcon512", der, SubjectPublicKeyInfo, falcon512),DECODER_w_structure("p256_falcon512", der, PrivateKeyInfo, p256_falcon512), -DECODER_w_structure("p256_falcon512", der, SubjectPublicKeyInfo, p256_falcon512),DECODER_w_structure("rsa3072_falcon512", der, PrivateKeyInfo, rsa3072_falcon512), -DECODER_w_structure("rsa3072_falcon512", der, SubjectPublicKeyInfo, rsa3072_falcon512), + DECODER_w_structure("falcon512", der, PrivateKeyInfo, falcon512), + DECODER_w_structure("falcon512", der, SubjectPublicKeyInfo, falcon512), + DECODER_w_structure("p256_falcon512", der, PrivateKeyInfo, p256_falcon512), + DECODER_w_structure("p256_falcon512", der, SubjectPublicKeyInfo, + p256_falcon512), + DECODER_w_structure("rsa3072_falcon512", der, PrivateKeyInfo, + rsa3072_falcon512), + DECODER_w_structure("rsa3072_falcon512", der, SubjectPublicKeyInfo, + rsa3072_falcon512), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_512 -DECODER_w_structure("falconpadded512", der, PrivateKeyInfo, falconpadded512), -DECODER_w_structure("falconpadded512", der, SubjectPublicKeyInfo, falconpadded512),DECODER_w_structure("p256_falconpadded512", der, PrivateKeyInfo, p256_falconpadded512), -DECODER_w_structure("p256_falconpadded512", der, SubjectPublicKeyInfo, p256_falconpadded512),DECODER_w_structure("rsa3072_falconpadded512", der, PrivateKeyInfo, rsa3072_falconpadded512), -DECODER_w_structure("rsa3072_falconpadded512", der, SubjectPublicKeyInfo, rsa3072_falconpadded512), + DECODER_w_structure("falconpadded512", der, PrivateKeyInfo, + falconpadded512), + DECODER_w_structure("falconpadded512", der, SubjectPublicKeyInfo, + falconpadded512), + DECODER_w_structure("p256_falconpadded512", der, PrivateKeyInfo, + p256_falconpadded512), + DECODER_w_structure("p256_falconpadded512", der, SubjectPublicKeyInfo, + p256_falconpadded512), + DECODER_w_structure("rsa3072_falconpadded512", der, PrivateKeyInfo, + rsa3072_falconpadded512), + DECODER_w_structure("rsa3072_falconpadded512", der, SubjectPublicKeyInfo, + rsa3072_falconpadded512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024", der, PrivateKeyInfo, falcon1024), -DECODER_w_structure("falcon1024", der, SubjectPublicKeyInfo, falcon1024),DECODER_w_structure("p521_falcon1024", der, PrivateKeyInfo, p521_falcon1024), -DECODER_w_structure("p521_falcon1024", der, SubjectPublicKeyInfo, p521_falcon1024), + DECODER_w_structure("falcon1024", der, PrivateKeyInfo, falcon1024), + DECODER_w_structure("falcon1024", der, SubjectPublicKeyInfo, falcon1024), + DECODER_w_structure("p521_falcon1024", der, PrivateKeyInfo, + p521_falcon1024), + DECODER_w_structure("p521_falcon1024", der, SubjectPublicKeyInfo, + p521_falcon1024), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_1024 -DECODER_w_structure("falconpadded1024", der, PrivateKeyInfo, falconpadded1024), -DECODER_w_structure("falconpadded1024", der, SubjectPublicKeyInfo, falconpadded1024),DECODER_w_structure("p521_falconpadded1024", der, PrivateKeyInfo, p521_falconpadded1024), -DECODER_w_structure("p521_falconpadded1024", der, SubjectPublicKeyInfo, p521_falconpadded1024), + DECODER_w_structure("falconpadded1024", der, PrivateKeyInfo, + falconpadded1024), + DECODER_w_structure("falconpadded1024", der, SubjectPublicKeyInfo, + falconpadded1024), + DECODER_w_structure("p521_falconpadded1024", der, PrivateKeyInfo, + p521_falconpadded1024), + DECODER_w_structure("p521_falconpadded1024", der, SubjectPublicKeyInfo, + p521_falconpadded1024), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple -DECODER_w_structure("sphincssha2128fsimple", der, PrivateKeyInfo, sphincssha2128fsimple), -DECODER_w_structure("sphincssha2128fsimple", der, SubjectPublicKeyInfo, sphincssha2128fsimple),DECODER_w_structure("p256_sphincssha2128fsimple", der, PrivateKeyInfo, p256_sphincssha2128fsimple), -DECODER_w_structure("p256_sphincssha2128fsimple", der, SubjectPublicKeyInfo, p256_sphincssha2128fsimple),DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, PrivateKeyInfo, rsa3072_sphincssha2128fsimple), -DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, SubjectPublicKeyInfo, rsa3072_sphincssha2128fsimple), + DECODER_w_structure("sphincssha2128fsimple", der, PrivateKeyInfo, + sphincssha2128fsimple), + DECODER_w_structure("sphincssha2128fsimple", der, SubjectPublicKeyInfo, + sphincssha2128fsimple), + DECODER_w_structure("p256_sphincssha2128fsimple", der, PrivateKeyInfo, + p256_sphincssha2128fsimple), + DECODER_w_structure("p256_sphincssha2128fsimple", der, SubjectPublicKeyInfo, + p256_sphincssha2128fsimple), + DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, PrivateKeyInfo, + rsa3072_sphincssha2128fsimple), + DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, + SubjectPublicKeyInfo, rsa3072_sphincssha2128fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple -DECODER_w_structure("sphincssha2128ssimple", der, PrivateKeyInfo, sphincssha2128ssimple), -DECODER_w_structure("sphincssha2128ssimple", der, SubjectPublicKeyInfo, sphincssha2128ssimple),DECODER_w_structure("p256_sphincssha2128ssimple", der, PrivateKeyInfo, p256_sphincssha2128ssimple), -DECODER_w_structure("p256_sphincssha2128ssimple", der, SubjectPublicKeyInfo, p256_sphincssha2128ssimple),DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, PrivateKeyInfo, rsa3072_sphincssha2128ssimple), -DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, SubjectPublicKeyInfo, rsa3072_sphincssha2128ssimple), + DECODER_w_structure("sphincssha2128ssimple", der, PrivateKeyInfo, + sphincssha2128ssimple), + DECODER_w_structure("sphincssha2128ssimple", der, SubjectPublicKeyInfo, + sphincssha2128ssimple), + DECODER_w_structure("p256_sphincssha2128ssimple", der, PrivateKeyInfo, + p256_sphincssha2128ssimple), + DECODER_w_structure("p256_sphincssha2128ssimple", der, SubjectPublicKeyInfo, + p256_sphincssha2128ssimple), + DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, PrivateKeyInfo, + rsa3072_sphincssha2128ssimple), + DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, + SubjectPublicKeyInfo, rsa3072_sphincssha2128ssimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple -DECODER_w_structure("sphincssha2192fsimple", der, PrivateKeyInfo, sphincssha2192fsimple), -DECODER_w_structure("sphincssha2192fsimple", der, SubjectPublicKeyInfo, sphincssha2192fsimple),DECODER_w_structure("p384_sphincssha2192fsimple", der, PrivateKeyInfo, p384_sphincssha2192fsimple), -DECODER_w_structure("p384_sphincssha2192fsimple", der, SubjectPublicKeyInfo, p384_sphincssha2192fsimple), + DECODER_w_structure("sphincssha2192fsimple", der, PrivateKeyInfo, + sphincssha2192fsimple), + DECODER_w_structure("sphincssha2192fsimple", der, SubjectPublicKeyInfo, + sphincssha2192fsimple), + DECODER_w_structure("p384_sphincssha2192fsimple", der, PrivateKeyInfo, + p384_sphincssha2192fsimple), + DECODER_w_structure("p384_sphincssha2192fsimple", der, SubjectPublicKeyInfo, + p384_sphincssha2192fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple -DECODER_w_structure("sphincsshake128fsimple", der, PrivateKeyInfo, sphincsshake128fsimple), -DECODER_w_structure("sphincsshake128fsimple", der, SubjectPublicKeyInfo, sphincsshake128fsimple),DECODER_w_structure("p256_sphincsshake128fsimple", der, PrivateKeyInfo, p256_sphincsshake128fsimple), -DECODER_w_structure("p256_sphincsshake128fsimple", der, SubjectPublicKeyInfo, p256_sphincsshake128fsimple),DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, PrivateKeyInfo, rsa3072_sphincsshake128fsimple), -DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, SubjectPublicKeyInfo, rsa3072_sphincsshake128fsimple), + DECODER_w_structure("sphincsshake128fsimple", der, PrivateKeyInfo, + sphincsshake128fsimple), + DECODER_w_structure("sphincsshake128fsimple", der, SubjectPublicKeyInfo, + sphincsshake128fsimple), + DECODER_w_structure("p256_sphincsshake128fsimple", der, PrivateKeyInfo, + p256_sphincsshake128fsimple), + DECODER_w_structure("p256_sphincsshake128fsimple", der, + SubjectPublicKeyInfo, p256_sphincsshake128fsimple), + DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, PrivateKeyInfo, + rsa3072_sphincsshake128fsimple), + DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, + SubjectPublicKeyInfo, rsa3072_sphincsshake128fsimple), #endif #ifdef OQS_ENABLE_SIG_mayo_1 -DECODER_w_structure("mayo1", der, PrivateKeyInfo, mayo1), -DECODER_w_structure("mayo1", der, SubjectPublicKeyInfo, mayo1),DECODER_w_structure("p256_mayo1", der, PrivateKeyInfo, p256_mayo1), -DECODER_w_structure("p256_mayo1", der, SubjectPublicKeyInfo, p256_mayo1), + DECODER_w_structure("mayo1", der, PrivateKeyInfo, mayo1), + DECODER_w_structure("mayo1", der, SubjectPublicKeyInfo, mayo1), + DECODER_w_structure("p256_mayo1", der, PrivateKeyInfo, p256_mayo1), + DECODER_w_structure("p256_mayo1", der, SubjectPublicKeyInfo, p256_mayo1), #endif #ifdef OQS_ENABLE_SIG_mayo_2 -DECODER_w_structure("mayo2", der, PrivateKeyInfo, mayo2), -DECODER_w_structure("mayo2", der, SubjectPublicKeyInfo, mayo2),DECODER_w_structure("p256_mayo2", der, PrivateKeyInfo, p256_mayo2), -DECODER_w_structure("p256_mayo2", der, SubjectPublicKeyInfo, p256_mayo2), + DECODER_w_structure("mayo2", der, PrivateKeyInfo, mayo2), + DECODER_w_structure("mayo2", der, SubjectPublicKeyInfo, mayo2), + DECODER_w_structure("p256_mayo2", der, PrivateKeyInfo, p256_mayo2), + DECODER_w_structure("p256_mayo2", der, SubjectPublicKeyInfo, p256_mayo2), #endif #ifdef OQS_ENABLE_SIG_mayo_3 -DECODER_w_structure("mayo3", der, PrivateKeyInfo, mayo3), -DECODER_w_structure("mayo3", der, SubjectPublicKeyInfo, mayo3),DECODER_w_structure("p384_mayo3", der, PrivateKeyInfo, p384_mayo3), -DECODER_w_structure("p384_mayo3", der, SubjectPublicKeyInfo, p384_mayo3), + DECODER_w_structure("mayo3", der, PrivateKeyInfo, mayo3), + DECODER_w_structure("mayo3", der, SubjectPublicKeyInfo, mayo3), + DECODER_w_structure("p384_mayo3", der, PrivateKeyInfo, p384_mayo3), + DECODER_w_structure("p384_mayo3", der, SubjectPublicKeyInfo, p384_mayo3), #endif #ifdef OQS_ENABLE_SIG_mayo_5 -DECODER_w_structure("mayo5", der, PrivateKeyInfo, mayo5), -DECODER_w_structure("mayo5", der, SubjectPublicKeyInfo, mayo5),DECODER_w_structure("p521_mayo5", der, PrivateKeyInfo, p521_mayo5), -DECODER_w_structure("p521_mayo5", der, SubjectPublicKeyInfo, p521_mayo5), + DECODER_w_structure("mayo5", der, PrivateKeyInfo, mayo5), + DECODER_w_structure("mayo5", der, SubjectPublicKeyInfo, mayo5), + DECODER_w_structure("p521_mayo5", der, PrivateKeyInfo, p521_mayo5), + DECODER_w_structure("p521_mayo5", der, SubjectPublicKeyInfo, p521_mayo5), #endif #ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced -DECODER_w_structure("CROSSrsdp128balanced", der, PrivateKeyInfo, CROSSrsdp128balanced), -DECODER_w_structure("CROSSrsdp128balanced", der, SubjectPublicKeyInfo, CROSSrsdp128balanced), + DECODER_w_structure("CROSSrsdp128balanced", der, PrivateKeyInfo, + CROSSrsdp128balanced), + DECODER_w_structure("CROSSrsdp128balanced", der, SubjectPublicKeyInfo, + CROSSrsdp128balanced), #endif -///// OQS_TEMPLATE_FRAGMENT_MAKE_END + ///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index 386ef8a0..ca9eeef3 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -81,853 +81,1270 @@ ///// OQS_TEMPLATE_FRAGMENT_MAKE_START #ifdef OQS_KEM_ENCODERS - -#ifdef OQS_ENABLE_KEM_frodokem_640_aes +# ifdef OQS_ENABLE_KEM_frodokem_640_aes ENCODER_w_structure("frodo640aes", frodo640aes, der, PrivateKeyInfo), -ENCODER_w_structure("frodo640aes", frodo640aes, pem, PrivateKeyInfo), -ENCODER_w_structure("frodo640aes", frodo640aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo640aes", frodo640aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo640aes", frodo640aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("frodo640aes", frodo640aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("frodo640aes", frodo640aes), -ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, PrivateKeyInfo), -ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_frodo640aes", p256_frodo640aes), -ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, PrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, PrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x25519_frodo640aes", x25519_frodo640aes), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_640_shake -ENCODER_w_structure("frodo640shake", frodo640shake, der, PrivateKeyInfo), -ENCODER_w_structure("frodo640shake", frodo640shake, pem, PrivateKeyInfo), -ENCODER_w_structure("frodo640shake", frodo640shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo640shake", frodo640shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo640shake", frodo640shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("frodo640shake", frodo640shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("frodo640shake", frodo640shake), -ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, PrivateKeyInfo), -ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_frodo640shake", p256_frodo640shake), -ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, PrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, PrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x25519_frodo640shake", x25519_frodo640shake), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_976_aes -ENCODER_w_structure("frodo976aes", frodo976aes, der, PrivateKeyInfo), -ENCODER_w_structure("frodo976aes", frodo976aes, pem, PrivateKeyInfo), -ENCODER_w_structure("frodo976aes", frodo976aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo976aes", frodo976aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo976aes", frodo976aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("frodo976aes", frodo976aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("frodo976aes", frodo976aes), -ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, PrivateKeyInfo), -ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_frodo976aes", p384_frodo976aes), -ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, PrivateKeyInfo), -ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, PrivateKeyInfo), -ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x448_frodo976aes", x448_frodo976aes), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_976_shake -ENCODER_w_structure("frodo976shake", frodo976shake, der, PrivateKeyInfo), -ENCODER_w_structure("frodo976shake", frodo976shake, pem, PrivateKeyInfo), -ENCODER_w_structure("frodo976shake", frodo976shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo976shake", frodo976shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo976shake", frodo976shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("frodo976shake", frodo976shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("frodo976shake", frodo976shake), -ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, PrivateKeyInfo), -ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_frodo976shake", p384_frodo976shake), -ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, PrivateKeyInfo), -ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, PrivateKeyInfo), -ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x448_frodo976shake", x448_frodo976shake), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_1344_aes -ENCODER_w_structure("frodo1344aes", frodo1344aes, der, PrivateKeyInfo), -ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, PrivateKeyInfo), -ENCODER_w_structure("frodo1344aes", frodo1344aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo1344aes", frodo1344aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("frodo1344aes", frodo1344aes), -ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, PrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_frodo1344aes", p521_frodo1344aes), -#endif -#ifdef OQS_ENABLE_KEM_frodokem_1344_shake -ENCODER_w_structure("frodo1344shake", frodo1344shake, der, PrivateKeyInfo), -ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, PrivateKeyInfo), -ENCODER_w_structure("frodo1344shake", frodo1344shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("frodo1344shake", frodo1344shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("frodo1344shake", frodo1344shake), -ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, PrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_frodo1344shake", p521_frodo1344shake), -#endif -#ifdef OQS_ENABLE_KEM_kyber_512 -ENCODER_w_structure("kyber512", kyber512, der, PrivateKeyInfo), -ENCODER_w_structure("kyber512", kyber512, pem, PrivateKeyInfo), -ENCODER_w_structure("kyber512", kyber512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("kyber512", kyber512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("kyber512", kyber512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("kyber512", kyber512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("kyber512", kyber512), -ENCODER_w_structure("p256_kyber512", p256_kyber512, der, PrivateKeyInfo), -ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_kyber512", p256_kyber512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_kyber512", p256_kyber512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_kyber512", p256_kyber512), -ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, PrivateKeyInfo), -ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, PrivateKeyInfo), -ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x25519_kyber512", x25519_kyber512), -#endif -#ifdef OQS_ENABLE_KEM_kyber_768 -ENCODER_w_structure("kyber768", kyber768, der, PrivateKeyInfo), -ENCODER_w_structure("kyber768", kyber768, pem, PrivateKeyInfo), -ENCODER_w_structure("kyber768", kyber768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("kyber768", kyber768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("kyber768", kyber768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("kyber768", kyber768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("kyber768", kyber768), -ENCODER_w_structure("p384_kyber768", p384_kyber768, der, PrivateKeyInfo), -ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_kyber768", p384_kyber768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_kyber768", p384_kyber768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_kyber768", p384_kyber768), -ENCODER_w_structure("x448_kyber768", x448_kyber768, der, PrivateKeyInfo), -ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, PrivateKeyInfo), -ENCODER_w_structure("x448_kyber768", x448_kyber768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_kyber768", x448_kyber768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x448_kyber768", x448_kyber768), -ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, PrivateKeyInfo), -ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, PrivateKeyInfo), -ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x25519_kyber768", x25519_kyber768), -ENCODER_w_structure("p256_kyber768", p256_kyber768, der, PrivateKeyInfo), -ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_kyber768", p256_kyber768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_kyber768", p256_kyber768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_kyber768", p256_kyber768), -#endif -#ifdef OQS_ENABLE_KEM_kyber_1024 -ENCODER_w_structure("kyber1024", kyber1024, der, PrivateKeyInfo), -ENCODER_w_structure("kyber1024", kyber1024, pem, PrivateKeyInfo), -ENCODER_w_structure("kyber1024", kyber1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("kyber1024", kyber1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("kyber1024", kyber1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("kyber1024", kyber1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("kyber1024", kyber1024), -ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, PrivateKeyInfo), -ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_kyber1024", p521_kyber1024), -#endif -#ifdef OQS_ENABLE_KEM_ml_kem_512 -ENCODER_w_structure("mlkem512", mlkem512, der, PrivateKeyInfo), -ENCODER_w_structure("mlkem512", mlkem512, pem, PrivateKeyInfo), -ENCODER_w_structure("mlkem512", mlkem512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mlkem512", mlkem512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mlkem512", mlkem512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mlkem512", mlkem512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mlkem512", mlkem512), -ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, PrivateKeyInfo), -ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_mlkem512", p256_mlkem512), -ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, PrivateKeyInfo), -ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, PrivateKeyInfo), -ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x25519_mlkem512", x25519_mlkem512), -#endif -#ifdef OQS_ENABLE_KEM_ml_kem_768 -ENCODER_w_structure("mlkem768", mlkem768, der, PrivateKeyInfo), -ENCODER_w_structure("mlkem768", mlkem768, pem, PrivateKeyInfo), -ENCODER_w_structure("mlkem768", mlkem768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mlkem768", mlkem768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mlkem768", mlkem768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mlkem768", mlkem768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mlkem768", mlkem768), -ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, PrivateKeyInfo), -ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_mlkem768", p384_mlkem768), -ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, PrivateKeyInfo), -ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, PrivateKeyInfo), -ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x448_mlkem768", x448_mlkem768), -ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, PrivateKeyInfo), -ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, PrivateKeyInfo), -ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("X25519MLKEM768", X25519MLKEM768), -ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, PrivateKeyInfo), -ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, PrivateKeyInfo), -ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, SubjectPublicKeyInfo), -ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("SecP256r1MLKEM768", SecP256r1MLKEM768), -#endif -#ifdef OQS_ENABLE_KEM_ml_kem_1024 -ENCODER_w_structure("mlkem1024", mlkem1024, der, PrivateKeyInfo), -ENCODER_w_structure("mlkem1024", mlkem1024, pem, PrivateKeyInfo), -ENCODER_w_structure("mlkem1024", mlkem1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mlkem1024", mlkem1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mlkem1024", mlkem1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mlkem1024", mlkem1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mlkem1024", mlkem1024), -ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, PrivateKeyInfo), -ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_mlkem1024", p521_mlkem1024), -ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, PrivateKeyInfo), -ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_mlkem1024", p384_mlkem1024), -#endif -#ifdef OQS_ENABLE_KEM_bike_l1 -ENCODER_w_structure("bikel1", bikel1, der, PrivateKeyInfo), -ENCODER_w_structure("bikel1", bikel1, pem, PrivateKeyInfo), -ENCODER_w_structure("bikel1", bikel1, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("bikel1", bikel1, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("bikel1", bikel1, der, SubjectPublicKeyInfo), -ENCODER_w_structure("bikel1", bikel1, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("bikel1", bikel1), -ENCODER_w_structure("p256_bikel1", p256_bikel1, der, PrivateKeyInfo), -ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_bikel1", p256_bikel1, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_bikel1", p256_bikel1, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_bikel1", p256_bikel1), -ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, PrivateKeyInfo), -ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, PrivateKeyInfo), -ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x25519_bikel1", x25519_bikel1), -#endif -#ifdef OQS_ENABLE_KEM_bike_l3 -ENCODER_w_structure("bikel3", bikel3, der, PrivateKeyInfo), -ENCODER_w_structure("bikel3", bikel3, pem, PrivateKeyInfo), -ENCODER_w_structure("bikel3", bikel3, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("bikel3", bikel3, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("bikel3", bikel3, der, SubjectPublicKeyInfo), -ENCODER_w_structure("bikel3", bikel3, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("bikel3", bikel3), -ENCODER_w_structure("p384_bikel3", p384_bikel3, der, PrivateKeyInfo), -ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_bikel3", p384_bikel3, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_bikel3", p384_bikel3, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_bikel3", p384_bikel3), -ENCODER_w_structure("x448_bikel3", x448_bikel3, der, PrivateKeyInfo), -ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, PrivateKeyInfo), -ENCODER_w_structure("x448_bikel3", x448_bikel3, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_bikel3", x448_bikel3, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x448_bikel3", x448_bikel3), -#endif -#ifdef OQS_ENABLE_KEM_bike_l5 -ENCODER_w_structure("bikel5", bikel5, der, PrivateKeyInfo), -ENCODER_w_structure("bikel5", bikel5, pem, PrivateKeyInfo), -ENCODER_w_structure("bikel5", bikel5, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("bikel5", bikel5, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("bikel5", bikel5, der, SubjectPublicKeyInfo), -ENCODER_w_structure("bikel5", bikel5, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("bikel5", bikel5), -ENCODER_w_structure("p521_bikel5", p521_bikel5, der, PrivateKeyInfo), -ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_bikel5", p521_bikel5, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_bikel5", p521_bikel5, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_bikel5", p521_bikel5), -#endif -#ifdef OQS_ENABLE_KEM_hqc_128 -ENCODER_w_structure("hqc128", hqc128, der, PrivateKeyInfo), -ENCODER_w_structure("hqc128", hqc128, pem, PrivateKeyInfo), -ENCODER_w_structure("hqc128", hqc128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("hqc128", hqc128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("hqc128", hqc128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("hqc128", hqc128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("hqc128", hqc128), -ENCODER_w_structure("p256_hqc128", p256_hqc128, der, PrivateKeyInfo), -ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_hqc128", p256_hqc128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_hqc128", p256_hqc128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_hqc128", p256_hqc128), -ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, PrivateKeyInfo), -ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, PrivateKeyInfo), -ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x25519_hqc128", x25519_hqc128), -#endif -#ifdef OQS_ENABLE_KEM_hqc_192 -ENCODER_w_structure("hqc192", hqc192, der, PrivateKeyInfo), -ENCODER_w_structure("hqc192", hqc192, pem, PrivateKeyInfo), -ENCODER_w_structure("hqc192", hqc192, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("hqc192", hqc192, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("hqc192", hqc192, der, SubjectPublicKeyInfo), -ENCODER_w_structure("hqc192", hqc192, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("hqc192", hqc192), -ENCODER_w_structure("p384_hqc192", p384_hqc192, der, PrivateKeyInfo), -ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_hqc192", p384_hqc192, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_hqc192", p384_hqc192, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_hqc192", p384_hqc192), -ENCODER_w_structure("x448_hqc192", x448_hqc192, der, PrivateKeyInfo), -ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, PrivateKeyInfo), -ENCODER_w_structure("x448_hqc192", x448_hqc192, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("x448_hqc192", x448_hqc192, der, SubjectPublicKeyInfo), -ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("x448_hqc192", x448_hqc192), -#endif -#ifdef OQS_ENABLE_KEM_hqc_256 -ENCODER_w_structure("hqc256", hqc256, der, PrivateKeyInfo), -ENCODER_w_structure("hqc256", hqc256, pem, PrivateKeyInfo), -ENCODER_w_structure("hqc256", hqc256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("hqc256", hqc256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("hqc256", hqc256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("hqc256", hqc256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("hqc256", hqc256), -ENCODER_w_structure("p521_hqc256", p521_hqc256, der, PrivateKeyInfo), -ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_hqc256", p521_hqc256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_hqc256", p521_hqc256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_hqc256", p521_hqc256), -#endif + ENCODER_w_structure("frodo640aes", frodo640aes, pem, PrivateKeyInfo), + ENCODER_w_structure("frodo640aes", frodo640aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo640aes", frodo640aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo640aes", frodo640aes, der, SubjectPublicKeyInfo), + ENCODER_w_structure("frodo640aes", frodo640aes, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("frodo640aes", frodo640aes), + ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, + PrivateKeyInfo), + ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, + PrivateKeyInfo), + ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_frodo640aes", p256_frodo640aes), + ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, + PrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, + PrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x25519_frodo640aes", x25519_frodo640aes), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_640_shake + ENCODER_w_structure("frodo640shake", frodo640shake, der, PrivateKeyInfo), + ENCODER_w_structure("frodo640shake", frodo640shake, pem, PrivateKeyInfo), + ENCODER_w_structure("frodo640shake", frodo640shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo640shake", frodo640shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo640shake", frodo640shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("frodo640shake", frodo640shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("frodo640shake", frodo640shake), + ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, + PrivateKeyInfo), + ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, + PrivateKeyInfo), + ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_frodo640shake", p256_frodo640shake), + ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, + PrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, + PrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x25519_frodo640shake", x25519_frodo640shake), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_976_aes + ENCODER_w_structure("frodo976aes", frodo976aes, der, PrivateKeyInfo), + ENCODER_w_structure("frodo976aes", frodo976aes, pem, PrivateKeyInfo), + ENCODER_w_structure("frodo976aes", frodo976aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo976aes", frodo976aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo976aes", frodo976aes, der, SubjectPublicKeyInfo), + ENCODER_w_structure("frodo976aes", frodo976aes, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("frodo976aes", frodo976aes), + ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, + PrivateKeyInfo), + ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, + PrivateKeyInfo), + ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p384_frodo976aes", p384_frodo976aes), + ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, + PrivateKeyInfo), + ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, + PrivateKeyInfo), + ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x448_frodo976aes", x448_frodo976aes), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_976_shake + ENCODER_w_structure("frodo976shake", frodo976shake, der, PrivateKeyInfo), + ENCODER_w_structure("frodo976shake", frodo976shake, pem, PrivateKeyInfo), + ENCODER_w_structure("frodo976shake", frodo976shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo976shake", frodo976shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo976shake", frodo976shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("frodo976shake", frodo976shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("frodo976shake", frodo976shake), + ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, + PrivateKeyInfo), + ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, + PrivateKeyInfo), + ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p384_frodo976shake", p384_frodo976shake), + ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, + PrivateKeyInfo), + ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, + PrivateKeyInfo), + ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x448_frodo976shake", x448_frodo976shake), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_1344_aes + ENCODER_w_structure("frodo1344aes", frodo1344aes, der, PrivateKeyInfo), + ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, PrivateKeyInfo), + ENCODER_w_structure("frodo1344aes", frodo1344aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo1344aes", frodo1344aes, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("frodo1344aes", frodo1344aes), + ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, + PrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, + PrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_frodo1344aes", p521_frodo1344aes), +# endif +# ifdef OQS_ENABLE_KEM_frodokem_1344_shake + ENCODER_w_structure("frodo1344shake", frodo1344shake, der, PrivateKeyInfo), + ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, PrivateKeyInfo), + ENCODER_w_structure("frodo1344shake", frodo1344shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("frodo1344shake", frodo1344shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("frodo1344shake", frodo1344shake), + ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, + PrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, + PrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_frodo1344shake", p521_frodo1344shake), +# endif +# ifdef OQS_ENABLE_KEM_kyber_512 + ENCODER_w_structure("kyber512", kyber512, der, PrivateKeyInfo), + ENCODER_w_structure("kyber512", kyber512, pem, PrivateKeyInfo), + ENCODER_w_structure("kyber512", kyber512, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("kyber512", kyber512, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("kyber512", kyber512, der, SubjectPublicKeyInfo), + ENCODER_w_structure("kyber512", kyber512, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("kyber512", kyber512), + ENCODER_w_structure("p256_kyber512", p256_kyber512, der, PrivateKeyInfo), + ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_kyber512", p256_kyber512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_kyber512", p256_kyber512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_kyber512", p256_kyber512), + ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, + PrivateKeyInfo), + ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, + PrivateKeyInfo), + ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x25519_kyber512", x25519_kyber512), +# endif +# ifdef OQS_ENABLE_KEM_kyber_768 + ENCODER_w_structure("kyber768", kyber768, der, PrivateKeyInfo), + ENCODER_w_structure("kyber768", kyber768, pem, PrivateKeyInfo), + ENCODER_w_structure("kyber768", kyber768, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("kyber768", kyber768, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("kyber768", kyber768, der, SubjectPublicKeyInfo), + ENCODER_w_structure("kyber768", kyber768, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("kyber768", kyber768), + ENCODER_w_structure("p384_kyber768", p384_kyber768, der, PrivateKeyInfo), + ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_kyber768", p384_kyber768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_kyber768", p384_kyber768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p384_kyber768", p384_kyber768), + ENCODER_w_structure("x448_kyber768", x448_kyber768, der, PrivateKeyInfo), + ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, PrivateKeyInfo), + ENCODER_w_structure("x448_kyber768", x448_kyber768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_kyber768", x448_kyber768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x448_kyber768", x448_kyber768), + ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, + PrivateKeyInfo), + ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, + PrivateKeyInfo), + ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x25519_kyber768", x25519_kyber768), + ENCODER_w_structure("p256_kyber768", p256_kyber768, der, PrivateKeyInfo), + ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_kyber768", p256_kyber768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_kyber768", p256_kyber768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_kyber768", p256_kyber768), +# endif +# ifdef OQS_ENABLE_KEM_kyber_1024 + ENCODER_w_structure("kyber1024", kyber1024, der, PrivateKeyInfo), + ENCODER_w_structure("kyber1024", kyber1024, pem, PrivateKeyInfo), + ENCODER_w_structure("kyber1024", kyber1024, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("kyber1024", kyber1024, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("kyber1024", kyber1024, der, SubjectPublicKeyInfo), + ENCODER_w_structure("kyber1024", kyber1024, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("kyber1024", kyber1024), + ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, PrivateKeyInfo), + ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, PrivateKeyInfo), + ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_kyber1024", p521_kyber1024), +# endif +# ifdef OQS_ENABLE_KEM_ml_kem_512 + ENCODER_w_structure("mlkem512", mlkem512, der, PrivateKeyInfo), + ENCODER_w_structure("mlkem512", mlkem512, pem, PrivateKeyInfo), + ENCODER_w_structure("mlkem512", mlkem512, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mlkem512", mlkem512, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mlkem512", mlkem512, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mlkem512", mlkem512, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mlkem512", mlkem512), + ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, PrivateKeyInfo), + ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_mlkem512", p256_mlkem512), + ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, + PrivateKeyInfo), + ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, + PrivateKeyInfo), + ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x25519_mlkem512", x25519_mlkem512), +# endif +# ifdef OQS_ENABLE_KEM_ml_kem_768 + ENCODER_w_structure("mlkem768", mlkem768, der, PrivateKeyInfo), + ENCODER_w_structure("mlkem768", mlkem768, pem, PrivateKeyInfo), + ENCODER_w_structure("mlkem768", mlkem768, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mlkem768", mlkem768, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mlkem768", mlkem768, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mlkem768", mlkem768, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mlkem768", mlkem768), + ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, PrivateKeyInfo), + ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p384_mlkem768", p384_mlkem768), + ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, PrivateKeyInfo), + ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, PrivateKeyInfo), + ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x448_mlkem768", x448_mlkem768), + ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, PrivateKeyInfo), + ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, PrivateKeyInfo), + ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("X25519MLKEM768", X25519MLKEM768), + ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, + PrivateKeyInfo), + ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, + PrivateKeyInfo), + ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("SecP256r1MLKEM768", SecP256r1MLKEM768), +# endif +# ifdef OQS_ENABLE_KEM_ml_kem_1024 + ENCODER_w_structure("mlkem1024", mlkem1024, der, PrivateKeyInfo), + ENCODER_w_structure("mlkem1024", mlkem1024, pem, PrivateKeyInfo), + ENCODER_w_structure("mlkem1024", mlkem1024, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mlkem1024", mlkem1024, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mlkem1024", mlkem1024, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mlkem1024", mlkem1024, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mlkem1024", mlkem1024), + ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, PrivateKeyInfo), + ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, PrivateKeyInfo), + ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_mlkem1024", p521_mlkem1024), + ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, PrivateKeyInfo), + ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p384_mlkem1024", p384_mlkem1024), +# endif +# ifdef OQS_ENABLE_KEM_bike_l1 + ENCODER_w_structure("bikel1", bikel1, der, PrivateKeyInfo), + ENCODER_w_structure("bikel1", bikel1, pem, PrivateKeyInfo), + ENCODER_w_structure("bikel1", bikel1, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("bikel1", bikel1, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("bikel1", bikel1, der, SubjectPublicKeyInfo), + ENCODER_w_structure("bikel1", bikel1, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("bikel1", bikel1), + ENCODER_w_structure("p256_bikel1", p256_bikel1, der, PrivateKeyInfo), + ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_bikel1", p256_bikel1, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_bikel1", p256_bikel1, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p256_bikel1", p256_bikel1), + ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, PrivateKeyInfo), + ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, PrivateKeyInfo), + ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x25519_bikel1", x25519_bikel1), +# endif +# ifdef OQS_ENABLE_KEM_bike_l3 + ENCODER_w_structure("bikel3", bikel3, der, PrivateKeyInfo), + ENCODER_w_structure("bikel3", bikel3, pem, PrivateKeyInfo), + ENCODER_w_structure("bikel3", bikel3, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("bikel3", bikel3, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("bikel3", bikel3, der, SubjectPublicKeyInfo), + ENCODER_w_structure("bikel3", bikel3, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("bikel3", bikel3), + ENCODER_w_structure("p384_bikel3", p384_bikel3, der, PrivateKeyInfo), + ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_bikel3", p384_bikel3, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_bikel3", p384_bikel3, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p384_bikel3", p384_bikel3), + ENCODER_w_structure("x448_bikel3", x448_bikel3, der, PrivateKeyInfo), + ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, PrivateKeyInfo), + ENCODER_w_structure("x448_bikel3", x448_bikel3, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_bikel3", x448_bikel3, der, SubjectPublicKeyInfo), + ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("x448_bikel3", x448_bikel3), +# endif +# ifdef OQS_ENABLE_KEM_bike_l5 + ENCODER_w_structure("bikel5", bikel5, der, PrivateKeyInfo), + ENCODER_w_structure("bikel5", bikel5, pem, PrivateKeyInfo), + ENCODER_w_structure("bikel5", bikel5, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("bikel5", bikel5, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("bikel5", bikel5, der, SubjectPublicKeyInfo), + ENCODER_w_structure("bikel5", bikel5, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("bikel5", bikel5), + ENCODER_w_structure("p521_bikel5", p521_bikel5, der, PrivateKeyInfo), + ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, PrivateKeyInfo), + ENCODER_w_structure("p521_bikel5", p521_bikel5, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_bikel5", p521_bikel5, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p521_bikel5", p521_bikel5), +# endif +# ifdef OQS_ENABLE_KEM_hqc_128 + ENCODER_w_structure("hqc128", hqc128, der, PrivateKeyInfo), + ENCODER_w_structure("hqc128", hqc128, pem, PrivateKeyInfo), + ENCODER_w_structure("hqc128", hqc128, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("hqc128", hqc128, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("hqc128", hqc128, der, SubjectPublicKeyInfo), + ENCODER_w_structure("hqc128", hqc128, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("hqc128", hqc128), + ENCODER_w_structure("p256_hqc128", p256_hqc128, der, PrivateKeyInfo), + ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_hqc128", p256_hqc128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_hqc128", p256_hqc128, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p256_hqc128", p256_hqc128), + ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, PrivateKeyInfo), + ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, PrivateKeyInfo), + ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("x25519_hqc128", x25519_hqc128), +# endif +# ifdef OQS_ENABLE_KEM_hqc_192 + ENCODER_w_structure("hqc192", hqc192, der, PrivateKeyInfo), + ENCODER_w_structure("hqc192", hqc192, pem, PrivateKeyInfo), + ENCODER_w_structure("hqc192", hqc192, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("hqc192", hqc192, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("hqc192", hqc192, der, SubjectPublicKeyInfo), + ENCODER_w_structure("hqc192", hqc192, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("hqc192", hqc192), + ENCODER_w_structure("p384_hqc192", p384_hqc192, der, PrivateKeyInfo), + ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_hqc192", p384_hqc192, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_hqc192", p384_hqc192, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p384_hqc192", p384_hqc192), + ENCODER_w_structure("x448_hqc192", x448_hqc192, der, PrivateKeyInfo), + ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, PrivateKeyInfo), + ENCODER_w_structure("x448_hqc192", x448_hqc192, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("x448_hqc192", x448_hqc192, der, SubjectPublicKeyInfo), + ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("x448_hqc192", x448_hqc192), +# endif +# ifdef OQS_ENABLE_KEM_hqc_256 + ENCODER_w_structure("hqc256", hqc256, der, PrivateKeyInfo), + ENCODER_w_structure("hqc256", hqc256, pem, PrivateKeyInfo), + ENCODER_w_structure("hqc256", hqc256, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("hqc256", hqc256, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("hqc256", hqc256, der, SubjectPublicKeyInfo), + ENCODER_w_structure("hqc256", hqc256, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("hqc256", hqc256), + ENCODER_w_structure("p521_hqc256", p521_hqc256, der, PrivateKeyInfo), + ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, PrivateKeyInfo), + ENCODER_w_structure("p521_hqc256", p521_hqc256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_hqc256", p521_hqc256, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p521_hqc256", p521_hqc256), +# endif #endif /* OQS_KEM_ENCODERS */ - #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2", dilithium2, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2", dilithium2, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2", dilithium2, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2", dilithium2, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2", dilithium2, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2", dilithium2, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2", dilithium2), -ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, PrivateKeyInfo), -ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_dilithium2", p256_dilithium2), -ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, SubjectPublicKeyInfo), -ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("rsa3072_dilithium2", rsa3072_dilithium2), + ENCODER_w_structure("dilithium2", dilithium2, der, PrivateKeyInfo), + ENCODER_w_structure("dilithium2", dilithium2, pem, PrivateKeyInfo), + ENCODER_w_structure("dilithium2", dilithium2, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2", dilithium2, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2", dilithium2, der, SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2", dilithium2, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2", dilithium2), + ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, + PrivateKeyInfo), + ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, + PrivateKeyInfo), + ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_dilithium2", p256_dilithium2), + ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("rsa3072_dilithium2", rsa3072_dilithium2), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3", dilithium3, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3", dilithium3, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3", dilithium3, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3", dilithium3, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3", dilithium3, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3", dilithium3, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3", dilithium3), -ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, PrivateKeyInfo), -ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_dilithium3", p384_dilithium3), + ENCODER_w_structure("dilithium3", dilithium3, der, PrivateKeyInfo), + ENCODER_w_structure("dilithium3", dilithium3, pem, PrivateKeyInfo), + ENCODER_w_structure("dilithium3", dilithium3, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3", dilithium3, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3", dilithium3, der, SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3", dilithium3, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3", dilithium3), + ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, + PrivateKeyInfo), + ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, + PrivateKeyInfo), + ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p384_dilithium3", p384_dilithium3), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5", dilithium5, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5", dilithium5, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5", dilithium5, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5", dilithium5, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5", dilithium5, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5", dilithium5, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5", dilithium5), -ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, PrivateKeyInfo), -ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_dilithium5", p521_dilithium5), + ENCODER_w_structure("dilithium5", dilithium5, der, PrivateKeyInfo), + ENCODER_w_structure("dilithium5", dilithium5, pem, PrivateKeyInfo), + ENCODER_w_structure("dilithium5", dilithium5, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5", dilithium5, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5", dilithium5, der, SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5", dilithium5, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5", dilithium5), + ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, + PrivateKeyInfo), + ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, + PrivateKeyInfo), + ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_dilithium5", p521_dilithium5), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_44 -ENCODER_w_structure("mldsa44", mldsa44, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa44", mldsa44, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa44", mldsa44, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44", mldsa44, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44", mldsa44, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa44", mldsa44, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa44", mldsa44), -ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, PrivateKeyInfo), -ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_mldsa44", p256_mldsa44), -ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, SubjectPublicKeyInfo), -ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("rsa3072_mldsa44", rsa3072_mldsa44), -ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa44_pss2048", mldsa44_pss2048), -ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa44_rsa2048", mldsa44_rsa2048), -ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa44_ed25519", mldsa44_ed25519), -ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa44_p256", mldsa44_p256), -ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa44_bp256", mldsa44_bp256), + ENCODER_w_structure("mldsa44", mldsa44, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa44", mldsa44, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa44", mldsa44, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44", mldsa44, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44", mldsa44, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa44", mldsa44, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa44", mldsa44), + ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, PrivateKeyInfo), + ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_mldsa44", p256_mldsa44), + ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("rsa3072_mldsa44", rsa3072_mldsa44), + ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, + PrivateKeyInfo), + ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, + PrivateKeyInfo), + ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa44_pss2048", mldsa44_pss2048), + ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, + PrivateKeyInfo), + ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, + PrivateKeyInfo), + ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa44_rsa2048", mldsa44_rsa2048), + ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, + PrivateKeyInfo), + ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, + PrivateKeyInfo), + ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa44_ed25519", mldsa44_ed25519), + ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa44_p256", mldsa44_p256), + ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa44_bp256", mldsa44_bp256), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_65 -ENCODER_w_structure("mldsa65", mldsa65, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa65", mldsa65, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa65", mldsa65, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65", mldsa65, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65", mldsa65, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa65", mldsa65, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa65", mldsa65), -ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, PrivateKeyInfo), -ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_mldsa65", p384_mldsa65), -ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa65_pss3072", mldsa65_pss3072), -ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa65_rsa3072", mldsa65_rsa3072), -ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa65_p256", mldsa65_p256), -ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa65_bp256", mldsa65_bp256), -ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa65_ed25519", mldsa65_ed25519), + ENCODER_w_structure("mldsa65", mldsa65, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa65", mldsa65, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa65", mldsa65, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65", mldsa65, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65", mldsa65, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa65", mldsa65, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa65", mldsa65), + ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, PrivateKeyInfo), + ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p384_mldsa65", p384_mldsa65), + ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, + PrivateKeyInfo), + ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, + PrivateKeyInfo), + ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa65_pss3072", mldsa65_pss3072), + ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, + PrivateKeyInfo), + ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, + PrivateKeyInfo), + ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa65_rsa3072", mldsa65_rsa3072), + ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa65_p256", mldsa65_p256), + ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa65_bp256", mldsa65_bp256), + ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, + PrivateKeyInfo), + ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, + PrivateKeyInfo), + ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa65_ed25519", mldsa65_ed25519), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_87 -ENCODER_w_structure("mldsa87", mldsa87, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa87", mldsa87, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa87", mldsa87, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87", mldsa87, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87", mldsa87, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa87", mldsa87, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa87", mldsa87), -ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, PrivateKeyInfo), -ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_mldsa87", p521_mldsa87), -ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa87_p384", mldsa87_p384), -ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa87_bp384", mldsa87_bp384), -ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, PrivateKeyInfo), -ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, PrivateKeyInfo), -ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mldsa87_ed448", mldsa87_ed448), + ENCODER_w_structure("mldsa87", mldsa87, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa87", mldsa87, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa87", mldsa87, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87", mldsa87, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87", mldsa87, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa87", mldsa87, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa87", mldsa87), + ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, PrivateKeyInfo), + ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, PrivateKeyInfo), + ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_mldsa87", p521_mldsa87), + ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa87_p384", mldsa87_p384), + ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa87_bp384", mldsa87_bp384), + ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, PrivateKeyInfo), + ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, PrivateKeyInfo), + ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("mldsa87_ed448", mldsa87_ed448), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512", falcon512, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512", falcon512, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512", falcon512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512", falcon512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512", falcon512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512", falcon512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512", falcon512), -ENCODER_w_structure("p256_falcon512", p256_falcon512, der, PrivateKeyInfo), -ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_falcon512", p256_falcon512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_falcon512", p256_falcon512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_falcon512", p256_falcon512), -ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("rsa3072_falcon512", rsa3072_falcon512), + ENCODER_w_structure("falcon512", falcon512, der, PrivateKeyInfo), + ENCODER_w_structure("falcon512", falcon512, pem, PrivateKeyInfo), + ENCODER_w_structure("falcon512", falcon512, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512", falcon512, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512", falcon512, der, SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512", falcon512, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512", falcon512), + ENCODER_w_structure("p256_falcon512", p256_falcon512, der, PrivateKeyInfo), + ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_falcon512", p256_falcon512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_falcon512", p256_falcon512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_falcon512", p256_falcon512), + ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("rsa3072_falcon512", rsa3072_falcon512), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_512 -ENCODER_w_structure("falconpadded512", falconpadded512, der, PrivateKeyInfo), -ENCODER_w_structure("falconpadded512", falconpadded512, pem, PrivateKeyInfo), -ENCODER_w_structure("falconpadded512", falconpadded512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falconpadded512", falconpadded512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falconpadded512", falconpadded512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falconpadded512", falconpadded512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falconpadded512", falconpadded512), -ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, PrivateKeyInfo), -ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_falconpadded512", p256_falconpadded512), -ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("rsa3072_falconpadded512", rsa3072_falconpadded512), + ENCODER_w_structure("falconpadded512", falconpadded512, der, + PrivateKeyInfo), + ENCODER_w_structure("falconpadded512", falconpadded512, pem, + PrivateKeyInfo), + ENCODER_w_structure("falconpadded512", falconpadded512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falconpadded512", falconpadded512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falconpadded512", falconpadded512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falconpadded512", falconpadded512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falconpadded512", falconpadded512), + ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, + PrivateKeyInfo), + ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, + PrivateKeyInfo), + ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p256_falconpadded512", p256_falconpadded512), + ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, + PrivateKeyInfo), + ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("rsa3072_falconpadded512", rsa3072_falconpadded512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024", falcon1024, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024", falcon1024, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024", falcon1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024", falcon1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024", falcon1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024", falcon1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024", falcon1024), -ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, PrivateKeyInfo), -ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_falcon1024", p521_falcon1024), + ENCODER_w_structure("falcon1024", falcon1024, der, PrivateKeyInfo), + ENCODER_w_structure("falcon1024", falcon1024, pem, PrivateKeyInfo), + ENCODER_w_structure("falcon1024", falcon1024, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024", falcon1024, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024", falcon1024, der, SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024", falcon1024, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024", falcon1024), + ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, + PrivateKeyInfo), + ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, + PrivateKeyInfo), + ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_falcon1024", p521_falcon1024), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_1024 -ENCODER_w_structure("falconpadded1024", falconpadded1024, der, PrivateKeyInfo), -ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, PrivateKeyInfo), -ENCODER_w_structure("falconpadded1024", falconpadded1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falconpadded1024", falconpadded1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falconpadded1024", falconpadded1024), -ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, PrivateKeyInfo), -ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_falconpadded1024", p521_falconpadded1024), + ENCODER_w_structure("falconpadded1024", falconpadded1024, der, + PrivateKeyInfo), + ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, + PrivateKeyInfo), + ENCODER_w_structure("falconpadded1024", falconpadded1024, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falconpadded1024", falconpadded1024, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falconpadded1024", falconpadded1024), + ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, + PrivateKeyInfo), + ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, + PrivateKeyInfo), + ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("p521_falconpadded1024", p521_falconpadded1024), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple -ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("sphincssha2128fsimple", sphincssha2128fsimple), -ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple), -ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple), + ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, + PrivateKeyInfo), + ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, + PrivateKeyInfo), + ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("sphincssha2128fsimple", sphincssha2128fsimple), + ENCODER_w_structure("p256_sphincssha2128fsimple", + p256_sphincssha2128fsimple, der, PrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128fsimple", + p256_sphincssha2128fsimple, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128fsimple", + p256_sphincssha2128fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128fsimple", + p256_sphincssha2128fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128fsimple", + p256_sphincssha2128fsimple, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p256_sphincssha2128fsimple", + p256_sphincssha2128fsimple, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple), + ENCODER_w_structure("rsa3072_sphincssha2128fsimple", + rsa3072_sphincssha2128fsimple, der, PrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128fsimple", + rsa3072_sphincssha2128fsimple, pem, PrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128fsimple", + rsa3072_sphincssha2128fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128fsimple", + rsa3072_sphincssha2128fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128fsimple", + rsa3072_sphincssha2128fsimple, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128fsimple", + rsa3072_sphincssha2128fsimple, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("rsa3072_sphincssha2128fsimple", + rsa3072_sphincssha2128fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple -ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, PrivateKeyInfo), -ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, PrivateKeyInfo), -ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("sphincssha2128ssimple", sphincssha2128ssimple), -ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, PrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple), -ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, pem, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple), + ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, + PrivateKeyInfo), + ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, + PrivateKeyInfo), + ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("sphincssha2128ssimple", sphincssha2128ssimple), + ENCODER_w_structure("p256_sphincssha2128ssimple", + p256_sphincssha2128ssimple, der, PrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128ssimple", + p256_sphincssha2128ssimple, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128ssimple", + p256_sphincssha2128ssimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128ssimple", + p256_sphincssha2128ssimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_sphincssha2128ssimple", + p256_sphincssha2128ssimple, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p256_sphincssha2128ssimple", + p256_sphincssha2128ssimple, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple), + ENCODER_w_structure("rsa3072_sphincssha2128ssimple", + rsa3072_sphincssha2128ssimple, der, PrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128ssimple", + rsa3072_sphincssha2128ssimple, pem, PrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128ssimple", + rsa3072_sphincssha2128ssimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128ssimple", + rsa3072_sphincssha2128ssimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128ssimple", + rsa3072_sphincssha2128ssimple, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("rsa3072_sphincssha2128ssimple", + rsa3072_sphincssha2128ssimple, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("rsa3072_sphincssha2128ssimple", + rsa3072_sphincssha2128ssimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple -ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("sphincssha2192fsimple", sphincssha2192fsimple), -ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple), + ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, + PrivateKeyInfo), + ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, + PrivateKeyInfo), + ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("sphincssha2192fsimple", sphincssha2192fsimple), + ENCODER_w_structure("p384_sphincssha2192fsimple", + p384_sphincssha2192fsimple, der, PrivateKeyInfo), + ENCODER_w_structure("p384_sphincssha2192fsimple", + p384_sphincssha2192fsimple, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_sphincssha2192fsimple", + p384_sphincssha2192fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_sphincssha2192fsimple", + p384_sphincssha2192fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_sphincssha2192fsimple", + p384_sphincssha2192fsimple, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p384_sphincssha2192fsimple", + p384_sphincssha2192fsimple, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple -ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("sphincsshake128fsimple", sphincsshake128fsimple), -ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple), -ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, pem, PrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, SubjectPublicKeyInfo), -ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple), + ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, + PrivateKeyInfo), + ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, + PrivateKeyInfo), + ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("sphincsshake128fsimple", sphincsshake128fsimple), + ENCODER_w_structure("p256_sphincsshake128fsimple", + p256_sphincsshake128fsimple, der, PrivateKeyInfo), + ENCODER_w_structure("p256_sphincsshake128fsimple", + p256_sphincsshake128fsimple, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_sphincsshake128fsimple", + p256_sphincsshake128fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_sphincsshake128fsimple", + p256_sphincsshake128fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_sphincsshake128fsimple", + p256_sphincsshake128fsimple, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p256_sphincsshake128fsimple", + p256_sphincsshake128fsimple, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple), + ENCODER_w_structure("rsa3072_sphincsshake128fsimple", + rsa3072_sphincsshake128fsimple, der, PrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincsshake128fsimple", + rsa3072_sphincsshake128fsimple, pem, PrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincsshake128fsimple", + rsa3072_sphincsshake128fsimple, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincsshake128fsimple", + rsa3072_sphincsshake128fsimple, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("rsa3072_sphincsshake128fsimple", + rsa3072_sphincsshake128fsimple, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("rsa3072_sphincsshake128fsimple", + rsa3072_sphincsshake128fsimple, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("rsa3072_sphincsshake128fsimple", + rsa3072_sphincsshake128fsimple), #endif #ifdef OQS_ENABLE_SIG_mayo_1 -ENCODER_w_structure("mayo1", mayo1, der, PrivateKeyInfo), -ENCODER_w_structure("mayo1", mayo1, pem, PrivateKeyInfo), -ENCODER_w_structure("mayo1", mayo1, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo1", mayo1, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo1", mayo1, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mayo1", mayo1, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mayo1", mayo1), -ENCODER_w_structure("p256_mayo1", p256_mayo1, der, PrivateKeyInfo), -ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_mayo1", p256_mayo1, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mayo1", p256_mayo1, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_mayo1", p256_mayo1), + ENCODER_w_structure("mayo1", mayo1, der, PrivateKeyInfo), + ENCODER_w_structure("mayo1", mayo1, pem, PrivateKeyInfo), + ENCODER_w_structure("mayo1", mayo1, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo1", mayo1, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo1", mayo1, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mayo1", mayo1, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mayo1", mayo1), + ENCODER_w_structure("p256_mayo1", p256_mayo1, der, PrivateKeyInfo), + ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_mayo1", p256_mayo1, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mayo1", p256_mayo1, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p256_mayo1", p256_mayo1), #endif #ifdef OQS_ENABLE_SIG_mayo_2 -ENCODER_w_structure("mayo2", mayo2, der, PrivateKeyInfo), -ENCODER_w_structure("mayo2", mayo2, pem, PrivateKeyInfo), -ENCODER_w_structure("mayo2", mayo2, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo2", mayo2, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo2", mayo2, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mayo2", mayo2, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mayo2", mayo2), -ENCODER_w_structure("p256_mayo2", p256_mayo2, der, PrivateKeyInfo), -ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, PrivateKeyInfo), -ENCODER_w_structure("p256_mayo2", p256_mayo2, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p256_mayo2", p256_mayo2, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p256_mayo2", p256_mayo2), + ENCODER_w_structure("mayo2", mayo2, der, PrivateKeyInfo), + ENCODER_w_structure("mayo2", mayo2, pem, PrivateKeyInfo), + ENCODER_w_structure("mayo2", mayo2, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo2", mayo2, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo2", mayo2, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mayo2", mayo2, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mayo2", mayo2), + ENCODER_w_structure("p256_mayo2", p256_mayo2, der, PrivateKeyInfo), + ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, PrivateKeyInfo), + ENCODER_w_structure("p256_mayo2", p256_mayo2, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p256_mayo2", p256_mayo2, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p256_mayo2", p256_mayo2), #endif #ifdef OQS_ENABLE_SIG_mayo_3 -ENCODER_w_structure("mayo3", mayo3, der, PrivateKeyInfo), -ENCODER_w_structure("mayo3", mayo3, pem, PrivateKeyInfo), -ENCODER_w_structure("mayo3", mayo3, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo3", mayo3, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo3", mayo3, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mayo3", mayo3, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mayo3", mayo3), -ENCODER_w_structure("p384_mayo3", p384_mayo3, der, PrivateKeyInfo), -ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, PrivateKeyInfo), -ENCODER_w_structure("p384_mayo3", p384_mayo3, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p384_mayo3", p384_mayo3, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p384_mayo3", p384_mayo3), + ENCODER_w_structure("mayo3", mayo3, der, PrivateKeyInfo), + ENCODER_w_structure("mayo3", mayo3, pem, PrivateKeyInfo), + ENCODER_w_structure("mayo3", mayo3, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo3", mayo3, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo3", mayo3, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mayo3", mayo3, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mayo3", mayo3), + ENCODER_w_structure("p384_mayo3", p384_mayo3, der, PrivateKeyInfo), + ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, PrivateKeyInfo), + ENCODER_w_structure("p384_mayo3", p384_mayo3, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p384_mayo3", p384_mayo3, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p384_mayo3", p384_mayo3), #endif #ifdef OQS_ENABLE_SIG_mayo_5 -ENCODER_w_structure("mayo5", mayo5, der, PrivateKeyInfo), -ENCODER_w_structure("mayo5", mayo5, pem, PrivateKeyInfo), -ENCODER_w_structure("mayo5", mayo5, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo5", mayo5, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("mayo5", mayo5, der, SubjectPublicKeyInfo), -ENCODER_w_structure("mayo5", mayo5, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("mayo5", mayo5), -ENCODER_w_structure("p521_mayo5", p521_mayo5, der, PrivateKeyInfo), -ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, PrivateKeyInfo), -ENCODER_w_structure("p521_mayo5", p521_mayo5, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("p521_mayo5", p521_mayo5, der, SubjectPublicKeyInfo), -ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("p521_mayo5", p521_mayo5), + ENCODER_w_structure("mayo5", mayo5, der, PrivateKeyInfo), + ENCODER_w_structure("mayo5", mayo5, pem, PrivateKeyInfo), + ENCODER_w_structure("mayo5", mayo5, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo5", mayo5, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("mayo5", mayo5, der, SubjectPublicKeyInfo), + ENCODER_w_structure("mayo5", mayo5, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("mayo5", mayo5), + ENCODER_w_structure("p521_mayo5", p521_mayo5, der, PrivateKeyInfo), + ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, PrivateKeyInfo), + ENCODER_w_structure("p521_mayo5", p521_mayo5, der, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, EncryptedPrivateKeyInfo), + ENCODER_w_structure("p521_mayo5", p521_mayo5, der, SubjectPublicKeyInfo), + ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, SubjectPublicKeyInfo), + ENCODER_TEXT("p521_mayo5", p521_mayo5), #endif #ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced -ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, PrivateKeyInfo), -ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, PrivateKeyInfo), -ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, SubjectPublicKeyInfo), -ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("CROSSrsdp128balanced", CROSSrsdp128balanced), + ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, + PrivateKeyInfo), + ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, + PrivateKeyInfo), + ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("CROSSrsdp128balanced", CROSSrsdp128balanced), #endif -///// OQS_TEMPLATE_FRAGMENT_MAKE_END + ///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index 559e9826..16420531 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -181,11 +181,11 @@ const char *oqs_oid_alg_list[OQS_OID_CNT] = { "dilithium5", "1.3.9999.2.7.4", "p521_dilithium5", - "1.3.6.1.4.1.2.267.12.4.4", + "2.16.840.1.101.3.4.3.17", "mldsa44", - "1.3.9999.7.1", + "1.3.9999.7.5", "p256_mldsa44", - "1.3.9999.7.2", + "1.3.9999.7.6", "rsa3072_mldsa44", "2.16.840.1.114027.80.8.1.1", "mldsa44_pss2048", @@ -197,9 +197,9 @@ const char *oqs_oid_alg_list[OQS_OID_CNT] = { "mldsa44_p256", "2.16.840.1.114027.80.8.1.5", "mldsa44_bp256", - "1.3.6.1.4.1.2.267.12.6.5", + "2.16.840.1.101.3.4.3.18", "mldsa65", - "1.3.9999.7.3", + "1.3.9999.7.7", "p384_mldsa65", "2.16.840.1.114027.80.8.1.6", "mldsa65_pss3072", @@ -211,9 +211,9 @@ const char *oqs_oid_alg_list[OQS_OID_CNT] = { "mldsa65_bp256", "2.16.840.1.114027.80.8.1.10", "mldsa65_ed25519", - "1.3.6.1.4.1.2.267.12.8.7", + "2.16.840.1.101.3.4.3.19", "mldsa87", - "1.3.9999.7.4", + "1.3.9999.7.8", "p521_mldsa87", "2.16.840.1.114027.80.8.1.11", "mldsa87_p384", diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index a809aa08..28a032a9 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -269,15 +269,15 @@ static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { {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}, + {0xfea6, 256, TLS1_3_VERSION, 0}, {0xff06, 128, TLS1_3_VERSION, 0}, + {0xff09, 128, TLS1_3_VERSION, 0}, {0xff0a, 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}, + {0xfee5, 128, TLS1_3_VERSION, 0}, {0xff07, 192, TLS1_3_VERSION, 0}, + {0xff0b, 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}, + {0xff08, 256, TLS1_3_VERSION, 0}, {0xff0c, 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}, @@ -660,11 +660,11 @@ static const OSSL_PARAM oqs_param_sigalg_list[][12] = { "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", + OQS_SIGALG_ENTRY(mldsa44, mldsa44, mldsa44, "2.16.840.1.101.3.4.3.17", 7), + OQS_SIGALG_ENTRY(p256_mldsa44, p256_mldsa44, p256_mldsa44, "1.3.9999.7.5", 8), OQS_SIGALG_ENTRY(rsa3072_mldsa44, rsa3072_mldsa44, rsa3072_mldsa44, - "1.3.9999.7.2", 9), + "1.3.9999.7.6", 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, @@ -677,8 +677,8 @@ static const OSSL_PARAM oqs_param_sigalg_list[][12] = { "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", + OQS_SIGALG_ENTRY(mldsa65, mldsa65, mldsa65, "2.16.840.1.101.3.4.3.18", 15), + OQS_SIGALG_ENTRY(p384_mldsa65, p384_mldsa65, p384_mldsa65, "1.3.9999.7.7", 16), OQS_SIGALG_ENTRY(mldsa65_pss3072, mldsa65_pss3072, mldsa65_pss3072, "2.16.840.1.114027.80.8.1.6", 17), @@ -692,8 +692,8 @@ static const OSSL_PARAM oqs_param_sigalg_list[][12] = { "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", + OQS_SIGALG_ENTRY(mldsa87, mldsa87, mldsa87, "2.16.840.1.101.3.4.3.19", 22), + OQS_SIGALG_ENTRY(p521_mldsa87, p521_mldsa87, p521_mldsa87, "1.3.9999.7.8", 23), OQS_SIGALG_ENTRY(mldsa87_p384, mldsa87_p384, mldsa87_p384, "2.16.840.1.114027.80.8.1.11", 24), diff --git a/scripts/fullbuild.sh b/scripts/fullbuild.sh index 41eb3b0b..e8a9bb67 100755 --- a/scripts/fullbuild.sh +++ b/scripts/fullbuild.sh @@ -40,7 +40,7 @@ else fi if [ -z "$OQS_LIBJADE_BUILD"]; then - export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=ON" + export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=OFF" else export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=$OQS_LIBJADE_BUILD" fi From d701e49e7b59f2f7e6570d1e0d80e923e892718c Mon Sep 17 00:00:00 2001 From: Basil Hess Date: Thu, 14 Nov 2024 00:17:18 +0100 Subject: [PATCH 2/7] fix unwanted change Signed-off-by: Basil Hess --- scripts/fullbuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fullbuild.sh b/scripts/fullbuild.sh index e8a9bb67..41eb3b0b 100755 --- a/scripts/fullbuild.sh +++ b/scripts/fullbuild.sh @@ -40,7 +40,7 @@ else fi if [ -z "$OQS_LIBJADE_BUILD"]; then - export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=OFF" + export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=ON" else export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=$OQS_LIBJADE_BUILD" fi From 69a352e436f99238ed308dbd47ed7f7bfdbbf356 Mon Sep 17 00:00:00 2001 From: Basil Hess Date: Thu, 14 Nov 2024 22:57:07 +0100 Subject: [PATCH 3/7] sync with liboqs Signed-off-by: Basil Hess --- oqsprov/oqs_sig.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/oqsprov/oqs_sig.c b/oqsprov/oqs_sig.c index 98973ebf..7d473fa3 100644 --- a/oqsprov/oqs_sig.c +++ b/oqsprov/oqs_sig.c @@ -519,7 +519,6 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, buf = OPENSSL_malloc(oqs_sig_len); if (OQS_SIG_sign(oqs_key, buf, &oqs_sig_len, (const unsigned char *)final_tbs, final_tbslen, - NULL, 0, oqsxkey->comp_privkey[i]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); CompositeSignature_free(compsig); @@ -668,7 +667,6 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, CompositeSignature_free(compsig); OPENSSL_free(final_tbs); } else if (OQS_SIG_sign(oqs_key, sig + index, &oqs_sig_len, tbs, tbslen, - NULL, 0, oqsxkey->comp_privkey[oqsxkey->numkeys - 1]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); @@ -881,7 +879,7 @@ static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, if (get_oqsname_fromtls(name)) { if (OQS_SIG_verify(oqs_key, (const unsigned char *)final_tbs, - final_tbslen, buf, buf_len, NULL, 0, + final_tbslen, buf, buf_len, oqsxkey->comp_pubkey[i]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); OPENSSL_free(name); @@ -997,7 +995,7 @@ static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, goto endverify; } if (OQS_SIG_verify(oqs_key, tbs, tbslen, sig + index, - siglen - classical_sig_len, NULL, 0, + siglen - classical_sig_len, oqsxkey->comp_pubkey[oqsxkey->numkeys - 1]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); From 1726e74c33fa5b9e3b6f4ba907e3c2e06ee5be61 Mon Sep 17 00:00:00 2001 From: Basil Hess Date: Wed, 27 Nov 2024 19:14:22 +0100 Subject: [PATCH 4/7] revert change in fullbuild.sh Signed-off-by: Basil Hess --- scripts/fullbuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/fullbuild.sh b/scripts/fullbuild.sh index 41eb3b0b..e8a9bb67 100755 --- a/scripts/fullbuild.sh +++ b/scripts/fullbuild.sh @@ -40,7 +40,7 @@ else fi if [ -z "$OQS_LIBJADE_BUILD"]; then - export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=ON" + export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=OFF" else export DOQS_LIBJADE_BUILD="-DOQS_LIBJADE_BUILD=$OQS_LIBJADE_BUILD" fi From 58459abdd661bce521cec1386123a00b8a61e747 Mon Sep 17 00:00:00 2001 From: Basil Hess Date: Wed, 27 Nov 2024 19:19:56 +0100 Subject: [PATCH 5/7] run do_code_format.sh Signed-off-by: Basil Hess --- oqs-template/oqs-sig-info.md | 384 +++---- oqsprov/oqs_sig.c | 7 +- oqsprov/oqsdecoders.inc | 574 ++++------ oqsprov/oqsencoders.inc | 2033 ++++++++++++++-------------------- 4 files changed, 1205 insertions(+), 1793 deletions(-) diff --git a/oqs-template/oqs-sig-info.md b/oqs-template/oqs-sig-info.md index 635a15f7..ea2b70fb 100644 --- a/oqs-template/oqs-sig-info.md +++ b/oqs-template/oqs-sig-info.md @@ -1,192 +1,192 @@ -| Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID | -|:--------------------------------------------------|:------------------------------------------------|:-------------|---------------------:|:-------------|:----------------------------| -| CROSSrsdp128balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef6 | 1.3.6.1.4.1.62245.2.1.1 | -| CROSSrsdp128fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef7 | 1.3.6.1.4.1.62245.2.1.2 | -| CROSSrsdp128small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfef8 | 1.3.6.1.4.1.62245.2.1.3 | -| CROSSrsdp192balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfef9 | 1.3.6.1.4.1.62245.2.1.4 | -| CROSSrsdp192fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfefa | 1.3.6.1.4.1.62245.2.1.5 | -| CROSSrsdp192small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xfefb | 1.3.6.1.4.1.62245.2.1.6 | -| CROSSrsdp256small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xfefc | 1.3.6.1.4.1.62245.2.1.9 | -| CROSSrsdpg128balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfefd | 1.3.6.1.4.1.62245.2.1.10 | -| CROSSrsdpg128fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfefe | 1.3.6.1.4.1.62245.2.1.11 | -| CROSSrsdpg128small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 1 | 0xfeff | 1.3.6.1.4.1.62245.2.1.12 | -| CROSSrsdpg192balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff00 | 1.3.6.1.4.1.62245.2.1.13 | -| CROSSrsdpg192fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff01 | 1.3.6.1.4.1.62245.2.1.14 | -| CROSSrsdpg192small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 3 | 0xff02 | 1.3.6.1.4.1.62245.2.1.15 | -| CROSSrsdpg256balanced | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff03 | 1.3.6.1.4.1.62245.2.1.16 | -| CROSSrsdpg256fast | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff04 | 1.3.6.1.4.1.62245.2.1.17 | -| CROSSrsdpg256small | 1.2 + Keccak_x4 + PQClean fixes | 1 | 5 | 0xff05 | 1.3.6.1.4.1.62245.2.1.18 | -| dilithium2 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.2.267.7.4.4 | -| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfea1 | 1.3.9999.2.7.1 | -| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfea2 | 1.3.9999.2.7.2 | -| dilithium3 | 3.1 | 3 | 3 | 0xfea3 | 1.3.6.1.4.1.2.267.7.6.5 | -| dilithium3 **hybrid with** p384 | 3.1 | 3 | 3 | 0xfea4 | 1.3.9999.2.7.3 | -| dilithium5 | 3.1 | 3 | 5 | 0xfea5 | 1.3.6.1.4.1.2.267.7.8.7 | -| dilithium5 **hybrid with** p521 | 3.1 | 3 | 5 | 0xfea6 | 1.3.9999.2.7.4 | -| dilithium2_aes | NIST Round 3 submission | 3 | 2 | 0xfea7 | 1.3.6.1.4.1.2.267.11.4.4 | -| dilithium2_aes **hybrid with** p256 | NIST Round 3 submission | 3 | 2 | 0xfea8 | 1.3.9999.2.11.1 | -| dilithium2_aes **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 2 | 0xfea9 | 1.3.9999.2.11.2 | -| dilithium3_aes | NIST Round 3 submission | 3 | 3 | 0xfeaa | 1.3.6.1.4.1.2.267.11.6.5 | -| dilithium3_aes **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfeab | 1.3.9999.2.11.3 | -| dilithium5_aes | NIST Round 3 submission | 3 | 5 | 0xfeac | 1.3.6.1.4.1.2.267.11.8.7 | -| dilithium5_aes **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfead | 1.3.9999.2.11.4 | -| falcon512 | 20211101 | 3 | 1 | 0xfed7 | 1.3.9999.3.11 | -| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfed8 | 1.3.9999.3.12 | -| falcon512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfed9 | 1.3.9999.3.13 | -| falcon512 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeae | 1.3.9999.3.6 | -| falcon512 **hybrid with** p256 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeaf | 1.3.9999.3.7 | -| falcon512 **hybrid with** rsa3072 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeb0 | 1.3.9999.3.8 | -| falcon512 | NIST Round 3 submission | 3 | 1 | 0xfe0b | 1.3.9999.3.1 | -| falcon512 **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe0c | 1.3.9999.3.2 | -| falcon512 **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe0d | 1.3.9999.3.3 | -| falconpadded512 | 20211101 | 3 | 1 | 0xfedc | 1.3.9999.3.16 | -| falconpadded512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfedd | 1.3.9999.3.17 | -| falconpadded512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfede | 1.3.9999.3.18 | -| falcon1024 | 20211101 | 3 | 5 | 0xfeda | 1.3.9999.3.14 | -| falcon1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfedb | 1.3.9999.3.15 | -| falcon1024 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb1 | 1.3.9999.3.9 | -| falcon1024 **hybrid with** p521 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb2 | 1.3.9999.3.10 | -| falcon1024 | NIST Round 3 submission | 3 | 5 | 0xfe0e | 1.3.9999.3.4 | -| falcon1024 **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe0f | 1.3.9999.3.5 | -| falconpadded1024 | 20211101 | 3 | 5 | 0xfedf | 1.3.9999.3.19 | -| falconpadded1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfee0 | 1.3.9999.3.20 | -| mayo1 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeee | 1.3.9999.8.1.1 | -| mayo1 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef2 | 1.3.9999.8.1.2 | -| mayo2 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeef | 1.3.9999.8.2.1 | -| mayo2 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef3 | 1.3.9999.8.2.2 | -| mayo3 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef0 | 1.3.9999.8.3.1 | -| mayo3 **hybrid with** p384 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef4 | 1.3.9999.8.3.2 | -| mayo5 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef1 | 1.3.9999.8.5.1 | -| mayo5 **hybrid with** p521 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef5 | 1.3.9999.8.5.2 | -| mldsa44 | ML-DSA | FIPS204 | 1 | 0xff06 | 2.16.840.1.101.3.4.3.17 | -| mldsa44 **hybrid with** p256 | ML-DSA | FIPS204 | 1 | 0xff09 | 1.3.9999.7.5 | -| mldsa44 **hybrid with** rsa3072 | ML-DSA | FIPS204 | 1 | 0xff0a | 1.3.9999.7.6 | -| mldsa44 **composite with** pss2048 | ML-DSA | FIPS204 | 1 | 0xfee1 | 2.16.840.1.114027.80.8.1.1 | -| mldsa44 **composite with** rsa2048 | ML-DSA | FIPS204 | 1 | 0xfee2 | 2.16.840.1.114027.80.8.1.2 | -| mldsa44 **composite with** ed25519 | ML-DSA | FIPS204 | 1 | 0xfee3 | 2.16.840.1.114027.80.8.1.3 | -| mldsa44 **composite with** p256 | ML-DSA | FIPS204 | 1 | 0xfee4 | 2.16.840.1.114027.80.8.1.4 | -| mldsa44 **composite with** bp256 | ML-DSA | FIPS204 | 1 | 0xfee5 | 2.16.840.1.114027.80.8.1.5 | -| mldsa65 | ML-DSA | FIPS204 | 3 | 0xff07 | 2.16.840.1.101.3.4.3.18 | -| mldsa65 **hybrid with** p384 | ML-DSA | FIPS204 | 3 | 0xff0b | 1.3.9999.7.7 | -| mldsa65 **composite with** pss3072 | ML-DSA | FIPS204 | 3 | 0xfee6 | 2.16.840.1.114027.80.8.1.6 | -| mldsa65 **composite with** rsa3072 | ML-DSA | FIPS204 | 3 | 0xfee7 | 2.16.840.1.114027.80.8.1.7 | -| mldsa65 **composite with** p256 | ML-DSA | FIPS204 | 3 | 0xfee8 | 2.16.840.1.114027.80.8.1.8 | -| mldsa65 **composite with** bp256 | ML-DSA | FIPS204 | 3 | 0xfee9 | 2.16.840.1.114027.80.8.1.9 | -| mldsa65 **composite with** ed25519 | ML-DSA | FIPS204 | 3 | 0xfeea | 2.16.840.1.114027.80.8.1.10 | -| mldsa87 | ML-DSA | FIPS204 | 5 | 0xff08 | 2.16.840.1.101.3.4.3.19 | -| mldsa87 **hybrid with** p521 | ML-DSA | FIPS204 | 5 | 0xff0c | 1.3.9999.7.8 | -| mldsa87 **composite with** p384 | ML-DSA | FIPS204 | 5 | 0xfeeb | 2.16.840.1.114027.80.8.1.11 | -| mldsa87 **composite with** bp384 | ML-DSA | FIPS204 | 5 | 0xfeec | 2.16.840.1.114027.80.8.1.12 | -| mldsa87 **composite with** ed448 | ML-DSA | FIPS204 | 5 | 0xfeed | 2.16.840.1.114027.80.8.1.13 | -| sphincsharaka128frobust | NIST Round 3 submission | 3 | 1 | 0xfe42 | 1.3.9999.6.1.1 | -| sphincsharaka128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe43 | 1.3.9999.6.1.2 | -| sphincsharaka128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe44 | 1.3.9999.6.1.3 | -| sphincsharaka128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe45 | 1.3.9999.6.1.4 | -| sphincsharaka128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe46 | 1.3.9999.6.1.5 | -| sphincsharaka128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe47 | 1.3.9999.6.1.6 | -| sphincsharaka128srobust | NIST Round 3 submission | 3 | 1 | 0xfe48 | 1.3.9999.6.1.7 | -| sphincsharaka128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe49 | 1.3.9999.6.1.8 | -| sphincsharaka128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4a | 1.3.9999.6.1.9 | -| sphincsharaka128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe4b | 1.3.9999.6.1.10 | -| sphincsharaka128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe4c | 1.3.9999.6.1.11 | -| sphincsharaka128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4d | 1.3.9999.6.1.12 | -| sphincsharaka192frobust | NIST Round 3 submission | 3 | 3 | 0xfe4e | 1.3.9999.6.2.1 | -| sphincsharaka192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe4f | 1.3.9999.6.2.2 | -| sphincsharaka192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe50 | 1.3.9999.6.2.3 | -| sphincsharaka192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe51 | 1.3.9999.6.2.4 | -| sphincsharaka192srobust | NIST Round 3 submission | 3 | 3 | 0xfe52 | 1.3.9999.6.2.5 | -| sphincsharaka192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe53 | 1.3.9999.6.2.6 | -| sphincsharaka192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe54 | 1.3.9999.6.2.7 | -| sphincsharaka192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe55 | 1.3.9999.6.2.8 | -| sphincsharaka256frobust | NIST Round 3 submission | 3 | 3 | 0xfe56 | 1.3.9999.6.3.1 | -| sphincsharaka256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 3 | 0xfe57 | 1.3.9999.6.3.2 | -| sphincsharaka256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe58 | 1.3.9999.6.3.3 | -| sphincsharaka256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe59 | 1.3.9999.6.3.4 | -| sphincsharaka256srobust | NIST Round 3 submission | 3 | 5 | 0xfe5a | 1.3.9999.6.3.5 | -| sphincsharaka256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5b | 1.3.9999.6.3.6 | -| sphincsharaka256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe5c | 1.3.9999.6.3.7 | -| sphincsharaka256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5d | 1.3.9999.6.3.8 | -| sphincssha26128frobust | NIST Round 3 submission | 3 | 5 | 0xfe5e | 1.3.9999.6.4.1 | -| sphincssha26128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe5f | 1.3.9999.6.4.2 | -| sphincssha26128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe60 | 1.3.9999.6.4.3 | -| sphincssha2128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb3 | 1.3.9999.6.4.13 | -| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb4 | 1.3.9999.6.4.14 | -| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb5 | 1.3.9999.6.4.15 | -| sphincssha2128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe61 | 1.3.9999.6.4.4 | -| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe62 | 1.3.9999.6.4.5 | -| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe63 | 1.3.9999.6.4.6 | -| sphincssha256128srobust | NIST Round 3 submission | 3 | 5 | 0xfe64 | 1.3.9999.6.4.7 | -| sphincssha256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe65 | 1.3.9999.6.4.8 | -| sphincssha256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe66 | 1.3.9999.6.4.9 | -| sphincssha2128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb6 | 1.3.9999.6.4.16 | -| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb7 | 1.3.9999.6.4.17 | -| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb8 | 1.3.9999.6.4.18 | -| sphincssha2128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe67 | 1.3.9999.6.4.10 | -| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe68 | 1.3.9999.6.4.11 | -| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe69 | 1.3.9999.6.4.12 | -| sphincssha256192frobust | NIST Round 3 submission | 3 | 5 | 0xfe6a | 1.3.9999.6.5.1 | -| sphincssha256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6b | 1.3.9999.6.5.2 | -| sphincssha2192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeb9 | 1.3.9999.6.5.10 | -| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeba | 1.3.9999.6.5.11 | -| sphincssha2192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe6c | 1.3.9999.6.5.3 | -| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe6d | 1.3.9999.6.5.4 | -| sphincssha256192srobust | NIST Round 3 submission | 3 | 5 | 0xfe6e | 1.3.9999.6.5.5 | -| sphincssha256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6f | 1.3.9999.6.5.6 | -| sphincssha2192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebb | 1.3.9999.6.5.12 | -| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebc | 1.3.9999.6.5.13 | -| sphincssha2192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe70 | 1.3.9999.6.5.7 | -| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe71 | 1.3.9999.6.5.8 | -| sphincssha256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe72 | 1.3.9999.6.6.1 | -| sphincssha256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe73 | 1.3.9999.6.6.2 | -| sphincssha2256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebd | 1.3.9999.6.6.10 | -| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebe | 1.3.9999.6.6.11 | -| sphincssha2256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe74 | 1.3.9999.6.6.3 | -| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe75 | 1.3.9999.6.6.4 | -| sphincssha256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe76 | 1.3.9999.6.6.5 | -| sphincssha256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe77 | 1.3.9999.6.6.6 | -| sphincssha2256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec0 | 1.3.9999.6.6.12 | -| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec1 | 1.3.9999.6.6.13 | -| sphincssha2256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe78 | 1.3.9999.6.6.7 | -| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe79 | 1.3.9999.6.6.8 | -| sphincsshake256128frobust | NIST Round 3 submission | 3 | 1 | 0xfe7a | 1.3.9999.6.7.1 | -| sphincsshake256128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7b | 1.3.9999.6.7.2 | -| sphincsshake256128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7c | 1.3.9999.6.7.3 | -| sphincsshake128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec2 | 1.3.9999.6.7.13 | -| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec3 | 1.3.9999.6.7.14 | -| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec4 | 1.3.9999.6.7.15 | -| sphincsshake128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe7d | 1.3.9999.6.7.4 | -| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7e | 1.3.9999.6.7.5 | -| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7f | 1.3.9999.6.7.6 | -| sphincsshake256128srobust | NIST Round 3 submission | 3 | 1 | 0xfe80 | 1.3.9999.6.7.7 | -| sphincsshake256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe81 | 1.3.9999.6.7.8 | -| sphincsshake256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe82 | 1.3.9999.6.7.9 | -| sphincsshake128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec5 | 1.3.9999.6.7.16 | -| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec6 | 1.3.9999.6.7.17 | -| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec7 | 1.3.9999.6.7.18 | -| sphincsshake128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe83 | 1.3.9999.6.7.10 | -| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe84 | 1.3.9999.6.7.11 | -| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe85 | 1.3.9999.6.7.12 | -| sphincsshake256192frobust | NIST Round 3 submission | 3 | 3 | 0xfe86 | 1.3.9999.6.8.1 | -| sphincsshake256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe87 | 1.3.9999.6.8.2 | -| sphincsshake192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec8 | 1.3.9999.6.8.10 | -| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec9 | 1.3.9999.6.8.11 | -| sphincsshake192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe88 | 1.3.9999.6.8.3 | -| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe89 | 1.3.9999.6.8.4 | -| sphincsshake256192srobust | NIST Round 3 submission | 3 | 3 | 0xfe8a | 1.3.9999.6.8.5 | -| sphincsshake256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8b | 1.3.9999.6.8.6 | -| sphincsshake192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeca | 1.3.9999.6.8.12 | -| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfecb | 1.3.9999.6.8.13 | -| sphincsshake192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe8c | 1.3.9999.6.8.7 | -| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8d | 1.3.9999.6.8.8 | -| sphincsshake256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe8e | 1.3.9999.6.9.1 | -| sphincsshake256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe8f | 1.3.9999.6.9.2 | -| sphincsshake256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecc | 1.3.9999.6.9.10 | -| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecd | 1.3.9999.6.9.11 | -| sphincsshake256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe90 | 1.3.9999.6.9.3 | -| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe91 | 1.3.9999.6.9.4 | -| sphincsshake256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe92 | 1.3.9999.6.9.5 | -| sphincsshake256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe93 | 1.3.9999.6.9.6 | -| sphincsshake256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfece | 1.3.9999.6.9.12 | -| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecf | 1.3.9999.6.9.13 | -| sphincsshake256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe94 | 1.3.9999.6.9.7 | -| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe95 | 1.3.9999.6.9.8 | +| Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID | +|:--------------------------------------------------|:-------------------------------------------------|:-------------|---------------------:|:-------------|:----------------------------| +| CROSSrsdp128balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfef6 | 1.3.6.1.4.1.62245.2.1.1 | +| CROSSrsdp128fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfef7 | 1.3.6.1.4.1.62245.2.1.2 | +| CROSSrsdp128small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfef8 | 1.3.6.1.4.1.62245.2.1.3 | +| CROSSrsdp192balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xfef9 | 1.3.6.1.4.1.62245.2.1.4 | +| CROSSrsdp192fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xfefa | 1.3.6.1.4.1.62245.2.1.5 | +| CROSSrsdp192small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xfefb | 1.3.6.1.4.1.62245.2.1.6 | +| CROSSrsdp256small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xfefc | 1.3.6.1.4.1.62245.2.1.9 | +| CROSSrsdpg128balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfefd | 1.3.6.1.4.1.62245.2.1.10 | +| CROSSrsdpg128fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfefe | 1.3.6.1.4.1.62245.2.1.11 | +| CROSSrsdpg128small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 1 | 0xfeff | 1.3.6.1.4.1.62245.2.1.12 | +| CROSSrsdpg192balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xff00 | 1.3.6.1.4.1.62245.2.1.13 | +| CROSSrsdpg192fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xff01 | 1.3.6.1.4.1.62245.2.1.14 | +| CROSSrsdpg192small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 3 | 0xff02 | 1.3.6.1.4.1.62245.2.1.15 | +| CROSSrsdpg256balanced | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xff03 | 1.3.6.1.4.1.62245.2.1.16 | +| CROSSrsdpg256fast | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xff04 | 1.3.6.1.4.1.62245.2.1.17 | +| CROSSrsdpg256small | 1.2 + Keccak_x4 + PQClean fixes + endianness fix | 1 | 5 | 0xff05 | 1.3.6.1.4.1.62245.2.1.18 | +| dilithium2 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.2.267.7.4.4 | +| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfea1 | 1.3.9999.2.7.1 | +| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfea2 | 1.3.9999.2.7.2 | +| dilithium3 | 3.1 | 3 | 3 | 0xfea3 | 1.3.6.1.4.1.2.267.7.6.5 | +| dilithium3 **hybrid with** p384 | 3.1 | 3 | 3 | 0xfea4 | 1.3.9999.2.7.3 | +| dilithium5 | 3.1 | 3 | 5 | 0xfea5 | 1.3.6.1.4.1.2.267.7.8.7 | +| dilithium5 **hybrid with** p521 | 3.1 | 3 | 5 | 0xfea6 | 1.3.9999.2.7.4 | +| dilithium2_aes | NIST Round 3 submission | 3 | 2 | 0xfea7 | 1.3.6.1.4.1.2.267.11.4.4 | +| dilithium2_aes **hybrid with** p256 | NIST Round 3 submission | 3 | 2 | 0xfea8 | 1.3.9999.2.11.1 | +| dilithium2_aes **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 2 | 0xfea9 | 1.3.9999.2.11.2 | +| dilithium3_aes | NIST Round 3 submission | 3 | 3 | 0xfeaa | 1.3.6.1.4.1.2.267.11.6.5 | +| dilithium3_aes **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfeab | 1.3.9999.2.11.3 | +| dilithium5_aes | NIST Round 3 submission | 3 | 5 | 0xfeac | 1.3.6.1.4.1.2.267.11.8.7 | +| dilithium5_aes **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfead | 1.3.9999.2.11.4 | +| falcon512 | 20211101 | 3 | 1 | 0xfed7 | 1.3.9999.3.11 | +| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfed8 | 1.3.9999.3.12 | +| falcon512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfed9 | 1.3.9999.3.13 | +| falcon512 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeae | 1.3.9999.3.6 | +| falcon512 **hybrid with** p256 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeaf | 1.3.9999.3.7 | +| falcon512 **hybrid with** rsa3072 | PQClean Round 3 version labelled 20211101 | 3 | 1 | 0xfeb0 | 1.3.9999.3.8 | +| falcon512 | NIST Round 3 submission | 3 | 1 | 0xfe0b | 1.3.9999.3.1 | +| falcon512 **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe0c | 1.3.9999.3.2 | +| falcon512 **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe0d | 1.3.9999.3.3 | +| falconpadded512 | 20211101 | 3 | 1 | 0xfedc | 1.3.9999.3.16 | +| falconpadded512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfedd | 1.3.9999.3.17 | +| falconpadded512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfede | 1.3.9999.3.18 | +| falcon1024 | 20211101 | 3 | 5 | 0xfeda | 1.3.9999.3.14 | +| falcon1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfedb | 1.3.9999.3.15 | +| falcon1024 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb1 | 1.3.9999.3.9 | +| falcon1024 **hybrid with** p521 | PQClean Round 3 version labelled 20211101 | 3 | 5 | 0xfeb2 | 1.3.9999.3.10 | +| falcon1024 | NIST Round 3 submission | 3 | 5 | 0xfe0e | 1.3.9999.3.4 | +| falcon1024 **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe0f | 1.3.9999.3.5 | +| falconpadded1024 | 20211101 | 3 | 5 | 0xfedf | 1.3.9999.3.19 | +| falconpadded1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfee0 | 1.3.9999.3.20 | +| mayo1 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeee | 1.3.9999.8.1.1 | +| mayo1 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef2 | 1.3.9999.8.1.2 | +| mayo2 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfeef | 1.3.9999.8.2.1 | +| mayo2 **hybrid with** p256 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 1 | 0xfef3 | 1.3.9999.8.2.2 | +| mayo3 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef0 | 1.3.9999.8.3.1 | +| mayo3 **hybrid with** p384 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef4 | 1.3.9999.8.3.2 | +| mayo5 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef1 | 1.3.9999.8.5.1 | +| mayo5 **hybrid with** p521 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef5 | 1.3.9999.8.5.2 | +| mldsa44 | ML-DSA | FIPS204 | 1 | 0xff06 | 2.16.840.1.101.3.4.3.17 | +| mldsa44 **hybrid with** p256 | ML-DSA | FIPS204 | 1 | 0xff09 | 1.3.9999.7.5 | +| mldsa44 **hybrid with** rsa3072 | ML-DSA | FIPS204 | 1 | 0xff0a | 1.3.9999.7.6 | +| mldsa44 **composite with** pss2048 | ML-DSA | FIPS204 | 1 | 0xfee1 | 2.16.840.1.114027.80.8.1.1 | +| mldsa44 **composite with** rsa2048 | ML-DSA | FIPS204 | 1 | 0xfee2 | 2.16.840.1.114027.80.8.1.2 | +| mldsa44 **composite with** ed25519 | ML-DSA | FIPS204 | 1 | 0xfee3 | 2.16.840.1.114027.80.8.1.3 | +| mldsa44 **composite with** p256 | ML-DSA | FIPS204 | 1 | 0xfee4 | 2.16.840.1.114027.80.8.1.4 | +| mldsa44 **composite with** bp256 | ML-DSA | FIPS204 | 1 | 0xfee5 | 2.16.840.1.114027.80.8.1.5 | +| mldsa65 | ML-DSA | FIPS204 | 3 | 0xff07 | 2.16.840.1.101.3.4.3.18 | +| mldsa65 **hybrid with** p384 | ML-DSA | FIPS204 | 3 | 0xff0b | 1.3.9999.7.7 | +| mldsa65 **composite with** pss3072 | ML-DSA | FIPS204 | 3 | 0xfee6 | 2.16.840.1.114027.80.8.1.6 | +| mldsa65 **composite with** rsa3072 | ML-DSA | FIPS204 | 3 | 0xfee7 | 2.16.840.1.114027.80.8.1.7 | +| mldsa65 **composite with** p256 | ML-DSA | FIPS204 | 3 | 0xfee8 | 2.16.840.1.114027.80.8.1.8 | +| mldsa65 **composite with** bp256 | ML-DSA | FIPS204 | 3 | 0xfee9 | 2.16.840.1.114027.80.8.1.9 | +| mldsa65 **composite with** ed25519 | ML-DSA | FIPS204 | 3 | 0xfeea | 2.16.840.1.114027.80.8.1.10 | +| mldsa87 | ML-DSA | FIPS204 | 5 | 0xff08 | 2.16.840.1.101.3.4.3.19 | +| mldsa87 **hybrid with** p521 | ML-DSA | FIPS204 | 5 | 0xff0c | 1.3.9999.7.8 | +| mldsa87 **composite with** p384 | ML-DSA | FIPS204 | 5 | 0xfeeb | 2.16.840.1.114027.80.8.1.11 | +| mldsa87 **composite with** bp384 | ML-DSA | FIPS204 | 5 | 0xfeec | 2.16.840.1.114027.80.8.1.12 | +| mldsa87 **composite with** ed448 | ML-DSA | FIPS204 | 5 | 0xfeed | 2.16.840.1.114027.80.8.1.13 | +| sphincsharaka128frobust | NIST Round 3 submission | 3 | 1 | 0xfe42 | 1.3.9999.6.1.1 | +| sphincsharaka128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe43 | 1.3.9999.6.1.2 | +| sphincsharaka128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe44 | 1.3.9999.6.1.3 | +| sphincsharaka128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe45 | 1.3.9999.6.1.4 | +| sphincsharaka128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe46 | 1.3.9999.6.1.5 | +| sphincsharaka128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe47 | 1.3.9999.6.1.6 | +| sphincsharaka128srobust | NIST Round 3 submission | 3 | 1 | 0xfe48 | 1.3.9999.6.1.7 | +| sphincsharaka128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe49 | 1.3.9999.6.1.8 | +| sphincsharaka128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4a | 1.3.9999.6.1.9 | +| sphincsharaka128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe4b | 1.3.9999.6.1.10 | +| sphincsharaka128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe4c | 1.3.9999.6.1.11 | +| sphincsharaka128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe4d | 1.3.9999.6.1.12 | +| sphincsharaka192frobust | NIST Round 3 submission | 3 | 3 | 0xfe4e | 1.3.9999.6.2.1 | +| sphincsharaka192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe4f | 1.3.9999.6.2.2 | +| sphincsharaka192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe50 | 1.3.9999.6.2.3 | +| sphincsharaka192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe51 | 1.3.9999.6.2.4 | +| sphincsharaka192srobust | NIST Round 3 submission | 3 | 3 | 0xfe52 | 1.3.9999.6.2.5 | +| sphincsharaka192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe53 | 1.3.9999.6.2.6 | +| sphincsharaka192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe54 | 1.3.9999.6.2.7 | +| sphincsharaka192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe55 | 1.3.9999.6.2.8 | +| sphincsharaka256frobust | NIST Round 3 submission | 3 | 3 | 0xfe56 | 1.3.9999.6.3.1 | +| sphincsharaka256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 3 | 0xfe57 | 1.3.9999.6.3.2 | +| sphincsharaka256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe58 | 1.3.9999.6.3.3 | +| sphincsharaka256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe59 | 1.3.9999.6.3.4 | +| sphincsharaka256srobust | NIST Round 3 submission | 3 | 5 | 0xfe5a | 1.3.9999.6.3.5 | +| sphincsharaka256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5b | 1.3.9999.6.3.6 | +| sphincsharaka256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe5c | 1.3.9999.6.3.7 | +| sphincsharaka256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe5d | 1.3.9999.6.3.8 | +| sphincssha26128frobust | NIST Round 3 submission | 3 | 5 | 0xfe5e | 1.3.9999.6.4.1 | +| sphincssha26128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe5f | 1.3.9999.6.4.2 | +| sphincssha26128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe60 | 1.3.9999.6.4.3 | +| sphincssha2128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb3 | 1.3.9999.6.4.13 | +| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb4 | 1.3.9999.6.4.14 | +| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb5 | 1.3.9999.6.4.15 | +| sphincssha2128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe61 | 1.3.9999.6.4.4 | +| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe62 | 1.3.9999.6.4.5 | +| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe63 | 1.3.9999.6.4.6 | +| sphincssha256128srobust | NIST Round 3 submission | 3 | 5 | 0xfe64 | 1.3.9999.6.4.7 | +| sphincssha256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe65 | 1.3.9999.6.4.8 | +| sphincssha256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe66 | 1.3.9999.6.4.9 | +| sphincssha2128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb6 | 1.3.9999.6.4.16 | +| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb7 | 1.3.9999.6.4.17 | +| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfeb8 | 1.3.9999.6.4.18 | +| sphincssha2128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe67 | 1.3.9999.6.4.10 | +| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe68 | 1.3.9999.6.4.11 | +| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe69 | 1.3.9999.6.4.12 | +| sphincssha256192frobust | NIST Round 3 submission | 3 | 5 | 0xfe6a | 1.3.9999.6.5.1 | +| sphincssha256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6b | 1.3.9999.6.5.2 | +| sphincssha2192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeb9 | 1.3.9999.6.5.10 | +| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeba | 1.3.9999.6.5.11 | +| sphincssha2192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe6c | 1.3.9999.6.5.3 | +| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe6d | 1.3.9999.6.5.4 | +| sphincssha256192srobust | NIST Round 3 submission | 3 | 5 | 0xfe6e | 1.3.9999.6.5.5 | +| sphincssha256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe6f | 1.3.9999.6.5.6 | +| sphincssha2192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebb | 1.3.9999.6.5.12 | +| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfebc | 1.3.9999.6.5.13 | +| sphincssha2192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe70 | 1.3.9999.6.5.7 | +| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe71 | 1.3.9999.6.5.8 | +| sphincssha256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe72 | 1.3.9999.6.6.1 | +| sphincssha256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe73 | 1.3.9999.6.6.2 | +| sphincssha2256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebd | 1.3.9999.6.6.10 | +| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfebe | 1.3.9999.6.6.11 | +| sphincssha2256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe74 | 1.3.9999.6.6.3 | +| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe75 | 1.3.9999.6.6.4 | +| sphincssha256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe76 | 1.3.9999.6.6.5 | +| sphincssha256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe77 | 1.3.9999.6.6.6 | +| sphincssha2256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec0 | 1.3.9999.6.6.12 | +| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfec1 | 1.3.9999.6.6.13 | +| sphincssha2256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe78 | 1.3.9999.6.6.7 | +| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe79 | 1.3.9999.6.6.8 | +| sphincsshake256128frobust | NIST Round 3 submission | 3 | 1 | 0xfe7a | 1.3.9999.6.7.1 | +| sphincsshake256128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7b | 1.3.9999.6.7.2 | +| sphincsshake256128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7c | 1.3.9999.6.7.3 | +| sphincsshake128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec2 | 1.3.9999.6.7.13 | +| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec3 | 1.3.9999.6.7.14 | +| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec4 | 1.3.9999.6.7.15 | +| sphincsshake128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe7d | 1.3.9999.6.7.4 | +| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe7e | 1.3.9999.6.7.5 | +| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe7f | 1.3.9999.6.7.6 | +| sphincsshake256128srobust | NIST Round 3 submission | 3 | 1 | 0xfe80 | 1.3.9999.6.7.7 | +| sphincsshake256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe81 | 1.3.9999.6.7.8 | +| sphincsshake256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe82 | 1.3.9999.6.7.9 | +| sphincsshake128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec5 | 1.3.9999.6.7.16 | +| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec6 | 1.3.9999.6.7.17 | +| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfec7 | 1.3.9999.6.7.18 | +| sphincsshake128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe83 | 1.3.9999.6.7.10 | +| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe84 | 1.3.9999.6.7.11 | +| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe85 | 1.3.9999.6.7.12 | +| sphincsshake256192frobust | NIST Round 3 submission | 3 | 3 | 0xfe86 | 1.3.9999.6.8.1 | +| sphincsshake256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe87 | 1.3.9999.6.8.2 | +| sphincsshake192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec8 | 1.3.9999.6.8.10 | +| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfec9 | 1.3.9999.6.8.11 | +| sphincsshake192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe88 | 1.3.9999.6.8.3 | +| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe89 | 1.3.9999.6.8.4 | +| sphincsshake256192srobust | NIST Round 3 submission | 3 | 3 | 0xfe8a | 1.3.9999.6.8.5 | +| sphincsshake256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8b | 1.3.9999.6.8.6 | +| sphincsshake192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfeca | 1.3.9999.6.8.12 | +| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfecb | 1.3.9999.6.8.13 | +| sphincsshake192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe8c | 1.3.9999.6.8.7 | +| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe8d | 1.3.9999.6.8.8 | +| sphincsshake256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe8e | 1.3.9999.6.9.1 | +| sphincsshake256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe8f | 1.3.9999.6.9.2 | +| sphincsshake256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecc | 1.3.9999.6.9.10 | +| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecd | 1.3.9999.6.9.11 | +| sphincsshake256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe90 | 1.3.9999.6.9.3 | +| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe91 | 1.3.9999.6.9.4 | +| sphincsshake256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe92 | 1.3.9999.6.9.5 | +| sphincsshake256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe93 | 1.3.9999.6.9.6 | +| sphincsshake256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfece | 1.3.9999.6.9.12 | +| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecf | 1.3.9999.6.9.13 | +| sphincsshake256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe94 | 1.3.9999.6.9.7 | +| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe95 | 1.3.9999.6.9.8 | diff --git a/oqsprov/oqs_sig.c b/oqsprov/oqs_sig.c index 7d473fa3..91250642 100644 --- a/oqsprov/oqs_sig.c +++ b/oqsprov/oqs_sig.c @@ -994,10 +994,9 @@ static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); goto endverify; } - if (OQS_SIG_verify(oqs_key, tbs, tbslen, sig + index, - siglen - classical_sig_len, - oqsxkey->comp_pubkey[oqsxkey->numkeys - 1]) != - OQS_SUCCESS) { + if (OQS_SIG_verify( + oqs_key, tbs, tbslen, sig + index, siglen - classical_sig_len, + oqsxkey->comp_pubkey[oqsxkey->numkeys - 1]) != OQS_SUCCESS) { ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); goto endverify; } diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index e94a0e51..cd0403de 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -36,417 +36,247 @@ ///// OQS_TEMPLATE_FRAGMENT_MAKE_START #ifdef OQS_KEM_ENCODERS -# ifdef OQS_ENABLE_KEM_frodokem_640_aes +#ifdef OQS_ENABLE_KEM_frodokem_640_aes DECODER_w_structure("frodo640aes", der, PrivateKeyInfo, frodo640aes), - DECODER_w_structure("frodo640aes", der, SubjectPublicKeyInfo, frodo640aes), - DECODER_w_structure("p256_frodo640aes", der, PrivateKeyInfo, - p256_frodo640aes), - DECODER_w_structure("p256_frodo640aes", der, SubjectPublicKeyInfo, - p256_frodo640aes), - DECODER_w_structure("x25519_frodo640aes", der, PrivateKeyInfo, - x25519_frodo640aes), - DECODER_w_structure("x25519_frodo640aes", der, SubjectPublicKeyInfo, - x25519_frodo640aes), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_640_shake - DECODER_w_structure("frodo640shake", der, PrivateKeyInfo, frodo640shake), - DECODER_w_structure("frodo640shake", der, SubjectPublicKeyInfo, - frodo640shake), - DECODER_w_structure("p256_frodo640shake", der, PrivateKeyInfo, - p256_frodo640shake), - DECODER_w_structure("p256_frodo640shake", der, SubjectPublicKeyInfo, - p256_frodo640shake), - DECODER_w_structure("x25519_frodo640shake", der, PrivateKeyInfo, - x25519_frodo640shake), - DECODER_w_structure("x25519_frodo640shake", der, SubjectPublicKeyInfo, - x25519_frodo640shake), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_976_aes - DECODER_w_structure("frodo976aes", der, PrivateKeyInfo, frodo976aes), - DECODER_w_structure("frodo976aes", der, SubjectPublicKeyInfo, frodo976aes), - DECODER_w_structure("p384_frodo976aes", der, PrivateKeyInfo, - p384_frodo976aes), - DECODER_w_structure("p384_frodo976aes", der, SubjectPublicKeyInfo, - p384_frodo976aes), - DECODER_w_structure("x448_frodo976aes", der, PrivateKeyInfo, - x448_frodo976aes), - DECODER_w_structure("x448_frodo976aes", der, SubjectPublicKeyInfo, - x448_frodo976aes), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_976_shake - DECODER_w_structure("frodo976shake", der, PrivateKeyInfo, frodo976shake), - DECODER_w_structure("frodo976shake", der, SubjectPublicKeyInfo, - frodo976shake), - DECODER_w_structure("p384_frodo976shake", der, PrivateKeyInfo, - p384_frodo976shake), - DECODER_w_structure("p384_frodo976shake", der, SubjectPublicKeyInfo, - p384_frodo976shake), - DECODER_w_structure("x448_frodo976shake", der, PrivateKeyInfo, - x448_frodo976shake), - DECODER_w_structure("x448_frodo976shake", der, SubjectPublicKeyInfo, - x448_frodo976shake), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_1344_aes - DECODER_w_structure("frodo1344aes", der, PrivateKeyInfo, frodo1344aes), - DECODER_w_structure("frodo1344aes", der, SubjectPublicKeyInfo, - frodo1344aes), - DECODER_w_structure("p521_frodo1344aes", der, PrivateKeyInfo, - p521_frodo1344aes), - DECODER_w_structure("p521_frodo1344aes", der, SubjectPublicKeyInfo, - p521_frodo1344aes), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_1344_shake - DECODER_w_structure("frodo1344shake", der, PrivateKeyInfo, frodo1344shake), - DECODER_w_structure("frodo1344shake", der, SubjectPublicKeyInfo, - frodo1344shake), - DECODER_w_structure("p521_frodo1344shake", der, PrivateKeyInfo, - p521_frodo1344shake), - DECODER_w_structure("p521_frodo1344shake", der, SubjectPublicKeyInfo, - p521_frodo1344shake), -# endif -# ifdef OQS_ENABLE_KEM_kyber_512 - DECODER_w_structure("kyber512", der, PrivateKeyInfo, kyber512), - DECODER_w_structure("kyber512", der, SubjectPublicKeyInfo, kyber512), - DECODER_w_structure("p256_kyber512", der, PrivateKeyInfo, p256_kyber512), - DECODER_w_structure("p256_kyber512", der, SubjectPublicKeyInfo, - p256_kyber512), - DECODER_w_structure("x25519_kyber512", der, PrivateKeyInfo, - x25519_kyber512), - DECODER_w_structure("x25519_kyber512", der, SubjectPublicKeyInfo, - x25519_kyber512), -# endif -# ifdef OQS_ENABLE_KEM_kyber_768 - DECODER_w_structure("kyber768", der, PrivateKeyInfo, kyber768), - DECODER_w_structure("kyber768", der, SubjectPublicKeyInfo, kyber768), - DECODER_w_structure("p384_kyber768", der, PrivateKeyInfo, p384_kyber768), - DECODER_w_structure("p384_kyber768", der, SubjectPublicKeyInfo, - p384_kyber768), - DECODER_w_structure("x448_kyber768", der, PrivateKeyInfo, x448_kyber768), - DECODER_w_structure("x448_kyber768", der, SubjectPublicKeyInfo, - x448_kyber768), - DECODER_w_structure("x25519_kyber768", der, PrivateKeyInfo, - x25519_kyber768), - DECODER_w_structure("x25519_kyber768", der, SubjectPublicKeyInfo, - x25519_kyber768), - DECODER_w_structure("p256_kyber768", der, PrivateKeyInfo, p256_kyber768), - DECODER_w_structure("p256_kyber768", der, SubjectPublicKeyInfo, - p256_kyber768), -# endif -# ifdef OQS_ENABLE_KEM_kyber_1024 - DECODER_w_structure("kyber1024", der, PrivateKeyInfo, kyber1024), - DECODER_w_structure("kyber1024", der, SubjectPublicKeyInfo, kyber1024), - DECODER_w_structure("p521_kyber1024", der, PrivateKeyInfo, p521_kyber1024), - DECODER_w_structure("p521_kyber1024", der, SubjectPublicKeyInfo, - p521_kyber1024), -# endif -# ifdef OQS_ENABLE_KEM_ml_kem_512 - DECODER_w_structure("mlkem512", der, PrivateKeyInfo, mlkem512), - DECODER_w_structure("mlkem512", der, SubjectPublicKeyInfo, mlkem512), - DECODER_w_structure("p256_mlkem512", der, PrivateKeyInfo, p256_mlkem512), - DECODER_w_structure("p256_mlkem512", der, SubjectPublicKeyInfo, - p256_mlkem512), - DECODER_w_structure("x25519_mlkem512", der, PrivateKeyInfo, - x25519_mlkem512), - DECODER_w_structure("x25519_mlkem512", der, SubjectPublicKeyInfo, - x25519_mlkem512), -# endif -# ifdef OQS_ENABLE_KEM_ml_kem_768 - DECODER_w_structure("mlkem768", der, PrivateKeyInfo, mlkem768), - DECODER_w_structure("mlkem768", der, SubjectPublicKeyInfo, mlkem768), - DECODER_w_structure("p384_mlkem768", der, PrivateKeyInfo, p384_mlkem768), - DECODER_w_structure("p384_mlkem768", der, SubjectPublicKeyInfo, - p384_mlkem768), - DECODER_w_structure("x448_mlkem768", der, PrivateKeyInfo, x448_mlkem768), - DECODER_w_structure("x448_mlkem768", der, SubjectPublicKeyInfo, - x448_mlkem768), - DECODER_w_structure("X25519MLKEM768", der, PrivateKeyInfo, X25519MLKEM768), - DECODER_w_structure("X25519MLKEM768", der, SubjectPublicKeyInfo, - X25519MLKEM768), - DECODER_w_structure("SecP256r1MLKEM768", der, PrivateKeyInfo, - SecP256r1MLKEM768), - DECODER_w_structure("SecP256r1MLKEM768", der, SubjectPublicKeyInfo, - SecP256r1MLKEM768), -# endif -# ifdef OQS_ENABLE_KEM_ml_kem_1024 - DECODER_w_structure("mlkem1024", der, PrivateKeyInfo, mlkem1024), - DECODER_w_structure("mlkem1024", der, SubjectPublicKeyInfo, mlkem1024), - DECODER_w_structure("p521_mlkem1024", der, PrivateKeyInfo, p521_mlkem1024), - DECODER_w_structure("p521_mlkem1024", der, SubjectPublicKeyInfo, - p521_mlkem1024), - DECODER_w_structure("p384_mlkem1024", der, PrivateKeyInfo, p384_mlkem1024), - DECODER_w_structure("p384_mlkem1024", der, SubjectPublicKeyInfo, - p384_mlkem1024), -# endif -# ifdef OQS_ENABLE_KEM_bike_l1 - DECODER_w_structure("bikel1", der, PrivateKeyInfo, bikel1), - DECODER_w_structure("bikel1", der, SubjectPublicKeyInfo, bikel1), - DECODER_w_structure("p256_bikel1", der, PrivateKeyInfo, p256_bikel1), - DECODER_w_structure("p256_bikel1", der, SubjectPublicKeyInfo, p256_bikel1), - DECODER_w_structure("x25519_bikel1", der, PrivateKeyInfo, x25519_bikel1), - DECODER_w_structure("x25519_bikel1", der, SubjectPublicKeyInfo, - x25519_bikel1), -# endif -# ifdef OQS_ENABLE_KEM_bike_l3 - DECODER_w_structure("bikel3", der, PrivateKeyInfo, bikel3), - DECODER_w_structure("bikel3", der, SubjectPublicKeyInfo, bikel3), - DECODER_w_structure("p384_bikel3", der, PrivateKeyInfo, p384_bikel3), - DECODER_w_structure("p384_bikel3", der, SubjectPublicKeyInfo, p384_bikel3), - DECODER_w_structure("x448_bikel3", der, PrivateKeyInfo, x448_bikel3), - DECODER_w_structure("x448_bikel3", der, SubjectPublicKeyInfo, x448_bikel3), -# endif -# ifdef OQS_ENABLE_KEM_bike_l5 - DECODER_w_structure("bikel5", der, PrivateKeyInfo, bikel5), - DECODER_w_structure("bikel5", der, SubjectPublicKeyInfo, bikel5), - DECODER_w_structure("p521_bikel5", der, PrivateKeyInfo, p521_bikel5), - DECODER_w_structure("p521_bikel5", der, SubjectPublicKeyInfo, p521_bikel5), -# endif -# ifdef OQS_ENABLE_KEM_hqc_128 - DECODER_w_structure("hqc128", der, PrivateKeyInfo, hqc128), - DECODER_w_structure("hqc128", der, SubjectPublicKeyInfo, hqc128), - DECODER_w_structure("p256_hqc128", der, PrivateKeyInfo, p256_hqc128), - DECODER_w_structure("p256_hqc128", der, SubjectPublicKeyInfo, p256_hqc128), - DECODER_w_structure("x25519_hqc128", der, PrivateKeyInfo, x25519_hqc128), - DECODER_w_structure("x25519_hqc128", der, SubjectPublicKeyInfo, - x25519_hqc128), -# endif -# ifdef OQS_ENABLE_KEM_hqc_192 - DECODER_w_structure("hqc192", der, PrivateKeyInfo, hqc192), - DECODER_w_structure("hqc192", der, SubjectPublicKeyInfo, hqc192), - DECODER_w_structure("p384_hqc192", der, PrivateKeyInfo, p384_hqc192), - DECODER_w_structure("p384_hqc192", der, SubjectPublicKeyInfo, p384_hqc192), - DECODER_w_structure("x448_hqc192", der, PrivateKeyInfo, x448_hqc192), - DECODER_w_structure("x448_hqc192", der, SubjectPublicKeyInfo, x448_hqc192), -# endif -# ifdef OQS_ENABLE_KEM_hqc_256 - DECODER_w_structure("hqc256", der, PrivateKeyInfo, hqc256), - DECODER_w_structure("hqc256", der, SubjectPublicKeyInfo, hqc256), - DECODER_w_structure("p521_hqc256", der, PrivateKeyInfo, p521_hqc256), - DECODER_w_structure("p521_hqc256", der, SubjectPublicKeyInfo, p521_hqc256), -# endif +DECODER_w_structure("frodo640aes", der, SubjectPublicKeyInfo, frodo640aes), +DECODER_w_structure("p256_frodo640aes", der, PrivateKeyInfo, p256_frodo640aes), +DECODER_w_structure("p256_frodo640aes", der, SubjectPublicKeyInfo, p256_frodo640aes),DECODER_w_structure("x25519_frodo640aes", der, PrivateKeyInfo, x25519_frodo640aes), +DECODER_w_structure("x25519_frodo640aes", der, SubjectPublicKeyInfo, x25519_frodo640aes), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_640_shake +DECODER_w_structure("frodo640shake", der, PrivateKeyInfo, frodo640shake), +DECODER_w_structure("frodo640shake", der, SubjectPublicKeyInfo, frodo640shake), +DECODER_w_structure("p256_frodo640shake", der, PrivateKeyInfo, p256_frodo640shake), +DECODER_w_structure("p256_frodo640shake", der, SubjectPublicKeyInfo, p256_frodo640shake),DECODER_w_structure("x25519_frodo640shake", der, PrivateKeyInfo, x25519_frodo640shake), +DECODER_w_structure("x25519_frodo640shake", der, SubjectPublicKeyInfo, x25519_frodo640shake), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_976_aes +DECODER_w_structure("frodo976aes", der, PrivateKeyInfo, frodo976aes), +DECODER_w_structure("frodo976aes", der, SubjectPublicKeyInfo, frodo976aes), +DECODER_w_structure("p384_frodo976aes", der, PrivateKeyInfo, p384_frodo976aes), +DECODER_w_structure("p384_frodo976aes", der, SubjectPublicKeyInfo, p384_frodo976aes),DECODER_w_structure("x448_frodo976aes", der, PrivateKeyInfo, x448_frodo976aes), +DECODER_w_structure("x448_frodo976aes", der, SubjectPublicKeyInfo, x448_frodo976aes), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_976_shake +DECODER_w_structure("frodo976shake", der, PrivateKeyInfo, frodo976shake), +DECODER_w_structure("frodo976shake", der, SubjectPublicKeyInfo, frodo976shake), +DECODER_w_structure("p384_frodo976shake", der, PrivateKeyInfo, p384_frodo976shake), +DECODER_w_structure("p384_frodo976shake", der, SubjectPublicKeyInfo, p384_frodo976shake),DECODER_w_structure("x448_frodo976shake", der, PrivateKeyInfo, x448_frodo976shake), +DECODER_w_structure("x448_frodo976shake", der, SubjectPublicKeyInfo, x448_frodo976shake), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_1344_aes +DECODER_w_structure("frodo1344aes", der, PrivateKeyInfo, frodo1344aes), +DECODER_w_structure("frodo1344aes", der, SubjectPublicKeyInfo, frodo1344aes), +DECODER_w_structure("p521_frodo1344aes", der, PrivateKeyInfo, p521_frodo1344aes), +DECODER_w_structure("p521_frodo1344aes", der, SubjectPublicKeyInfo, p521_frodo1344aes), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_1344_shake +DECODER_w_structure("frodo1344shake", der, PrivateKeyInfo, frodo1344shake), +DECODER_w_structure("frodo1344shake", der, SubjectPublicKeyInfo, frodo1344shake), +DECODER_w_structure("p521_frodo1344shake", der, PrivateKeyInfo, p521_frodo1344shake), +DECODER_w_structure("p521_frodo1344shake", der, SubjectPublicKeyInfo, p521_frodo1344shake), +#endif +#ifdef OQS_ENABLE_KEM_kyber_512 +DECODER_w_structure("kyber512", der, PrivateKeyInfo, kyber512), +DECODER_w_structure("kyber512", der, SubjectPublicKeyInfo, kyber512), +DECODER_w_structure("p256_kyber512", der, PrivateKeyInfo, p256_kyber512), +DECODER_w_structure("p256_kyber512", der, SubjectPublicKeyInfo, p256_kyber512),DECODER_w_structure("x25519_kyber512", der, PrivateKeyInfo, x25519_kyber512), +DECODER_w_structure("x25519_kyber512", der, SubjectPublicKeyInfo, x25519_kyber512), +#endif +#ifdef OQS_ENABLE_KEM_kyber_768 +DECODER_w_structure("kyber768", der, PrivateKeyInfo, kyber768), +DECODER_w_structure("kyber768", der, SubjectPublicKeyInfo, kyber768), +DECODER_w_structure("p384_kyber768", der, PrivateKeyInfo, p384_kyber768), +DECODER_w_structure("p384_kyber768", der, SubjectPublicKeyInfo, p384_kyber768),DECODER_w_structure("x448_kyber768", der, PrivateKeyInfo, x448_kyber768), +DECODER_w_structure("x448_kyber768", der, SubjectPublicKeyInfo, x448_kyber768),DECODER_w_structure("x25519_kyber768", der, PrivateKeyInfo, x25519_kyber768), +DECODER_w_structure("x25519_kyber768", der, SubjectPublicKeyInfo, x25519_kyber768),DECODER_w_structure("p256_kyber768", der, PrivateKeyInfo, p256_kyber768), +DECODER_w_structure("p256_kyber768", der, SubjectPublicKeyInfo, p256_kyber768), +#endif +#ifdef OQS_ENABLE_KEM_kyber_1024 +DECODER_w_structure("kyber1024", der, PrivateKeyInfo, kyber1024), +DECODER_w_structure("kyber1024", der, SubjectPublicKeyInfo, kyber1024), +DECODER_w_structure("p521_kyber1024", der, PrivateKeyInfo, p521_kyber1024), +DECODER_w_structure("p521_kyber1024", der, SubjectPublicKeyInfo, p521_kyber1024), +#endif +#ifdef OQS_ENABLE_KEM_ml_kem_512 +DECODER_w_structure("mlkem512", der, PrivateKeyInfo, mlkem512), +DECODER_w_structure("mlkem512", der, SubjectPublicKeyInfo, mlkem512), +DECODER_w_structure("p256_mlkem512", der, PrivateKeyInfo, p256_mlkem512), +DECODER_w_structure("p256_mlkem512", der, SubjectPublicKeyInfo, p256_mlkem512),DECODER_w_structure("x25519_mlkem512", der, PrivateKeyInfo, x25519_mlkem512), +DECODER_w_structure("x25519_mlkem512", der, SubjectPublicKeyInfo, x25519_mlkem512), +#endif +#ifdef OQS_ENABLE_KEM_ml_kem_768 +DECODER_w_structure("mlkem768", der, PrivateKeyInfo, mlkem768), +DECODER_w_structure("mlkem768", der, SubjectPublicKeyInfo, mlkem768), +DECODER_w_structure("p384_mlkem768", der, PrivateKeyInfo, p384_mlkem768), +DECODER_w_structure("p384_mlkem768", der, SubjectPublicKeyInfo, p384_mlkem768),DECODER_w_structure("x448_mlkem768", der, PrivateKeyInfo, x448_mlkem768), +DECODER_w_structure("x448_mlkem768", der, SubjectPublicKeyInfo, x448_mlkem768),DECODER_w_structure("X25519MLKEM768", der, PrivateKeyInfo, X25519MLKEM768), +DECODER_w_structure("X25519MLKEM768", der, SubjectPublicKeyInfo, X25519MLKEM768),DECODER_w_structure("SecP256r1MLKEM768", der, PrivateKeyInfo, SecP256r1MLKEM768), +DECODER_w_structure("SecP256r1MLKEM768", der, SubjectPublicKeyInfo, SecP256r1MLKEM768), +#endif +#ifdef OQS_ENABLE_KEM_ml_kem_1024 +DECODER_w_structure("mlkem1024", der, PrivateKeyInfo, mlkem1024), +DECODER_w_structure("mlkem1024", der, SubjectPublicKeyInfo, mlkem1024), +DECODER_w_structure("p521_mlkem1024", der, PrivateKeyInfo, p521_mlkem1024), +DECODER_w_structure("p521_mlkem1024", der, SubjectPublicKeyInfo, p521_mlkem1024),DECODER_w_structure("p384_mlkem1024", der, PrivateKeyInfo, p384_mlkem1024), +DECODER_w_structure("p384_mlkem1024", der, SubjectPublicKeyInfo, p384_mlkem1024), +#endif +#ifdef OQS_ENABLE_KEM_bike_l1 +DECODER_w_structure("bikel1", der, PrivateKeyInfo, bikel1), +DECODER_w_structure("bikel1", der, SubjectPublicKeyInfo, bikel1), +DECODER_w_structure("p256_bikel1", der, PrivateKeyInfo, p256_bikel1), +DECODER_w_structure("p256_bikel1", der, SubjectPublicKeyInfo, p256_bikel1),DECODER_w_structure("x25519_bikel1", der, PrivateKeyInfo, x25519_bikel1), +DECODER_w_structure("x25519_bikel1", der, SubjectPublicKeyInfo, x25519_bikel1), +#endif +#ifdef OQS_ENABLE_KEM_bike_l3 +DECODER_w_structure("bikel3", der, PrivateKeyInfo, bikel3), +DECODER_w_structure("bikel3", der, SubjectPublicKeyInfo, bikel3), +DECODER_w_structure("p384_bikel3", der, PrivateKeyInfo, p384_bikel3), +DECODER_w_structure("p384_bikel3", der, SubjectPublicKeyInfo, p384_bikel3),DECODER_w_structure("x448_bikel3", der, PrivateKeyInfo, x448_bikel3), +DECODER_w_structure("x448_bikel3", der, SubjectPublicKeyInfo, x448_bikel3), +#endif +#ifdef OQS_ENABLE_KEM_bike_l5 +DECODER_w_structure("bikel5", der, PrivateKeyInfo, bikel5), +DECODER_w_structure("bikel5", der, SubjectPublicKeyInfo, bikel5), +DECODER_w_structure("p521_bikel5", der, PrivateKeyInfo, p521_bikel5), +DECODER_w_structure("p521_bikel5", der, SubjectPublicKeyInfo, p521_bikel5), +#endif +#ifdef OQS_ENABLE_KEM_hqc_128 +DECODER_w_structure("hqc128", der, PrivateKeyInfo, hqc128), +DECODER_w_structure("hqc128", der, SubjectPublicKeyInfo, hqc128), +DECODER_w_structure("p256_hqc128", der, PrivateKeyInfo, p256_hqc128), +DECODER_w_structure("p256_hqc128", der, SubjectPublicKeyInfo, p256_hqc128),DECODER_w_structure("x25519_hqc128", der, PrivateKeyInfo, x25519_hqc128), +DECODER_w_structure("x25519_hqc128", der, SubjectPublicKeyInfo, x25519_hqc128), +#endif +#ifdef OQS_ENABLE_KEM_hqc_192 +DECODER_w_structure("hqc192", der, PrivateKeyInfo, hqc192), +DECODER_w_structure("hqc192", der, SubjectPublicKeyInfo, hqc192), +DECODER_w_structure("p384_hqc192", der, PrivateKeyInfo, p384_hqc192), +DECODER_w_structure("p384_hqc192", der, SubjectPublicKeyInfo, p384_hqc192),DECODER_w_structure("x448_hqc192", der, PrivateKeyInfo, x448_hqc192), +DECODER_w_structure("x448_hqc192", der, SubjectPublicKeyInfo, x448_hqc192), +#endif +#ifdef OQS_ENABLE_KEM_hqc_256 +DECODER_w_structure("hqc256", der, PrivateKeyInfo, hqc256), +DECODER_w_structure("hqc256", der, SubjectPublicKeyInfo, hqc256), +DECODER_w_structure("p521_hqc256", der, PrivateKeyInfo, p521_hqc256), +DECODER_w_structure("p521_hqc256", der, SubjectPublicKeyInfo, p521_hqc256), +#endif #endif /* OQS_KEM_ENCODERS */ + #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2", der, PrivateKeyInfo, dilithium2), - DECODER_w_structure("dilithium2", der, SubjectPublicKeyInfo, dilithium2), - DECODER_w_structure("p256_dilithium2", der, PrivateKeyInfo, - p256_dilithium2), - DECODER_w_structure("p256_dilithium2", der, SubjectPublicKeyInfo, - p256_dilithium2), - DECODER_w_structure("rsa3072_dilithium2", der, PrivateKeyInfo, - rsa3072_dilithium2), - DECODER_w_structure("rsa3072_dilithium2", der, SubjectPublicKeyInfo, - rsa3072_dilithium2), +DECODER_w_structure("dilithium2", der, PrivateKeyInfo, dilithium2), +DECODER_w_structure("dilithium2", der, SubjectPublicKeyInfo, dilithium2),DECODER_w_structure("p256_dilithium2", der, PrivateKeyInfo, p256_dilithium2), +DECODER_w_structure("p256_dilithium2", der, SubjectPublicKeyInfo, p256_dilithium2),DECODER_w_structure("rsa3072_dilithium2", der, PrivateKeyInfo, rsa3072_dilithium2), +DECODER_w_structure("rsa3072_dilithium2", der, SubjectPublicKeyInfo, rsa3072_dilithium2), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 - DECODER_w_structure("dilithium3", der, PrivateKeyInfo, dilithium3), - DECODER_w_structure("dilithium3", der, SubjectPublicKeyInfo, dilithium3), - DECODER_w_structure("p384_dilithium3", der, PrivateKeyInfo, - p384_dilithium3), - DECODER_w_structure("p384_dilithium3", der, SubjectPublicKeyInfo, - p384_dilithium3), +DECODER_w_structure("dilithium3", der, PrivateKeyInfo, dilithium3), +DECODER_w_structure("dilithium3", der, SubjectPublicKeyInfo, dilithium3),DECODER_w_structure("p384_dilithium3", der, PrivateKeyInfo, p384_dilithium3), +DECODER_w_structure("p384_dilithium3", der, SubjectPublicKeyInfo, p384_dilithium3), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 - DECODER_w_structure("dilithium5", der, PrivateKeyInfo, dilithium5), - DECODER_w_structure("dilithium5", der, SubjectPublicKeyInfo, dilithium5), - DECODER_w_structure("p521_dilithium5", der, PrivateKeyInfo, - p521_dilithium5), - DECODER_w_structure("p521_dilithium5", der, SubjectPublicKeyInfo, - p521_dilithium5), +DECODER_w_structure("dilithium5", der, PrivateKeyInfo, dilithium5), +DECODER_w_structure("dilithium5", der, SubjectPublicKeyInfo, dilithium5),DECODER_w_structure("p521_dilithium5", der, PrivateKeyInfo, p521_dilithium5), +DECODER_w_structure("p521_dilithium5", der, SubjectPublicKeyInfo, p521_dilithium5), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_44 - DECODER_w_structure("mldsa44", der, PrivateKeyInfo, mldsa44), - DECODER_w_structure("mldsa44", der, SubjectPublicKeyInfo, mldsa44), - DECODER_w_structure("p256_mldsa44", der, PrivateKeyInfo, p256_mldsa44), - DECODER_w_structure("p256_mldsa44", der, SubjectPublicKeyInfo, - p256_mldsa44), - DECODER_w_structure("rsa3072_mldsa44", der, PrivateKeyInfo, - rsa3072_mldsa44), - DECODER_w_structure("rsa3072_mldsa44", der, SubjectPublicKeyInfo, - rsa3072_mldsa44), - DECODER_w_structure("mldsa44_pss2048", der, PrivateKeyInfo, - mldsa44_pss2048), - DECODER_w_structure("mldsa44_pss2048", der, SubjectPublicKeyInfo, - mldsa44_pss2048), - DECODER_w_structure("mldsa44_rsa2048", der, PrivateKeyInfo, - mldsa44_rsa2048), - DECODER_w_structure("mldsa44_rsa2048", der, SubjectPublicKeyInfo, - mldsa44_rsa2048), - DECODER_w_structure("mldsa44_ed25519", der, PrivateKeyInfo, - mldsa44_ed25519), - DECODER_w_structure("mldsa44_ed25519", der, SubjectPublicKeyInfo, - mldsa44_ed25519), - DECODER_w_structure("mldsa44_p256", der, PrivateKeyInfo, mldsa44_p256), - DECODER_w_structure("mldsa44_p256", der, SubjectPublicKeyInfo, - mldsa44_p256), - DECODER_w_structure("mldsa44_bp256", der, PrivateKeyInfo, mldsa44_bp256), - DECODER_w_structure("mldsa44_bp256", der, SubjectPublicKeyInfo, - mldsa44_bp256), +DECODER_w_structure("mldsa44", der, PrivateKeyInfo, mldsa44), +DECODER_w_structure("mldsa44", der, SubjectPublicKeyInfo, mldsa44),DECODER_w_structure("p256_mldsa44", der, PrivateKeyInfo, p256_mldsa44), +DECODER_w_structure("p256_mldsa44", der, SubjectPublicKeyInfo, p256_mldsa44),DECODER_w_structure("rsa3072_mldsa44", der, PrivateKeyInfo, rsa3072_mldsa44), +DECODER_w_structure("rsa3072_mldsa44", der, SubjectPublicKeyInfo, rsa3072_mldsa44),DECODER_w_structure("mldsa44_pss2048", der, PrivateKeyInfo, mldsa44_pss2048), +DECODER_w_structure("mldsa44_pss2048", der, SubjectPublicKeyInfo, mldsa44_pss2048),DECODER_w_structure("mldsa44_rsa2048", der, PrivateKeyInfo, mldsa44_rsa2048), +DECODER_w_structure("mldsa44_rsa2048", der, SubjectPublicKeyInfo, mldsa44_rsa2048),DECODER_w_structure("mldsa44_ed25519", der, PrivateKeyInfo, mldsa44_ed25519), +DECODER_w_structure("mldsa44_ed25519", der, SubjectPublicKeyInfo, mldsa44_ed25519),DECODER_w_structure("mldsa44_p256", der, PrivateKeyInfo, mldsa44_p256), +DECODER_w_structure("mldsa44_p256", der, SubjectPublicKeyInfo, mldsa44_p256),DECODER_w_structure("mldsa44_bp256", der, PrivateKeyInfo, mldsa44_bp256), +DECODER_w_structure("mldsa44_bp256", der, SubjectPublicKeyInfo, mldsa44_bp256), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_65 - DECODER_w_structure("mldsa65", der, PrivateKeyInfo, mldsa65), - DECODER_w_structure("mldsa65", der, SubjectPublicKeyInfo, mldsa65), - DECODER_w_structure("p384_mldsa65", der, PrivateKeyInfo, p384_mldsa65), - DECODER_w_structure("p384_mldsa65", der, SubjectPublicKeyInfo, - p384_mldsa65), - DECODER_w_structure("mldsa65_pss3072", der, PrivateKeyInfo, - mldsa65_pss3072), - DECODER_w_structure("mldsa65_pss3072", der, SubjectPublicKeyInfo, - mldsa65_pss3072), - DECODER_w_structure("mldsa65_rsa3072", der, PrivateKeyInfo, - mldsa65_rsa3072), - DECODER_w_structure("mldsa65_rsa3072", der, SubjectPublicKeyInfo, - mldsa65_rsa3072), - DECODER_w_structure("mldsa65_p256", der, PrivateKeyInfo, mldsa65_p256), - DECODER_w_structure("mldsa65_p256", der, SubjectPublicKeyInfo, - mldsa65_p256), - DECODER_w_structure("mldsa65_bp256", der, PrivateKeyInfo, mldsa65_bp256), - DECODER_w_structure("mldsa65_bp256", der, SubjectPublicKeyInfo, - mldsa65_bp256), - DECODER_w_structure("mldsa65_ed25519", der, PrivateKeyInfo, - mldsa65_ed25519), - DECODER_w_structure("mldsa65_ed25519", der, SubjectPublicKeyInfo, - mldsa65_ed25519), +DECODER_w_structure("mldsa65", der, PrivateKeyInfo, mldsa65), +DECODER_w_structure("mldsa65", der, SubjectPublicKeyInfo, mldsa65),DECODER_w_structure("p384_mldsa65", der, PrivateKeyInfo, p384_mldsa65), +DECODER_w_structure("p384_mldsa65", der, SubjectPublicKeyInfo, p384_mldsa65),DECODER_w_structure("mldsa65_pss3072", der, PrivateKeyInfo, mldsa65_pss3072), +DECODER_w_structure("mldsa65_pss3072", der, SubjectPublicKeyInfo, mldsa65_pss3072),DECODER_w_structure("mldsa65_rsa3072", der, PrivateKeyInfo, mldsa65_rsa3072), +DECODER_w_structure("mldsa65_rsa3072", der, SubjectPublicKeyInfo, mldsa65_rsa3072),DECODER_w_structure("mldsa65_p256", der, PrivateKeyInfo, mldsa65_p256), +DECODER_w_structure("mldsa65_p256", der, SubjectPublicKeyInfo, mldsa65_p256),DECODER_w_structure("mldsa65_bp256", der, PrivateKeyInfo, mldsa65_bp256), +DECODER_w_structure("mldsa65_bp256", der, SubjectPublicKeyInfo, mldsa65_bp256),DECODER_w_structure("mldsa65_ed25519", der, PrivateKeyInfo, mldsa65_ed25519), +DECODER_w_structure("mldsa65_ed25519", der, SubjectPublicKeyInfo, mldsa65_ed25519), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_87 - DECODER_w_structure("mldsa87", der, PrivateKeyInfo, mldsa87), - DECODER_w_structure("mldsa87", der, SubjectPublicKeyInfo, mldsa87), - DECODER_w_structure("p521_mldsa87", der, PrivateKeyInfo, p521_mldsa87), - DECODER_w_structure("p521_mldsa87", der, SubjectPublicKeyInfo, - p521_mldsa87), - DECODER_w_structure("mldsa87_p384", der, PrivateKeyInfo, mldsa87_p384), - DECODER_w_structure("mldsa87_p384", der, SubjectPublicKeyInfo, - mldsa87_p384), - DECODER_w_structure("mldsa87_bp384", der, PrivateKeyInfo, mldsa87_bp384), - DECODER_w_structure("mldsa87_bp384", der, SubjectPublicKeyInfo, - mldsa87_bp384), - DECODER_w_structure("mldsa87_ed448", der, PrivateKeyInfo, mldsa87_ed448), - DECODER_w_structure("mldsa87_ed448", der, SubjectPublicKeyInfo, - mldsa87_ed448), +DECODER_w_structure("mldsa87", der, PrivateKeyInfo, mldsa87), +DECODER_w_structure("mldsa87", der, SubjectPublicKeyInfo, mldsa87),DECODER_w_structure("p521_mldsa87", der, PrivateKeyInfo, p521_mldsa87), +DECODER_w_structure("p521_mldsa87", der, SubjectPublicKeyInfo, p521_mldsa87),DECODER_w_structure("mldsa87_p384", der, PrivateKeyInfo, mldsa87_p384), +DECODER_w_structure("mldsa87_p384", der, SubjectPublicKeyInfo, mldsa87_p384),DECODER_w_structure("mldsa87_bp384", der, PrivateKeyInfo, mldsa87_bp384), +DECODER_w_structure("mldsa87_bp384", der, SubjectPublicKeyInfo, mldsa87_bp384),DECODER_w_structure("mldsa87_ed448", der, PrivateKeyInfo, mldsa87_ed448), +DECODER_w_structure("mldsa87_ed448", der, SubjectPublicKeyInfo, mldsa87_ed448), #endif #ifdef OQS_ENABLE_SIG_falcon_512 - DECODER_w_structure("falcon512", der, PrivateKeyInfo, falcon512), - DECODER_w_structure("falcon512", der, SubjectPublicKeyInfo, falcon512), - DECODER_w_structure("p256_falcon512", der, PrivateKeyInfo, p256_falcon512), - DECODER_w_structure("p256_falcon512", der, SubjectPublicKeyInfo, - p256_falcon512), - DECODER_w_structure("rsa3072_falcon512", der, PrivateKeyInfo, - rsa3072_falcon512), - DECODER_w_structure("rsa3072_falcon512", der, SubjectPublicKeyInfo, - rsa3072_falcon512), +DECODER_w_structure("falcon512", der, PrivateKeyInfo, falcon512), +DECODER_w_structure("falcon512", der, SubjectPublicKeyInfo, falcon512),DECODER_w_structure("p256_falcon512", der, PrivateKeyInfo, p256_falcon512), +DECODER_w_structure("p256_falcon512", der, SubjectPublicKeyInfo, p256_falcon512),DECODER_w_structure("rsa3072_falcon512", der, PrivateKeyInfo, rsa3072_falcon512), +DECODER_w_structure("rsa3072_falcon512", der, SubjectPublicKeyInfo, rsa3072_falcon512), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_512 - DECODER_w_structure("falconpadded512", der, PrivateKeyInfo, - falconpadded512), - DECODER_w_structure("falconpadded512", der, SubjectPublicKeyInfo, - falconpadded512), - DECODER_w_structure("p256_falconpadded512", der, PrivateKeyInfo, - p256_falconpadded512), - DECODER_w_structure("p256_falconpadded512", der, SubjectPublicKeyInfo, - p256_falconpadded512), - DECODER_w_structure("rsa3072_falconpadded512", der, PrivateKeyInfo, - rsa3072_falconpadded512), - DECODER_w_structure("rsa3072_falconpadded512", der, SubjectPublicKeyInfo, - rsa3072_falconpadded512), +DECODER_w_structure("falconpadded512", der, PrivateKeyInfo, falconpadded512), +DECODER_w_structure("falconpadded512", der, SubjectPublicKeyInfo, falconpadded512),DECODER_w_structure("p256_falconpadded512", der, PrivateKeyInfo, p256_falconpadded512), +DECODER_w_structure("p256_falconpadded512", der, SubjectPublicKeyInfo, p256_falconpadded512),DECODER_w_structure("rsa3072_falconpadded512", der, PrivateKeyInfo, rsa3072_falconpadded512), +DECODER_w_structure("rsa3072_falconpadded512", der, SubjectPublicKeyInfo, rsa3072_falconpadded512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 - DECODER_w_structure("falcon1024", der, PrivateKeyInfo, falcon1024), - DECODER_w_structure("falcon1024", der, SubjectPublicKeyInfo, falcon1024), - DECODER_w_structure("p521_falcon1024", der, PrivateKeyInfo, - p521_falcon1024), - DECODER_w_structure("p521_falcon1024", der, SubjectPublicKeyInfo, - p521_falcon1024), +DECODER_w_structure("falcon1024", der, PrivateKeyInfo, falcon1024), +DECODER_w_structure("falcon1024", der, SubjectPublicKeyInfo, falcon1024),DECODER_w_structure("p521_falcon1024", der, PrivateKeyInfo, p521_falcon1024), +DECODER_w_structure("p521_falcon1024", der, SubjectPublicKeyInfo, p521_falcon1024), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_1024 - DECODER_w_structure("falconpadded1024", der, PrivateKeyInfo, - falconpadded1024), - DECODER_w_structure("falconpadded1024", der, SubjectPublicKeyInfo, - falconpadded1024), - DECODER_w_structure("p521_falconpadded1024", der, PrivateKeyInfo, - p521_falconpadded1024), - DECODER_w_structure("p521_falconpadded1024", der, SubjectPublicKeyInfo, - p521_falconpadded1024), +DECODER_w_structure("falconpadded1024", der, PrivateKeyInfo, falconpadded1024), +DECODER_w_structure("falconpadded1024", der, SubjectPublicKeyInfo, falconpadded1024),DECODER_w_structure("p521_falconpadded1024", der, PrivateKeyInfo, p521_falconpadded1024), +DECODER_w_structure("p521_falconpadded1024", der, SubjectPublicKeyInfo, p521_falconpadded1024), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - DECODER_w_structure("sphincssha2128fsimple", der, PrivateKeyInfo, - sphincssha2128fsimple), - DECODER_w_structure("sphincssha2128fsimple", der, SubjectPublicKeyInfo, - sphincssha2128fsimple), - DECODER_w_structure("p256_sphincssha2128fsimple", der, PrivateKeyInfo, - p256_sphincssha2128fsimple), - DECODER_w_structure("p256_sphincssha2128fsimple", der, SubjectPublicKeyInfo, - p256_sphincssha2128fsimple), - DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, PrivateKeyInfo, - rsa3072_sphincssha2128fsimple), - DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, - SubjectPublicKeyInfo, rsa3072_sphincssha2128fsimple), +DECODER_w_structure("sphincssha2128fsimple", der, PrivateKeyInfo, sphincssha2128fsimple), +DECODER_w_structure("sphincssha2128fsimple", der, SubjectPublicKeyInfo, sphincssha2128fsimple),DECODER_w_structure("p256_sphincssha2128fsimple", der, PrivateKeyInfo, p256_sphincssha2128fsimple), +DECODER_w_structure("p256_sphincssha2128fsimple", der, SubjectPublicKeyInfo, p256_sphincssha2128fsimple),DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, PrivateKeyInfo, rsa3072_sphincssha2128fsimple), +DECODER_w_structure("rsa3072_sphincssha2128fsimple", der, SubjectPublicKeyInfo, rsa3072_sphincssha2128fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - DECODER_w_structure("sphincssha2128ssimple", der, PrivateKeyInfo, - sphincssha2128ssimple), - DECODER_w_structure("sphincssha2128ssimple", der, SubjectPublicKeyInfo, - sphincssha2128ssimple), - DECODER_w_structure("p256_sphincssha2128ssimple", der, PrivateKeyInfo, - p256_sphincssha2128ssimple), - DECODER_w_structure("p256_sphincssha2128ssimple", der, SubjectPublicKeyInfo, - p256_sphincssha2128ssimple), - DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, PrivateKeyInfo, - rsa3072_sphincssha2128ssimple), - DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, - SubjectPublicKeyInfo, rsa3072_sphincssha2128ssimple), +DECODER_w_structure("sphincssha2128ssimple", der, PrivateKeyInfo, sphincssha2128ssimple), +DECODER_w_structure("sphincssha2128ssimple", der, SubjectPublicKeyInfo, sphincssha2128ssimple),DECODER_w_structure("p256_sphincssha2128ssimple", der, PrivateKeyInfo, p256_sphincssha2128ssimple), +DECODER_w_structure("p256_sphincssha2128ssimple", der, SubjectPublicKeyInfo, p256_sphincssha2128ssimple),DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, PrivateKeyInfo, rsa3072_sphincssha2128ssimple), +DECODER_w_structure("rsa3072_sphincssha2128ssimple", der, SubjectPublicKeyInfo, rsa3072_sphincssha2128ssimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - DECODER_w_structure("sphincssha2192fsimple", der, PrivateKeyInfo, - sphincssha2192fsimple), - DECODER_w_structure("sphincssha2192fsimple", der, SubjectPublicKeyInfo, - sphincssha2192fsimple), - DECODER_w_structure("p384_sphincssha2192fsimple", der, PrivateKeyInfo, - p384_sphincssha2192fsimple), - DECODER_w_structure("p384_sphincssha2192fsimple", der, SubjectPublicKeyInfo, - p384_sphincssha2192fsimple), +DECODER_w_structure("sphincssha2192fsimple", der, PrivateKeyInfo, sphincssha2192fsimple), +DECODER_w_structure("sphincssha2192fsimple", der, SubjectPublicKeyInfo, sphincssha2192fsimple),DECODER_w_structure("p384_sphincssha2192fsimple", der, PrivateKeyInfo, p384_sphincssha2192fsimple), +DECODER_w_structure("p384_sphincssha2192fsimple", der, SubjectPublicKeyInfo, p384_sphincssha2192fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - DECODER_w_structure("sphincsshake128fsimple", der, PrivateKeyInfo, - sphincsshake128fsimple), - DECODER_w_structure("sphincsshake128fsimple", der, SubjectPublicKeyInfo, - sphincsshake128fsimple), - DECODER_w_structure("p256_sphincsshake128fsimple", der, PrivateKeyInfo, - p256_sphincsshake128fsimple), - DECODER_w_structure("p256_sphincsshake128fsimple", der, - SubjectPublicKeyInfo, p256_sphincsshake128fsimple), - DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, PrivateKeyInfo, - rsa3072_sphincsshake128fsimple), - DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, - SubjectPublicKeyInfo, rsa3072_sphincsshake128fsimple), +DECODER_w_structure("sphincsshake128fsimple", der, PrivateKeyInfo, sphincsshake128fsimple), +DECODER_w_structure("sphincsshake128fsimple", der, SubjectPublicKeyInfo, sphincsshake128fsimple),DECODER_w_structure("p256_sphincsshake128fsimple", der, PrivateKeyInfo, p256_sphincsshake128fsimple), +DECODER_w_structure("p256_sphincsshake128fsimple", der, SubjectPublicKeyInfo, p256_sphincsshake128fsimple),DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, PrivateKeyInfo, rsa3072_sphincsshake128fsimple), +DECODER_w_structure("rsa3072_sphincsshake128fsimple", der, SubjectPublicKeyInfo, rsa3072_sphincsshake128fsimple), #endif #ifdef OQS_ENABLE_SIG_mayo_1 - DECODER_w_structure("mayo1", der, PrivateKeyInfo, mayo1), - DECODER_w_structure("mayo1", der, SubjectPublicKeyInfo, mayo1), - DECODER_w_structure("p256_mayo1", der, PrivateKeyInfo, p256_mayo1), - DECODER_w_structure("p256_mayo1", der, SubjectPublicKeyInfo, p256_mayo1), +DECODER_w_structure("mayo1", der, PrivateKeyInfo, mayo1), +DECODER_w_structure("mayo1", der, SubjectPublicKeyInfo, mayo1),DECODER_w_structure("p256_mayo1", der, PrivateKeyInfo, p256_mayo1), +DECODER_w_structure("p256_mayo1", der, SubjectPublicKeyInfo, p256_mayo1), #endif #ifdef OQS_ENABLE_SIG_mayo_2 - DECODER_w_structure("mayo2", der, PrivateKeyInfo, mayo2), - DECODER_w_structure("mayo2", der, SubjectPublicKeyInfo, mayo2), - DECODER_w_structure("p256_mayo2", der, PrivateKeyInfo, p256_mayo2), - DECODER_w_structure("p256_mayo2", der, SubjectPublicKeyInfo, p256_mayo2), +DECODER_w_structure("mayo2", der, PrivateKeyInfo, mayo2), +DECODER_w_structure("mayo2", der, SubjectPublicKeyInfo, mayo2),DECODER_w_structure("p256_mayo2", der, PrivateKeyInfo, p256_mayo2), +DECODER_w_structure("p256_mayo2", der, SubjectPublicKeyInfo, p256_mayo2), #endif #ifdef OQS_ENABLE_SIG_mayo_3 - DECODER_w_structure("mayo3", der, PrivateKeyInfo, mayo3), - DECODER_w_structure("mayo3", der, SubjectPublicKeyInfo, mayo3), - DECODER_w_structure("p384_mayo3", der, PrivateKeyInfo, p384_mayo3), - DECODER_w_structure("p384_mayo3", der, SubjectPublicKeyInfo, p384_mayo3), +DECODER_w_structure("mayo3", der, PrivateKeyInfo, mayo3), +DECODER_w_structure("mayo3", der, SubjectPublicKeyInfo, mayo3),DECODER_w_structure("p384_mayo3", der, PrivateKeyInfo, p384_mayo3), +DECODER_w_structure("p384_mayo3", der, SubjectPublicKeyInfo, p384_mayo3), #endif #ifdef OQS_ENABLE_SIG_mayo_5 - DECODER_w_structure("mayo5", der, PrivateKeyInfo, mayo5), - DECODER_w_structure("mayo5", der, SubjectPublicKeyInfo, mayo5), - DECODER_w_structure("p521_mayo5", der, PrivateKeyInfo, p521_mayo5), - DECODER_w_structure("p521_mayo5", der, SubjectPublicKeyInfo, p521_mayo5), +DECODER_w_structure("mayo5", der, PrivateKeyInfo, mayo5), +DECODER_w_structure("mayo5", der, SubjectPublicKeyInfo, mayo5),DECODER_w_structure("p521_mayo5", der, PrivateKeyInfo, p521_mayo5), +DECODER_w_structure("p521_mayo5", der, SubjectPublicKeyInfo, p521_mayo5), #endif #ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced - DECODER_w_structure("CROSSrsdp128balanced", der, PrivateKeyInfo, - CROSSrsdp128balanced), - DECODER_w_structure("CROSSrsdp128balanced", der, SubjectPublicKeyInfo, - CROSSrsdp128balanced), +DECODER_w_structure("CROSSrsdp128balanced", der, PrivateKeyInfo, CROSSrsdp128balanced), +DECODER_w_structure("CROSSrsdp128balanced", der, SubjectPublicKeyInfo, CROSSrsdp128balanced), #endif - ///// OQS_TEMPLATE_FRAGMENT_MAKE_END +///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index ca9eeef3..386ef8a0 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -81,1270 +81,853 @@ ///// OQS_TEMPLATE_FRAGMENT_MAKE_START #ifdef OQS_KEM_ENCODERS -# ifdef OQS_ENABLE_KEM_frodokem_640_aes + +#ifdef OQS_ENABLE_KEM_frodokem_640_aes ENCODER_w_structure("frodo640aes", frodo640aes, der, PrivateKeyInfo), - ENCODER_w_structure("frodo640aes", frodo640aes, pem, PrivateKeyInfo), - ENCODER_w_structure("frodo640aes", frodo640aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo640aes", frodo640aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo640aes", frodo640aes, der, SubjectPublicKeyInfo), - ENCODER_w_structure("frodo640aes", frodo640aes, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("frodo640aes", frodo640aes), - ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, - PrivateKeyInfo), - ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, - PrivateKeyInfo), - ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_frodo640aes", p256_frodo640aes), - ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, - PrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, - PrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x25519_frodo640aes", x25519_frodo640aes), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_640_shake - ENCODER_w_structure("frodo640shake", frodo640shake, der, PrivateKeyInfo), - ENCODER_w_structure("frodo640shake", frodo640shake, pem, PrivateKeyInfo), - ENCODER_w_structure("frodo640shake", frodo640shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo640shake", frodo640shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo640shake", frodo640shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("frodo640shake", frodo640shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("frodo640shake", frodo640shake), - ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, - PrivateKeyInfo), - ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, - PrivateKeyInfo), - ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_frodo640shake", p256_frodo640shake), - ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, - PrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, - PrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x25519_frodo640shake", x25519_frodo640shake), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_976_aes - ENCODER_w_structure("frodo976aes", frodo976aes, der, PrivateKeyInfo), - ENCODER_w_structure("frodo976aes", frodo976aes, pem, PrivateKeyInfo), - ENCODER_w_structure("frodo976aes", frodo976aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo976aes", frodo976aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo976aes", frodo976aes, der, SubjectPublicKeyInfo), - ENCODER_w_structure("frodo976aes", frodo976aes, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("frodo976aes", frodo976aes), - ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, - PrivateKeyInfo), - ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, - PrivateKeyInfo), - ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p384_frodo976aes", p384_frodo976aes), - ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, - PrivateKeyInfo), - ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, - PrivateKeyInfo), - ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x448_frodo976aes", x448_frodo976aes), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_976_shake - ENCODER_w_structure("frodo976shake", frodo976shake, der, PrivateKeyInfo), - ENCODER_w_structure("frodo976shake", frodo976shake, pem, PrivateKeyInfo), - ENCODER_w_structure("frodo976shake", frodo976shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo976shake", frodo976shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo976shake", frodo976shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("frodo976shake", frodo976shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("frodo976shake", frodo976shake), - ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, - PrivateKeyInfo), - ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, - PrivateKeyInfo), - ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p384_frodo976shake", p384_frodo976shake), - ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, - PrivateKeyInfo), - ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, - PrivateKeyInfo), - ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x448_frodo976shake", x448_frodo976shake), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_1344_aes - ENCODER_w_structure("frodo1344aes", frodo1344aes, der, PrivateKeyInfo), - ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, PrivateKeyInfo), - ENCODER_w_structure("frodo1344aes", frodo1344aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo1344aes", frodo1344aes, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("frodo1344aes", frodo1344aes), - ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, - PrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, - PrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_frodo1344aes", p521_frodo1344aes), -# endif -# ifdef OQS_ENABLE_KEM_frodokem_1344_shake - ENCODER_w_structure("frodo1344shake", frodo1344shake, der, PrivateKeyInfo), - ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, PrivateKeyInfo), - ENCODER_w_structure("frodo1344shake", frodo1344shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("frodo1344shake", frodo1344shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("frodo1344shake", frodo1344shake), - ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, - PrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, - PrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_frodo1344shake", p521_frodo1344shake), -# endif -# ifdef OQS_ENABLE_KEM_kyber_512 - ENCODER_w_structure("kyber512", kyber512, der, PrivateKeyInfo), - ENCODER_w_structure("kyber512", kyber512, pem, PrivateKeyInfo), - ENCODER_w_structure("kyber512", kyber512, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("kyber512", kyber512, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("kyber512", kyber512, der, SubjectPublicKeyInfo), - ENCODER_w_structure("kyber512", kyber512, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("kyber512", kyber512), - ENCODER_w_structure("p256_kyber512", p256_kyber512, der, PrivateKeyInfo), - ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_kyber512", p256_kyber512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_kyber512", p256_kyber512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_kyber512", p256_kyber512), - ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, - PrivateKeyInfo), - ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, - PrivateKeyInfo), - ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x25519_kyber512", x25519_kyber512), -# endif -# ifdef OQS_ENABLE_KEM_kyber_768 - ENCODER_w_structure("kyber768", kyber768, der, PrivateKeyInfo), - ENCODER_w_structure("kyber768", kyber768, pem, PrivateKeyInfo), - ENCODER_w_structure("kyber768", kyber768, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("kyber768", kyber768, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("kyber768", kyber768, der, SubjectPublicKeyInfo), - ENCODER_w_structure("kyber768", kyber768, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("kyber768", kyber768), - ENCODER_w_structure("p384_kyber768", p384_kyber768, der, PrivateKeyInfo), - ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_kyber768", p384_kyber768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_kyber768", p384_kyber768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p384_kyber768", p384_kyber768), - ENCODER_w_structure("x448_kyber768", x448_kyber768, der, PrivateKeyInfo), - ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, PrivateKeyInfo), - ENCODER_w_structure("x448_kyber768", x448_kyber768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_kyber768", x448_kyber768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x448_kyber768", x448_kyber768), - ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, - PrivateKeyInfo), - ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, - PrivateKeyInfo), - ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x25519_kyber768", x25519_kyber768), - ENCODER_w_structure("p256_kyber768", p256_kyber768, der, PrivateKeyInfo), - ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_kyber768", p256_kyber768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_kyber768", p256_kyber768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_kyber768", p256_kyber768), -# endif -# ifdef OQS_ENABLE_KEM_kyber_1024 - ENCODER_w_structure("kyber1024", kyber1024, der, PrivateKeyInfo), - ENCODER_w_structure("kyber1024", kyber1024, pem, PrivateKeyInfo), - ENCODER_w_structure("kyber1024", kyber1024, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("kyber1024", kyber1024, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("kyber1024", kyber1024, der, SubjectPublicKeyInfo), - ENCODER_w_structure("kyber1024", kyber1024, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("kyber1024", kyber1024), - ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, PrivateKeyInfo), - ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, PrivateKeyInfo), - ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_kyber1024", p521_kyber1024), -# endif -# ifdef OQS_ENABLE_KEM_ml_kem_512 - ENCODER_w_structure("mlkem512", mlkem512, der, PrivateKeyInfo), - ENCODER_w_structure("mlkem512", mlkem512, pem, PrivateKeyInfo), - ENCODER_w_structure("mlkem512", mlkem512, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mlkem512", mlkem512, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mlkem512", mlkem512, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mlkem512", mlkem512, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mlkem512", mlkem512), - ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, PrivateKeyInfo), - ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_mlkem512", p256_mlkem512), - ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, - PrivateKeyInfo), - ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, - PrivateKeyInfo), - ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x25519_mlkem512", x25519_mlkem512), -# endif -# ifdef OQS_ENABLE_KEM_ml_kem_768 - ENCODER_w_structure("mlkem768", mlkem768, der, PrivateKeyInfo), - ENCODER_w_structure("mlkem768", mlkem768, pem, PrivateKeyInfo), - ENCODER_w_structure("mlkem768", mlkem768, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mlkem768", mlkem768, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mlkem768", mlkem768, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mlkem768", mlkem768, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mlkem768", mlkem768), - ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, PrivateKeyInfo), - ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p384_mlkem768", p384_mlkem768), - ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, PrivateKeyInfo), - ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, PrivateKeyInfo), - ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x448_mlkem768", x448_mlkem768), - ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, PrivateKeyInfo), - ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, PrivateKeyInfo), - ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("X25519MLKEM768", X25519MLKEM768), - ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, - PrivateKeyInfo), - ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, - PrivateKeyInfo), - ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("SecP256r1MLKEM768", SecP256r1MLKEM768), -# endif -# ifdef OQS_ENABLE_KEM_ml_kem_1024 - ENCODER_w_structure("mlkem1024", mlkem1024, der, PrivateKeyInfo), - ENCODER_w_structure("mlkem1024", mlkem1024, pem, PrivateKeyInfo), - ENCODER_w_structure("mlkem1024", mlkem1024, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mlkem1024", mlkem1024, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mlkem1024", mlkem1024, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mlkem1024", mlkem1024, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mlkem1024", mlkem1024), - ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, PrivateKeyInfo), - ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, PrivateKeyInfo), - ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_mlkem1024", p521_mlkem1024), - ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, PrivateKeyInfo), - ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p384_mlkem1024", p384_mlkem1024), -# endif -# ifdef OQS_ENABLE_KEM_bike_l1 - ENCODER_w_structure("bikel1", bikel1, der, PrivateKeyInfo), - ENCODER_w_structure("bikel1", bikel1, pem, PrivateKeyInfo), - ENCODER_w_structure("bikel1", bikel1, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("bikel1", bikel1, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("bikel1", bikel1, der, SubjectPublicKeyInfo), - ENCODER_w_structure("bikel1", bikel1, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("bikel1", bikel1), - ENCODER_w_structure("p256_bikel1", p256_bikel1, der, PrivateKeyInfo), - ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_bikel1", p256_bikel1, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_bikel1", p256_bikel1, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p256_bikel1", p256_bikel1), - ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, PrivateKeyInfo), - ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, PrivateKeyInfo), - ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x25519_bikel1", x25519_bikel1), -# endif -# ifdef OQS_ENABLE_KEM_bike_l3 - ENCODER_w_structure("bikel3", bikel3, der, PrivateKeyInfo), - ENCODER_w_structure("bikel3", bikel3, pem, PrivateKeyInfo), - ENCODER_w_structure("bikel3", bikel3, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("bikel3", bikel3, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("bikel3", bikel3, der, SubjectPublicKeyInfo), - ENCODER_w_structure("bikel3", bikel3, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("bikel3", bikel3), - ENCODER_w_structure("p384_bikel3", p384_bikel3, der, PrivateKeyInfo), - ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_bikel3", p384_bikel3, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_bikel3", p384_bikel3, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p384_bikel3", p384_bikel3), - ENCODER_w_structure("x448_bikel3", x448_bikel3, der, PrivateKeyInfo), - ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, PrivateKeyInfo), - ENCODER_w_structure("x448_bikel3", x448_bikel3, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_bikel3", x448_bikel3, der, SubjectPublicKeyInfo), - ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("x448_bikel3", x448_bikel3), -# endif -# ifdef OQS_ENABLE_KEM_bike_l5 - ENCODER_w_structure("bikel5", bikel5, der, PrivateKeyInfo), - ENCODER_w_structure("bikel5", bikel5, pem, PrivateKeyInfo), - ENCODER_w_structure("bikel5", bikel5, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("bikel5", bikel5, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("bikel5", bikel5, der, SubjectPublicKeyInfo), - ENCODER_w_structure("bikel5", bikel5, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("bikel5", bikel5), - ENCODER_w_structure("p521_bikel5", p521_bikel5, der, PrivateKeyInfo), - ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, PrivateKeyInfo), - ENCODER_w_structure("p521_bikel5", p521_bikel5, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_bikel5", p521_bikel5, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p521_bikel5", p521_bikel5), -# endif -# ifdef OQS_ENABLE_KEM_hqc_128 - ENCODER_w_structure("hqc128", hqc128, der, PrivateKeyInfo), - ENCODER_w_structure("hqc128", hqc128, pem, PrivateKeyInfo), - ENCODER_w_structure("hqc128", hqc128, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("hqc128", hqc128, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("hqc128", hqc128, der, SubjectPublicKeyInfo), - ENCODER_w_structure("hqc128", hqc128, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("hqc128", hqc128), - ENCODER_w_structure("p256_hqc128", p256_hqc128, der, PrivateKeyInfo), - ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_hqc128", p256_hqc128, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_hqc128", p256_hqc128, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p256_hqc128", p256_hqc128), - ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, PrivateKeyInfo), - ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, PrivateKeyInfo), - ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("x25519_hqc128", x25519_hqc128), -# endif -# ifdef OQS_ENABLE_KEM_hqc_192 - ENCODER_w_structure("hqc192", hqc192, der, PrivateKeyInfo), - ENCODER_w_structure("hqc192", hqc192, pem, PrivateKeyInfo), - ENCODER_w_structure("hqc192", hqc192, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("hqc192", hqc192, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("hqc192", hqc192, der, SubjectPublicKeyInfo), - ENCODER_w_structure("hqc192", hqc192, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("hqc192", hqc192), - ENCODER_w_structure("p384_hqc192", p384_hqc192, der, PrivateKeyInfo), - ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_hqc192", p384_hqc192, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_hqc192", p384_hqc192, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p384_hqc192", p384_hqc192), - ENCODER_w_structure("x448_hqc192", x448_hqc192, der, PrivateKeyInfo), - ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, PrivateKeyInfo), - ENCODER_w_structure("x448_hqc192", x448_hqc192, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("x448_hqc192", x448_hqc192, der, SubjectPublicKeyInfo), - ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("x448_hqc192", x448_hqc192), -# endif -# ifdef OQS_ENABLE_KEM_hqc_256 - ENCODER_w_structure("hqc256", hqc256, der, PrivateKeyInfo), - ENCODER_w_structure("hqc256", hqc256, pem, PrivateKeyInfo), - ENCODER_w_structure("hqc256", hqc256, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("hqc256", hqc256, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("hqc256", hqc256, der, SubjectPublicKeyInfo), - ENCODER_w_structure("hqc256", hqc256, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("hqc256", hqc256), - ENCODER_w_structure("p521_hqc256", p521_hqc256, der, PrivateKeyInfo), - ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, PrivateKeyInfo), - ENCODER_w_structure("p521_hqc256", p521_hqc256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_hqc256", p521_hqc256, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p521_hqc256", p521_hqc256), -# endif +ENCODER_w_structure("frodo640aes", frodo640aes, pem, PrivateKeyInfo), +ENCODER_w_structure("frodo640aes", frodo640aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo640aes", frodo640aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo640aes", frodo640aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("frodo640aes", frodo640aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("frodo640aes", frodo640aes), +ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, PrivateKeyInfo), +ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_frodo640aes", p256_frodo640aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_frodo640aes", p256_frodo640aes), +ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, PrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, PrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x25519_frodo640aes", x25519_frodo640aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x25519_frodo640aes", x25519_frodo640aes), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_640_shake +ENCODER_w_structure("frodo640shake", frodo640shake, der, PrivateKeyInfo), +ENCODER_w_structure("frodo640shake", frodo640shake, pem, PrivateKeyInfo), +ENCODER_w_structure("frodo640shake", frodo640shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo640shake", frodo640shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo640shake", frodo640shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("frodo640shake", frodo640shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("frodo640shake", frodo640shake), +ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, PrivateKeyInfo), +ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_frodo640shake", p256_frodo640shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_frodo640shake", p256_frodo640shake), +ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, PrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, PrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x25519_frodo640shake", x25519_frodo640shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x25519_frodo640shake", x25519_frodo640shake), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_976_aes +ENCODER_w_structure("frodo976aes", frodo976aes, der, PrivateKeyInfo), +ENCODER_w_structure("frodo976aes", frodo976aes, pem, PrivateKeyInfo), +ENCODER_w_structure("frodo976aes", frodo976aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo976aes", frodo976aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo976aes", frodo976aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("frodo976aes", frodo976aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("frodo976aes", frodo976aes), +ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, PrivateKeyInfo), +ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_frodo976aes", p384_frodo976aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_frodo976aes", p384_frodo976aes), +ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, PrivateKeyInfo), +ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, PrivateKeyInfo), +ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x448_frodo976aes", x448_frodo976aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x448_frodo976aes", x448_frodo976aes), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_976_shake +ENCODER_w_structure("frodo976shake", frodo976shake, der, PrivateKeyInfo), +ENCODER_w_structure("frodo976shake", frodo976shake, pem, PrivateKeyInfo), +ENCODER_w_structure("frodo976shake", frodo976shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo976shake", frodo976shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo976shake", frodo976shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("frodo976shake", frodo976shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("frodo976shake", frodo976shake), +ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, PrivateKeyInfo), +ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_frodo976shake", p384_frodo976shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_frodo976shake", p384_frodo976shake), +ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, PrivateKeyInfo), +ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, PrivateKeyInfo), +ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x448_frodo976shake", x448_frodo976shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x448_frodo976shake", x448_frodo976shake), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_1344_aes +ENCODER_w_structure("frodo1344aes", frodo1344aes, der, PrivateKeyInfo), +ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, PrivateKeyInfo), +ENCODER_w_structure("frodo1344aes", frodo1344aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo1344aes", frodo1344aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("frodo1344aes", frodo1344aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("frodo1344aes", frodo1344aes), +ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, PrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_frodo1344aes", p521_frodo1344aes, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_frodo1344aes", p521_frodo1344aes), +#endif +#ifdef OQS_ENABLE_KEM_frodokem_1344_shake +ENCODER_w_structure("frodo1344shake", frodo1344shake, der, PrivateKeyInfo), +ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, PrivateKeyInfo), +ENCODER_w_structure("frodo1344shake", frodo1344shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("frodo1344shake", frodo1344shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("frodo1344shake", frodo1344shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("frodo1344shake", frodo1344shake), +ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, PrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_frodo1344shake", p521_frodo1344shake, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_frodo1344shake", p521_frodo1344shake), +#endif +#ifdef OQS_ENABLE_KEM_kyber_512 +ENCODER_w_structure("kyber512", kyber512, der, PrivateKeyInfo), +ENCODER_w_structure("kyber512", kyber512, pem, PrivateKeyInfo), +ENCODER_w_structure("kyber512", kyber512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("kyber512", kyber512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("kyber512", kyber512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("kyber512", kyber512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("kyber512", kyber512), +ENCODER_w_structure("p256_kyber512", p256_kyber512, der, PrivateKeyInfo), +ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_kyber512", p256_kyber512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_kyber512", p256_kyber512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_kyber512", p256_kyber512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_kyber512", p256_kyber512), +ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, PrivateKeyInfo), +ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, PrivateKeyInfo), +ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_kyber512", x25519_kyber512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x25519_kyber512", x25519_kyber512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x25519_kyber512", x25519_kyber512), +#endif +#ifdef OQS_ENABLE_KEM_kyber_768 +ENCODER_w_structure("kyber768", kyber768, der, PrivateKeyInfo), +ENCODER_w_structure("kyber768", kyber768, pem, PrivateKeyInfo), +ENCODER_w_structure("kyber768", kyber768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("kyber768", kyber768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("kyber768", kyber768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("kyber768", kyber768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("kyber768", kyber768), +ENCODER_w_structure("p384_kyber768", p384_kyber768, der, PrivateKeyInfo), +ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_kyber768", p384_kyber768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_kyber768", p384_kyber768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_kyber768", p384_kyber768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_kyber768", p384_kyber768), +ENCODER_w_structure("x448_kyber768", x448_kyber768, der, PrivateKeyInfo), +ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, PrivateKeyInfo), +ENCODER_w_structure("x448_kyber768", x448_kyber768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_kyber768", x448_kyber768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x448_kyber768", x448_kyber768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x448_kyber768", x448_kyber768), +ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, PrivateKeyInfo), +ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, PrivateKeyInfo), +ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_kyber768", x25519_kyber768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x25519_kyber768", x25519_kyber768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x25519_kyber768", x25519_kyber768), +ENCODER_w_structure("p256_kyber768", p256_kyber768, der, PrivateKeyInfo), +ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_kyber768", p256_kyber768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_kyber768", p256_kyber768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_kyber768", p256_kyber768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_kyber768", p256_kyber768), +#endif +#ifdef OQS_ENABLE_KEM_kyber_1024 +ENCODER_w_structure("kyber1024", kyber1024, der, PrivateKeyInfo), +ENCODER_w_structure("kyber1024", kyber1024, pem, PrivateKeyInfo), +ENCODER_w_structure("kyber1024", kyber1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("kyber1024", kyber1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("kyber1024", kyber1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("kyber1024", kyber1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("kyber1024", kyber1024), +ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, PrivateKeyInfo), +ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_kyber1024", p521_kyber1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_kyber1024", p521_kyber1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_kyber1024", p521_kyber1024), +#endif +#ifdef OQS_ENABLE_KEM_ml_kem_512 +ENCODER_w_structure("mlkem512", mlkem512, der, PrivateKeyInfo), +ENCODER_w_structure("mlkem512", mlkem512, pem, PrivateKeyInfo), +ENCODER_w_structure("mlkem512", mlkem512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mlkem512", mlkem512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mlkem512", mlkem512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mlkem512", mlkem512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mlkem512", mlkem512), +ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, PrivateKeyInfo), +ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mlkem512", p256_mlkem512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_mlkem512", p256_mlkem512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_mlkem512", p256_mlkem512), +ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, PrivateKeyInfo), +ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, PrivateKeyInfo), +ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x25519_mlkem512", x25519_mlkem512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x25519_mlkem512", x25519_mlkem512), +#endif +#ifdef OQS_ENABLE_KEM_ml_kem_768 +ENCODER_w_structure("mlkem768", mlkem768, der, PrivateKeyInfo), +ENCODER_w_structure("mlkem768", mlkem768, pem, PrivateKeyInfo), +ENCODER_w_structure("mlkem768", mlkem768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mlkem768", mlkem768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mlkem768", mlkem768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mlkem768", mlkem768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mlkem768", mlkem768), +ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, PrivateKeyInfo), +ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mlkem768", p384_mlkem768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_mlkem768", p384_mlkem768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_mlkem768", p384_mlkem768), +ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, PrivateKeyInfo), +ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, PrivateKeyInfo), +ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_mlkem768", x448_mlkem768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x448_mlkem768", x448_mlkem768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x448_mlkem768", x448_mlkem768), +ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, PrivateKeyInfo), +ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, PrivateKeyInfo), +ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("X25519MLKEM768", X25519MLKEM768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("X25519MLKEM768", X25519MLKEM768), +ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, PrivateKeyInfo), +ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, PrivateKeyInfo), +ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, der, SubjectPublicKeyInfo), +ENCODER_w_structure("SecP256r1MLKEM768", SecP256r1MLKEM768, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("SecP256r1MLKEM768", SecP256r1MLKEM768), +#endif +#ifdef OQS_ENABLE_KEM_ml_kem_1024 +ENCODER_w_structure("mlkem1024", mlkem1024, der, PrivateKeyInfo), +ENCODER_w_structure("mlkem1024", mlkem1024, pem, PrivateKeyInfo), +ENCODER_w_structure("mlkem1024", mlkem1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mlkem1024", mlkem1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mlkem1024", mlkem1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mlkem1024", mlkem1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mlkem1024", mlkem1024), +ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, PrivateKeyInfo), +ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_mlkem1024", p521_mlkem1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_mlkem1024", p521_mlkem1024), +ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, PrivateKeyInfo), +ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_mlkem1024", p384_mlkem1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_mlkem1024", p384_mlkem1024), +#endif +#ifdef OQS_ENABLE_KEM_bike_l1 +ENCODER_w_structure("bikel1", bikel1, der, PrivateKeyInfo), +ENCODER_w_structure("bikel1", bikel1, pem, PrivateKeyInfo), +ENCODER_w_structure("bikel1", bikel1, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("bikel1", bikel1, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("bikel1", bikel1, der, SubjectPublicKeyInfo), +ENCODER_w_structure("bikel1", bikel1, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("bikel1", bikel1), +ENCODER_w_structure("p256_bikel1", p256_bikel1, der, PrivateKeyInfo), +ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_bikel1", p256_bikel1, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_bikel1", p256_bikel1, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_bikel1", p256_bikel1, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_bikel1", p256_bikel1), +ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, PrivateKeyInfo), +ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, PrivateKeyInfo), +ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_bikel1", x25519_bikel1, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x25519_bikel1", x25519_bikel1, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x25519_bikel1", x25519_bikel1), +#endif +#ifdef OQS_ENABLE_KEM_bike_l3 +ENCODER_w_structure("bikel3", bikel3, der, PrivateKeyInfo), +ENCODER_w_structure("bikel3", bikel3, pem, PrivateKeyInfo), +ENCODER_w_structure("bikel3", bikel3, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("bikel3", bikel3, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("bikel3", bikel3, der, SubjectPublicKeyInfo), +ENCODER_w_structure("bikel3", bikel3, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("bikel3", bikel3), +ENCODER_w_structure("p384_bikel3", p384_bikel3, der, PrivateKeyInfo), +ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_bikel3", p384_bikel3, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_bikel3", p384_bikel3, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_bikel3", p384_bikel3, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_bikel3", p384_bikel3), +ENCODER_w_structure("x448_bikel3", x448_bikel3, der, PrivateKeyInfo), +ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, PrivateKeyInfo), +ENCODER_w_structure("x448_bikel3", x448_bikel3, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_bikel3", x448_bikel3, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x448_bikel3", x448_bikel3, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x448_bikel3", x448_bikel3), +#endif +#ifdef OQS_ENABLE_KEM_bike_l5 +ENCODER_w_structure("bikel5", bikel5, der, PrivateKeyInfo), +ENCODER_w_structure("bikel5", bikel5, pem, PrivateKeyInfo), +ENCODER_w_structure("bikel5", bikel5, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("bikel5", bikel5, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("bikel5", bikel5, der, SubjectPublicKeyInfo), +ENCODER_w_structure("bikel5", bikel5, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("bikel5", bikel5), +ENCODER_w_structure("p521_bikel5", p521_bikel5, der, PrivateKeyInfo), +ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_bikel5", p521_bikel5, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_bikel5", p521_bikel5, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_bikel5", p521_bikel5, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_bikel5", p521_bikel5), +#endif +#ifdef OQS_ENABLE_KEM_hqc_128 +ENCODER_w_structure("hqc128", hqc128, der, PrivateKeyInfo), +ENCODER_w_structure("hqc128", hqc128, pem, PrivateKeyInfo), +ENCODER_w_structure("hqc128", hqc128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("hqc128", hqc128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("hqc128", hqc128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("hqc128", hqc128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("hqc128", hqc128), +ENCODER_w_structure("p256_hqc128", p256_hqc128, der, PrivateKeyInfo), +ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_hqc128", p256_hqc128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_hqc128", p256_hqc128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_hqc128", p256_hqc128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_hqc128", p256_hqc128), +ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, PrivateKeyInfo), +ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, PrivateKeyInfo), +ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x25519_hqc128", x25519_hqc128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x25519_hqc128", x25519_hqc128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x25519_hqc128", x25519_hqc128), +#endif +#ifdef OQS_ENABLE_KEM_hqc_192 +ENCODER_w_structure("hqc192", hqc192, der, PrivateKeyInfo), +ENCODER_w_structure("hqc192", hqc192, pem, PrivateKeyInfo), +ENCODER_w_structure("hqc192", hqc192, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("hqc192", hqc192, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("hqc192", hqc192, der, SubjectPublicKeyInfo), +ENCODER_w_structure("hqc192", hqc192, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("hqc192", hqc192), +ENCODER_w_structure("p384_hqc192", p384_hqc192, der, PrivateKeyInfo), +ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_hqc192", p384_hqc192, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_hqc192", p384_hqc192, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_hqc192", p384_hqc192, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_hqc192", p384_hqc192), +ENCODER_w_structure("x448_hqc192", x448_hqc192, der, PrivateKeyInfo), +ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, PrivateKeyInfo), +ENCODER_w_structure("x448_hqc192", x448_hqc192, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("x448_hqc192", x448_hqc192, der, SubjectPublicKeyInfo), +ENCODER_w_structure("x448_hqc192", x448_hqc192, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("x448_hqc192", x448_hqc192), +#endif +#ifdef OQS_ENABLE_KEM_hqc_256 +ENCODER_w_structure("hqc256", hqc256, der, PrivateKeyInfo), +ENCODER_w_structure("hqc256", hqc256, pem, PrivateKeyInfo), +ENCODER_w_structure("hqc256", hqc256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("hqc256", hqc256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("hqc256", hqc256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("hqc256", hqc256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("hqc256", hqc256), +ENCODER_w_structure("p521_hqc256", p521_hqc256, der, PrivateKeyInfo), +ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_hqc256", p521_hqc256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_hqc256", p521_hqc256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_hqc256", p521_hqc256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_hqc256", p521_hqc256), +#endif #endif /* OQS_KEM_ENCODERS */ + #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2", dilithium2, der, PrivateKeyInfo), - ENCODER_w_structure("dilithium2", dilithium2, pem, PrivateKeyInfo), - ENCODER_w_structure("dilithium2", dilithium2, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2", dilithium2, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2", dilithium2, der, SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2", dilithium2, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2", dilithium2), - ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, - PrivateKeyInfo), - ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, - PrivateKeyInfo), - ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_dilithium2", p256_dilithium2), - ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("rsa3072_dilithium2", rsa3072_dilithium2), +ENCODER_w_structure("dilithium2", dilithium2, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2", dilithium2, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2", dilithium2, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2", dilithium2, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2", dilithium2, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2", dilithium2, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2", dilithium2), +ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, PrivateKeyInfo), +ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_dilithium2", p256_dilithium2, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_dilithium2", p256_dilithium2, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_dilithium2", p256_dilithium2), +ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, der, SubjectPublicKeyInfo), +ENCODER_w_structure("rsa3072_dilithium2", rsa3072_dilithium2, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("rsa3072_dilithium2", rsa3072_dilithium2), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 - ENCODER_w_structure("dilithium3", dilithium3, der, PrivateKeyInfo), - ENCODER_w_structure("dilithium3", dilithium3, pem, PrivateKeyInfo), - ENCODER_w_structure("dilithium3", dilithium3, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium3", dilithium3, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium3", dilithium3, der, SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium3", dilithium3, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium3", dilithium3), - ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, - PrivateKeyInfo), - ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, - PrivateKeyInfo), - ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p384_dilithium3", p384_dilithium3), +ENCODER_w_structure("dilithium3", dilithium3, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3", dilithium3, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3", dilithium3, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3", dilithium3, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3", dilithium3, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3", dilithium3, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3", dilithium3), +ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, PrivateKeyInfo), +ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_dilithium3", p384_dilithium3, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_dilithium3", p384_dilithium3, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_dilithium3", p384_dilithium3), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 - ENCODER_w_structure("dilithium5", dilithium5, der, PrivateKeyInfo), - ENCODER_w_structure("dilithium5", dilithium5, pem, PrivateKeyInfo), - ENCODER_w_structure("dilithium5", dilithium5, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium5", dilithium5, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium5", dilithium5, der, SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium5", dilithium5, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium5", dilithium5), - ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, - PrivateKeyInfo), - ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, - PrivateKeyInfo), - ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_dilithium5", p521_dilithium5), +ENCODER_w_structure("dilithium5", dilithium5, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5", dilithium5, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5", dilithium5, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5", dilithium5, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5", dilithium5, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5", dilithium5, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5", dilithium5), +ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, PrivateKeyInfo), +ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_dilithium5", p521_dilithium5, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_dilithium5", p521_dilithium5, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_dilithium5", p521_dilithium5), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_44 - ENCODER_w_structure("mldsa44", mldsa44, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa44", mldsa44, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa44", mldsa44, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44", mldsa44, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44", mldsa44, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa44", mldsa44, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa44", mldsa44), - ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, PrivateKeyInfo), - ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_mldsa44", p256_mldsa44), - ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("rsa3072_mldsa44", rsa3072_mldsa44), - ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, - PrivateKeyInfo), - ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, - PrivateKeyInfo), - ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa44_pss2048", mldsa44_pss2048), - ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, - PrivateKeyInfo), - ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, - PrivateKeyInfo), - ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa44_rsa2048", mldsa44_rsa2048), - ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, - PrivateKeyInfo), - ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, - PrivateKeyInfo), - ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa44_ed25519", mldsa44_ed25519), - ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa44_p256", mldsa44_p256), - ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa44_bp256", mldsa44_bp256), +ENCODER_w_structure("mldsa44", mldsa44, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa44", mldsa44, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa44", mldsa44, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44", mldsa44, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44", mldsa44, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa44", mldsa44, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa44", mldsa44), +ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, PrivateKeyInfo), +ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mldsa44", p256_mldsa44, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_mldsa44", p256_mldsa44, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_mldsa44", p256_mldsa44), +ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, der, SubjectPublicKeyInfo), +ENCODER_w_structure("rsa3072_mldsa44", rsa3072_mldsa44, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("rsa3072_mldsa44", rsa3072_mldsa44), +ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa44_pss2048", mldsa44_pss2048, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa44_pss2048", mldsa44_pss2048), +ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa44_rsa2048", mldsa44_rsa2048, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa44_rsa2048", mldsa44_rsa2048), +ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa44_ed25519", mldsa44_ed25519, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa44_ed25519", mldsa44_ed25519), +ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_p256", mldsa44_p256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa44_p256", mldsa44_p256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa44_p256", mldsa44_p256), +ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa44_bp256", mldsa44_bp256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa44_bp256", mldsa44_bp256), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_65 - ENCODER_w_structure("mldsa65", mldsa65, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa65", mldsa65, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa65", mldsa65, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65", mldsa65, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65", mldsa65, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa65", mldsa65, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa65", mldsa65), - ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, PrivateKeyInfo), - ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p384_mldsa65", p384_mldsa65), - ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, - PrivateKeyInfo), - ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, - PrivateKeyInfo), - ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa65_pss3072", mldsa65_pss3072), - ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, - PrivateKeyInfo), - ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, - PrivateKeyInfo), - ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa65_rsa3072", mldsa65_rsa3072), - ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa65_p256", mldsa65_p256), - ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa65_bp256", mldsa65_bp256), - ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, - PrivateKeyInfo), - ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, - PrivateKeyInfo), - ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa65_ed25519", mldsa65_ed25519), +ENCODER_w_structure("mldsa65", mldsa65, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa65", mldsa65, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa65", mldsa65, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65", mldsa65, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65", mldsa65, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa65", mldsa65, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa65", mldsa65), +ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, PrivateKeyInfo), +ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mldsa65", p384_mldsa65, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_mldsa65", p384_mldsa65, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_mldsa65", p384_mldsa65), +ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa65_pss3072", mldsa65_pss3072, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa65_pss3072", mldsa65_pss3072), +ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa65_rsa3072", mldsa65_rsa3072, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa65_rsa3072", mldsa65_rsa3072), +ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_p256", mldsa65_p256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa65_p256", mldsa65_p256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa65_p256", mldsa65_p256), +ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa65_bp256", mldsa65_bp256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa65_bp256", mldsa65_bp256), +ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa65_ed25519", mldsa65_ed25519, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa65_ed25519", mldsa65_ed25519), #endif #ifdef OQS_ENABLE_SIG_ml_dsa_87 - ENCODER_w_structure("mldsa87", mldsa87, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa87", mldsa87, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa87", mldsa87, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87", mldsa87, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87", mldsa87, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa87", mldsa87, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa87", mldsa87), - ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, PrivateKeyInfo), - ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, PrivateKeyInfo), - ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_mldsa87", p521_mldsa87), - ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa87_p384", mldsa87_p384), - ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa87_bp384", mldsa87_bp384), - ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, PrivateKeyInfo), - ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, PrivateKeyInfo), - ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("mldsa87_ed448", mldsa87_ed448), +ENCODER_w_structure("mldsa87", mldsa87, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa87", mldsa87, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa87", mldsa87, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87", mldsa87, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87", mldsa87, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa87", mldsa87, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa87", mldsa87), +ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, PrivateKeyInfo), +ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_mldsa87", p521_mldsa87, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_mldsa87", p521_mldsa87, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_mldsa87", p521_mldsa87), +ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87_p384", mldsa87_p384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa87_p384", mldsa87_p384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa87_p384", mldsa87_p384), +ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa87_bp384", mldsa87_bp384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa87_bp384", mldsa87_bp384), +ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, PrivateKeyInfo), +ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, PrivateKeyInfo), +ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mldsa87_ed448", mldsa87_ed448, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mldsa87_ed448", mldsa87_ed448), #endif #ifdef OQS_ENABLE_SIG_falcon_512 - ENCODER_w_structure("falcon512", falcon512, der, PrivateKeyInfo), - ENCODER_w_structure("falcon512", falcon512, pem, PrivateKeyInfo), - ENCODER_w_structure("falcon512", falcon512, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("falcon512", falcon512, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("falcon512", falcon512, der, SubjectPublicKeyInfo), - ENCODER_w_structure("falcon512", falcon512, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("falcon512", falcon512), - ENCODER_w_structure("p256_falcon512", p256_falcon512, der, PrivateKeyInfo), - ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_falcon512", p256_falcon512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_falcon512", p256_falcon512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_falcon512", p256_falcon512), - ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("rsa3072_falcon512", rsa3072_falcon512), +ENCODER_w_structure("falcon512", falcon512, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512", falcon512, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512", falcon512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512", falcon512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512", falcon512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512", falcon512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512", falcon512), +ENCODER_w_structure("p256_falcon512", p256_falcon512, der, PrivateKeyInfo), +ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_falcon512", p256_falcon512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_falcon512", p256_falcon512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_falcon512", p256_falcon512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_falcon512", p256_falcon512), +ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("rsa3072_falcon512", rsa3072_falcon512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("rsa3072_falcon512", rsa3072_falcon512), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_512 - ENCODER_w_structure("falconpadded512", falconpadded512, der, - PrivateKeyInfo), - ENCODER_w_structure("falconpadded512", falconpadded512, pem, - PrivateKeyInfo), - ENCODER_w_structure("falconpadded512", falconpadded512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("falconpadded512", falconpadded512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("falconpadded512", falconpadded512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("falconpadded512", falconpadded512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("falconpadded512", falconpadded512), - ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, - PrivateKeyInfo), - ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, - PrivateKeyInfo), - ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p256_falconpadded512", p256_falconpadded512), - ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, - PrivateKeyInfo), - ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("rsa3072_falconpadded512", rsa3072_falconpadded512), +ENCODER_w_structure("falconpadded512", falconpadded512, der, PrivateKeyInfo), +ENCODER_w_structure("falconpadded512", falconpadded512, pem, PrivateKeyInfo), +ENCODER_w_structure("falconpadded512", falconpadded512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falconpadded512", falconpadded512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falconpadded512", falconpadded512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falconpadded512", falconpadded512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falconpadded512", falconpadded512), +ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, PrivateKeyInfo), +ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_falconpadded512", p256_falconpadded512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_falconpadded512", p256_falconpadded512), +ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("rsa3072_falconpadded512", rsa3072_falconpadded512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("rsa3072_falconpadded512", rsa3072_falconpadded512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 - ENCODER_w_structure("falcon1024", falcon1024, der, PrivateKeyInfo), - ENCODER_w_structure("falcon1024", falcon1024, pem, PrivateKeyInfo), - ENCODER_w_structure("falcon1024", falcon1024, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("falcon1024", falcon1024, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("falcon1024", falcon1024, der, SubjectPublicKeyInfo), - ENCODER_w_structure("falcon1024", falcon1024, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("falcon1024", falcon1024), - ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, - PrivateKeyInfo), - ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, - PrivateKeyInfo), - ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_falcon1024", p521_falcon1024), +ENCODER_w_structure("falcon1024", falcon1024, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024", falcon1024, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024", falcon1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024", falcon1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024", falcon1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024", falcon1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024", falcon1024), +ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, PrivateKeyInfo), +ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_falcon1024", p521_falcon1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_falcon1024", p521_falcon1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_falcon1024", p521_falcon1024), #endif #ifdef OQS_ENABLE_SIG_falcon_padded_1024 - ENCODER_w_structure("falconpadded1024", falconpadded1024, der, - PrivateKeyInfo), - ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, - PrivateKeyInfo), - ENCODER_w_structure("falconpadded1024", falconpadded1024, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("falconpadded1024", falconpadded1024, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("falconpadded1024", falconpadded1024), - ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, - PrivateKeyInfo), - ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, - PrivateKeyInfo), - ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("p521_falconpadded1024", p521_falconpadded1024), +ENCODER_w_structure("falconpadded1024", falconpadded1024, der, PrivateKeyInfo), +ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, PrivateKeyInfo), +ENCODER_w_structure("falconpadded1024", falconpadded1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falconpadded1024", falconpadded1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falconpadded1024", falconpadded1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falconpadded1024", falconpadded1024), +ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, PrivateKeyInfo), +ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_falconpadded1024", p521_falconpadded1024, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_falconpadded1024", p521_falconpadded1024), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, - PrivateKeyInfo), - ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, - PrivateKeyInfo), - ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("sphincssha2128fsimple", sphincssha2128fsimple), - ENCODER_w_structure("p256_sphincssha2128fsimple", - p256_sphincssha2128fsimple, der, PrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128fsimple", - p256_sphincssha2128fsimple, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128fsimple", - p256_sphincssha2128fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128fsimple", - p256_sphincssha2128fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128fsimple", - p256_sphincssha2128fsimple, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p256_sphincssha2128fsimple", - p256_sphincssha2128fsimple, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple), - ENCODER_w_structure("rsa3072_sphincssha2128fsimple", - rsa3072_sphincssha2128fsimple, der, PrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128fsimple", - rsa3072_sphincssha2128fsimple, pem, PrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128fsimple", - rsa3072_sphincssha2128fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128fsimple", - rsa3072_sphincssha2128fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128fsimple", - rsa3072_sphincssha2128fsimple, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128fsimple", - rsa3072_sphincssha2128fsimple, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("rsa3072_sphincssha2128fsimple", - rsa3072_sphincssha2128fsimple), +ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("sphincssha2128fsimple", sphincssha2128fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("sphincssha2128fsimple", sphincssha2128fsimple), +ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_sphincssha2128fsimple", p256_sphincssha2128fsimple), +ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, - PrivateKeyInfo), - ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, - PrivateKeyInfo), - ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("sphincssha2128ssimple", sphincssha2128ssimple), - ENCODER_w_structure("p256_sphincssha2128ssimple", - p256_sphincssha2128ssimple, der, PrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128ssimple", - p256_sphincssha2128ssimple, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128ssimple", - p256_sphincssha2128ssimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128ssimple", - p256_sphincssha2128ssimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_sphincssha2128ssimple", - p256_sphincssha2128ssimple, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p256_sphincssha2128ssimple", - p256_sphincssha2128ssimple, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple), - ENCODER_w_structure("rsa3072_sphincssha2128ssimple", - rsa3072_sphincssha2128ssimple, der, PrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128ssimple", - rsa3072_sphincssha2128ssimple, pem, PrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128ssimple", - rsa3072_sphincssha2128ssimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128ssimple", - rsa3072_sphincssha2128ssimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128ssimple", - rsa3072_sphincssha2128ssimple, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("rsa3072_sphincssha2128ssimple", - rsa3072_sphincssha2128ssimple, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("rsa3072_sphincssha2128ssimple", - rsa3072_sphincssha2128ssimple), +ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, PrivateKeyInfo), +ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, PrivateKeyInfo), +ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("sphincssha2128ssimple", sphincssha2128ssimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("sphincssha2128ssimple", sphincssha2128ssimple), +ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, PrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_sphincssha2128ssimple", p256_sphincssha2128ssimple), +ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, pem, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, - PrivateKeyInfo), - ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, - PrivateKeyInfo), - ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("sphincssha2192fsimple", sphincssha2192fsimple), - ENCODER_w_structure("p384_sphincssha2192fsimple", - p384_sphincssha2192fsimple, der, PrivateKeyInfo), - ENCODER_w_structure("p384_sphincssha2192fsimple", - p384_sphincssha2192fsimple, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_sphincssha2192fsimple", - p384_sphincssha2192fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_sphincssha2192fsimple", - p384_sphincssha2192fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_sphincssha2192fsimple", - p384_sphincssha2192fsimple, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p384_sphincssha2192fsimple", - p384_sphincssha2192fsimple, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple), +ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("sphincssha2192fsimple", sphincssha2192fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("sphincssha2192fsimple", sphincssha2192fsimple), +ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_sphincssha2192fsimple", p384_sphincssha2192fsimple), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, - PrivateKeyInfo), - ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, - PrivateKeyInfo), - ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("sphincsshake128fsimple", sphincsshake128fsimple), - ENCODER_w_structure("p256_sphincsshake128fsimple", - p256_sphincsshake128fsimple, der, PrivateKeyInfo), - ENCODER_w_structure("p256_sphincsshake128fsimple", - p256_sphincsshake128fsimple, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_sphincsshake128fsimple", - p256_sphincsshake128fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_sphincsshake128fsimple", - p256_sphincsshake128fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_sphincsshake128fsimple", - p256_sphincsshake128fsimple, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p256_sphincsshake128fsimple", - p256_sphincsshake128fsimple, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple), - ENCODER_w_structure("rsa3072_sphincsshake128fsimple", - rsa3072_sphincsshake128fsimple, der, PrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincsshake128fsimple", - rsa3072_sphincsshake128fsimple, pem, PrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincsshake128fsimple", - rsa3072_sphincsshake128fsimple, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincsshake128fsimple", - rsa3072_sphincsshake128fsimple, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("rsa3072_sphincsshake128fsimple", - rsa3072_sphincsshake128fsimple, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("rsa3072_sphincsshake128fsimple", - rsa3072_sphincsshake128fsimple, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("rsa3072_sphincsshake128fsimple", - rsa3072_sphincsshake128fsimple), +ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("sphincsshake128fsimple", sphincsshake128fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("sphincsshake128fsimple", sphincsshake128fsimple), +ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_sphincsshake128fsimple", p256_sphincsshake128fsimple), +ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, pem, PrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, der, SubjectPublicKeyInfo), +ENCODER_w_structure("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple), #endif #ifdef OQS_ENABLE_SIG_mayo_1 - ENCODER_w_structure("mayo1", mayo1, der, PrivateKeyInfo), - ENCODER_w_structure("mayo1", mayo1, pem, PrivateKeyInfo), - ENCODER_w_structure("mayo1", mayo1, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo1", mayo1, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo1", mayo1, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mayo1", mayo1, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mayo1", mayo1), - ENCODER_w_structure("p256_mayo1", p256_mayo1, der, PrivateKeyInfo), - ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_mayo1", p256_mayo1, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mayo1", p256_mayo1, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p256_mayo1", p256_mayo1), +ENCODER_w_structure("mayo1", mayo1, der, PrivateKeyInfo), +ENCODER_w_structure("mayo1", mayo1, pem, PrivateKeyInfo), +ENCODER_w_structure("mayo1", mayo1, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo1", mayo1, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo1", mayo1, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mayo1", mayo1, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mayo1", mayo1), +ENCODER_w_structure("p256_mayo1", p256_mayo1, der, PrivateKeyInfo), +ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_mayo1", p256_mayo1, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mayo1", p256_mayo1, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_mayo1", p256_mayo1, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_mayo1", p256_mayo1), #endif #ifdef OQS_ENABLE_SIG_mayo_2 - ENCODER_w_structure("mayo2", mayo2, der, PrivateKeyInfo), - ENCODER_w_structure("mayo2", mayo2, pem, PrivateKeyInfo), - ENCODER_w_structure("mayo2", mayo2, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo2", mayo2, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo2", mayo2, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mayo2", mayo2, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mayo2", mayo2), - ENCODER_w_structure("p256_mayo2", p256_mayo2, der, PrivateKeyInfo), - ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, PrivateKeyInfo), - ENCODER_w_structure("p256_mayo2", p256_mayo2, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p256_mayo2", p256_mayo2, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p256_mayo2", p256_mayo2), +ENCODER_w_structure("mayo2", mayo2, der, PrivateKeyInfo), +ENCODER_w_structure("mayo2", mayo2, pem, PrivateKeyInfo), +ENCODER_w_structure("mayo2", mayo2, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo2", mayo2, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo2", mayo2, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mayo2", mayo2, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mayo2", mayo2), +ENCODER_w_structure("p256_mayo2", p256_mayo2, der, PrivateKeyInfo), +ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, PrivateKeyInfo), +ENCODER_w_structure("p256_mayo2", p256_mayo2, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p256_mayo2", p256_mayo2, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p256_mayo2", p256_mayo2, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p256_mayo2", p256_mayo2), #endif #ifdef OQS_ENABLE_SIG_mayo_3 - ENCODER_w_structure("mayo3", mayo3, der, PrivateKeyInfo), - ENCODER_w_structure("mayo3", mayo3, pem, PrivateKeyInfo), - ENCODER_w_structure("mayo3", mayo3, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo3", mayo3, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo3", mayo3, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mayo3", mayo3, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mayo3", mayo3), - ENCODER_w_structure("p384_mayo3", p384_mayo3, der, PrivateKeyInfo), - ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, PrivateKeyInfo), - ENCODER_w_structure("p384_mayo3", p384_mayo3, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p384_mayo3", p384_mayo3, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p384_mayo3", p384_mayo3), +ENCODER_w_structure("mayo3", mayo3, der, PrivateKeyInfo), +ENCODER_w_structure("mayo3", mayo3, pem, PrivateKeyInfo), +ENCODER_w_structure("mayo3", mayo3, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo3", mayo3, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo3", mayo3, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mayo3", mayo3, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mayo3", mayo3), +ENCODER_w_structure("p384_mayo3", p384_mayo3, der, PrivateKeyInfo), +ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, PrivateKeyInfo), +ENCODER_w_structure("p384_mayo3", p384_mayo3, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p384_mayo3", p384_mayo3, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p384_mayo3", p384_mayo3, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p384_mayo3", p384_mayo3), #endif #ifdef OQS_ENABLE_SIG_mayo_5 - ENCODER_w_structure("mayo5", mayo5, der, PrivateKeyInfo), - ENCODER_w_structure("mayo5", mayo5, pem, PrivateKeyInfo), - ENCODER_w_structure("mayo5", mayo5, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo5", mayo5, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("mayo5", mayo5, der, SubjectPublicKeyInfo), - ENCODER_w_structure("mayo5", mayo5, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("mayo5", mayo5), - ENCODER_w_structure("p521_mayo5", p521_mayo5, der, PrivateKeyInfo), - ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, PrivateKeyInfo), - ENCODER_w_structure("p521_mayo5", p521_mayo5, der, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, EncryptedPrivateKeyInfo), - ENCODER_w_structure("p521_mayo5", p521_mayo5, der, SubjectPublicKeyInfo), - ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, SubjectPublicKeyInfo), - ENCODER_TEXT("p521_mayo5", p521_mayo5), +ENCODER_w_structure("mayo5", mayo5, der, PrivateKeyInfo), +ENCODER_w_structure("mayo5", mayo5, pem, PrivateKeyInfo), +ENCODER_w_structure("mayo5", mayo5, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo5", mayo5, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("mayo5", mayo5, der, SubjectPublicKeyInfo), +ENCODER_w_structure("mayo5", mayo5, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("mayo5", mayo5), +ENCODER_w_structure("p521_mayo5", p521_mayo5, der, PrivateKeyInfo), +ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, PrivateKeyInfo), +ENCODER_w_structure("p521_mayo5", p521_mayo5, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("p521_mayo5", p521_mayo5, der, SubjectPublicKeyInfo), +ENCODER_w_structure("p521_mayo5", p521_mayo5, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("p521_mayo5", p521_mayo5), #endif #ifdef OQS_ENABLE_SIG_cross_rsdp_128_balanced - ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, - PrivateKeyInfo), - ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, - PrivateKeyInfo), - ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("CROSSrsdp128balanced", CROSSrsdp128balanced), +ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, PrivateKeyInfo), +ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, PrivateKeyInfo), +ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, der, SubjectPublicKeyInfo), +ENCODER_w_structure("CROSSrsdp128balanced", CROSSrsdp128balanced, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("CROSSrsdp128balanced", CROSSrsdp128balanced), #endif - ///// OQS_TEMPLATE_FRAGMENT_MAKE_END +///// OQS_TEMPLATE_FRAGMENT_MAKE_END From 2734831f0a25a684c969459c8198702846ccac55 Mon Sep 17 00:00:00 2001 From: Basil Hess Date: Fri, 29 Nov 2024 16:25:39 +0100 Subject: [PATCH 6/7] Update ML-DSA code points Signed-off-by: Basil Hess --- ALGORITHMS.md | 34 +++++++++++++++--------------- oqs-template/generate.yml | 38 +++++++++++++++++----------------- oqs-template/oqs-sig-info.md | 36 ++++++++++++++++---------------- oqsprov/oqsprov_capabilities.c | 22 ++++++++++---------- 4 files changed, 65 insertions(+), 65 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index 0a161bfa..0af1797d 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -72,26 +72,26 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | p384_dilithium3 | 0xfea4 |Yes| OQS_CODEPOINT_P384_DILITHIUM3 | dilithium5 | 0xfea5 |Yes| OQS_CODEPOINT_DILITHIUM5 | p521_dilithium5 | 0xfea6 |Yes| OQS_CODEPOINT_P521_DILITHIUM5 -| mldsa44 | 0xff06 |Yes| OQS_CODEPOINT_MLDSA44 -| p256_mldsa44 | 0xff09 |Yes| OQS_CODEPOINT_P256_MLDSA44 -| rsa3072_mldsa44 | 0xff0a |Yes| OQS_CODEPOINT_RSA3072_MLDSA44 -| mldsa44_pss2048 | 0xfee1 |Yes| OQS_CODEPOINT_MLDSA44_pss2048 -| mldsa44_rsa2048 | 0xfee2 |Yes| OQS_CODEPOINT_MLDSA44_rsa2048 -| mldsa44_ed25519 | 0xfee3 |Yes| OQS_CODEPOINT_MLDSA44_ed25519 -| mldsa44_p256 | 0xfee4 |Yes| OQS_CODEPOINT_MLDSA44_p256 +| mldsa44 | 0x0904 |Yes| OQS_CODEPOINT_MLDSA44 +| p256_mldsa44 | 0xff06 |Yes| OQS_CODEPOINT_P256_MLDSA44 +| rsa3072_mldsa44 | 0xff07 |Yes| OQS_CODEPOINT_RSA3072_MLDSA44 +| mldsa44_pss2048 | 0x090f |Yes| OQS_CODEPOINT_MLDSA44_pss2048 +| mldsa44_rsa2048 | 0x090c |Yes| OQS_CODEPOINT_MLDSA44_rsa2048 +| mldsa44_ed25519 | 0x090a |Yes| OQS_CODEPOINT_MLDSA44_ed25519 +| mldsa44_p256 | 0x0907 |Yes| OQS_CODEPOINT_MLDSA44_p256 | mldsa44_bp256 | 0xfee5 |Yes| OQS_CODEPOINT_MLDSA44_bp256 -| mldsa65 | 0xff07 |Yes| OQS_CODEPOINT_MLDSA65 -| p384_mldsa65 | 0xff0b |Yes| OQS_CODEPOINT_P384_MLDSA65 -| mldsa65_pss3072 | 0xfee6 |Yes| OQS_CODEPOINT_MLDSA65_pss3072 -| mldsa65_rsa3072 | 0xfee7 |Yes| OQS_CODEPOINT_MLDSA65_rsa3072 -| mldsa65_p256 | 0xfee8 |Yes| OQS_CODEPOINT_MLDSA65_p256 +| mldsa65 | 0x0905 |Yes| OQS_CODEPOINT_MLDSA65 +| p384_mldsa65 | 0xff08 |Yes| OQS_CODEPOINT_P384_MLDSA65 +| mldsa65_pss3072 | 0x0910 |Yes| OQS_CODEPOINT_MLDSA65_pss3072 +| mldsa65_rsa3072 | 0x090d |Yes| OQS_CODEPOINT_MLDSA65_rsa3072 +| mldsa65_p256 | 0x0908 |Yes| OQS_CODEPOINT_MLDSA65_p256 | mldsa65_bp256 | 0xfee9 |Yes| OQS_CODEPOINT_MLDSA65_bp256 -| mldsa65_ed25519 | 0xfeea |Yes| OQS_CODEPOINT_MLDSA65_ed25519 -| mldsa87 | 0xff08 |Yes| OQS_CODEPOINT_MLDSA87 -| p521_mldsa87 | 0xff0c |Yes| OQS_CODEPOINT_P521_MLDSA87 -| mldsa87_p384 | 0xfeeb |Yes| OQS_CODEPOINT_MLDSA87_p384 +| mldsa65_ed25519 | 0x090b |Yes| OQS_CODEPOINT_MLDSA65_ed25519 +| mldsa87 | 0x0906 |Yes| OQS_CODEPOINT_MLDSA87 +| p521_mldsa87 | 0xff09 |Yes| OQS_CODEPOINT_P521_MLDSA87 +| mldsa87_p384 | 0x0909 |Yes| OQS_CODEPOINT_MLDSA87_p384 | mldsa87_bp384 | 0xfeec |Yes| OQS_CODEPOINT_MLDSA87_bp384 -| mldsa87_ed448 | 0xfeed |Yes| OQS_CODEPOINT_MLDSA87_ed448 +| mldsa87_ed448 | 0x0912 |Yes| OQS_CODEPOINT_MLDSA87_ed448 | falcon512 | 0xfed7 |Yes| OQS_CODEPOINT_FALCON512 | p256_falcon512 | 0xfed8 |Yes| OQS_CODEPOINT_P256_FALCON512 | rsa3072_falcon512 | 0xfed9 |Yes| OQS_CODEPOINT_RSA3072_FALCON512 diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index 901283e7..affcc4d3 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -426,7 +426,7 @@ kem_nid_end: '0x0250' kem_nid_hybrid_end: '0x2FFF' # need to edit ssl_local.h macros IS_OQS_KEM_CURVEID and IS_OQS_KEM_HYBRID_CURVEID with the above _end values -# Next free signature ID: 0xff19 +# Next free signature ID: 0xff0a sigs: # - # iso (1) @@ -583,36 +583,36 @@ sigs: pretty_name: 'ML-DSA-44' oqs_meth: 'OQS_SIG_alg_ml_dsa_44' oid: '2.16.840.1.101.3.4.3.17' - code_point: '0xff06' + code_point: '0x0904' enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.7.5', - 'code_point': '0xff09'}, + 'code_point': '0xff06'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.7.6', - 'code_point': '0xff0a'}] + 'code_point': '0xff07'}] composite: [{'name': 'pss2048', 'pretty_name': 'RSA PSS 2048', 'security': '112', 'oid': '2.16.840.1.114027.80.8.1.1', - 'code_point': '0xfee1'}, + 'code_point': '0x090f'}, {'name': 'rsa2048', - 'pretty_name': 'RSA2028', + 'pretty_name': 'RSA2048', 'security': '112', 'oid': '2.16.840.1.114027.80.8.1.2', - 'code_point': '0xfee2'}, + 'code_point': '0x090c'}, {'name': 'ed25519', 'pretty_name': 'ED25519', 'security': '128', 'oid': '2.16.840.1.114027.80.8.1.3', - 'code_point': '0xfee3'}, + 'code_point': '0x090a'}, {'name': 'p256', 'pretty_name': 'ECDSA p256', 'security': '128', 'oid': '2.16.840.1.114027.80.8.1.4', - 'code_point': '0xfee4'}, + 'code_point': '0x0907'}, {'name': 'bp256', 'pretty_name': 'ECDSA brainpoolP256r1', 'security': '256', @@ -623,27 +623,27 @@ sigs: pretty_name: 'ML-DSA-65' oqs_meth: 'OQS_SIG_alg_ml_dsa_65' oid: '2.16.840.1.101.3.4.3.18' - code_point: '0xff07' + code_point: '0x0905' enable: true mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.7.7', - 'code_point': '0xff0b'}] + 'code_point': '0xff08'}] composite: [{'name': 'pss3072', 'pretty_name': 'RSA PSS 3072', 'security': '128', 'oid': '2.16.840.1.114027.80.8.1.6', - 'code_point': '0xfee6'}, + 'code_point': '0x0910'}, {'name': 'rsa3072', 'pretty_name': 'RSA 3072', 'security': '128', 'oid': '2.16.840.1.114027.80.8.1.7', - 'code_point': '0xfee7'}, + 'code_point': '0x090d'}, {'name': 'p256', 'pretty_name': 'ECDSA p256', 'security': '128', 'oid': '2.16.840.1.114027.80.8.1.8', - 'code_point': '0xfee8'}, + 'code_point': '0x0908'}, {'name': 'bp256', 'pretty_name': 'ECDSA brainpoolP256r1', 'security': '256', @@ -653,23 +653,23 @@ sigs: 'pretty_name': 'ED25519', 'security': '128', 'oid': '2.16.840.1.114027.80.8.1.10', - 'code_point': '0xfeea'}] + 'code_point': '0x090b'}] - name: 'mldsa87' pretty_name: 'ML-DSA-87' oqs_meth: 'OQS_SIG_alg_ml_dsa_87' oid: '2.16.840.1.101.3.4.3.19' - code_point: '0xff08' + code_point: '0x0906' enable: true mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.7.8', - 'code_point': '0xff0c'}] + 'code_point': '0xff09'}] composite: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'security': '192', 'oid': '2.16.840.1.114027.80.8.1.11', - 'code_point': '0xfeeb'}, + 'code_point': '0x0909'}, {'name': 'bp384', 'pretty_name': 'ECDSA brainpoolP384r1', 'security': '384', @@ -679,7 +679,7 @@ sigs: 'pretty_name': 'ED448', 'security': '192', 'oid': '2.16.840.1.114027.80.8.1.13', - 'code_point': '0xfeed'}] + 'code_point': '0x0912'}] - # iso (1) # identified-organization (3) diff --git a/oqs-template/oqs-sig-info.md b/oqs-template/oqs-sig-info.md index ea2b70fb..7ba2a85a 100644 --- a/oqs-template/oqs-sig-info.md +++ b/oqs-template/oqs-sig-info.md @@ -58,26 +58,26 @@ | mayo3 **hybrid with** p384 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 3 | 0xfef4 | 1.3.9999.8.3.2 | | mayo5 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef1 | 1.3.9999.8.5.1 | | mayo5 **hybrid with** p521 | https://doi.org/10.46586/tches.v2024.i2.252-275 | 1 | 5 | 0xfef5 | 1.3.9999.8.5.2 | -| mldsa44 | ML-DSA | FIPS204 | 1 | 0xff06 | 2.16.840.1.101.3.4.3.17 | -| mldsa44 **hybrid with** p256 | ML-DSA | FIPS204 | 1 | 0xff09 | 1.3.9999.7.5 | -| mldsa44 **hybrid with** rsa3072 | ML-DSA | FIPS204 | 1 | 0xff0a | 1.3.9999.7.6 | -| mldsa44 **composite with** pss2048 | ML-DSA | FIPS204 | 1 | 0xfee1 | 2.16.840.1.114027.80.8.1.1 | -| mldsa44 **composite with** rsa2048 | ML-DSA | FIPS204 | 1 | 0xfee2 | 2.16.840.1.114027.80.8.1.2 | -| mldsa44 **composite with** ed25519 | ML-DSA | FIPS204 | 1 | 0xfee3 | 2.16.840.1.114027.80.8.1.3 | -| mldsa44 **composite with** p256 | ML-DSA | FIPS204 | 1 | 0xfee4 | 2.16.840.1.114027.80.8.1.4 | +| mldsa44 | ML-DSA | FIPS204 | 1 | 0x0904 | 2.16.840.1.101.3.4.3.17 | +| mldsa44 **hybrid with** p256 | ML-DSA | FIPS204 | 1 | 0xff06 | 1.3.9999.7.5 | +| mldsa44 **hybrid with** rsa3072 | ML-DSA | FIPS204 | 1 | 0xff07 | 1.3.9999.7.6 | +| mldsa44 **composite with** pss2048 | ML-DSA | FIPS204 | 1 | 0x090f | 2.16.840.1.114027.80.8.1.1 | +| mldsa44 **composite with** rsa2048 | ML-DSA | FIPS204 | 1 | 0x090c | 2.16.840.1.114027.80.8.1.2 | +| mldsa44 **composite with** ed25519 | ML-DSA | FIPS204 | 1 | 0x090a | 2.16.840.1.114027.80.8.1.3 | +| mldsa44 **composite with** p256 | ML-DSA | FIPS204 | 1 | 0x0907 | 2.16.840.1.114027.80.8.1.4 | | mldsa44 **composite with** bp256 | ML-DSA | FIPS204 | 1 | 0xfee5 | 2.16.840.1.114027.80.8.1.5 | -| mldsa65 | ML-DSA | FIPS204 | 3 | 0xff07 | 2.16.840.1.101.3.4.3.18 | -| mldsa65 **hybrid with** p384 | ML-DSA | FIPS204 | 3 | 0xff0b | 1.3.9999.7.7 | -| mldsa65 **composite with** pss3072 | ML-DSA | FIPS204 | 3 | 0xfee6 | 2.16.840.1.114027.80.8.1.6 | -| mldsa65 **composite with** rsa3072 | ML-DSA | FIPS204 | 3 | 0xfee7 | 2.16.840.1.114027.80.8.1.7 | -| mldsa65 **composite with** p256 | ML-DSA | FIPS204 | 3 | 0xfee8 | 2.16.840.1.114027.80.8.1.8 | +| mldsa65 | ML-DSA | FIPS204 | 3 | 0x0905 | 2.16.840.1.101.3.4.3.18 | +| mldsa65 **hybrid with** p384 | ML-DSA | FIPS204 | 3 | 0xff08 | 1.3.9999.7.7 | +| mldsa65 **composite with** pss3072 | ML-DSA | FIPS204 | 3 | 0x0910 | 2.16.840.1.114027.80.8.1.6 | +| mldsa65 **composite with** rsa3072 | ML-DSA | FIPS204 | 3 | 0x090d | 2.16.840.1.114027.80.8.1.7 | +| mldsa65 **composite with** p256 | ML-DSA | FIPS204 | 3 | 0x0908 | 2.16.840.1.114027.80.8.1.8 | | mldsa65 **composite with** bp256 | ML-DSA | FIPS204 | 3 | 0xfee9 | 2.16.840.1.114027.80.8.1.9 | -| mldsa65 **composite with** ed25519 | ML-DSA | FIPS204 | 3 | 0xfeea | 2.16.840.1.114027.80.8.1.10 | -| mldsa87 | ML-DSA | FIPS204 | 5 | 0xff08 | 2.16.840.1.101.3.4.3.19 | -| mldsa87 **hybrid with** p521 | ML-DSA | FIPS204 | 5 | 0xff0c | 1.3.9999.7.8 | -| mldsa87 **composite with** p384 | ML-DSA | FIPS204 | 5 | 0xfeeb | 2.16.840.1.114027.80.8.1.11 | +| mldsa65 **composite with** ed25519 | ML-DSA | FIPS204 | 3 | 0x090b | 2.16.840.1.114027.80.8.1.10 | +| mldsa87 | ML-DSA | FIPS204 | 5 | 0x0906 | 2.16.840.1.101.3.4.3.19 | +| mldsa87 **hybrid with** p521 | ML-DSA | FIPS204 | 5 | 0xff09 | 1.3.9999.7.8 | +| mldsa87 **composite with** p384 | ML-DSA | FIPS204 | 5 | 0x0909 | 2.16.840.1.114027.80.8.1.11 | | mldsa87 **composite with** bp384 | ML-DSA | FIPS204 | 5 | 0xfeec | 2.16.840.1.114027.80.8.1.12 | -| mldsa87 **composite with** ed448 | ML-DSA | FIPS204 | 5 | 0xfeed | 2.16.840.1.114027.80.8.1.13 | +| mldsa87 **composite with** ed448 | ML-DSA | FIPS204 | 5 | 0x0912 | 2.16.840.1.114027.80.8.1.13 | | sphincsharaka128frobust | NIST Round 3 submission | 3 | 1 | 0xfe42 | 1.3.9999.6.1.1 | | sphincsharaka128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe43 | 1.3.9999.6.1.2 | | sphincsharaka128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe44 | 1.3.9999.6.1.3 | @@ -189,4 +189,4 @@ | sphincsshake256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfece | 1.3.9999.6.9.12 | | sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfecf | 1.3.9999.6.9.13 | | sphincsshake256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe94 | 1.3.9999.6.9.7 | -| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe95 | 1.3.9999.6.9.8 | +| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe95 | 1.3.9999.6.9.8 | \ No newline at end of file diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index 28a032a9..fb0c0df1 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -269,17 +269,17 @@ static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { {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}, {0xff06, 128, TLS1_3_VERSION, 0}, - {0xff09, 128, TLS1_3_VERSION, 0}, {0xff0a, 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}, {0xff07, 192, TLS1_3_VERSION, 0}, - {0xff0b, 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}, - {0xff08, 256, TLS1_3_VERSION, 0}, {0xff0c, 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}, + {0xfea6, 256, TLS1_3_VERSION, 0}, {0x0904, 128, TLS1_3_VERSION, 0}, + {0xff06, 128, TLS1_3_VERSION, 0}, {0xff07, 128, TLS1_3_VERSION, 0}, + {0x090f, 128, TLS1_3_VERSION, 0}, {0x090c, 128, TLS1_3_VERSION, 0}, + {0x090a, 128, TLS1_3_VERSION, 0}, {0x0907, 128, TLS1_3_VERSION, 0}, + {0xfee5, 128, TLS1_3_VERSION, 0}, {0x0905, 192, TLS1_3_VERSION, 0}, + {0xff08, 192, TLS1_3_VERSION, 0}, {0x0910, 192, TLS1_3_VERSION, 0}, + {0x090d, 192, TLS1_3_VERSION, 0}, {0x0908, 192, TLS1_3_VERSION, 0}, + {0xfee9, 192, TLS1_3_VERSION, 0}, {0x090b, 192, TLS1_3_VERSION, 0}, + {0x0906, 256, TLS1_3_VERSION, 0}, {0xff09, 256, TLS1_3_VERSION, 0}, + {0x0909, 256, TLS1_3_VERSION, 0}, {0xfeec, 256, TLS1_3_VERSION, 0}, + {0x0912, 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}, From c9582825a049b5f957ec953b5a2c5155d8cd09f4 Mon Sep 17 00:00:00 2001 From: Basil Hess Date: Fri, 29 Nov 2024 17:05:49 +0100 Subject: [PATCH 7/7] Add references to OIDs and code points Signed-off-by: Basil Hess --- oqs-template/generate.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index affcc4d3..8fb023ed 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -575,6 +575,11 @@ sigs: 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.2.11.4', 'code_point': '0xfead'}] +# NIST OIDs see https://csrc.nist.gov/projects/computer-security-objects-register/algorithm-registration +# Signature prefix 2.16.840.1.101.3.4.3. +# ML-DSA code points: https://datatracker.ietf.org/doc/draft-tls-westerbaan-mldsa/00 +# Composite-ML-DSA OIDs: https://datatracker.ietf.org/doc/draft-ietf-lamps-pq-composite-sigs/02/ +# Composite-ML-DSA code points: https://datatracker.ietf.org/doc/draft-reddy-tls-composite-mldsa/01 - family: 'ML-DSA' variants: