From b9865bfa5bf9f98841164ff4f746cafdfe2bd6b9 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Tue, 7 Nov 2023 21:16:57 -0500 Subject: [PATCH 01/17] added to gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 003421d7..58143ab0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,8 @@ liboqs # installed SW .local # build directory -_build +/_build +/build # generated from openssl src: test/ssltestlib.c test/ssltestlib.h From 7cd6837dd435a1368588673d7d111b48af1b9235 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Tue, 7 Nov 2023 21:16:57 -0500 Subject: [PATCH 02/17] added to gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 003421d7..58143ab0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,8 @@ liboqs # installed SW .local # build directory -_build +/_build +/build # generated from openssl src: test/ssltestlib.c test/ssltestlib.h From eacb15798f02ed862b158f2c09353d2cc7b6fcbe Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sun, 12 Nov 2023 16:12:59 -0500 Subject: [PATCH 03/17] successfully tested dilithium2withsha256 from adding to generate.yml and via a specific test method --- ALGORITHMS.md | 2 + README.md | 2 +- oqs-template/generate.py | 7 +- oqs-template/generate.yml | 17 +- oqs-template/generatehelpers.py | 7 +- oqs-template/oqs-sig-info.md | 277 +++--- oqsprov/oqs_decode_der2key.c | 136 +-- oqsprov/oqs_encode_key2any.c | 453 ++++----- oqsprov/oqs_kmgmt.c | 210 ++-- oqsprov/oqs_prov.h | 1591 ++++++++++--------------------- oqsprov/oqs_sig.c | 864 ++++++++++------- oqsprov/oqsdecoders.inc | 369 +++---- oqsprov/oqsencoders.inc | 1246 ++++++++++-------------- oqsprov/oqsprov.c | 648 +++++-------- oqsprov/oqsprov_capabilities.c | 483 ++++------ oqsprov/oqsprov_keys.c | 162 ++-- scripts/common.py | 2 +- test/CMakeLists.txt | 22 + test/oqs_test_hashnsign.c | 104 ++ 19 files changed, 2764 insertions(+), 3838 deletions(-) create mode 100644 test/oqs_test_hashnsign.c diff --git a/ALGORITHMS.md b/ALGORITHMS.md index 9ec32f93..239a49c6 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -122,6 +122,7 @@ adapting the OIDs of all supported signature algorithms as per the table below. | dilithium2 | 1.3.6.1.4.1.2.267.7.4.4 |Yes| OQS_OID_DILITHIUM2 | p256_dilithium2 | 1.3.9999.2.7.1 |Yes| OQS_OID_P256_DILITHIUM2 | rsa3072_dilithium2 | 1.3.9999.2.7.2 |Yes| OQS_OID_RSA3072_DILITHIUM2 +| dilithium2WithSha256 | 1.3.6.1.4.1.18227.999.1.1.1 |Yes| OQS_OID_DILITHIUM2WITHSHA256 | dilithium3 | 1.3.6.1.4.1.2.267.7.6.5 |Yes| OQS_OID_DILITHIUM3 | 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 @@ -220,6 +221,7 @@ By setting environment variables, oqs-provider can be configured to encode keys |Environment Variable | Permissible Values | | --- | --- | |`OQS_ENCODING_DILITHIUM2`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHA256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM3`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM5`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_FALCON512`|`draft-uni-qsckeys-falcon-00/sk-pk`| diff --git a/README.md b/README.md index 23d07b70..3d2f31b7 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ This implementation makes available the following quantum safe algorithms: ### Signature algorithms -- **CRYSTALS-Dilithium**:`dilithium2`\*, `p256_dilithium2`\*, `rsa3072_dilithium2`\*, `dilithium3`\*, `p384_dilithium3`\*, `dilithium5`\*, `p521_dilithium5`\* +- **CRYSTALS-Dilithium**:`dilithium2`\*, `p256_dilithium2`\*, `rsa3072_dilithium2`\*, `dilithium2WithSha256`\*, `dilithium3`\*, `p384_dilithium3`\*, `dilithium5`\*, `p521_dilithium5`\* - **Falcon**:`falcon512`\*, `p256_falcon512`\*, `rsa3072_falcon512`\*, `falcon1024`\*, `p521_falcon1024`\* - **SPHINCS-SHA2**:`sphincssha2128fsimple`\*, `p256_sphincssha2128fsimple`\*, `rsa3072_sphincssha2128fsimple`\*, `sphincssha2128ssimple`\*, `p256_sphincssha2128ssimple`\*, `rsa3072_sphincssha2128ssimple`\*, `sphincssha2192fsimple`\*, `p384_sphincssha2192fsimple`\*, `sphincssha2192ssimple`, `p384_sphincssha2192ssimple`, `sphincssha2256fsimple`, `p521_sphincssha2256fsimple`, `sphincssha2256ssimple`, `p521_sphincssha2256ssimple` diff --git a/oqs-template/generate.py b/oqs-template/generate.py index 03271e8f..83555d83 100644 --- a/oqs-template/generate.py +++ b/oqs-template/generate.py @@ -73,7 +73,12 @@ def get_sig_nistlevel(family, alg): # hacks to match names def matches(name, alg): def simplify(s): - return s.lower().replace('_', '').replace('-', '').replace('+', '') + s = s.lower().replace('_', '').replace('-', '').replace('+', '') + with_index = s.find("with") # Find the index of the "with" sequence + if with_index != -1: # If "with" is found + return s[:with_index] # Return the substring before "with" + else: + return s # Return the original string if "with" is not found if simplify(name) == simplify(alg['name']): return True return False # find the variant that matches diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index 099d36ed..1198c04e 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -405,17 +405,27 @@ sigs: pretty_name: 'Dilithium2' oqs_meth: 'OQS_SIG_alg_dilithium_2' oid: '1.3.6.1.4.1.2.267.7.4.4' - code_point: '0xfea0' + code_point: '0xfe9f' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.2.7.1', - 'code_point': '0xfea1'}, + 'code_point': '0xfea0'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.2.7.2', - 'code_point': '0xfea2'}] + 'code_point': '0xfea1'}] + + - + name: 'dilithium2WithSha256' + pretty_name: 'DILITHIUM2-SHA256' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.1' + digest: SHA256 + code_point: '0xfea2' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true - name: 'dilithium3' pretty_name: 'Dilithium3' @@ -1258,4 +1268,3 @@ sigs: 'oid': '1.3.9999.6.9.8', 'code_point': '0xfe95'}] - diff --git a/oqs-template/generatehelpers.py b/oqs-template/generatehelpers.py index 8da3eff0..5ed53dcc 100644 --- a/oqs-template/generatehelpers.py +++ b/oqs-template/generatehelpers.py @@ -68,7 +68,12 @@ def get_sig_nistlevel(family, alg, docsdir): # hacks to match names def matches(name, alg): def simplify(s): - return s.lower().replace('_', '').replace('-', '').replace('+', '') + s = s.lower().replace('_', '').replace('-', '').replace('+', '') + with_index = s.find("with") # Find the index of the "with" sequence + if with_index != -1: # If "with" is found + return s[:with_index] # Return the substring before "with" + else: + return s # Return the original string if "with" is not found if simplify(name) == simplify(alg['name']): return True return False # find the variant that matches diff --git a/oqs-template/oqs-sig-info.md b/oqs-template/oqs-sig-info.md index 9f084982..76093850 100644 --- a/oqs-template/oqs-sig-info.md +++ b/oqs-template/oqs-sig-info.md @@ -1,138 +1,139 @@ -| Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID | -|:--------------------------------------------------|:----------------------------------------------|-------------:|---------------------:|:-------------|:-------------------------| -| 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 | 0xfeae | 1.3.9999.3.6 | -| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfeaf | 1.3.9999.3.7 | -| falcon512 **hybrid with** rsa3072 | 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 | -| falcon1024 | 20211101 | 3 | 5 | 0xfeb1 | 1.3.9999.3.9 | -| falcon1024 **hybrid with** p521 | 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 | -| 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 | +|:--------------------------------------------------|:----------------------------------------------|-------------:|---------------------:|:-------------|:----------------------------| +| dilithium2 | 3.1 | 3 | 2 | 0xfe9f | 1.3.6.1.4.1.2.267.7.4.4 | +| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfea0 | 1.3.9999.2.7.1 | +| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfea1 | 1.3.9999.2.7.2 | +| dilithium2WithSha256 | 3.1 | 3 | 2 | 0xfea2 | 1.3.6.1.4.1.18227.999.1.1.1 | +| 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 | 0xfeae | 1.3.9999.3.6 | +| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfeaf | 1.3.9999.3.7 | +| falcon512 **hybrid with** rsa3072 | 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 | +| falcon1024 | 20211101 | 3 | 5 | 0xfeb1 | 1.3.9999.3.9 | +| falcon1024 **hybrid with** p521 | 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 | +| 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 diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c index 52c2b44c..786c4011 100644 --- a/oqsprov/oqs_decode_der2key.c +++ b/oqsprov/oqs_decode_der2key.c @@ -539,69 +539,52 @@ static void oqsx_key_adjust(void *key, struct der2key_ctx_st *ctx) ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_START #ifdef OQS_KEM_ENCODERS + MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, SubjectPublicKeyInfo); @@ -610,16 +593,14 @@ MAKE_DECODER(_ecp, "p384_kyber768", p384_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, SubjectPublicKeyInfo); @@ -660,13 +641,15 @@ MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, SubjectPublicKeyInfo); #endif /* OQS_KEM_ENCODERS */ + MAKE_DECODER(, "dilithium2", dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium2", dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, PrivateKeyInfo); @@ -680,54 +663,31 @@ MAKE_DECODER(, "falcon512", falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, - oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, - oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, - oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, - oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, - oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, - oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_END diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c index 04b561ad..f0082f08 100644 --- a/oqsprov/oqs_encode_key2any.c +++ b/oqsprov/oqs_encode_key2any.c @@ -649,218 +649,221 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) // OQS provider uses NIDs generated at load time as EVP_type identifiers // so initially this must be 0 and set to a real value by OBJ_sn2nid later ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_START -#define frodo640aes_evp_type 0 -#define frodo640aes_input_type "frodo640aes" -#define frodo640aes_pem_type "frodo640aes" - -#define p256_frodo640aes_evp_type 0 -#define p256_frodo640aes_input_type "p256_frodo640aes" -#define p256_frodo640aes_pem_type "p256_frodo640aes" -#define x25519_frodo640aes_evp_type 0 -#define x25519_frodo640aes_input_type "x25519_frodo640aes" -#define x25519_frodo640aes_pem_type "x25519_frodo640aes" -#define frodo640shake_evp_type 0 -#define frodo640shake_input_type "frodo640shake" -#define frodo640shake_pem_type "frodo640shake" - -#define p256_frodo640shake_evp_type 0 -#define p256_frodo640shake_input_type "p256_frodo640shake" -#define p256_frodo640shake_pem_type "p256_frodo640shake" -#define x25519_frodo640shake_evp_type 0 -#define x25519_frodo640shake_input_type "x25519_frodo640shake" -#define x25519_frodo640shake_pem_type "x25519_frodo640shake" -#define frodo976aes_evp_type 0 -#define frodo976aes_input_type "frodo976aes" -#define frodo976aes_pem_type "frodo976aes" - -#define p384_frodo976aes_evp_type 0 -#define p384_frodo976aes_input_type "p384_frodo976aes" -#define p384_frodo976aes_pem_type "p384_frodo976aes" -#define x448_frodo976aes_evp_type 0 -#define x448_frodo976aes_input_type "x448_frodo976aes" -#define x448_frodo976aes_pem_type "x448_frodo976aes" -#define frodo976shake_evp_type 0 -#define frodo976shake_input_type "frodo976shake" -#define frodo976shake_pem_type "frodo976shake" - -#define p384_frodo976shake_evp_type 0 -#define p384_frodo976shake_input_type "p384_frodo976shake" -#define p384_frodo976shake_pem_type "p384_frodo976shake" -#define x448_frodo976shake_evp_type 0 -#define x448_frodo976shake_input_type "x448_frodo976shake" -#define x448_frodo976shake_pem_type "x448_frodo976shake" -#define frodo1344aes_evp_type 0 -#define frodo1344aes_input_type "frodo1344aes" -#define frodo1344aes_pem_type "frodo1344aes" - -#define p521_frodo1344aes_evp_type 0 -#define p521_frodo1344aes_input_type "p521_frodo1344aes" -#define p521_frodo1344aes_pem_type "p521_frodo1344aes" -#define frodo1344shake_evp_type 0 -#define frodo1344shake_input_type "frodo1344shake" -#define frodo1344shake_pem_type "frodo1344shake" - -#define p521_frodo1344shake_evp_type 0 -#define p521_frodo1344shake_input_type "p521_frodo1344shake" -#define p521_frodo1344shake_pem_type "p521_frodo1344shake" -#define kyber512_evp_type 0 -#define kyber512_input_type "kyber512" -#define kyber512_pem_type "kyber512" - -#define p256_kyber512_evp_type 0 -#define p256_kyber512_input_type "p256_kyber512" -#define p256_kyber512_pem_type "p256_kyber512" -#define x25519_kyber512_evp_type 0 -#define x25519_kyber512_input_type "x25519_kyber512" -#define x25519_kyber512_pem_type "x25519_kyber512" -#define kyber768_evp_type 0 -#define kyber768_input_type "kyber768" -#define kyber768_pem_type "kyber768" - -#define p384_kyber768_evp_type 0 -#define p384_kyber768_input_type "p384_kyber768" -#define p384_kyber768_pem_type "p384_kyber768" -#define x448_kyber768_evp_type 0 -#define x448_kyber768_input_type "x448_kyber768" -#define x448_kyber768_pem_type "x448_kyber768" -#define x25519_kyber768_evp_type 0 -#define x25519_kyber768_input_type "x25519_kyber768" -#define x25519_kyber768_pem_type "x25519_kyber768" -#define p256_kyber768_evp_type 0 -#define p256_kyber768_input_type "p256_kyber768" -#define p256_kyber768_pem_type "p256_kyber768" -#define kyber1024_evp_type 0 -#define kyber1024_input_type "kyber1024" -#define kyber1024_pem_type "kyber1024" - -#define p521_kyber1024_evp_type 0 -#define p521_kyber1024_input_type "p521_kyber1024" -#define p521_kyber1024_pem_type "p521_kyber1024" -#define bikel1_evp_type 0 -#define bikel1_input_type "bikel1" -#define bikel1_pem_type "bikel1" - -#define p256_bikel1_evp_type 0 -#define p256_bikel1_input_type "p256_bikel1" -#define p256_bikel1_pem_type "p256_bikel1" -#define x25519_bikel1_evp_type 0 -#define x25519_bikel1_input_type "x25519_bikel1" -#define x25519_bikel1_pem_type "x25519_bikel1" -#define bikel3_evp_type 0 -#define bikel3_input_type "bikel3" -#define bikel3_pem_type "bikel3" - -#define p384_bikel3_evp_type 0 -#define p384_bikel3_input_type "p384_bikel3" -#define p384_bikel3_pem_type "p384_bikel3" -#define x448_bikel3_evp_type 0 -#define x448_bikel3_input_type "x448_bikel3" -#define x448_bikel3_pem_type "x448_bikel3" -#define bikel5_evp_type 0 -#define bikel5_input_type "bikel5" -#define bikel5_pem_type "bikel5" - -#define p521_bikel5_evp_type 0 -#define p521_bikel5_input_type "p521_bikel5" -#define p521_bikel5_pem_type "p521_bikel5" -#define hqc128_evp_type 0 -#define hqc128_input_type "hqc128" -#define hqc128_pem_type "hqc128" - -#define p256_hqc128_evp_type 0 -#define p256_hqc128_input_type "p256_hqc128" -#define p256_hqc128_pem_type "p256_hqc128" -#define x25519_hqc128_evp_type 0 -#define x25519_hqc128_input_type "x25519_hqc128" -#define x25519_hqc128_pem_type "x25519_hqc128" -#define hqc192_evp_type 0 -#define hqc192_input_type "hqc192" -#define hqc192_pem_type "hqc192" - -#define p384_hqc192_evp_type 0 -#define p384_hqc192_input_type "p384_hqc192" -#define p384_hqc192_pem_type "p384_hqc192" -#define x448_hqc192_evp_type 0 -#define x448_hqc192_input_type "x448_hqc192" -#define x448_hqc192_pem_type "x448_hqc192" -#define hqc256_evp_type 0 -#define hqc256_input_type "hqc256" -#define hqc256_pem_type "hqc256" - -#define p521_hqc256_evp_type 0 -#define p521_hqc256_input_type "p521_hqc256" -#define p521_hqc256_pem_type "p521_hqc256" - -#define dilithium2_evp_type 0 -#define dilithium2_input_type "dilithium2" -#define dilithium2_pem_type "dilithium2" -#define p256_dilithium2_evp_type 0 -#define p256_dilithium2_input_type "p256_dilithium2" -#define p256_dilithium2_pem_type "p256_dilithium2" -#define rsa3072_dilithium2_evp_type 0 -#define rsa3072_dilithium2_input_type "rsa3072_dilithium2" -#define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" -#define dilithium3_evp_type 0 -#define dilithium3_input_type "dilithium3" -#define dilithium3_pem_type "dilithium3" -#define p384_dilithium3_evp_type 0 -#define p384_dilithium3_input_type "p384_dilithium3" -#define p384_dilithium3_pem_type "p384_dilithium3" -#define dilithium5_evp_type 0 -#define dilithium5_input_type "dilithium5" -#define dilithium5_pem_type "dilithium5" -#define p521_dilithium5_evp_type 0 -#define p521_dilithium5_input_type "p521_dilithium5" -#define p521_dilithium5_pem_type "p521_dilithium5" -#define falcon512_evp_type 0 -#define falcon512_input_type "falcon512" -#define falcon512_pem_type "falcon512" -#define p256_falcon512_evp_type 0 -#define p256_falcon512_input_type "p256_falcon512" -#define p256_falcon512_pem_type "p256_falcon512" -#define rsa3072_falcon512_evp_type 0 -#define rsa3072_falcon512_input_type "rsa3072_falcon512" -#define rsa3072_falcon512_pem_type "rsa3072_falcon512" -#define falcon1024_evp_type 0 -#define falcon1024_input_type "falcon1024" -#define falcon1024_pem_type "falcon1024" -#define p521_falcon1024_evp_type 0 -#define p521_falcon1024_input_type "p521_falcon1024" -#define p521_falcon1024_pem_type "p521_falcon1024" -#define sphincssha2128fsimple_evp_type 0 -#define sphincssha2128fsimple_input_type "sphincssha2128fsimple" -#define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" -#define p256_sphincssha2128fsimple_evp_type 0 -#define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" -#define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" -#define rsa3072_sphincssha2128fsimple_evp_type 0 -#define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" -#define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" -#define sphincssha2128ssimple_evp_type 0 -#define sphincssha2128ssimple_input_type "sphincssha2128ssimple" -#define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" -#define p256_sphincssha2128ssimple_evp_type 0 -#define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" -#define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" -#define rsa3072_sphincssha2128ssimple_evp_type 0 -#define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" -#define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" -#define sphincssha2192fsimple_evp_type 0 -#define sphincssha2192fsimple_input_type "sphincssha2192fsimple" -#define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" -#define p384_sphincssha2192fsimple_evp_type 0 -#define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" -#define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" -#define sphincsshake128fsimple_evp_type 0 -#define sphincsshake128fsimple_input_type "sphincsshake128fsimple" -#define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" -#define p256_sphincsshake128fsimple_evp_type 0 -#define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" -#define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" -#define rsa3072_sphincsshake128fsimple_evp_type 0 -#define rsa3072_sphincsshake128fsimple_input_type \ - "rsa3072_sphincsshake128fsimple" -#define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" +# define frodo640aes_evp_type 0 +# define frodo640aes_input_type "frodo640aes" +# define frodo640aes_pem_type "frodo640aes" + +# define p256_frodo640aes_evp_type 0 +# define p256_frodo640aes_input_type "p256_frodo640aes" +# define p256_frodo640aes_pem_type "p256_frodo640aes" +# define x25519_frodo640aes_evp_type 0 +# define x25519_frodo640aes_input_type "x25519_frodo640aes" +# define x25519_frodo640aes_pem_type "x25519_frodo640aes" +# define frodo640shake_evp_type 0 +# define frodo640shake_input_type "frodo640shake" +# define frodo640shake_pem_type "frodo640shake" + +# define p256_frodo640shake_evp_type 0 +# define p256_frodo640shake_input_type "p256_frodo640shake" +# define p256_frodo640shake_pem_type "p256_frodo640shake" +# define x25519_frodo640shake_evp_type 0 +# define x25519_frodo640shake_input_type "x25519_frodo640shake" +# define x25519_frodo640shake_pem_type "x25519_frodo640shake" +# define frodo976aes_evp_type 0 +# define frodo976aes_input_type "frodo976aes" +# define frodo976aes_pem_type "frodo976aes" + +# define p384_frodo976aes_evp_type 0 +# define p384_frodo976aes_input_type "p384_frodo976aes" +# define p384_frodo976aes_pem_type "p384_frodo976aes" +# define x448_frodo976aes_evp_type 0 +# define x448_frodo976aes_input_type "x448_frodo976aes" +# define x448_frodo976aes_pem_type "x448_frodo976aes" +# define frodo976shake_evp_type 0 +# define frodo976shake_input_type "frodo976shake" +# define frodo976shake_pem_type "frodo976shake" + +# define p384_frodo976shake_evp_type 0 +# define p384_frodo976shake_input_type "p384_frodo976shake" +# define p384_frodo976shake_pem_type "p384_frodo976shake" +# define x448_frodo976shake_evp_type 0 +# define x448_frodo976shake_input_type "x448_frodo976shake" +# define x448_frodo976shake_pem_type "x448_frodo976shake" +# define frodo1344aes_evp_type 0 +# define frodo1344aes_input_type "frodo1344aes" +# define frodo1344aes_pem_type "frodo1344aes" + +# define p521_frodo1344aes_evp_type 0 +# define p521_frodo1344aes_input_type "p521_frodo1344aes" +# define p521_frodo1344aes_pem_type "p521_frodo1344aes" +# define frodo1344shake_evp_type 0 +# define frodo1344shake_input_type "frodo1344shake" +# define frodo1344shake_pem_type "frodo1344shake" + +# define p521_frodo1344shake_evp_type 0 +# define p521_frodo1344shake_input_type "p521_frodo1344shake" +# define p521_frodo1344shake_pem_type "p521_frodo1344shake" +# define kyber512_evp_type 0 +# define kyber512_input_type "kyber512" +# define kyber512_pem_type "kyber512" + +# define p256_kyber512_evp_type 0 +# define p256_kyber512_input_type "p256_kyber512" +# define p256_kyber512_pem_type "p256_kyber512" +# define x25519_kyber512_evp_type 0 +# define x25519_kyber512_input_type "x25519_kyber512" +# define x25519_kyber512_pem_type "x25519_kyber512" +# define kyber768_evp_type 0 +# define kyber768_input_type "kyber768" +# define kyber768_pem_type "kyber768" + +# define p384_kyber768_evp_type 0 +# define p384_kyber768_input_type "p384_kyber768" +# define p384_kyber768_pem_type "p384_kyber768" +# define x448_kyber768_evp_type 0 +# define x448_kyber768_input_type "x448_kyber768" +# define x448_kyber768_pem_type "x448_kyber768" +# define x25519_kyber768_evp_type 0 +# define x25519_kyber768_input_type "x25519_kyber768" +# define x25519_kyber768_pem_type "x25519_kyber768" +# define p256_kyber768_evp_type 0 +# define p256_kyber768_input_type "p256_kyber768" +# define p256_kyber768_pem_type "p256_kyber768" +# define kyber1024_evp_type 0 +# define kyber1024_input_type "kyber1024" +# define kyber1024_pem_type "kyber1024" + +# define p521_kyber1024_evp_type 0 +# define p521_kyber1024_input_type "p521_kyber1024" +# define p521_kyber1024_pem_type "p521_kyber1024" +# define bikel1_evp_type 0 +# define bikel1_input_type "bikel1" +# define bikel1_pem_type "bikel1" + +# define p256_bikel1_evp_type 0 +# define p256_bikel1_input_type "p256_bikel1" +# define p256_bikel1_pem_type "p256_bikel1" +# define x25519_bikel1_evp_type 0 +# define x25519_bikel1_input_type "x25519_bikel1" +# define x25519_bikel1_pem_type "x25519_bikel1" +# define bikel3_evp_type 0 +# define bikel3_input_type "bikel3" +# define bikel3_pem_type "bikel3" + +# define p384_bikel3_evp_type 0 +# define p384_bikel3_input_type "p384_bikel3" +# define p384_bikel3_pem_type "p384_bikel3" +# define x448_bikel3_evp_type 0 +# define x448_bikel3_input_type "x448_bikel3" +# define x448_bikel3_pem_type "x448_bikel3" +# define bikel5_evp_type 0 +# define bikel5_input_type "bikel5" +# define bikel5_pem_type "bikel5" + +# define p521_bikel5_evp_type 0 +# define p521_bikel5_input_type "p521_bikel5" +# define p521_bikel5_pem_type "p521_bikel5" +# define hqc128_evp_type 0 +# define hqc128_input_type "hqc128" +# define hqc128_pem_type "hqc128" + +# define p256_hqc128_evp_type 0 +# define p256_hqc128_input_type "p256_hqc128" +# define p256_hqc128_pem_type "p256_hqc128" +# define x25519_hqc128_evp_type 0 +# define x25519_hqc128_input_type "x25519_hqc128" +# define x25519_hqc128_pem_type "x25519_hqc128" +# define hqc192_evp_type 0 +# define hqc192_input_type "hqc192" +# define hqc192_pem_type "hqc192" + +# define p384_hqc192_evp_type 0 +# define p384_hqc192_input_type "p384_hqc192" +# define p384_hqc192_pem_type "p384_hqc192" +# define x448_hqc192_evp_type 0 +# define x448_hqc192_input_type "x448_hqc192" +# define x448_hqc192_pem_type "x448_hqc192" +# define hqc256_evp_type 0 +# define hqc256_input_type "hqc256" +# define hqc256_pem_type "hqc256" + +# define p521_hqc256_evp_type 0 +# define p521_hqc256_input_type "p521_hqc256" +# define p521_hqc256_pem_type "p521_hqc256" + + +# define dilithium2_evp_type 0 +# define dilithium2_input_type "dilithium2" +# define dilithium2_pem_type "dilithium2" +# define p256_dilithium2_evp_type 0 +# define p256_dilithium2_input_type "p256_dilithium2" +# define p256_dilithium2_pem_type "p256_dilithium2" +# define rsa3072_dilithium2_evp_type 0 +# define rsa3072_dilithium2_input_type "rsa3072_dilithium2" +# define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" +# define dilithium2WithSha256_evp_type 0 +# define dilithium2WithSha256_input_type "dilithium2WithSha256" +# define dilithium2WithSha256_pem_type "dilithium2WithSha256" +# define dilithium3_evp_type 0 +# define dilithium3_input_type "dilithium3" +# define dilithium3_pem_type "dilithium3" +# define p384_dilithium3_evp_type 0 +# define p384_dilithium3_input_type "p384_dilithium3" +# define p384_dilithium3_pem_type "p384_dilithium3" +# define dilithium5_evp_type 0 +# define dilithium5_input_type "dilithium5" +# define dilithium5_pem_type "dilithium5" +# define p521_dilithium5_evp_type 0 +# define p521_dilithium5_input_type "p521_dilithium5" +# define p521_dilithium5_pem_type "p521_dilithium5" +# define falcon512_evp_type 0 +# define falcon512_input_type "falcon512" +# define falcon512_pem_type "falcon512" +# define p256_falcon512_evp_type 0 +# define p256_falcon512_input_type "p256_falcon512" +# define p256_falcon512_pem_type "p256_falcon512" +# define rsa3072_falcon512_evp_type 0 +# define rsa3072_falcon512_input_type "rsa3072_falcon512" +# define rsa3072_falcon512_pem_type "rsa3072_falcon512" +# define falcon1024_evp_type 0 +# define falcon1024_input_type "falcon1024" +# define falcon1024_pem_type "falcon1024" +# define p521_falcon1024_evp_type 0 +# define p521_falcon1024_input_type "p521_falcon1024" +# define p521_falcon1024_pem_type "p521_falcon1024" +# define sphincssha2128fsimple_evp_type 0 +# define sphincssha2128fsimple_input_type "sphincssha2128fsimple" +# define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" +# define p256_sphincssha2128fsimple_evp_type 0 +# define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" +# define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" +# define rsa3072_sphincssha2128fsimple_evp_type 0 +# define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" +# define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" +# define sphincssha2128ssimple_evp_type 0 +# define sphincssha2128ssimple_input_type "sphincssha2128ssimple" +# define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" +# define p256_sphincssha2128ssimple_evp_type 0 +# define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" +# define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" +# define rsa3072_sphincssha2128ssimple_evp_type 0 +# define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" +# define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" +# define sphincssha2192fsimple_evp_type 0 +# define sphincssha2192fsimple_input_type "sphincssha2192fsimple" +# define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" +# define p384_sphincssha2192fsimple_evp_type 0 +# define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" +# define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" +# define sphincsshake128fsimple_evp_type 0 +# define sphincsshake128fsimple_input_type "sphincsshake128fsimple" +# define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" +# define p256_sphincsshake128fsimple_evp_type 0 +# define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" +# define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" +# define rsa3072_sphincsshake128fsimple_evp_type 0 +# define rsa3072_sphincsshake128fsimple_input_type "rsa3072_sphincsshake128fsimple" +# define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_END /* ---------------------------------------------------------------------- */ @@ -1436,6 +1439,7 @@ key2text_encode(void *vctx, const void *key, int selection, OSSL_CORE_BIO *cout, ///// OQS_TEMPLATE_FRAGMENT_ENCODER_MAKE_START #ifdef OQS_KEM_ENCODERS + MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, frodo640aes, oqsx, PrivateKeyInfo, der); @@ -1768,6 +1772,13 @@ MAKE_ENCODER(, rsa3072_dilithium2, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_dilithium2); +MAKE_ENCODER(, dilithium2WithSha256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithSha256); MAKE_ENCODER(, dilithium3, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, dilithium3, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, dilithium3, oqsx, PrivateKeyInfo, der); @@ -1845,10 +1856,8 @@ MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128fsimple); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, - der); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, - pem); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); @@ -1868,10 +1877,8 @@ MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128ssimple); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, - der); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, - pem); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); @@ -1905,10 +1912,8 @@ MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincsshake128fsimple); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, - der); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, - pem); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); diff --git a/oqsprov/oqs_kmgmt.c b/oqsprov/oqs_kmgmt.c index 5be50149..fc6566e7 100644 --- a/oqsprov/oqs_kmgmt.c +++ b/oqsprov/oqs_kmgmt.c @@ -581,284 +581,223 @@ static int oqsx_gen_set_params(void *genctx, const OSSL_PARAM params[]) ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_START static void *dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); } static void *dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2", 0, 128, 0); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2", 0, 128, 0); } static void *p256_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); } static void *p256_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); } static void *rsa3072_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); } static void *rsa3072_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); +} +static void *dilithium2WithSha256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", KEY_TYPE_SIG, NULL, 128, 3); +} + +static void *dilithium2WithSha256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", 0, 128, 3); } static void *dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, - "dilithium3", KEY_TYPE_SIG, NULL, 192, 3); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3", KEY_TYPE_SIG, NULL, 192, 4); } static void *dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, - "dilithium3", 0, 192, 3); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3", 0, 192, 4); } static void *p384_dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, - "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 4); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 5); } static void *p384_dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, - "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 4); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 5); } static void *dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, - "dilithium5", KEY_TYPE_SIG, NULL, 256, 5); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5", KEY_TYPE_SIG, NULL, 256, 6); } static void *dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, - "dilithium5", 0, 256, 5); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5", 0, 256, 6); } static void *p521_dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, - "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 6); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 7); } static void *p521_dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, - "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 6); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 7); } static void *falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, - "falcon512", KEY_TYPE_SIG, NULL, 128, 7); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512", KEY_TYPE_SIG, NULL, 128, 8); } static void *falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, - "falcon512", 0, 128, 7); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512", 0, 128, 8); } static void *p256_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, - "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 8); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 9); } static void *p256_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, - "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 8); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 9); } static void *rsa3072_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, - "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 9); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 10); } static void *rsa3072_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, - "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 9); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 10); } static void *falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, - "falcon1024", KEY_TYPE_SIG, NULL, 256, 10); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024", KEY_TYPE_SIG, NULL, 256, 11); } static void *falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, - "falcon1024", 0, 256, 10); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024", 0, 256, 11); } static void *p521_falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, - "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 11); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 12); } static void *p521_falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, - "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 11); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 12); } + static void *sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_sha2_128f_simple, - "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 12); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 13); } static void *sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_sha2_128f_simple, - "sphincssha2128fsimple", 0, 128, 12); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", 0, 128, 13); } static void *p256_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, - "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 13); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 14); } static void *p256_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, - "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 13); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 14); } static void *rsa3072_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, - "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 14); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 15); } -static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, - int selection) +static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, - "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 14); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 15); } static void *sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_sha2_128s_simple, - "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 15); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 16); } static void *sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_sha2_128s_simple, - "sphincssha2128ssimple", 0, 128, 15); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", 0, 128, 16); } static void *p256_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, - "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 16); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 17); } static void *p256_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, - "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 16); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 17); } static void *rsa3072_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, - "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 17); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 18); } -static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, - int selection) +static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, - "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 17); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 18); } static void *sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_sha2_192f_simple, - "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 18); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 19); } static void *sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_sha2_192f_simple, - "sphincssha2192fsimple", 0, 192, 18); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", 0, 192, 19); } static void *p384_sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, - "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 19); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 20); } static void *p384_sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, - "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 19); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 20); } static void *sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_shake_128f_simple, - "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 20); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 21); } static void *sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_shake_128f_simple, - "sphincsshake128fsimple", 0, 128, 20); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", 0, 128, 21); } static void *p256_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, - "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 21); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 22); } static void *p256_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, - "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 21); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 22); } static void *rsa3072_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, - "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 22); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 23); } -static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, - int selection) +static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, - "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 22); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 23); } ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END @@ -1013,6 +952,7 @@ static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2) MAKE_SIG_KEYMGMT_FUNCTIONS(p256_dilithium2) MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_dilithium2) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithSha256) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3) MAKE_SIG_KEYMGMT_FUNCTIONS(p384_dilithium3) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5) @@ -1036,40 +976,30 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_sphincsshake128fsimple) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, - 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, - 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, - OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, - OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, - 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, - 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, - OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, - OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, - 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, - OQS_KEM_alg_frodokem_1344_shake, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) MAKE_KEM_KEYMGMT_FUNCTIONS(kyber512, OQS_KEM_alg_kyber_512, 128) MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_kyber512, OQS_KEM_alg_kyber_512, 128) diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h index 1c938bf1..ece0618a 100644 --- a/oqsprov/oqs_prov.h +++ b/oqsprov/oqs_prov.h @@ -240,1182 +240,577 @@ extern const OSSL_DISPATCH oqs_signature_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_START #ifdef OQS_KEM_ENCODERS -extern const OSSL_DISPATCH - oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; + +extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_bikel5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_hqc256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; #endif /* OQS_KEM_ENCODERS */ -extern const OSSL_DISPATCH - oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; + +extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions - []; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_END ///// OQS_TEMPLATE_FRAGMENT_ALG_FUNCTIONS_START -extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_keymgmt_functions[]; diff --git a/oqsprov/oqs_sig.c b/oqsprov/oqs_sig.c index 86a4ae3a..3d0f5e83 100644 --- a/oqsprov/oqs_sig.c +++ b/oqsprov/oqs_sig.c @@ -4,41 +4,36 @@ * OQS OpenSSL 3 provider * * Code strongly inspired by OpenSSL DSA signature provider. - * + * */ #include "oqs/sig.h" #include -#include "oqs_prov.h" #include +#include #include #include -#include #include -#include #include +#include +#include #include +#include "oqs_prov.h" // TBD: Review what we really need/want: For now go with OSSL settings: -#define OSSL_MAX_NAME_SIZE 50 -#define OSSL_MAX_PROPQUERY_SIZE 256 /* Property query strings */ +#define OSSL_MAX_NAME_SIZE 50 +#define OSSL_MAX_PROPQUERY_SIZE 256 /* Property query strings */ #ifdef NDEBUG -# define OQS_SIG_PRINTF(a) -# define OQS_SIG_PRINTF2(a, b) -# define OQS_SIG_PRINTF3(a, b, c) +#define OQS_SIG_PRINTF(a) +#define OQS_SIG_PRINTF2(a, b) +#define OQS_SIG_PRINTF3(a, b, c) #else -# define OQS_SIG_PRINTF(a) \ - if (getenv("OQSSIG")) \ - printf(a) -# define OQS_SIG_PRINTF2(a, b) \ - if (getenv("OQSSIG")) \ - printf(a, b) -# define OQS_SIG_PRINTF3(a, b, c) \ - if (getenv("OQSSIG")) \ - printf(a, b, c) +#define OQS_SIG_PRINTF(a) if (getenv("OQSSIG")) printf(a) +#define OQS_SIG_PRINTF2(a, b) if (getenv("OQSSIG")) printf(a, b) +#define OQS_SIG_PRINTF3(a, b, c) if (getenv("OQSSIG")) printf(a, b, c) #endif // NDEBUG static OSSL_FUNC_signature_newctx_fn oqs_sig_newctx; @@ -47,13 +42,13 @@ static OSSL_FUNC_signature_verify_init_fn oqs_sig_verify_init; static OSSL_FUNC_signature_sign_fn oqs_sig_sign; static OSSL_FUNC_signature_verify_fn oqs_sig_verify; static OSSL_FUNC_signature_digest_sign_init_fn oqs_sig_digest_sign_init; -static OSSL_FUNC_signature_digest_sign_update_fn - oqs_sig_digest_signverify_update; +static OSSL_FUNC_signature_digest_sign_update_fn oqs_sig_digest_signverify_update; static OSSL_FUNC_signature_digest_sign_final_fn oqs_sig_digest_sign_final; +static OSSL_FUNC_signature_digest_sign_fn oqs_sig_digest_sign; static OSSL_FUNC_signature_digest_verify_init_fn oqs_sig_digest_verify_init; -static OSSL_FUNC_signature_digest_verify_update_fn - oqs_sig_digest_signverify_update; +static OSSL_FUNC_signature_digest_verify_update_fn oqs_sig_digest_signverify_update; static OSSL_FUNC_signature_digest_verify_final_fn oqs_sig_digest_verify_final; +static OSSL_FUNC_signature_digest_verify_fn oqs_sig_digest_verify; static OSSL_FUNC_signature_freectx_fn oqs_sig_freectx; static OSSL_FUNC_signature_dupctx_fn oqs_sig_dupctx; static OSSL_FUNC_signature_get_ctx_params_fn oqs_sig_get_ctx_params; @@ -61,24 +56,9 @@ static OSSL_FUNC_signature_gettable_ctx_params_fn oqs_sig_gettable_ctx_params; static OSSL_FUNC_signature_set_ctx_params_fn oqs_sig_set_ctx_params; static OSSL_FUNC_signature_settable_ctx_params_fn oqs_sig_settable_ctx_params; static OSSL_FUNC_signature_get_ctx_md_params_fn oqs_sig_get_ctx_md_params; -static OSSL_FUNC_signature_gettable_ctx_md_params_fn - oqs_sig_gettable_ctx_md_params; +static OSSL_FUNC_signature_gettable_ctx_md_params_fn oqs_sig_gettable_ctx_md_params; static OSSL_FUNC_signature_set_ctx_md_params_fn oqs_sig_set_ctx_md_params; -static OSSL_FUNC_signature_settable_ctx_md_params_fn - oqs_sig_settable_ctx_md_params; - -// OIDS: -static int get_aid(unsigned char **oidbuf, const char *tls_name) -{ - X509_ALGOR *algor = X509_ALGOR_new(); - int aidlen = 0; - - X509_ALGOR_set0(algor, OBJ_txt2obj(tls_name, 0), V_ASN1_UNDEF, NULL); - - aidlen = i2d_X509_ALGOR(algor, oidbuf); - X509_ALGOR_free(algor); - return (aidlen); -} +static OSSL_FUNC_signature_settable_ctx_md_params_fn oqs_sig_settable_ctx_md_params; /* * What's passed as an actual key is defined by the KEYMGMT interface. @@ -101,17 +81,89 @@ typedef struct { /* The Algorithm Identifier of the combined signature algorithm */ unsigned char *aid; - size_t aid_len; + size_t aid_len; /* main digest */ EVP_MD *md; EVP_MD_CTX *mdctx; size_t mdsize; // for collecting data if no MD is active: - unsigned char *mddata; + unsigned char* mddata; int operation; + // Hash-n-sign (no need to re-hash for the traditional part) + int is_pre_hashed; } PROV_OQSSIG_CTX; +// OIDS: +static int get_aid(unsigned char** oidbuf, const char *tls_name, const char * mdname, PROV_OQSSIG_CTX *ctx) { + + X509_ALGOR *algor = NULL; + EVP_MD * digest_alg = NULL; + + int aidlen = 0; + int sig_alg = 0; + int digest_nid = 0; + + // Input checks + if (!tls_name || !ctx) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + return 0; + } + + // Retireves the NID for the PKEY type + int pkey_nid = OBJ_txt2nid(tls_name); + if (pkey_nid == NID_undef) { + OQS_SIG_PRINTF2("OQS SIG provider: can not get the id for pkey %s\n", tls_name); + ERR_raise(ERR_LIB_USER, OQSPROV_R_OBJ_CREATE_ERR); + return 0; + } + + // Retrieves the NID for the digest (if any) + if (mdname != NULL + && strncmp(mdname, "NULL", 4) + && strncmp(mdname, "null", 4) + && strncmp(mdname, "undef", 5) + && strncmp(mdname, "UNDEF", 5)) { + digest_alg = EVP_MD_fetch(ctx->libctx, mdname, NULL); + } else if (ctx->md != NULL && ctx->md != EVP_md_null()) { + digest_alg = ctx->md; + } else { + digest_alg = NULL; + } + + if (digest_alg) { + digest_nid = EVP_MD_nid(digest_alg); + if (digest_nid == NID_undef) { + OQS_SIG_PRINTF2("OQS SIG provider: can not get the id for digest %s\n", mdname); + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } + } + + // Retrieves the NID for the signature algorithm + if (!OBJ_find_sigid_by_algs(&sig_alg, digest_nid, pkey_nid) || sig_alg == NID_undef) { + OQS_SIG_PRINTF3("OQS SIG provider: failure to find algorithm for %s and %s\n", tls_name, mdname); + ERR_raise(ERR_LIB_USER, OQSPROV_R_MISSING_OID); + return 0; + } + + // Allocate the new algorithm + algor = X509_ALGOR_new(); + if (!algor) { + OQS_SIG_PRINTF("OQS SIG provider: null param error algor\n"); + ERR_raise(ERR_LIB_USER, OQSPROV_R_LIB_CREATE_ERR); + return 0; + } + + // Set the algorithm + X509_ALGOR_set0(algor, OBJ_nid2obj(sig_alg), V_ASN1_UNDEF, NULL); + + // Encodes the algorithm and returns the encoded data length + aidlen = i2d_X509_ALGOR(algor, oidbuf); + X509_ALGOR_free(algor); + return(aidlen); +} + static void *oqs_sig_newctx(void *provctx, const char *propq) { PROV_OQSSIG_CTX *poqs_sigctx; @@ -122,27 +174,28 @@ static void *oqs_sig_newctx(void *provctx, const char *propq) if (poqs_sigctx == NULL) return NULL; - poqs_sigctx->libctx = ((PROV_OQS_CTX *)provctx)->libctx; + poqs_sigctx->libctx = ((PROV_OQS_CTX*)provctx)->libctx; if (propq != NULL && (poqs_sigctx->propq = OPENSSL_strdup(propq)) == NULL) { OPENSSL_free(poqs_sigctx); poqs_sigctx = NULL; ERR_raise(ERR_LIB_USER, ERR_R_MALLOC_FAILURE); } + + poqs_sigctx->is_pre_hashed = 0; return poqs_sigctx; } -static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, const char *mdname, - const char *mdprops) +static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, + const char *mdname, const char *mdprops) { - OQS_SIG_PRINTF3("OQS SIG provider: setup_md called for MD %s (alg %s)\n", - mdname, ctx->sig->tls_name); + OQS_SIG_PRINTF3("OQS SIG provider: setup_md called for MD %s (alg %s)\n", mdname, ctx->sig->tls_name); if (mdprops == NULL) mdprops = ctx->propq; if (mdname != NULL) { EVP_MD *md = EVP_MD_fetch(ctx->libctx, mdname, mdprops); - if ((md == NULL) || (EVP_MD_nid(md) == NID_undef)) { + if ((md == NULL)||(EVP_MD_nid(md)==NID_undef)) { if (md == NULL) ERR_raise_data(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST, "%s could not be fetched", mdname); @@ -151,14 +204,14 @@ static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, const char *mdname, } EVP_MD_CTX_free(ctx->mdctx); - ctx->mdctx = NULL; + ctx->mdctx = NULL; EVP_MD_free(ctx->md); - ctx->md = NULL; + ctx->md = NULL; - if (ctx->aid) + if (ctx->aid) OPENSSL_free(ctx->aid); ctx->aid = NULL; // ensure next function allocates memory - ctx->aid_len = get_aid(&(ctx->aid), ctx->sig->tls_name); + ctx->aid_len = get_aid(&(ctx->aid), ctx->sig->tls_name, mdname, ctx); ctx->md = md; OPENSSL_strlcpy(ctx->mdname, mdname, sizeof(ctx->mdname)); @@ -166,57 +219,55 @@ static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, const char *mdname, return 1; } -static int oqs_sig_signverify_init(void *vpoqs_sigctx, void *voqssig, - int operation) +static int oqs_sig_signverify_init(void *vpoqs_sigctx, void *voqssig, int operation) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; OQS_SIG_PRINTF("OQS SIG provider: signverify_init called\n"); - if (poqs_sigctx == NULL || voqssig == NULL || !oqsx_key_up_ref(voqssig)) + if ( poqs_sigctx == NULL + || voqssig == NULL + || !oqsx_key_up_ref(voqssig)) return 0; oqsx_key_free(poqs_sigctx->sig); poqs_sigctx->sig = voqssig; poqs_sigctx->operation = operation; poqs_sigctx->flag_allow_md = 1; /* change permitted until first use */ - if ((operation == EVP_PKEY_OP_SIGN && !poqs_sigctx->sig->privkey) - || (operation == EVP_PKEY_OP_VERIFY && !poqs_sigctx->sig->pubkey)) { + if ( (operation==EVP_PKEY_OP_SIGN && !poqs_sigctx->sig->privkey) || + (operation==EVP_PKEY_OP_VERIFY && !poqs_sigctx->sig->pubkey)) { ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_KEY); return 0; } return 1; } -static int oqs_sig_sign_init(void *vpoqs_sigctx, void *voqssig, - const OSSL_PARAM params[]) +static int oqs_sig_sign_init(void *vpoqs_sigctx, void *voqssig, const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: sign_init called\n"); return oqs_sig_signverify_init(vpoqs_sigctx, voqssig, EVP_PKEY_OP_SIGN); } -static int oqs_sig_verify_init(void *vpoqs_sigctx, void *voqssig, - const OSSL_PARAM params[]) +static int oqs_sig_verify_init(void *vpoqs_sigctx, void *voqssig, const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: verify_init called\n"); return oqs_sig_signverify_init(vpoqs_sigctx, voqssig, EVP_PKEY_OP_VERIFY); } -/* On entry to this function, data to be signed (tbs) might have been hashed - * already: this would be the case if poqs_sigctx->mdctx != NULL; if that is - * NULL, we have to hash in case of hybrid signatures +/* On entry to this function, data to be signed (tbs) might have been hashed already: + * this would be the case if poqs_sigctx->mdctx != NULL; if that is NULL, we have to hash + * in case of hybrid signatures */ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, - size_t sigsize, const unsigned char *tbs, size_t tbslen) + size_t sigsize, const unsigned char *tbs, size_t tbslen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; - OQSX_KEY *oqsxkey = poqs_sigctx->sig; - OQS_SIG *oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; - EVP_PKEY *evpkey = oqsxkey->classical_pkey; // if this value is not NULL, - // we're running hybrid + OQSX_KEY* oqsxkey = poqs_sigctx->sig; + OQS_SIG* oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; + EVP_PKEY* evpkey = oqsxkey->classical_pkey; // if this value is not NULL, we're running hybrid EVP_PKEY_CTX *classical_ctx_sign = NULL; OQS_SIG_PRINTF2("OQS SIG provider: sign called for %ld bytes\n", tbslen); - int is_hybrid = evpkey != NULL; + int is_hybrid = evpkey!=NULL; size_t max_sig_len = oqs_key->length_signature; size_t classical_sig_len = 0, oqs_sig_len = 0; size_t actual_classical_sig_len = 0; @@ -224,19 +275,18 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, int rv = 0; if (!oqsxkey || !oqs_key || !oqsxkey->privkey) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_NO_PRIVATE_KEY); - return rv; + ERR_raise(ERR_LIB_USER, OQSPROV_R_NO_PRIVATE_KEY); + return rv; } if (is_hybrid) { - actual_classical_sig_len = oqsxkey->evp_info->length_signature; - max_sig_len += (SIZE_OF_UINT32 + actual_classical_sig_len); + actual_classical_sig_len = oqsxkey->evp_info->length_signature; + max_sig_len += (SIZE_OF_UINT32 + actual_classical_sig_len); } if (sig == NULL) { - *siglen = max_sig_len; - OQS_SIG_PRINTF2("OQS SIG provider: sign test returning size %ld\n", - *siglen); - return 1; + *siglen = max_sig_len; + OQS_SIG_PRINTF2("OQS SIG provider: sign test returning size %ld\n", *siglen); + return 1; } if (*siglen < max_sig_len) { ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); @@ -244,219 +294,233 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, } if (is_hybrid) { - if ((classical_ctx_sign = EVP_PKEY_CTX_new(evpkey, NULL)) == NULL - || EVP_PKEY_sign_init(classical_ctx_sign) <= 0) { - ERR_raise(ERR_LIB_USER, ERR_R_FATAL); - goto endsign; + if ((classical_ctx_sign = EVP_PKEY_CTX_new(evpkey, NULL)) == NULL || + EVP_PKEY_sign_init(classical_ctx_sign) <= 0) { + ERR_raise(ERR_LIB_USER, ERR_R_FATAL); + goto endsign; } if (oqsxkey->evp_info->keytype == EVP_PKEY_RSA) { - if (EVP_PKEY_CTX_set_rsa_padding(classical_ctx_sign, - RSA_PKCS1_PADDING) - <= 0) { - ERR_raise(ERR_LIB_USER, ERR_R_FATAL); - goto endsign; + if (EVP_PKEY_CTX_set_rsa_padding(classical_ctx_sign, RSA_PKCS1_PADDING) <= 0) { + ERR_raise(ERR_LIB_USER, ERR_R_FATAL); + goto endsign; } } - /* unconditionally hash to be in line with oqs-openssl111: + /* unconditionally hash to be in line with oqs-openssl111: * uncomment the following line if using pre-performed hash: - * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done + * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done */ - const EVP_MD *classical_md; + int digest_len; - unsigned char digest[SHA512_DIGEST_LENGTH]; /* init with max length */ + unsigned char digest[EVP_MAX_MD_SIZE]; /* init with max length */ - /* classical schemes can't sign arbitrarily large data; we hash it first - */ - switch (oqs_key->claimed_nist_level) { - case 1: + if (!poqs_sigctx->is_pre_hashed) { + + const EVP_MD *classical_md; + + /* classical schemes can't sign arbitrarily large data; we hash it first */ + switch (oqs_key->claimed_nist_level) { + case 1: classical_md = EVP_sha256(); digest_len = SHA256_DIGEST_LENGTH; - SHA256(tbs, tbslen, (unsigned char *)&digest); + SHA256(tbs, tbslen, (unsigned char*) &digest); break; - case 2: - case 3: + case 2: + case 3: classical_md = EVP_sha384(); digest_len = SHA384_DIGEST_LENGTH; - SHA384(tbs, tbslen, (unsigned char *)&digest); + SHA384(tbs, tbslen, (unsigned char*) &digest); break; - case 4: - case 5: - default: + case 4: + case 5: + default: classical_md = EVP_sha512(); digest_len = SHA512_DIGEST_LENGTH; - SHA512(tbs, tbslen, (unsigned char *)&digest); + SHA512(tbs, tbslen, (unsigned char*) &digest); break; - } - if ((EVP_PKEY_CTX_set_signature_md(classical_ctx_sign, classical_md) - <= 0) - || (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, - &actual_classical_sig_len, digest, digest_len) - <= 0)) { + } + if (EVP_PKEY_CTX_set_signature_md(classical_ctx_sign, classical_md) <= 0) { ERR_raise(ERR_LIB_USER, ERR_R_FATAL); goto endsign; - } - /* activate in case we want to use pre-performed hashes: - * } - * else { // hashing done before; just sign: - * if (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, - * &actual_classical_sig_len, tbs, tbslen) <= 0) { - * ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); - * goto endsign; - * } - * } - */ - if (actual_classical_sig_len > oqsxkey->evp_info->length_signature) { - /* sig is bigger than expected */ + } + } else { + // Pre-Hashed Data, no need to hash again + if (tbslen > sizeof(digest)) { ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); goto endsign; + } + memcpy(digest, tbs, tbslen); + digest_len = tbslen; + } + // Hashing done, just sign + if (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, &actual_classical_sig_len, digest, digest_len) <= 0) { + ERR_raise(ERR_LIB_USER, ERR_R_FATAL); + goto endsign; } - ENCODE_UINT32(sig, actual_classical_sig_len); - classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; - index += classical_sig_len; - } - if (OQS_SIG_sign(oqs_key, sig + index, &oqs_sig_len, tbs, tbslen, - oqsxkey->comp_privkey[oqsxkey->numkeys - 1]) - != OQS_SUCCESS) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + /* activate in case we want to use pre-performed hashes: + * } + * else { // hashing done before; just sign: + * if (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, &actual_classical_sig_len, tbs, tbslen) <= 0) { + * ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + * goto endsign; + * } + * } + */ + if (actual_classical_sig_len > oqsxkey->evp_info->length_signature) { + /* sig is bigger than expected */ + ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); goto endsign; + } + ENCODE_UINT32(sig, actual_classical_sig_len); + classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; + index += classical_sig_len; + } + + if (OQS_SIG_sign(oqs_key, sig + index, &oqs_sig_len, tbs, tbslen, oqsxkey->comp_privkey[oqsxkey->numkeys-1]) != OQS_SUCCESS) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + goto endsign; } *siglen = classical_sig_len + oqs_sig_len; - OQS_SIG_PRINTF2("OQS SIG provider: signing completes with size %ld\n", - *siglen); + OQS_SIG_PRINTF2("OQS SIG provider: signing completes with size %ld\n", *siglen); rv = 1; /* success */ -endsign: + endsign: if (classical_ctx_sign) { - EVP_PKEY_CTX_free(classical_ctx_sign); + EVP_PKEY_CTX_free(classical_ctx_sign); } return rv; } -static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, - size_t siglen, const unsigned char *tbs, - size_t tbslen) +static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, size_t siglen, + const unsigned char *tbs, size_t tbslen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; - OQSX_KEY *oqsxkey = poqs_sigctx->sig; - OQS_SIG *oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; - EVP_PKEY *evpkey = oqsxkey->classical_pkey; // if this value is not NULL, - // we're running hybrid + OQSX_KEY* oqsxkey = poqs_sigctx->sig; + OQS_SIG* oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; + EVP_PKEY* evpkey = oqsxkey->classical_pkey; // if this value is not NULL, we're running hybrid EVP_PKEY_CTX *classical_ctx_sign = NULL; EVP_PKEY_CTX *ctx_verify = NULL; - int is_hybrid = evpkey != NULL; + int is_hybrid = evpkey!=NULL; size_t classical_sig_len = 0; size_t index = 0; int rv = 0; - OQS_SIG_PRINTF3( - "OQS SIG provider: verify called with siglen %ld bytes and tbslen %ld\n", - siglen, tbslen); + OQS_SIG_PRINTF3("OQS SIG provider: verify called with siglen %ld bytes and tbslen %ld\n", siglen, tbslen); - if (!oqsxkey || !oqs_key || !oqsxkey->pubkey || sig == NULL - || (tbs == NULL && tbslen > 0)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - goto endverify; + if (!oqsxkey || !oqs_key || !oqsxkey->pubkey || sig == NULL || (tbs == NULL && tbslen > 0)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + goto endverify; } if (is_hybrid) { - const EVP_MD *classical_md; - size_t actual_classical_sig_len = 0; - int digest_len; - unsigned char digest[SHA512_DIGEST_LENGTH]; /* init with max length */ + const EVP_MD *classical_md; + size_t actual_classical_sig_len = 0; + int digest_len; + unsigned char digest[EVP_MAX_MD_SIZE]; /* init with max length */ - if ((ctx_verify = EVP_PKEY_CTX_new(oqsxkey->classical_pkey, NULL)) - == NULL - || EVP_PKEY_verify_init(ctx_verify) <= 0) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - goto endverify; - } - if (oqsxkey->evp_info->keytype == EVP_PKEY_RSA) { - if (EVP_PKEY_CTX_set_rsa_padding(ctx_verify, RSA_PKCS1_PADDING) - <= 0) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - goto endverify; - } + if ((ctx_verify = EVP_PKEY_CTX_new(oqsxkey->classical_pkey, NULL)) == NULL || + EVP_PKEY_verify_init(ctx_verify) <= 0) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + goto endverify; + } + if (oqsxkey->evp_info->keytype == EVP_PKEY_RSA) { + if (EVP_PKEY_CTX_set_rsa_padding(ctx_verify, RSA_PKCS1_PADDING) <= 0) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + goto endverify; } - DECODE_UINT32(actual_classical_sig_len, sig); + } + DECODE_UINT32(actual_classical_sig_len, sig); + if (!poqs_sigctx->is_pre_hashed) { + /* same as with sign: activate if pre-existing hashing to be used: - * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done - */ + * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done + */ switch (oqs_key->claimed_nist_level) { case 1: - classical_md = EVP_sha256(); - digest_len = SHA256_DIGEST_LENGTH; - SHA256(tbs, tbslen, (unsigned char *)&digest); - break; + classical_md = EVP_sha256(); + digest_len = SHA256_DIGEST_LENGTH; + SHA256(tbs, tbslen, (unsigned char*) &digest); + break; case 2: case 3: - classical_md = EVP_sha384(); - digest_len = SHA384_DIGEST_LENGTH; - SHA384(tbs, tbslen, (unsigned char *)&digest); - break; + classical_md = EVP_sha384(); + digest_len = SHA384_DIGEST_LENGTH; + SHA384(tbs, tbslen, (unsigned char*) &digest); + break; case 4: case 5: default: - classical_md = EVP_sha512(); - digest_len = SHA512_DIGEST_LENGTH; - SHA512(tbs, tbslen, (unsigned char *)&digest); - break; + classical_md = EVP_sha512(); + digest_len = SHA512_DIGEST_LENGTH; + SHA512(tbs, tbslen, (unsigned char*) &digest); + break; } - if ((EVP_PKEY_CTX_set_signature_md(ctx_verify, classical_md) <= 0) - || (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, - actual_classical_sig_len, digest, digest_len) - <= 0)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - goto endverify; - } else { - OQS_SIG_PRINTF("OQS SIG: classic verification OK\n"); + + if (EVP_PKEY_CTX_set_signature_md(ctx_verify, classical_md) <= 0) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + goto endverify; } - /* activate for using pre-existing digest: - * } - * else { // hashing already done: - * if (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, - * actual_classical_sig_len, tbs, tbslen) <= 0) { - * ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - * goto endverify; - * } - * } - */ - classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; - index += classical_sig_len; - } - if (!oqsxkey->comp_pubkey[oqsxkey->numkeys - 1]) { - 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) { + } else { + + // Pre-Hashed Data, no need to hash again + if (tbslen > sizeof(digest)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); + goto endverify; + } + + // Copy data and length + memcpy(digest, tbs, tbslen); + digest_len = tbslen; + } + + if (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, actual_classical_sig_len, digest, digest_len) <= 0) { ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); goto endverify; + } + else { + OQS_SIG_PRINTF("OQS SIG: classic verification OK\n"); + } + + /* activate for using pre-existing digest: + * } + * else { // hashing already done: + * if (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, actual_classical_sig_len, tbs, tbslen) <= 0) { + * ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + * goto endverify; + * } + * } + */ + classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; + index += classical_sig_len; + } + + if (!oqsxkey->comp_pubkey[oqsxkey->numkeys-1]) { + 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) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + goto endverify; } rv = 1; -endverify: + endverify: if (ctx_verify) { - EVP_PKEY_CTX_free(ctx_verify); + EVP_PKEY_CTX_free(ctx_verify); } OQS_SIG_PRINTF2("OQS SIG provider: verify rv = %d\n", rv); return rv; } -static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, - const char *mdname, void *voqssig, - int operation) +static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, const char *mdname, + void *voqssig, int operation) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; - OQS_SIG_PRINTF2( - "OQS SIG provider: digest_signverify_init called for mdname %s\n", - mdname); + OQS_SIG_PRINTF2("OQS SIG provider: digest_signverify_init called for mdname %s\n", mdname); poqs_sigctx->flag_allow_md = 1; /* permitted until first use */ if (!oqs_sig_signverify_init(vpoqs_sigctx, voqssig, operation)) @@ -466,17 +530,17 @@ static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, return 0; if (mdname != NULL) { - poqs_sigctx->mdctx = EVP_MD_CTX_new(); - if (poqs_sigctx->mdctx == NULL) - goto error; + poqs_sigctx->mdctx = EVP_MD_CTX_new(); + if (poqs_sigctx->mdctx == NULL) + goto error; - if (!EVP_DigestInit_ex(poqs_sigctx->mdctx, poqs_sigctx->md, NULL)) - goto error; + if (!EVP_DigestInit_ex(poqs_sigctx->mdctx, poqs_sigctx->md, NULL)) + goto error; } return 1; -error: + error: EVP_MD_CTX_free(poqs_sigctx->mdctx); EVP_MD_free(poqs_sigctx->md); poqs_sigctx->mdctx = NULL; @@ -486,23 +550,20 @@ static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, } static int oqs_sig_digest_sign_init(void *vpoqs_sigctx, const char *mdname, - void *voqssig, const OSSL_PARAM params[]) + void *voqssig, const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: digest_sign_init called\n"); - return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, - EVP_PKEY_OP_SIGN); + return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, EVP_PKEY_OP_SIGN); } -static int oqs_sig_digest_verify_init(void *vpoqs_sigctx, const char *mdname, - void *voqssig, const OSSL_PARAM params[]) +static int oqs_sig_digest_verify_init(void *vpoqs_sigctx, const char *mdname, void *voqssig, const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: sig_digest_verify called\n"); - return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, - EVP_PKEY_OP_VERIFY); + return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, EVP_PKEY_OP_VERIFY); } -int oqs_sig_digest_signverify_update(void *vpoqs_sigctx, - const unsigned char *data, size_t datalen) +int oqs_sig_digest_signverify_update(void *vpoqs_sigctx, const unsigned char *data, + size_t datalen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; @@ -513,34 +574,30 @@ int oqs_sig_digest_signverify_update(void *vpoqs_sigctx, // disallow MD changes after update has been called at least once poqs_sigctx->flag_allow_md = 0; - if (poqs_sigctx->mdctx) - return EVP_DigestUpdate(poqs_sigctx->mdctx, data, datalen); + if (poqs_sigctx->mdctx) + return EVP_DigestUpdate(poqs_sigctx->mdctx, data, datalen); else { - // unconditionally collect data for passing in full to OQS API - if (poqs_sigctx->mddata) { - unsigned char *newdata = OPENSSL_realloc( - poqs_sigctx->mddata, poqs_sigctx->mdsize + datalen); - if (newdata == NULL) - return 0; - memcpy(newdata + poqs_sigctx->mdsize, data, datalen); - poqs_sigctx->mddata = newdata; - poqs_sigctx->mdsize += datalen; - } else { // simple alloc and copy - poqs_sigctx->mddata = OPENSSL_malloc(datalen); - if (poqs_sigctx->mddata == NULL) - return 0; - poqs_sigctx->mdsize = datalen; - memcpy(poqs_sigctx->mddata, data, poqs_sigctx->mdsize); - } - OQS_SIG_PRINTF2( - "OQS SIG provider: digest_signverify_update collected %ld bytes...\n", - poqs_sigctx->mdsize); + // unconditionally collect data for passing in full to OQS API + if (poqs_sigctx->mddata) { + unsigned char* newdata = OPENSSL_realloc(poqs_sigctx->mddata, poqs_sigctx->mdsize+datalen); + if (newdata == NULL) return 0; + memcpy(newdata+poqs_sigctx->mdsize, data, datalen); + poqs_sigctx->mddata = newdata; + poqs_sigctx->mdsize += datalen; + } + else { // simple alloc and copy + poqs_sigctx->mddata = OPENSSL_malloc(datalen); + if (poqs_sigctx->mddata == NULL) return 0; + poqs_sigctx->mdsize=datalen; + memcpy(poqs_sigctx->mddata, data, poqs_sigctx->mdsize); + } + OQS_SIG_PRINTF2("OQS SIG provider: digest_signverify_update collected %ld bytes...\n", poqs_sigctx->mdsize); } return 1; } -int oqs_sig_digest_sign_final(void *vpoqs_sigctx, unsigned char *sig, - size_t *siglen, size_t sigsize) +int oqs_sig_digest_sign_final(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, + size_t sigsize) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; unsigned char digest[EVP_MAX_MD_SIZE]; @@ -557,26 +614,26 @@ int oqs_sig_digest_sign_final(void *vpoqs_sigctx, unsigned char *sig, if (sig != NULL) { /* * TODO(3.0): There is the possibility that some externally provided - * digests exceed EVP_MAX_MD_SIZE. We should probably handle that - * somehow - but that problem is much larger than just here. + * digests exceed EVP_MAX_MD_SIZE. We should probably handle that somehow - + * but that problem is much larger than just here. */ - if (poqs_sigctx->mdctx != NULL) - if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) - return 0; + if (poqs_sigctx->mdctx != NULL) + if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) + return 0; } poqs_sigctx->flag_allow_md = 1; - if (poqs_sigctx->mdctx != NULL) - return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, digest, - (size_t)dlen); + if (poqs_sigctx->mdctx != NULL) + return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, digest, (size_t)dlen); else - return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, - poqs_sigctx->mddata, poqs_sigctx->mdsize); + return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, poqs_sigctx->mddata, poqs_sigctx->mdsize); + } + int oqs_sig_digest_verify_final(void *vpoqs_sigctx, const unsigned char *sig, - size_t siglen) + size_t siglen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; unsigned char digest[EVP_MAX_MD_SIZE]; @@ -588,15 +645,139 @@ int oqs_sig_digest_verify_final(void *vpoqs_sigctx, const unsigned char *sig, // TBC for hybrids: if (poqs_sigctx->mdctx) { - if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) - return 0; + if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) + return 0; - poqs_sigctx->flag_allow_md = 1; + poqs_sigctx->flag_allow_md = 1; - return oqs_sig_verify(vpoqs_sigctx, sig, siglen, digest, (size_t)dlen); - } else - return oqs_sig_verify(vpoqs_sigctx, sig, siglen, poqs_sigctx->mddata, - poqs_sigctx->mdsize); + return oqs_sig_verify(vpoqs_sigctx, sig, siglen, digest, (size_t)dlen); + } + else + return oqs_sig_verify(vpoqs_sigctx, sig, siglen, poqs_sigctx->mddata, poqs_sigctx->mdsize); +} + +int oqs_sig_digest_sign(void *ctx, + unsigned char *sig, size_t *siglen, + size_t sigsize, const unsigned char *tbs, + size_t tbslen) { + + PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)ctx; + + // Input checks + if (!ctx || !siglen || !tbs || !tbslen) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + return 0; + } + + // Verify we have all our ducks in a row + if (!poqs_sigctx->sig || !poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_NO_PRIVATE_KEY); + return 0; + } + + // Sends back the signature size if no buffer was provided + if (!sig) { + // Estimates the signature size + if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs, tbslen)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + return 0; + } + // All Done + return 1; + } + + // If no digest is configured, we do not use any + if (!poqs_sigctx->md || !poqs_sigctx->mdctx) { + // Generates the signature on the data (direct signing) + if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs, tbslen)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + return 0; + } + // All Done + return 1; + } + + // Calculates the digest + unsigned char tbs_digest[EVP_MAX_MD_SIZE]; + unsigned int tbs_digest_len = sizeof(tbs_digest); + + // Checks for private key in the context + if (!EVP_Digest(tbs, tbslen, tbs_digest, &tbs_digest_len, poqs_sigctx->md, NULL)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } + + // Signals the traditional that no additional hashing is needed + poqs_sigctx->is_pre_hashed = 1; + + // Generates the signature on the digest + if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs_digest, tbs_digest_len)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + return 0; + } + + // Success + return 1; +} + +int oqs_sig_digest_verify(void *ctx, const unsigned char *sig, + size_t siglen, const unsigned char *tbs, + size_t tbslen) { + + PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)ctx; + // Retrieves the context + + EVP_MD * md = NULL; + // The digest to use + + unsigned char tbs_digest[EVP_MAX_MD_SIZE]; + unsigned int tbs_digest_len = sizeof(tbs_digest); + // Buffer for the digest + + // Input checks + if (!ctx || !sig || !siglen || !tbs || !tbslen) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + return 0; + } + + // Checks if we have a valid digest + if (!poqs_sigctx->md + && poqs_sigctx->mdname[0] + && OPENSSL_strncasecmp(poqs_sigctx->mdname, "UNDEF", 5) != 0) { + // Fetch the MD + md = EVP_MD_fetch(poqs_sigctx->libctx, poqs_sigctx->mdname, NULL); + if (!md) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } + } else if (poqs_sigctx->md) { + // Use the configured digest + md = poqs_sigctx->md; + } + + if (md) { + // Checks for private key in the context + if (!EVP_Digest(tbs, tbslen, tbs_digest, &tbs_digest_len, md, NULL)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } + // Use passed digest + int success = oqs_sig_verify(ctx, sig, siglen, tbs_digest, tbs_digest_len); + if (!success) { + if (!poqs_sigctx->md) EVP_MD_free(md); + return 0; + } + } else { + // No digest, use the data directly + int success = oqs_sig_verify(ctx, sig, siglen, tbs, tbslen); + if (!success) { + if (!poqs_sigctx->md) EVP_MD_free(md); + return 0; + } + } + + // Success + return 1; } static void oqs_sig_freectx(void *vpoqs_sigctx) @@ -647,32 +828,32 @@ static void *oqs_sig_dupctx(void *vpoqs_sigctx) if (srcctx->mdctx != NULL) { dstctx->mdctx = EVP_MD_CTX_new(); if (dstctx->mdctx == NULL - || !EVP_MD_CTX_copy_ex(dstctx->mdctx, srcctx->mdctx)) + || !EVP_MD_CTX_copy_ex(dstctx->mdctx, srcctx->mdctx)) goto err; } if (srcctx->mddata) { - dstctx->mddata = OPENSSL_memdup(srcctx->mddata, srcctx->mdsize); - if (dstctx->mddata == NULL) + dstctx->mddata=OPENSSL_memdup(srcctx->mddata, srcctx->mdsize); + if (dstctx->mddata == NULL) goto err; - dstctx->mdsize = srcctx->mdsize; + dstctx->mdsize = srcctx->mdsize; } if (srcctx->aid) { - dstctx->aid = OPENSSL_memdup(srcctx->aid, srcctx->aid_len); - if (dstctx->aid == NULL) - goto err; - dstctx->aid_len = srcctx->aid_len; + dstctx->aid = OPENSSL_memdup(srcctx->aid, srcctx->aid_len); + if (dstctx->aid == NULL) + goto err; + dstctx->aid_len = srcctx->aid_len; } if (srcctx->propq) { - dstctx->propq = OPENSSL_strdup(srcctx->propq); - if (dstctx->propq == NULL) - goto err; + dstctx->propq = OPENSSL_strdup(srcctx->propq); + if (dstctx->propq == NULL) + goto err; } return dstctx; -err: + err: oqs_sig_freectx(dstctx); return NULL; } @@ -689,13 +870,11 @@ static int oqs_sig_get_ctx_params(void *vpoqs_sigctx, OSSL_PARAM *params) p = OSSL_PARAM_locate(params, OSSL_SIGNATURE_PARAM_ALGORITHM_ID); if (poqs_sigctx->aid == NULL) { - poqs_sigctx->aid_len - = get_aid(&(poqs_sigctx->aid), poqs_sigctx->sig->tls_name); + poqs_sigctx->aid_len = get_aid(&(poqs_sigctx->aid), poqs_sigctx->sig->tls_name, NULL, poqs_sigctx); } if (p != NULL - && !OSSL_PARAM_set_octet_string(p, poqs_sigctx->aid, - poqs_sigctx->aid_len)) + && !OSSL_PARAM_set_octet_string(p, poqs_sigctx->aid, poqs_sigctx->aid_len)) return 0; p = OSSL_PARAM_locate(params, OSSL_SIGNATURE_PARAM_DIGEST); @@ -705,14 +884,13 @@ static int oqs_sig_get_ctx_params(void *vpoqs_sigctx, OSSL_PARAM *params) return 1; } -static const OSSL_PARAM known_gettable_ctx_params[] - = {OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0), - OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), - OSSL_PARAM_END}; +static const OSSL_PARAM known_gettable_ctx_params[] = { + OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), + OSSL_PARAM_END +}; -static const OSSL_PARAM * -oqs_sig_gettable_ctx_params(ossl_unused void *vpoqs_sigctx, - ossl_unused void *vctx) +static const OSSL_PARAM *oqs_sig_gettable_ctx_params(ossl_unused void *vpoqs_sigctx, ossl_unused void *vctx) { OQS_SIG_PRINTF("OQS SIG provider: gettable_ctx_params called\n"); return known_gettable_ctx_params; @@ -733,8 +911,9 @@ static int oqs_sig_set_ctx_params(void *vpoqs_sigctx, const OSSL_PARAM params[]) if (p != NULL) { char mdname[OSSL_MAX_NAME_SIZE] = "", *pmdname = mdname; char mdprops[OSSL_MAX_PROPQUERY_SIZE] = "", *pmdprops = mdprops; - const OSSL_PARAM *propsp - = OSSL_PARAM_locate_const(params, OSSL_SIGNATURE_PARAM_PROPERTIES); + const OSSL_PARAM *propsp = + OSSL_PARAM_locate_const(params, + OSSL_SIGNATURE_PARAM_PROPERTIES); if (!OSSL_PARAM_get_utf8_string(p, &pmdname, sizeof(mdname))) return 0; @@ -745,14 +924,15 @@ static int oqs_sig_set_ctx_params(void *vpoqs_sigctx, const OSSL_PARAM params[]) return 0; } - // not passing in parameters we can act on is no error return 1; } -static const OSSL_PARAM known_settable_ctx_params[] - = {OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), - OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PROPERTIES, NULL, 0), - OSSL_PARAM_END}; +static const OSSL_PARAM known_settable_ctx_params[] = { + OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PROPERTIES, NULL, 0), + OSSL_PARAM_END +}; static const OSSL_PARAM *oqs_sig_settable_ctx_params(ossl_unused void *vpsm2ctx, ossl_unused void *provctx) @@ -795,8 +975,7 @@ static const OSSL_PARAM *oqs_sig_gettable_ctx_md_params(void *vpoqs_sigctx) return EVP_MD_gettable_ctx_params(poqs_sigctx->md); } -static int oqs_sig_set_ctx_md_params(void *vpoqs_sigctx, - const OSSL_PARAM params[]) +static int oqs_sig_set_ctx_md_params(void *vpoqs_sigctx, const OSSL_PARAM params[]) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; @@ -818,40 +997,43 @@ static const OSSL_PARAM *oqs_sig_settable_ctx_md_params(void *vpoqs_sigctx) return EVP_MD_settable_ctx_params(poqs_sigctx->md); } -const OSSL_DISPATCH oqs_signature_functions[] - = {{OSSL_FUNC_SIGNATURE_NEWCTX, (void (*)(void))oqs_sig_newctx}, - {OSSL_FUNC_SIGNATURE_SIGN_INIT, (void (*)(void))oqs_sig_sign_init}, - {OSSL_FUNC_SIGNATURE_SIGN, (void (*)(void))oqs_sig_sign}, - {OSSL_FUNC_SIGNATURE_VERIFY_INIT, (void (*)(void))oqs_sig_verify_init}, - {OSSL_FUNC_SIGNATURE_VERIFY, (void (*)(void))oqs_sig_verify}, - {OSSL_FUNC_SIGNATURE_DIGEST_SIGN_INIT, - (void (*)(void))oqs_sig_digest_sign_init}, - {OSSL_FUNC_SIGNATURE_DIGEST_SIGN_UPDATE, - (void (*)(void))oqs_sig_digest_signverify_update}, - {OSSL_FUNC_SIGNATURE_DIGEST_SIGN_FINAL, - (void (*)(void))oqs_sig_digest_sign_final}, - {OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_INIT, - (void (*)(void))oqs_sig_digest_verify_init}, - {OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_UPDATE, - (void (*)(void))oqs_sig_digest_signverify_update}, - {OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_FINAL, - (void (*)(void))oqs_sig_digest_verify_final}, - {OSSL_FUNC_SIGNATURE_FREECTX, (void (*)(void))oqs_sig_freectx}, - {OSSL_FUNC_SIGNATURE_DUPCTX, (void (*)(void))oqs_sig_dupctx}, - {OSSL_FUNC_SIGNATURE_GET_CTX_PARAMS, - (void (*)(void))oqs_sig_get_ctx_params}, - {OSSL_FUNC_SIGNATURE_GETTABLE_CTX_PARAMS, - (void (*)(void))oqs_sig_gettable_ctx_params}, - {OSSL_FUNC_SIGNATURE_SET_CTX_PARAMS, - (void (*)(void))oqs_sig_set_ctx_params}, - {OSSL_FUNC_SIGNATURE_SETTABLE_CTX_PARAMS, - (void (*)(void))oqs_sig_settable_ctx_params}, - {OSSL_FUNC_SIGNATURE_GET_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_get_ctx_md_params}, - {OSSL_FUNC_SIGNATURE_GETTABLE_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_gettable_ctx_md_params}, - {OSSL_FUNC_SIGNATURE_SET_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_set_ctx_md_params}, - {OSSL_FUNC_SIGNATURE_SETTABLE_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_settable_ctx_md_params}, - {0, NULL}}; +const OSSL_DISPATCH oqs_signature_functions[] = { + { OSSL_FUNC_SIGNATURE_NEWCTX, (void (*)(void))oqs_sig_newctx }, + { OSSL_FUNC_SIGNATURE_SIGN_INIT, (void (*)(void))oqs_sig_sign_init }, + { OSSL_FUNC_SIGNATURE_SIGN, (void (*)(void))oqs_sig_sign }, + { OSSL_FUNC_SIGNATURE_VERIFY_INIT, (void (*)(void))oqs_sig_verify_init }, + { OSSL_FUNC_SIGNATURE_VERIFY, (void (*)(void))oqs_sig_verify }, + { OSSL_FUNC_SIGNATURE_DIGEST_SIGN, + (void (*)(void))oqs_sig_digest_sign }, + { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY, + (void (*)(void))oqs_sig_digest_verify }, + { OSSL_FUNC_SIGNATURE_DIGEST_SIGN_INIT, + (void (*)(void))oqs_sig_digest_sign_init }, + { OSSL_FUNC_SIGNATURE_DIGEST_SIGN_UPDATE, + (void (*)(void))oqs_sig_digest_signverify_update }, + { OSSL_FUNC_SIGNATURE_DIGEST_SIGN_FINAL, + (void (*)(void))oqs_sig_digest_sign_final }, + { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_INIT, + (void (*)(void))oqs_sig_digest_verify_init }, + { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_UPDATE, + (void (*)(void))oqs_sig_digest_signverify_update }, + { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_FINAL, + (void (*)(void))oqs_sig_digest_verify_final }, + { OSSL_FUNC_SIGNATURE_FREECTX, (void (*)(void))oqs_sig_freectx }, + { OSSL_FUNC_SIGNATURE_DUPCTX, (void (*)(void))oqs_sig_dupctx }, + { OSSL_FUNC_SIGNATURE_GET_CTX_PARAMS, (void (*)(void))oqs_sig_get_ctx_params }, + { OSSL_FUNC_SIGNATURE_GETTABLE_CTX_PARAMS, + (void (*)(void))oqs_sig_gettable_ctx_params }, + { OSSL_FUNC_SIGNATURE_SET_CTX_PARAMS, (void (*)(void))oqs_sig_set_ctx_params }, + { OSSL_FUNC_SIGNATURE_SETTABLE_CTX_PARAMS, + (void (*)(void))oqs_sig_settable_ctx_params }, + { OSSL_FUNC_SIGNATURE_GET_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_get_ctx_md_params }, + { OSSL_FUNC_SIGNATURE_GETTABLE_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_gettable_ctx_md_params }, + { OSSL_FUNC_SIGNATURE_SET_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_set_ctx_md_params }, + { OSSL_FUNC_SIGNATURE_SETTABLE_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_settable_ctx_md_params }, + { 0, NULL } +}; diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index 94f65d15..e37c51bf 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -36,255 +36,164 @@ ///// 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_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_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), +#endif #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("dilithium2WithSha256", der, PrivateKeyInfo, dilithium2WithSha256), +DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, dilithium2WithSha256), #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_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_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_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 - ///// OQS_TEMPLATE_FRAGMENT_MAKE_END +///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index 62010dfd..c5a198db 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -81,775 +81,521 @@ ///// 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_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_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), +#endif #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("dilithium2WithSha256", dilithium2WithSha256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), #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_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_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_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 - ///// OQS_TEMPLATE_FRAGMENT_MAKE_END +///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index dba438c0..0dc8a7a4 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -48,149 +48,88 @@ extern OSSL_FUNC_provider_get_capabilities_fn oqs_provider_get_capabilities; */ ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_START + #ifdef OQS_KEM_ENCODERS -# define OQS_OID_CNT 130 +#define OQS_OID_CNT 132 #else -# define OQS_OID_CNT 46 +#define OQS_OID_CNT 48 #endif -const char *oqs_oid_alg_list[OQS_OID_CNT] = { +const char* oqs_oid_alg_list[OQS_OID_CNT] = +{ #ifdef OQS_KEM_ENCODERS - "1.3.9999.99.13", - "frodo640aes", - "1.3.9999.99.12", - "p256_frodo640aes", - "1.3.9999.99.1", - "x25519_frodo640aes", - "1.3.9999.99.15", - "frodo640shake", - "1.3.9999.99.14", - "p256_frodo640shake", - "1.3.9999.99.2", - "x25519_frodo640shake", - "1.3.9999.99.17", - "frodo976aes", - "1.3.9999.99.16", - "p384_frodo976aes", - "1.3.9999.99.3", - "x448_frodo976aes", - "1.3.9999.99.19", - "frodo976shake", - "1.3.9999.99.18", - "p384_frodo976shake", - "1.3.9999.99.4", - "x448_frodo976shake", - "1.3.9999.99.21", - "frodo1344aes", - "1.3.9999.99.20", - "p521_frodo1344aes", - "1.3.9999.99.23", - "frodo1344shake", - "1.3.9999.99.22", - "p521_frodo1344shake", - "1.3.6.1.4.1.22554.5.6.1", - "kyber512", - "1.3.6.1.4.1.22554.5.7.1", - "p256_kyber512", - "1.3.6.1.4.1.22554.5.8.1", - "x25519_kyber512", - "1.3.6.1.4.1.22554.5.6.2", - "kyber768", - "1.3.9999.99.24", - "p384_kyber768", - "1.3.9999.99.5", - "x448_kyber768", - "1.3.9999.99.6", - "x25519_kyber768", - "1.3.9999.99.7", - "p256_kyber768", - "1.3.6.1.4.1.22554.5.6.3", - "kyber1024", - "1.3.9999.99.25", - "p521_kyber1024", - "1.3.9999.99.27", - "bikel1", - "1.3.9999.99.26", - "p256_bikel1", - "1.3.9999.99.8", - "x25519_bikel1", - "1.3.9999.99.29", - "bikel3", - "1.3.9999.99.28", - "p384_bikel3", - "1.3.9999.99.9", - "x448_bikel3", - "1.3.9999.99.31", - "bikel5", - "1.3.9999.99.30", - "p521_bikel5", - "1.3.9999.99.33", - "hqc128", - "1.3.9999.99.32", - "p256_hqc128", - "1.3.9999.99.10", - "x25519_hqc128", - "1.3.9999.99.35", - "hqc192", - "1.3.9999.99.34", - "p384_hqc192", - "1.3.9999.99.11", - "x448_hqc192", - "1.3.9999.99.37", - "hqc256", - "1.3.9999.99.36", - "p521_hqc256", +"1.3.9999.99.13", "frodo640aes", +"1.3.9999.99.12", "p256_frodo640aes", +"1.3.9999.99.1", "x25519_frodo640aes", +"1.3.9999.99.15", "frodo640shake", +"1.3.9999.99.14", "p256_frodo640shake", +"1.3.9999.99.2", "x25519_frodo640shake", +"1.3.9999.99.17", "frodo976aes", +"1.3.9999.99.16", "p384_frodo976aes", +"1.3.9999.99.3", "x448_frodo976aes", +"1.3.9999.99.19", "frodo976shake", +"1.3.9999.99.18", "p384_frodo976shake", +"1.3.9999.99.4", "x448_frodo976shake", +"1.3.9999.99.21", "frodo1344aes", +"1.3.9999.99.20", "p521_frodo1344aes", +"1.3.9999.99.23", "frodo1344shake", +"1.3.9999.99.22", "p521_frodo1344shake", +"1.3.6.1.4.1.22554.5.6.1", "kyber512", +"1.3.6.1.4.1.22554.5.7.1", "p256_kyber512", +"1.3.6.1.4.1.22554.5.8.1", "x25519_kyber512", +"1.3.6.1.4.1.22554.5.6.2", "kyber768", +"1.3.9999.99.24", "p384_kyber768", +"1.3.9999.99.5", "x448_kyber768", +"1.3.9999.99.6", "x25519_kyber768", +"1.3.9999.99.7", "p256_kyber768", +"1.3.6.1.4.1.22554.5.6.3", "kyber1024", +"1.3.9999.99.25", "p521_kyber1024", +"1.3.9999.99.27", "bikel1", +"1.3.9999.99.26", "p256_bikel1", +"1.3.9999.99.8", "x25519_bikel1", +"1.3.9999.99.29", "bikel3", +"1.3.9999.99.28", "p384_bikel3", +"1.3.9999.99.9", "x448_bikel3", +"1.3.9999.99.31", "bikel5", +"1.3.9999.99.30", "p521_bikel5", +"1.3.9999.99.33", "hqc128", +"1.3.9999.99.32", "p256_hqc128", +"1.3.9999.99.10", "x25519_hqc128", +"1.3.9999.99.35", "hqc192", +"1.3.9999.99.34", "p384_hqc192", +"1.3.9999.99.11", "x448_hqc192", +"1.3.9999.99.37", "hqc256", +"1.3.9999.99.36", "p521_hqc256", #endif /* OQS_KEM_ENCODERS */ - "1.3.6.1.4.1.2.267.7.4.4", - "dilithium2", - "1.3.9999.2.7.1", - "p256_dilithium2", - "1.3.9999.2.7.2", - "rsa3072_dilithium2", - "1.3.6.1.4.1.2.267.7.6.5", - "dilithium3", - "1.3.9999.2.7.3", - "p384_dilithium3", - "1.3.6.1.4.1.2.267.7.8.7", - "dilithium5", - "1.3.9999.2.7.4", - "p521_dilithium5", - "1.3.9999.3.6", - "falcon512", - "1.3.9999.3.7", - "p256_falcon512", - "1.3.9999.3.8", - "rsa3072_falcon512", - "1.3.9999.3.9", - "falcon1024", - "1.3.9999.3.10", - "p521_falcon1024", - "1.3.9999.6.4.13", - "sphincssha2128fsimple", - "1.3.9999.6.4.14", - "p256_sphincssha2128fsimple", - "1.3.9999.6.4.15", - "rsa3072_sphincssha2128fsimple", - "1.3.9999.6.4.16", - "sphincssha2128ssimple", - "1.3.9999.6.4.17", - "p256_sphincssha2128ssimple", - "1.3.9999.6.4.18", - "rsa3072_sphincssha2128ssimple", - "1.3.9999.6.5.10", - "sphincssha2192fsimple", - "1.3.9999.6.5.11", - "p384_sphincssha2192fsimple", - "1.3.9999.6.7.13", - "sphincsshake128fsimple", - "1.3.9999.6.7.14", - "p256_sphincsshake128fsimple", - "1.3.9999.6.7.15", - "rsa3072_sphincsshake128fsimple", - ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END + +"1.3.6.1.4.1.2.267.7.4.4", "dilithium2", +"1.3.9999.2.7.1" , "p256_dilithium2", +"1.3.9999.2.7.2" , "rsa3072_dilithium2", +"1.3.6.1.4.1.18227.999.1.1.1", "dilithium2WithSha256", +"1.3.6.1.4.1.2.267.7.6.5", "dilithium3", +"1.3.9999.2.7.3" , "p384_dilithium3", +"1.3.6.1.4.1.2.267.7.8.7", "dilithium5", +"1.3.9999.2.7.4" , "p521_dilithium5", +"1.3.9999.3.6", "falcon512", +"1.3.9999.3.7" , "p256_falcon512", +"1.3.9999.3.8" , "rsa3072_falcon512", +"1.3.9999.3.9", "falcon1024", +"1.3.9999.3.10" , "p521_falcon1024", +"1.3.9999.6.4.13", "sphincssha2128fsimple", +"1.3.9999.6.4.14" , "p256_sphincssha2128fsimple", +"1.3.9999.6.4.15" , "rsa3072_sphincssha2128fsimple", +"1.3.9999.6.4.16", "sphincssha2128ssimple", +"1.3.9999.6.4.17" , "p256_sphincssha2128ssimple", +"1.3.9999.6.4.18" , "rsa3072_sphincssha2128ssimple", +"1.3.9999.6.5.10", "sphincssha2192fsimple", +"1.3.9999.6.5.11" , "p384_sphincssha2192fsimple", +"1.3.9999.6.7.13", "sphincsshake128fsimple", +"1.3.9999.6.7.14" , "p256_sphincsshake128fsimple", +"1.3.9999.6.7.15" , "rsa3072_sphincsshake128fsimple", +///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END }; int oqs_patch_oids(void) @@ -199,175 +138,95 @@ int oqs_patch_oids(void) #ifdef OQS_KEM_ENCODERS - if (getenv("OQS_OID_FRODO640AES")) - oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); - - if (getenv("OQS_OID_P256_FRODO640AES")) - oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); - if (getenv("OQS_OID_X25519_FRODO640AES")) - oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); - if (getenv("OQS_OID_FRODO640SHAKE")) - oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); - - if (getenv("OQS_OID_P256_FRODO640SHAKE")) - oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); - if (getenv("OQS_OID_X25519_FRODO640SHAKE")) - oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); - if (getenv("OQS_OID_FRODO976AES")) - oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); - - if (getenv("OQS_OID_P384_FRODO976AES")) - oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); - if (getenv("OQS_OID_X448_FRODO976AES")) - oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); - if (getenv("OQS_OID_FRODO976SHAKE")) - oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); - - if (getenv("OQS_OID_P384_FRODO976SHAKE")) - oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); - if (getenv("OQS_OID_X448_FRODO976SHAKE")) - oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); - if (getenv("OQS_OID_FRODO1344AES")) - oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); - - if (getenv("OQS_OID_P521_FRODO1344AES")) - oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); - if (getenv("OQS_OID_FRODO1344SHAKE")) - oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); - - if (getenv("OQS_OID_P521_FRODO1344SHAKE")) - oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); - if (getenv("OQS_OID_KYBER512")) - oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); - - if (getenv("OQS_OID_P256_KYBER512")) - oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); - if (getenv("OQS_OID_X25519_KYBER512")) - oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); - if (getenv("OQS_OID_KYBER768")) - oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); - - if (getenv("OQS_OID_P384_KYBER768")) - oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); - if (getenv("OQS_OID_X448_KYBER768")) - oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); - if (getenv("OQS_OID_X25519_KYBER768")) - oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); - if (getenv("OQS_OID_P256_KYBER768")) - oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); - if (getenv("OQS_OID_KYBER1024")) - oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); - - if (getenv("OQS_OID_P521_KYBER1024")) - oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); - if (getenv("OQS_OID_BIKEL1")) - oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); - - if (getenv("OQS_OID_P256_BIKEL1")) - oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); - if (getenv("OQS_OID_X25519_BIKEL1")) - oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); - if (getenv("OQS_OID_BIKEL3")) - oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); - - if (getenv("OQS_OID_P384_BIKEL3")) - oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); - if (getenv("OQS_OID_X448_BIKEL3")) - oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); - if (getenv("OQS_OID_BIKEL5")) - oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); - - if (getenv("OQS_OID_P521_BIKEL5")) - oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); - if (getenv("OQS_OID_HQC128")) - oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); - - if (getenv("OQS_OID_P256_HQC128")) - oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); - if (getenv("OQS_OID_X25519_HQC128")) - oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); - if (getenv("OQS_OID_HQC192")) - oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); - - if (getenv("OQS_OID_P384_HQC192")) - oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); - if (getenv("OQS_OID_X448_HQC192")) - oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); - if (getenv("OQS_OID_HQC256")) - oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); - - if (getenv("OQS_OID_P521_HQC256")) - oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); - -# define OQS_KEMOID_CNT 82 + 2 + + +if (getenv("OQS_OID_FRODO640AES")) oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); + +if (getenv("OQS_OID_P256_FRODO640AES")) oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); +if (getenv("OQS_OID_X25519_FRODO640AES")) oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); +if (getenv("OQS_OID_FRODO640SHAKE")) oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); + +if (getenv("OQS_OID_P256_FRODO640SHAKE")) oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); +if (getenv("OQS_OID_X25519_FRODO640SHAKE")) oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); +if (getenv("OQS_OID_FRODO976AES")) oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); + +if (getenv("OQS_OID_P384_FRODO976AES")) oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); +if (getenv("OQS_OID_X448_FRODO976AES")) oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); +if (getenv("OQS_OID_FRODO976SHAKE")) oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); + +if (getenv("OQS_OID_P384_FRODO976SHAKE")) oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); +if (getenv("OQS_OID_X448_FRODO976SHAKE")) oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); +if (getenv("OQS_OID_FRODO1344AES")) oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); + +if (getenv("OQS_OID_P521_FRODO1344AES")) oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); +if (getenv("OQS_OID_FRODO1344SHAKE")) oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); + +if (getenv("OQS_OID_P521_FRODO1344SHAKE")) oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); +if (getenv("OQS_OID_KYBER512")) oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); + +if (getenv("OQS_OID_P256_KYBER512")) oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); +if (getenv("OQS_OID_X25519_KYBER512")) oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); +if (getenv("OQS_OID_KYBER768")) oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); + +if (getenv("OQS_OID_P384_KYBER768")) oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); +if (getenv("OQS_OID_X448_KYBER768")) oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); +if (getenv("OQS_OID_X25519_KYBER768")) oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); +if (getenv("OQS_OID_P256_KYBER768")) oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); +if (getenv("OQS_OID_KYBER1024")) oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); + +if (getenv("OQS_OID_P521_KYBER1024")) oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); +if (getenv("OQS_OID_BIKEL1")) oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); + +if (getenv("OQS_OID_P256_BIKEL1")) oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); +if (getenv("OQS_OID_X25519_BIKEL1")) oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); +if (getenv("OQS_OID_BIKEL3")) oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); + +if (getenv("OQS_OID_P384_BIKEL3")) oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); +if (getenv("OQS_OID_X448_BIKEL3")) oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); +if (getenv("OQS_OID_BIKEL5")) oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); + +if (getenv("OQS_OID_P521_BIKEL5")) oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); +if (getenv("OQS_OID_HQC128")) oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); + +if (getenv("OQS_OID_P256_HQC128")) oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); +if (getenv("OQS_OID_X25519_HQC128")) oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); +if (getenv("OQS_OID_HQC192")) oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); + +if (getenv("OQS_OID_P384_HQC192")) oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); +if (getenv("OQS_OID_X448_HQC192")) oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); +if (getenv("OQS_OID_HQC256")) oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); + +if (getenv("OQS_OID_P521_HQC256")) oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); + +#define OQS_KEMOID_CNT 82+2 #else -# define OQS_KEMOID_CNT 0 +#define OQS_KEMOID_CNT 0 #endif /* OQS_KEM_ENCODERS */ - if (getenv("OQS_OID_DILITHIUM2")) - oqs_oid_alg_list[0 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); - if (getenv("OQS_OID_P256_DILITHIUM2")) - oqs_oid_alg_list[2 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_DILITHIUM2"); - if (getenv("OQS_OID_RSA3072_DILITHIUM2")) - oqs_oid_alg_list[4 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_DILITHIUM2"); - if (getenv("OQS_OID_DILITHIUM3")) - oqs_oid_alg_list[6 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); - if (getenv("OQS_OID_P384_DILITHIUM3")) - oqs_oid_alg_list[8 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P384_DILITHIUM3"); - if (getenv("OQS_OID_DILITHIUM5")) - oqs_oid_alg_list[10 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); - if (getenv("OQS_OID_P521_DILITHIUM5")) - oqs_oid_alg_list[12 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P521_DILITHIUM5"); - if (getenv("OQS_OID_FALCON512")) - oqs_oid_alg_list[14 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); - if (getenv("OQS_OID_P256_FALCON512")) - oqs_oid_alg_list[16 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_FALCON512"); - if (getenv("OQS_OID_RSA3072_FALCON512")) - oqs_oid_alg_list[18 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_FALCON512"); - if (getenv("OQS_OID_FALCON1024")) - oqs_oid_alg_list[20 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); - if (getenv("OQS_OID_P521_FALCON1024")) - oqs_oid_alg_list[22 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P521_FALCON1024"); - if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) - oqs_oid_alg_list[24 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) - oqs_oid_alg_list[26 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) - oqs_oid_alg_list[28 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) - oqs_oid_alg_list[30 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) - oqs_oid_alg_list[32 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) - oqs_oid_alg_list[34 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) - oqs_oid_alg_list[36 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) - oqs_oid_alg_list[38 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) - oqs_oid_alg_list[40 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) - oqs_oid_alg_list[42 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) - oqs_oid_alg_list[44 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); - ///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END + if (getenv("OQS_OID_DILITHIUM2")) oqs_oid_alg_list[0+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); + if (getenv("OQS_OID_P256_DILITHIUM2")) oqs_oid_alg_list[2+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_DILITHIUM2"); + if (getenv("OQS_OID_RSA3072_DILITHIUM2")) oqs_oid_alg_list[4+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_DILITHIUM2"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) oqs_oid_alg_list[6+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM3")) oqs_oid_alg_list[8+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); + if (getenv("OQS_OID_P384_DILITHIUM3")) oqs_oid_alg_list[10+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_DILITHIUM3"); + if (getenv("OQS_OID_DILITHIUM5")) oqs_oid_alg_list[12+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); + if (getenv("OQS_OID_P521_DILITHIUM5")) oqs_oid_alg_list[14+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_DILITHIUM5"); + if (getenv("OQS_OID_FALCON512")) oqs_oid_alg_list[16+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); + if (getenv("OQS_OID_P256_FALCON512")) oqs_oid_alg_list[18+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_FALCON512"); + if (getenv("OQS_OID_RSA3072_FALCON512")) oqs_oid_alg_list[20+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_FALCON512"); + if (getenv("OQS_OID_FALCON1024")) oqs_oid_alg_list[22+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); + if (getenv("OQS_OID_P521_FALCON1024")) oqs_oid_alg_list[24+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_FALCON1024"); + if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[26+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[28+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[30+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[32+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[34+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[36+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[38+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[40+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[42+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[44+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[46+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); +///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END return 1; } @@ -377,128 +236,55 @@ const char *oqs_alg_encoding_list[OQS_OID_CNT] = {0}; int oqs_patch_encodings(void) { ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_START - if (getenv("OQS_ENCODING_DILITHIUM2")) - oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); - if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) - oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2")) - oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) - oqs_alg_encoding_list[3] - = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) - oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) - oqs_alg_encoding_list[5] - = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3")) - oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM3"); - if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) - oqs_alg_encoding_list[7] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3")) - oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_P384_DILITHIUM3"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) - oqs_alg_encoding_list[9] - = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5")) - oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM5"); - if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) - oqs_alg_encoding_list[11] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5")) - oqs_alg_encoding_list[12] = getenv("OQS_ENCODING_P521_DILITHIUM5"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) - oqs_alg_encoding_list[13] - = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512")) - oqs_alg_encoding_list[14] = getenv("OQS_ENCODING_FALCON512"); - if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) - oqs_alg_encoding_list[15] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_P256_FALCON512")) - oqs_alg_encoding_list[16] = getenv("OQS_ENCODING_P256_FALCON512"); - if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) - oqs_alg_encoding_list[17] - = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512")) - oqs_alg_encoding_list[18] = getenv("OQS_ENCODING_RSA3072_FALCON512"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) - oqs_alg_encoding_list[19] - = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024")) - oqs_alg_encoding_list[20] = getenv("OQS_ENCODING_FALCON1024"); - if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) - oqs_alg_encoding_list[21] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_P521_FALCON1024")) - oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_P521_FALCON1024"); - if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) - oqs_alg_encoding_list[23] - = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) - oqs_alg_encoding_list[24] - = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[25] - = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) - oqs_alg_encoding_list[26] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[27] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) - oqs_alg_encoding_list[28] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[29] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) - oqs_alg_encoding_list[30] - = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) - oqs_alg_encoding_list[31] - = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) - oqs_alg_encoding_list[32] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) - oqs_alg_encoding_list[33] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) - oqs_alg_encoding_list[34] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) - oqs_alg_encoding_list[35] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) - oqs_alg_encoding_list[36] - = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[37] - = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) - oqs_alg_encoding_list[38] - = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[39] - = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) - oqs_alg_encoding_list[40] - = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[41] - = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) - oqs_alg_encoding_list[42] - = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[43] - = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) - oqs_alg_encoding_list[44] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[45] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END + if (getenv("OQS_ENCODING_DILITHIUM2")) oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); + if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2")) oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[3] = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[5] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) oqs_alg_encoding_list[7] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3")) oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM3"); + if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[9] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3")) oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_P384_DILITHIUM3"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[11] = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5")) oqs_alg_encoding_list[12] = getenv("OQS_ENCODING_DILITHIUM5"); + if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[13] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5")) oqs_alg_encoding_list[14] = getenv("OQS_ENCODING_P521_DILITHIUM5"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[15] = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512")) oqs_alg_encoding_list[16] = getenv("OQS_ENCODING_FALCON512"); + if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) oqs_alg_encoding_list[17] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_P256_FALCON512")) oqs_alg_encoding_list[18] = getenv("OQS_ENCODING_P256_FALCON512"); + if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) oqs_alg_encoding_list[19] = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512")) oqs_alg_encoding_list[20] = getenv("OQS_ENCODING_RSA3072_FALCON512"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) oqs_alg_encoding_list[21] = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024")) oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_FALCON1024"); + if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_P521_FALCON1024")) oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P521_FALCON1024"); + if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) oqs_alg_encoding_list[25] = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[29] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[33] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[35] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[39] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[40] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[41] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[42] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[43] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[44] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[45] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[46] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[47] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); +///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END return 1; } #endif @@ -547,6 +333,9 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { SIGALG("p256_dilithium2", 128, oqs_signature_functions), SIGALG("rsa3072_dilithium2", 128, oqs_signature_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha256", 128, oqs_signature_functions), +#endif #ifdef OQS_ENABLE_SIG_dilithium_3 SIGALG("dilithium3", 192, oqs_signature_functions), SIGALG("p384_dilithium3", 192, oqs_signature_functions), @@ -583,7 +372,7 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { SIGALG("p256_sphincsshake128fsimple", 128, oqs_signature_functions), SIGALG("rsa3072_sphincsshake128fsimple", 128, oqs_signature_functions), #endif - ///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END +///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { @@ -661,8 +450,8 @@ static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { KEMBASEALG(hqc256, 256) KEMHYBALG(p521_hqc256, 256) #endif - // clang-format on - ///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END +// clang-format on +///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { @@ -674,6 +463,9 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { SIGALG("p256_dilithium2", 128, oqs_p256_dilithium2_keymgmt_functions), SIGALG("rsa3072_dilithium2", 128, oqs_rsa3072_dilithium2_keymgmt_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha256", 128, oqs_dilithium2WithSha256_keymgmt_functions), +#endif #ifdef OQS_ENABLE_SIG_dilithium_3 SIGALG("dilithium3", 192, oqs_dilithium3_keymgmt_functions), SIGALG("p384_dilithium3", 192, oqs_p384_dilithium3_keymgmt_functions), @@ -798,8 +590,8 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { KEMKMHYBALG(p521_hqc256, 256, ecp) #endif - // clang-format on - ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END +// clang-format on +///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END // ALG("x25519_sikep434", oqs_ecx_sikep434_keymgmt_functions), {NULL, NULL, NULL}}; diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index 6255b041..58cb9466 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -35,50 +35,50 @@ typedef struct oqs_group_constants_st { static OQS_GROUP_CONSTANTS oqs_group_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_START - {0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, {0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1}, {0x0244, 128, TLS1_3_VERSION, 0, -1, -1, 1}, @@ -128,16 +128,13 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(frodo640aes, frodo640aes, frodo640aes, 0), OQS_GROUP_ENTRY(p256_frodo640aes, p256_frodo640aes, p256_frodo640aes, 1), - OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, - 2), + OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, 2), #endif #ifdef OQS_ENABLE_KEM_frodokem_640_shake OQS_GROUP_ENTRY(frodo640shake, frodo640shake, frodo640shake, 3), - OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, - 4), - OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, - x25519_frodo640shake, 5), + OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, 4), + OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, x25519_frodo640shake, 5), #endif #ifdef OQS_ENABLE_KEM_frodokem_976_aes OQS_GROUP_ENTRY(frodo976aes, frodo976aes, frodo976aes, 6), @@ -148,22 +145,18 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { #ifdef OQS_ENABLE_KEM_frodokem_976_shake OQS_GROUP_ENTRY(frodo976shake, frodo976shake, frodo976shake, 9), - OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, - 10), - OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, - 11), + OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, 10), + OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, 11), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_aes OQS_GROUP_ENTRY(frodo1344aes, frodo1344aes, frodo1344aes, 12), - OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, - 13), + OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, 13), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_shake OQS_GROUP_ENTRY(frodo1344shake, frodo1344shake, frodo1344shake, 14), - OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, - p521_frodo1344shake, 15), + OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, p521_frodo1344shake, 15), #endif #ifdef OQS_ENABLE_KEM_kyber_512 OQS_GROUP_ENTRY(kyber512, kyber512, kyber512, 16), @@ -218,7 +211,7 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(p521_hqc256, p521_hqc256, p521_hqc256, 41), #endif - ///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END +///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END }; typedef struct oqs_sigalg_constants_st { @@ -231,202 +224,105 @@ typedef struct oqs_sigalg_constants_st { static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_START - {0xfea0, 128, TLS1_3_VERSION, 0}, {0xfea1, 128, TLS1_3_VERSION, 0}, - {0xfea2, 128, TLS1_3_VERSION, 0}, {0xfea3, 192, TLS1_3_VERSION, 0}, - {0xfea4, 192, TLS1_3_VERSION, 0}, {0xfea5, 256, TLS1_3_VERSION, 0}, - {0xfea6, 256, TLS1_3_VERSION, 0}, {0xfeae, 128, TLS1_3_VERSION, 0}, - {0xfeaf, 128, TLS1_3_VERSION, 0}, {0xfeb0, 128, TLS1_3_VERSION, 0}, - {0xfeb1, 256, TLS1_3_VERSION, 0}, {0xfeb2, 256, TLS1_3_VERSION, 0}, - {0xfeb3, 128, TLS1_3_VERSION, 0}, {0xfeb4, 128, TLS1_3_VERSION, 0}, - {0xfeb5, 128, TLS1_3_VERSION, 0}, {0xfeb6, 128, TLS1_3_VERSION, 0}, - {0xfeb7, 128, TLS1_3_VERSION, 0}, {0xfeb8, 128, TLS1_3_VERSION, 0}, - {0xfeb9, 192, TLS1_3_VERSION, 0}, {0xfeba, 192, TLS1_3_VERSION, 0}, - {0xfec2, 128, TLS1_3_VERSION, 0}, {0xfec3, 128, TLS1_3_VERSION, 0}, - {0xfec4, 128, TLS1_3_VERSION, 0}, - ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END + { 0xfe9f, 128, TLS1_3_VERSION, 0 }, + { 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 }, + { 0xfeae, 128, TLS1_3_VERSION, 0 }, + { 0xfeaf, 128, TLS1_3_VERSION, 0 }, + { 0xfeb0, 128, TLS1_3_VERSION, 0 }, + { 0xfeb1, 256, TLS1_3_VERSION, 0 }, + { 0xfeb2, 256, TLS1_3_VERSION, 0 }, + { 0xfeb3, 128, TLS1_3_VERSION, 0 }, + { 0xfeb4, 128, TLS1_3_VERSION, 0 }, + { 0xfeb5, 128, TLS1_3_VERSION, 0 }, + { 0xfeb6, 128, TLS1_3_VERSION, 0 }, + { 0xfeb7, 128, TLS1_3_VERSION, 0 }, + { 0xfeb8, 128, TLS1_3_VERSION, 0 }, + { 0xfeb9, 192, TLS1_3_VERSION, 0 }, + { 0xfeba, 192, TLS1_3_VERSION, 0 }, + { 0xfec2, 128, TLS1_3_VERSION, 0 }, + { 0xfec3, 128, TLS1_3_VERSION, 0 }, + { 0xfec4, 128, TLS1_3_VERSION, 0 }, +///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END }; int oqs_patch_codepoints() { ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_START - if (getenv("OQS_CODEPOINT_FRODO640AES")) - oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); - if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) - oqs_group_list[1].group_id - = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) - oqs_group_list[2].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); - if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) - oqs_group_list[3].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) - oqs_group_list[4].group_id - = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) - oqs_group_list[5].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO976AES")) - oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); - if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) - oqs_group_list[7].group_id - = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); - if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) - oqs_group_list[8].group_id - = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); - if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) - oqs_group_list[9].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) - oqs_group_list[10].group_id - = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) - oqs_group_list[11].group_id - = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO1344AES")) - oqs_group_list[12].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) - oqs_group_list[13].group_id - = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) - oqs_group_list[14].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) - oqs_group_list[15].group_id - = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_KYBER512")) - oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); - if (getenv("OQS_CODEPOINT_P256_KYBER512")) - oqs_group_list[17].group_id - = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); - if (getenv("OQS_CODEPOINT_X25519_KYBER512")) - oqs_group_list[18].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); - if (getenv("OQS_CODEPOINT_KYBER768")) - oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); - if (getenv("OQS_CODEPOINT_P384_KYBER768")) - oqs_group_list[20].group_id - = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); - if (getenv("OQS_CODEPOINT_X448_KYBER768")) - oqs_group_list[21].group_id - = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); - if (getenv("OQS_CODEPOINT_X25519_KYBER768")) - oqs_group_list[22].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); - if (getenv("OQS_CODEPOINT_P256_KYBER768")) - oqs_group_list[23].group_id - = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); - if (getenv("OQS_CODEPOINT_KYBER1024")) - oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); - if (getenv("OQS_CODEPOINT_P521_KYBER1024")) - oqs_group_list[25].group_id - = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); - if (getenv("OQS_CODEPOINT_BIKEL1")) - oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); - if (getenv("OQS_CODEPOINT_P256_BIKEL1")) - oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); - if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) - oqs_group_list[28].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); - if (getenv("OQS_CODEPOINT_BIKEL3")) - oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); - if (getenv("OQS_CODEPOINT_P384_BIKEL3")) - oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); - if (getenv("OQS_CODEPOINT_X448_BIKEL3")) - oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); - if (getenv("OQS_CODEPOINT_BIKEL5")) - oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); - if (getenv("OQS_CODEPOINT_P521_BIKEL5")) - oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); - if (getenv("OQS_CODEPOINT_HQC128")) - oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); - if (getenv("OQS_CODEPOINT_P256_HQC128")) - oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); - if (getenv("OQS_CODEPOINT_X25519_HQC128")) - oqs_group_list[36].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); - if (getenv("OQS_CODEPOINT_HQC192")) - oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); - if (getenv("OQS_CODEPOINT_P384_HQC192")) - oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); - if (getenv("OQS_CODEPOINT_X448_HQC192")) - oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); - if (getenv("OQS_CODEPOINT_HQC256")) - oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); - if (getenv("OQS_CODEPOINT_P521_HQC256")) - oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); - - if (getenv("OQS_CODEPOINT_DILITHIUM2")) - oqs_sigalg_list[0].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) - oqs_sigalg_list[1].code_point - = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) - oqs_sigalg_list[2].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_DILITHIUM3")) - oqs_sigalg_list[3].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) - oqs_sigalg_list[4].code_point - = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_DILITHIUM5")) - oqs_sigalg_list[5].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) - oqs_sigalg_list[6].code_point - = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_FALCON512")) - oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); - if (getenv("OQS_CODEPOINT_P256_FALCON512")) - oqs_sigalg_list[8].code_point - = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); - if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) - oqs_sigalg_list[9].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); - if (getenv("OQS_CODEPOINT_FALCON1024")) - oqs_sigalg_list[10].code_point - = atoi(getenv("OQS_CODEPOINT_FALCON1024")); - if (getenv("OQS_CODEPOINT_P521_FALCON1024")) - oqs_sigalg_list[11].code_point - = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) - oqs_sigalg_list[12].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) - oqs_sigalg_list[13].code_point - = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) - oqs_sigalg_list[14].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) - oqs_sigalg_list[15].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) - oqs_sigalg_list[16].code_point - = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) - oqs_sigalg_list[17].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) - oqs_sigalg_list[18].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) - oqs_sigalg_list[19].code_point - = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) - oqs_sigalg_list[20].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) - oqs_sigalg_list[21].code_point - = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) - oqs_sigalg_list[22].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); - ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END + if (getenv("OQS_CODEPOINT_FRODO640AES")) oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); + if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) oqs_group_list[1].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) oqs_group_list[2].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); + if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) oqs_group_list[3].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) oqs_group_list[4].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) oqs_group_list[5].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO976AES")) oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); + if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) oqs_group_list[7].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); + if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) oqs_group_list[8].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); + if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) oqs_group_list[9].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) oqs_group_list[10].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) oqs_group_list[11].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO1344AES")) oqs_group_list[12].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) oqs_group_list[13].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) oqs_group_list[14].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) oqs_group_list[15].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_KYBER512")) oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); + if (getenv("OQS_CODEPOINT_P256_KYBER512")) oqs_group_list[17].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); + if (getenv("OQS_CODEPOINT_X25519_KYBER512")) oqs_group_list[18].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); + if (getenv("OQS_CODEPOINT_KYBER768")) oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); + if (getenv("OQS_CODEPOINT_P384_KYBER768")) oqs_group_list[20].group_id = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); + if (getenv("OQS_CODEPOINT_X448_KYBER768")) oqs_group_list[21].group_id = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); + if (getenv("OQS_CODEPOINT_X25519_KYBER768")) oqs_group_list[22].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); + if (getenv("OQS_CODEPOINT_P256_KYBER768")) oqs_group_list[23].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); + if (getenv("OQS_CODEPOINT_KYBER1024")) oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); + if (getenv("OQS_CODEPOINT_P521_KYBER1024")) oqs_group_list[25].group_id = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); + if (getenv("OQS_CODEPOINT_BIKEL1")) oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); + if (getenv("OQS_CODEPOINT_P256_BIKEL1")) oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); + if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) oqs_group_list[28].group_id = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); + if (getenv("OQS_CODEPOINT_BIKEL3")) oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); + if (getenv("OQS_CODEPOINT_P384_BIKEL3")) oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); + if (getenv("OQS_CODEPOINT_X448_BIKEL3")) oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); + if (getenv("OQS_CODEPOINT_BIKEL5")) oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); + if (getenv("OQS_CODEPOINT_P521_BIKEL5")) oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); + if (getenv("OQS_CODEPOINT_HQC128")) oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); + if (getenv("OQS_CODEPOINT_P256_HQC128")) oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); + if (getenv("OQS_CODEPOINT_X25519_HQC128")) oqs_group_list[36].group_id = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); + if (getenv("OQS_CODEPOINT_HQC192")) oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); + if (getenv("OQS_CODEPOINT_P384_HQC192")) oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); + if (getenv("OQS_CODEPOINT_X448_HQC192")) oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); + if (getenv("OQS_CODEPOINT_HQC256")) oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); + if (getenv("OQS_CODEPOINT_P521_HQC256")) oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); + + if (getenv("OQS_CODEPOINT_DILITHIUM2")) oqs_sigalg_list[0].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) oqs_sigalg_list[1].code_point = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) oqs_sigalg_list[2].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) oqs_sigalg_list[3].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3")) oqs_sigalg_list[4].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) oqs_sigalg_list[5].code_point = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_DILITHIUM5")) oqs_sigalg_list[6].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_FALCON512")) oqs_sigalg_list[8].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); + if (getenv("OQS_CODEPOINT_P256_FALCON512")) oqs_sigalg_list[9].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); + if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) oqs_sigalg_list[10].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); + if (getenv("OQS_CODEPOINT_FALCON1024")) oqs_sigalg_list[11].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024")); + if (getenv("OQS_CODEPOINT_P521_FALCON1024")) oqs_sigalg_list[12].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[13].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[14].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[16].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[17].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[18].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[19].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[20].code_point = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[21].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[23].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); +///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END return 1; } @@ -466,72 +362,51 @@ static int oqs_group_capability(OSSL_CALLBACK *cb, void *arg) static const OSSL_PARAM oqs_param_sigalg_list[][12] = { ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_START -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, - "1.3.6.1.4.1.2.267.7.4.4", 0), - OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, - "1.3.9999.2.7.1", 1), - OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, - "1.3.9999.2.7.2", 2), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, - "1.3.6.1.4.1.2.267.7.6.5", 3), - OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, - "1.3.9999.2.7.3", 4), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, - "1.3.6.1.4.1.2.267.7.8.7", 5), - OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, - "1.3.9999.2.7.4", 6), -# endif -# ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 7), - OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, - "1.3.9999.3.7", 8), - OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, - "1.3.9999.3.8", 9), -# endif -# ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 10), - OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, - "1.3.9999.3.10", 11), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, - sphincssha2128fsimple, "1.3.9999.6.4.13", 12), - OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, - p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 13), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, - rsa3072_sphincssha2128fsimple, - rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 14), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, - sphincssha2128ssimple, "1.3.9999.6.4.16", 15), - OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, - p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 16), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, - rsa3072_sphincssha2128ssimple, - rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 17), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, - sphincssha2192fsimple, "1.3.9999.6.5.10", 18), - OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, - p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 19), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, - sphincsshake128fsimple, "1.3.9999.6.7.13", 20), - OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, - p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 21), - OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, - rsa3072_sphincsshake128fsimple, - rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 22), -# endif - ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, "1.3.6.1.4.1.2.267.7.4.4", 0), + OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, "1.3.9999.2.7.1", 1), + OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, "1.3.9999.2.7.2", 2), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, "1.3.6.1.4.1.2.267.7.6.5", 4), + OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, "1.3.9999.2.7.3", 5), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, "1.3.6.1.4.1.2.267.7.8.7", 6), + OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, "1.3.9999.2.7.4", 7), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 8), + OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, "1.3.9999.3.7", 9), + OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, "1.3.9999.3.8", 10), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 11), + OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, "1.3.9999.3.10", 12), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple + OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, sphincssha2128fsimple, "1.3.9999.6.4.13", 13), + OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 14), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 15), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple + OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, sphincssha2128ssimple, "1.3.9999.6.4.16", 16), + OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 17), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 18), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple + OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, sphincssha2192fsimple, "1.3.9999.6.5.10", 19), + OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 20), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple + OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, sphincsshake128fsimple, "1.3.9999.6.7.13", 21), + OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 22), + OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 23), +#endif +///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END }; static int oqs_sigalg_capability(OSSL_CALLBACK *cb, void *arg) diff --git a/oqsprov/oqsprov_keys.c b/oqsprov/oqsprov_keys.c index 1b7d062e..06c9a30b 100644 --- a/oqsprov/oqsprov_keys.c +++ b/oqsprov/oqsprov_keys.c @@ -53,104 +53,88 @@ static int oqsx_key_recreate_classickey(OQSX_KEY *key, oqsx_key_op_t op); ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_START + + + + #ifdef OQS_KEM_ENCODERS -# define NID_TABLE_LEN 65 +#define NID_TABLE_LEN 66 #else -# define NID_TABLE_LEN 23 +#define NID_TABLE_LEN 24 #endif static oqs_nid_name_t nid_names[NID_TABLE_LEN] = { #ifdef OQS_KEM_ENCODERS - {0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128}, - {0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM, - 128}, - {0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, - KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128}, - {0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, - KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, - KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192}, - {0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM, - 192}, - {0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM, - 192}, - {0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192}, - {0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, - KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, - KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256}, - {0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, - KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256}, - {0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, - KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128}, - {0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192}, - {0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256}, - {0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128}, - {0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192}, - {0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256}, - {0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128}, - {0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192}, - {0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256}, - {0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM, 256}, + { 0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128 }, + { 0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128 }, + { 0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192 }, + { 0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192 }, + { 0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256 }, + { 0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256 }, + { 0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128 }, + { 0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192 }, + { 0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256 }, + { 0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128 }, + { 0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192 }, + { 0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256 }, + { 0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128 }, + { 0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192 }, + { 0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256 }, + { 0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM , 256 }, #endif /* OQS_KEM_ENCODERS */ - {0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, - {0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, - {0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192}, - {0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, - {0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256}, - {0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, - {0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, - {0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, - {0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256}, - {0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, - KEY_TYPE_SIG, 128}, - {0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, - KEY_TYPE_SIG, 128}, - {0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, - KEY_TYPE_SIG, 192}, - {0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, - KEY_TYPE_HYB_SIG, 192}, - {0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, - KEY_TYPE_SIG, 128}, - {0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END + { 0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, + { 0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192 }, + { 0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256 }, + { 0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, + { 0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256 }, + { 0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_SIG, 128 }, + { 0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_SIG, 128 }, + { 0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_SIG, 192 }, + { 0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_HYB_SIG, 192 }, + { 0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_SIG, 128 }, + { 0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, +///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END }; int oqs_set_nid(char *tlsname, int nid) diff --git a/scripts/common.py b/scripts/common.py index 7b936214..7aac5216 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -16,7 +16,7 @@ 'ecdsap256', 'rsa3072', ##### OQS_TEMPLATE_FRAGMENT_SIG_ALGS_START # post-quantum signatures - 'dilithium2','dilithium3','dilithium5','falcon512','falcon1024','sphincssha2128fsimple','sphincssha2128ssimple','sphincssha2192fsimple','sphincsshake128fsimple', + 'dilithium2','dilithium2WithSha256','dilithium3','dilithium5','falcon512','falcon1024','sphincssha2128fsimple','sphincssha2128ssimple','sphincssha2192fsimple','sphincsshake128fsimple', # post-quantum + classical signatures 'p256_dilithium2','rsa3072_dilithium2','p384_dilithium3','p521_dilithium5','p256_falcon512','rsa3072_falcon512','p521_falcon1024','p256_sphincssha2128fsimple','rsa3072_sphincssha2128fsimple','p256_sphincssha2128ssimple','rsa3072_sphincssha2128ssimple','p384_sphincssha2192fsimple','p256_sphincsshake128fsimple','rsa3072_sphincsshake128fsimple', ##### OQS_TEMPLATE_FRAGMENT_SIG_ALGS_END diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1c5fd96a..00c1e672 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -68,6 +68,28 @@ endif() add_executable(oqs_test_groups oqs_test_groups.c test_common.c tlstest_helpers.c) target_link_libraries(oqs_test_groups PRIVATE ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${OQS_ADDL_SOCKET_LIBS}) +add_test( + NAME oqs_test_hashnsign + COMMAND oqs_test_hashnsign + "oqsprovider" + "${CMAKE_SOURCE_DIR}/test/oqs.cnf" +) +# openssl under MSVC seems to have a bug registering NIDs: +# It only works when setting OPENSSL_CONF, not when loading the same cnf file: +if (MSVC) +set_tests_properties(oqs_signatures + PROPERTIES ENVIRONMENT "OPENSSL_MODULES=${OQS_PROV_BINARY_DIR};OPENSSL_CONF=${CMAKE_CURRENT_SOURCE_DIR}/openssl-ca.cnf" +) +else() +set_tests_properties(oqs_signatures + PROPERTIES ENVIRONMENT "OPENSSL_MODULES=${OQS_PROV_BINARY_DIR}" +) +endif() + +add_executable(oqs_test_hashnsign oqs_test_hashnsign.c test_common.c) +target_link_libraries(oqs_test_hashnsign PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${OQS_ADDL_SOCKET_LIBS}) + + add_test( NAME oqs_tlssig COMMAND oqs_test_tlssig diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c new file mode 100644 index 00000000..27469484 --- /dev/null +++ b/test/oqs_test_hashnsign.c @@ -0,0 +1,104 @@ +// SPDX-License-Identifier: Apache-2.0 AND MIT +#include "oqs/oqs.h" +#include "test_common.h" +#include +#include +#include + +static OSSL_LIB_CTX *libctx = NULL; +static char *modulename = NULL; +static char *configfile = NULL; +static char *cert = NULL; +static char *privkey = NULL; +static char *certsdir = NULL; +static char *srpvfile = NULL; +static char *tmpfilename = NULL; + +static int test_hash_n_sign(const char *sigalg_name) { + EVP_MD_CTX *mdctx = NULL; + EVP_PKEY_CTX *pkey_ctx = NULL; + EVP_PKEY *key = NULL; + int testresult = 0; + + if (strcmp(sigalg_name, "dilithium2WithSha256") == 0) { + // Create a new PKEY context for the given algorithm from the loaded provider + pkey_ctx = EVP_PKEY_CTX_new_from_name(libctx, sigalg_name, NULL); + if (pkey_ctx != NULL && EVP_PKEY_keygen_init(pkey_ctx) > 0 && EVP_PKEY_generate(pkey_ctx, &key) > 0) { + // Sign initialization phase + mdctx = EVP_MD_CTX_new(); + if (mdctx != NULL && EVP_DigestSignInit(mdctx, NULL, EVP_sha256(), NULL, key) > 0) { + printf("EVP_DigestSignInit succeeded for %s.\n", sigalg_name); + testresult = 1; // Indicate success + } else { + printf("EVP_DigestSignInit failed for %s.\n", sigalg_name); + } + + // Free allocated resources + EVP_MD_CTX_free(mdctx); + EVP_PKEY_free(key); + EVP_PKEY_CTX_free(pkey_ctx); + } else { + printf("Key generation failed for %s.\n", sigalg_name); + } + } else { + printf("Algorithm %s is not the target test algorithm.\n", sigalg_name); + testresult = 1; // Skipping non-target algorithms is considered a successful outcome + } + + return testresult; +} + + +#define nelem(a) (sizeof(a) / sizeof((a)[0])) + +int main(int argc, char *argv[]) +{ + size_t i; + int errcnt = 0, test = 0, query_nocache; + OSSL_PROVIDER *oqsprov = NULL; + const OSSL_ALGORITHM *sigalgs; + + T((libctx = OSSL_LIB_CTX_new()) != NULL); + T(argc == 3); + modulename = argv[1]; + configfile = argv[2]; + + load_oqs_provider(libctx, modulename, configfile); + + oqsprov = OSSL_PROVIDER_load(libctx, modulename); + + // sigalgs = OSSL_PROVIDER_query_operation(oqsprov, OSSL_OP_SIGNATURE, + // &query_nocache); + const char *target_alg_name = "dilithium2WithSha256"; + + if (test_hash_n_sign(target_alg_name)) { + fprintf(stderr, + cGREEN " Signature test succeeded: %s" cNORM "\n", + sigalgs->algorithm_names); + } else { + fprintf(stderr, cRED " Signature test failed: %s" cNORM "\n", + sigalgs->algorithm_names); + ERR_print_errors_fp(stderr); + errcnt++; + } + + // if (sigalgs) { + // for (; sigalgs->algorithm_names != NULL; sigalgs++) { + // if (test_hash_n_sign(sigalgs->algorithm_names)) { + // fprintf(stderr, + // cGREEN " Signature test succeeded: %s" cNORM "\n", + // sigalgs->algorithm_names); + // } else { + // fprintf(stderr, cRED " Signature test failed: %s" cNORM "\n", + // sigalgs->algorithm_names); + // ERR_print_errors_fp(stderr); + // errcnt++; + // } + // } + // } + + OSSL_LIB_CTX_free(libctx); + + TEST_ASSERT(errcnt == 0) + return !test; +} From dfca3930f0ecff2e828643b42226228a593bd7aa Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sun, 12 Nov 2023 20:07:01 -0500 Subject: [PATCH 04/17] passing test results for all unit tests --- ALGORITHMS.md | 44 ++++++-- README.md | 2 +- oqs-template/generate.yml | 77 ++++++++++++- oqs-template/oqs-sig-info.md | 15 ++- oqsprov/oqs_decode_der2key.c | 14 +++ oqsprov/oqs_encode_key2any.c | 70 ++++++++++++ oqsprov/oqs_kmgmt.c | 150 ++++++++++++++++++------- oqsprov/oqs_prov.h | 70 ++++++++++++ oqsprov/oqsdecoders.inc | 28 +++++ oqsprov/oqsencoders.inc | 63 +++++++++++ oqsprov/oqsprov.c | 194 ++++++++++++++++++++++----------- oqsprov/oqsprov_capabilities.c | 115 ++++++++++++------- oqsprov/oqsprov_keys.c | 11 +- scripts/common.py | 2 +- test/oqs_test_hashnsign.c | 160 +++++++++++++++++++-------- 15 files changed, 804 insertions(+), 211 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index 239a49c6..61fb9824 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -46,17 +46,25 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | x448_bikel3 | 0x2FAF | Yes | OQS_CODEPOINT_X448_BIKEL3 | | bikel5 | 0x0243 | Yes | OQS_CODEPOINT_BIKEL5 | | p521_bikel5 | 0x2F43 | Yes | OQS_CODEPOINT_P521_BIKEL5 | -| hqc128 | 0x0244 | Yes | OQS_CODEPOINT_HQC128 | -| p256_hqc128 | 0x2F44 | Yes | OQS_CODEPOINT_P256_HQC128 | -| x25519_hqc128 | 0x2FB0 | Yes | OQS_CODEPOINT_X25519_HQC128 | -| hqc192 | 0x0245 | Yes | OQS_CODEPOINT_HQC192 | -| p384_hqc192 | 0x2F45 | Yes | OQS_CODEPOINT_P384_HQC192 | -| x448_hqc192 | 0x2FB1 | Yes | OQS_CODEPOINT_X448_HQC192 | -| hqc256 | 0x0246 | Yes | OQS_CODEPOINT_HQC256 | -| p521_hqc256 | 0x2F46 | Yes | OQS_CODEPOINT_P521_HQC256 | -| dilithium2 | 0xfea0 |Yes| OQS_CODEPOINT_DILITHIUM2 -| p256_dilithium2 | 0xfea1 |Yes| OQS_CODEPOINT_P256_DILITHIUM2 -| rsa3072_dilithium2 | 0xfea2 |Yes| OQS_CODEPOINT_RSA3072_DILITHIUM2 +| hqc128 | 0x022C | Yes | OQS_CODEPOINT_HQC128 | +| p256_hqc128 | 0x2F2C | Yes | OQS_CODEPOINT_P256_HQC128 | +| x25519_hqc128 | 0x2FAC | Yes | OQS_CODEPOINT_X25519_HQC128 | +| hqc192 | 0x022D | Yes | OQS_CODEPOINT_HQC192 | +| p384_hqc192 | 0x2F2D | Yes | OQS_CODEPOINT_P384_HQC192 | +| x448_hqc192 | 0x2FAD | Yes | OQS_CODEPOINT_X448_HQC192 | +| hqc256 | 0x022E | Yes | OQS_CODEPOINT_HQC256 | +| p521_hqc256 | 0x2F2E | Yes | OQS_CODEPOINT_P521_HQC256 | +| dilithium2 | 0xfe98 |Yes| OQS_CODEPOINT_DILITHIUM2 +| p256_dilithium2 | 0xfe99 |Yes| OQS_CODEPOINT_P256_DILITHIUM2 +| rsa3072_dilithium2 | 0xfe9a |Yes| OQS_CODEPOINT_RSA3072_DILITHIUM2 +| dilithium2WithSha256 | 0xfe9b |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHA256 +| dilithium2WithSha384 | 0xfe9c |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHA384 +| dilithium2WithSha512 | 0xfe9d |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHA512 +| dilithium2WithSha3At256 | 0xfe9e |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256 +| dilithium2WithSha3At384 | 0xfe9f |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384 +| dilithium2WithSha3At512 | 0xfea0 |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512 +| dilithium2WithShake128 | 0xfea1 |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHAKE128 +| dilithium2WithShake256 | 0xfea2 |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHAKE256 | dilithium3 | 0xfea3 |Yes| OQS_CODEPOINT_DILITHIUM3 | p384_dilithium3 | 0xfea4 |Yes| OQS_CODEPOINT_P384_DILITHIUM3 | dilithium5 | 0xfea5 |Yes| OQS_CODEPOINT_DILITHIUM5 @@ -123,6 +131,13 @@ adapting the OIDs of all supported signature algorithms as per the table below. | p256_dilithium2 | 1.3.9999.2.7.1 |Yes| OQS_OID_P256_DILITHIUM2 | rsa3072_dilithium2 | 1.3.9999.2.7.2 |Yes| OQS_OID_RSA3072_DILITHIUM2 | dilithium2WithSha256 | 1.3.6.1.4.1.18227.999.1.1.1 |Yes| OQS_OID_DILITHIUM2WITHSHA256 +| dilithium2WithSha384 | 1.3.6.1.4.1.18227.999.1.1.2 |Yes| OQS_OID_DILITHIUM2WITHSHA384 +| dilithium2WithSha512 | 1.3.6.1.4.1.18227.999.1.1.3 |Yes| OQS_OID_DILITHIUM2WITHSHA512 +| dilithium2WithSha3At256 | 1.3.6.1.4.1.18227.999.1.1.4 |Yes| OQS_OID_DILITHIUM2WITHSHA3AT256 +| dilithium2WithSha3At384 | 1.3.6.1.4.1.18227.999.1.1.5 |Yes| OQS_OID_DILITHIUM2WITHSHA3AT384 +| dilithium2WithSha3At512 | 1.3.6.1.4.1.18227.999.1.1.6 |Yes| OQS_OID_DILITHIUM2WITHSHA3AT512 +| dilithium2WithShake128 | 1.3.6.1.4.1.18227.999.1.1.7 |Yes| OQS_OID_DILITHIUM2WITHSHAKE128 +| dilithium2WithShake256 | 1.3.6.1.4.1.18227.999.1.1.8 |Yes| OQS_OID_DILITHIUM2WITHSHAKE256 | dilithium3 | 1.3.6.1.4.1.2.267.7.6.5 |Yes| OQS_OID_DILITHIUM3 | 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 @@ -222,6 +237,13 @@ By setting environment variables, oqs-provider can be configured to encode keys | --- | --- | |`OQS_ENCODING_DILITHIUM2`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM2WITHSHA256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHA384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHA512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHA3AT256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHA3AT384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHA3AT512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHAKE128`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM2WITHSHAKE256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM3`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM5`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_FALCON512`|`draft-uni-qsckeys-falcon-00/sk-pk`| diff --git a/README.md b/README.md index 3d2f31b7..fb547f05 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ This implementation makes available the following quantum safe algorithms: ### Signature algorithms -- **CRYSTALS-Dilithium**:`dilithium2`\*, `p256_dilithium2`\*, `rsa3072_dilithium2`\*, `dilithium2WithSha256`\*, `dilithium3`\*, `p384_dilithium3`\*, `dilithium5`\*, `p521_dilithium5`\* +- **CRYSTALS-Dilithium**:`dilithium2`\*, `p256_dilithium2`\*, `rsa3072_dilithium2`\*, `dilithium2WithSha256`\*, `dilithium2WithSha384`\*, `dilithium2WithSha512`\*, `dilithium2WithSha3At256`\*, `dilithium2WithSha3At384`\*, `dilithium2WithSha3At512`\*, `dilithium2WithShake128`\*, `dilithium2WithShake256`\*, `dilithium3`\*, `p384_dilithium3`\*, `dilithium5`\*, `p521_dilithium5`\* - **Falcon**:`falcon512`\*, `p256_falcon512`\*, `rsa3072_falcon512`\*, `falcon1024`\*, `p521_falcon1024`\* - **SPHINCS-SHA2**:`sphincssha2128fsimple`\*, `p256_sphincssha2128fsimple`\*, `rsa3072_sphincssha2128fsimple`\*, `sphincssha2128ssimple`\*, `p256_sphincssha2128ssimple`\*, `rsa3072_sphincssha2128ssimple`\*, `sphincssha2192fsimple`\*, `p384_sphincssha2192fsimple`\*, `sphincssha2192ssimple`, `p384_sphincssha2192ssimple`, `sphincssha2256fsimple`, `p521_sphincssha2256fsimple`, `sphincssha2256ssimple`, `p521_sphincssha2256ssimple` diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index 1198c04e..b997e867 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -405,17 +405,17 @@ sigs: pretty_name: 'Dilithium2' oqs_meth: 'OQS_SIG_alg_dilithium_2' oid: '1.3.6.1.4.1.2.267.7.4.4' - code_point: '0xfe9f' + code_point: '0xfe98' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.2.7.1', - 'code_point': '0xfea0'}, + 'code_point': '0xfe99'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.2.7.2', - 'code_point': '0xfea1'}] + 'code_point': '0xfe9a'}] - name: 'dilithium2WithSha256' @@ -423,9 +423,80 @@ sigs: oqs_meth: 'OQS_SIG_alg_dilithium_2' oid: '1.3.6.1.4.1.18227.999.1.1.1' digest: SHA256 + code_point: '0xfe9b' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium2WithSha384' + pretty_name: 'DILITHIUM2-SHA384' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.2' + digest: SHA384 + code_point: '0xfe9c' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium2WithSha512' + pretty_name: 'DILITHIUM2-SHA512' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.3' + digest: SHA512 + code_point: '0xfe9d' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium2WithSha3At256' + pretty_name: 'DILITHIUM2-SHA3-256' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.4' + digest: SHA3-256 + code_point: '0xfe9e' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium2WithSha3At384' + pretty_name: 'DILITHIUM2-SHA3-384' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.5' + digest: SHA3-384 + code_point: '0xfe9f' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium2WithSha3At512' + pretty_name: 'DILITHIUM2-SHA3-512' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.6' + digest: SHA3-512 + code_point: '0xfea0' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium2WithShake128' + pretty_name: 'DILITHIUM2-SHAKE128' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.7' + digest: SHAKE128 + code_point: '0xfea1' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium2WithShake256' + pretty_name: 'DILITHIUM2-SHAKE256' + oqs_meth: 'OQS_SIG_alg_dilithium_2' + oid: '1.3.6.1.4.1.18227.999.1.1.8' + digest: SHAKE256 code_point: '0xfea2' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true + - name: 'dilithium3' pretty_name: 'Dilithium3' diff --git a/oqs-template/oqs-sig-info.md b/oqs-template/oqs-sig-info.md index 76093850..b83f93c9 100644 --- a/oqs-template/oqs-sig-info.md +++ b/oqs-template/oqs-sig-info.md @@ -1,9 +1,16 @@ | Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID | |:--------------------------------------------------|:----------------------------------------------|-------------:|---------------------:|:-------------|:----------------------------| -| dilithium2 | 3.1 | 3 | 2 | 0xfe9f | 1.3.6.1.4.1.2.267.7.4.4 | -| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfea0 | 1.3.9999.2.7.1 | -| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfea1 | 1.3.9999.2.7.2 | -| dilithium2WithSha256 | 3.1 | 3 | 2 | 0xfea2 | 1.3.6.1.4.1.18227.999.1.1.1 | +| dilithium2 | 3.1 | 3 | 2 | 0xfe98 | 1.3.6.1.4.1.2.267.7.4.4 | +| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfe99 | 1.3.9999.2.7.1 | +| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfe9a | 1.3.9999.2.7.2 | +| dilithium2WithSha256 | 3.1 | 3 | 2 | 0xfe9b | 1.3.6.1.4.1.18227.999.1.1.1 | +| dilithium2WithSha384 | 3.1 | 3 | 2 | 0xfe9c | 1.3.6.1.4.1.18227.999.1.1.2 | +| dilithium2WithSha512 | 3.1 | 3 | 2 | 0xfe9d | 1.3.6.1.4.1.18227.999.1.1.3 | +| dilithium2WithSha3At256 | 3.1 | 3 | 2 | 0xfe9e | 1.3.6.1.4.1.18227.999.1.1.4 | +| dilithium2WithSha3At384 | 3.1 | 3 | 2 | 0xfe9f | 1.3.6.1.4.1.18227.999.1.1.5 | +| dilithium2WithSha3At512 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.18227.999.1.1.6 | +| dilithium2WithShake128 | 3.1 | 3 | 2 | 0xfea1 | 1.3.6.1.4.1.18227.999.1.1.7 | +| dilithium2WithShake256 | 3.1 | 3 | 2 | 0xfea2 | 1.3.6.1.4.1.18227.999.1.1.8 | | 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 | diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c index 786c4011..31fab006 100644 --- a/oqsprov/oqs_decode_der2key.c +++ b/oqsprov/oqs_decode_der2key.c @@ -650,6 +650,20 @@ MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, PrivateKeyInfo); diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c index f0082f08..fa6035a5 100644 --- a/oqsprov/oqs_encode_key2any.c +++ b/oqsprov/oqs_encode_key2any.c @@ -804,6 +804,27 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) # define dilithium2WithSha256_evp_type 0 # define dilithium2WithSha256_input_type "dilithium2WithSha256" # define dilithium2WithSha256_pem_type "dilithium2WithSha256" +# define dilithium2WithSha384_evp_type 0 +# define dilithium2WithSha384_input_type "dilithium2WithSha384" +# define dilithium2WithSha384_pem_type "dilithium2WithSha384" +# define dilithium2WithSha512_evp_type 0 +# define dilithium2WithSha512_input_type "dilithium2WithSha512" +# define dilithium2WithSha512_pem_type "dilithium2WithSha512" +# define dilithium2WithSha3At256_evp_type 0 +# define dilithium2WithSha3At256_input_type "dilithium2WithSha3At256" +# define dilithium2WithSha3At256_pem_type "dilithium2WithSha3At256" +# define dilithium2WithSha3At384_evp_type 0 +# define dilithium2WithSha3At384_input_type "dilithium2WithSha3At384" +# define dilithium2WithSha3At384_pem_type "dilithium2WithSha3At384" +# define dilithium2WithSha3At512_evp_type 0 +# define dilithium2WithSha3At512_input_type "dilithium2WithSha3At512" +# define dilithium2WithSha3At512_pem_type "dilithium2WithSha3At512" +# define dilithium2WithShake128_evp_type 0 +# define dilithium2WithShake128_input_type "dilithium2WithShake128" +# define dilithium2WithShake128_pem_type "dilithium2WithShake128" +# define dilithium2WithShake256_evp_type 0 +# define dilithium2WithShake256_input_type "dilithium2WithShake256" +# define dilithium2WithShake256_pem_type "dilithium2WithShake256" # define dilithium3_evp_type 0 # define dilithium3_input_type "dilithium3" # define dilithium3_pem_type "dilithium3" @@ -1779,6 +1800,55 @@ MAKE_ENCODER(, dilithium2WithSha256, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, dilithium2WithSha256, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, dilithium2WithSha256, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, dilithium2WithSha256); +MAKE_ENCODER(, dilithium2WithSha384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithSha384); +MAKE_ENCODER(, dilithium2WithSha512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithSha512); +MAKE_ENCODER(, dilithium2WithSha3At256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha3At256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha3At256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithSha3At256); +MAKE_ENCODER(, dilithium2WithSha3At384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha3At384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha3At384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithSha3At384); +MAKE_ENCODER(, dilithium2WithSha3At512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha3At512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithSha3At512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithSha3At512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithSha3At512); +MAKE_ENCODER(, dilithium2WithShake128, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithShake128, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithShake128, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithShake128, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithShake128, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithShake128, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithShake128); +MAKE_ENCODER(, dilithium2WithShake256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithShake256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithShake256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium2WithShake256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium2WithShake256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium2WithShake256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium2WithShake256); MAKE_ENCODER(, dilithium3, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, dilithium3, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, dilithium3, oqsx, PrivateKeyInfo, der); diff --git a/oqsprov/oqs_kmgmt.c b/oqsprov/oqs_kmgmt.c index fc6566e7..9b6ea859 100644 --- a/oqsprov/oqs_kmgmt.c +++ b/oqsprov/oqs_kmgmt.c @@ -615,189 +615,252 @@ static void *dilithium2WithSha256_gen_init(void *provctx, int selection) { return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", 0, 128, 3); } +static void *dilithium2WithSha384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", KEY_TYPE_SIG, NULL, 128, 4); +} + +static void *dilithium2WithSha384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", 0, 128, 4); +} +static void *dilithium2WithSha512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", KEY_TYPE_SIG, NULL, 128, 5); +} + +static void *dilithium2WithSha512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", 0, 128, 5); +} +static void *dilithium2WithSha3At256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", KEY_TYPE_SIG, NULL, 128, 6); +} + +static void *dilithium2WithSha3At256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", 0, 128, 6); +} +static void *dilithium2WithSha3At384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", KEY_TYPE_SIG, NULL, 128, 7); +} + +static void *dilithium2WithSha3At384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", 0, 128, 7); +} +static void *dilithium2WithSha3At512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", KEY_TYPE_SIG, NULL, 128, 8); +} + +static void *dilithium2WithSha3At512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", 0, 128, 8); +} +static void *dilithium2WithShake128_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", KEY_TYPE_SIG, NULL, 128, 9); +} + +static void *dilithium2WithShake128_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", 0, 128, 9); +} +static void *dilithium2WithShake256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", KEY_TYPE_SIG, NULL, 128, 10); +} + +static void *dilithium2WithShake256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", 0, 128, 10); +} static void *dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3", KEY_TYPE_SIG, NULL, 192, 4); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3", KEY_TYPE_SIG, NULL, 192, 11); } static void *dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3", 0, 192, 4); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3", 0, 192, 11); } static void *p384_dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 5); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 12); } static void *p384_dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 5); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 12); } static void *dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5", KEY_TYPE_SIG, NULL, 256, 6); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5", KEY_TYPE_SIG, NULL, 256, 13); } static void *dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5", 0, 256, 6); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5", 0, 256, 13); } static void *p521_dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 7); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 14); } static void *p521_dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 7); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 14); } static void *falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512", KEY_TYPE_SIG, NULL, 128, 8); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512", KEY_TYPE_SIG, NULL, 128, 15); } static void *falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512", 0, 128, 8); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512", 0, 128, 15); } static void *p256_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 9); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 16); } static void *p256_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 9); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 16); } static void *rsa3072_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 10); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 17); } static void *rsa3072_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 10); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 17); } static void *falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024", KEY_TYPE_SIG, NULL, 256, 11); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024", KEY_TYPE_SIG, NULL, 256, 18); } static void *falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024", 0, 256, 11); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024", 0, 256, 18); } static void *p521_falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 12); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 19); } static void *p521_falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 12); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 19); } static void *sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 13); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 20); } static void *sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", 0, 128, 13); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", 0, 128, 20); } static void *p256_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 14); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 21); } static void *p256_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 14); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 21); } static void *rsa3072_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 15); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 22); } static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 15); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 22); } static void *sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 16); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 23); } static void *sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", 0, 128, 16); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", 0, 128, 23); } static void *p256_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 17); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 24); } static void *p256_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 17); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 24); } static void *rsa3072_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 18); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 25); } static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 18); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 25); } static void *sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 19); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 26); } static void *sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", 0, 192, 19); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", 0, 192, 26); } static void *p384_sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 20); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 27); } static void *p384_sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 20); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 27); } static void *sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 21); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 28); } static void *sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", 0, 128, 21); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", 0, 128, 28); } static void *p256_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 22); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 29); } static void *p256_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 22); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 29); } static void *rsa3072_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 23); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 30); } static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 23); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 30); } ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END @@ -953,6 +1016,13 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2) MAKE_SIG_KEYMGMT_FUNCTIONS(p256_dilithium2) MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_dilithium2) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithSha256) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithSha384) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithSha512) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithSha3At256) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithSha3At384) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithSha3At512) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithShake128) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithShake256) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3) MAKE_SIG_KEYMGMT_FUNCTIONS(p384_dilithium3) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5) diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h index ece0618a..f84e47d4 100644 --- a/oqsprov/oqs_prov.h +++ b/oqsprov/oqs_prov.h @@ -630,6 +630,69 @@ extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_ extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; @@ -803,6 +866,13 @@ extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake1 ///// OQS_TEMPLATE_FRAGMENT_ALG_FUNCTIONS_START extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index e37c51bf..b7009a24 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -152,6 +152,34 @@ DECODER_w_structure("rsa3072_dilithium2", der, SubjectPublicKeyInfo, rsa3072_dil DECODER_w_structure("dilithium2WithSha256", der, PrivateKeyInfo, dilithium2WithSha256), DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, dilithium2WithSha256), #endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2WithSha384", der, PrivateKeyInfo, dilithium2WithSha384), +DECODER_w_structure("dilithium2WithSha384", der, SubjectPublicKeyInfo, dilithium2WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2WithSha512", der, PrivateKeyInfo, dilithium2WithSha512), +DECODER_w_structure("dilithium2WithSha512", der, SubjectPublicKeyInfo, dilithium2WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2WithSha3At256", der, PrivateKeyInfo, dilithium2WithSha3At256), +DECODER_w_structure("dilithium2WithSha3At256", der, SubjectPublicKeyInfo, dilithium2WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2WithSha3At384", der, PrivateKeyInfo, dilithium2WithSha3At384), +DECODER_w_structure("dilithium2WithSha3At384", der, SubjectPublicKeyInfo, dilithium2WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2WithSha3At512", der, PrivateKeyInfo, dilithium2WithSha3At512), +DECODER_w_structure("dilithium2WithSha3At512", der, SubjectPublicKeyInfo, dilithium2WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2WithShake128", der, PrivateKeyInfo, dilithium2WithShake128), +DECODER_w_structure("dilithium2WithShake128", der, SubjectPublicKeyInfo, dilithium2WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +DECODER_w_structure("dilithium2WithShake256", der, PrivateKeyInfo, dilithium2WithShake256), +DECODER_w_structure("dilithium2WithShake256", der, SubjectPublicKeyInfo, dilithium2WithShake256), +#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), diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index c5a198db..15bfbce7 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -442,6 +442,69 @@ ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, SubjectPu ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, SubjectPublicKeyInfo), ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), #endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha384", dilithium2WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha512", dilithium2WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha3At256", dilithium2WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha3At384", dilithium2WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha3At512", dilithium2WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithShake128", dilithium2WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithShake256", dilithium2WithShake256), +#endif #ifdef OQS_ENABLE_SIG_dilithium_3 ENCODER_w_structure("dilithium3", dilithium3, der, PrivateKeyInfo), ENCODER_w_structure("dilithium3", dilithium3, pem, PrivateKeyInfo), diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index 0dc8a7a4..b7475a2d 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -50,9 +50,9 @@ extern OSSL_FUNC_provider_get_capabilities_fn oqs_provider_get_capabilities; #ifdef OQS_KEM_ENCODERS -#define OQS_OID_CNT 132 +#define OQS_OID_CNT 146 #else -#define OQS_OID_CNT 48 +#define OQS_OID_CNT 62 #endif const char* oqs_oid_alg_list[OQS_OID_CNT] = { @@ -109,6 +109,13 @@ const char* oqs_oid_alg_list[OQS_OID_CNT] = "1.3.9999.2.7.1" , "p256_dilithium2", "1.3.9999.2.7.2" , "rsa3072_dilithium2", "1.3.6.1.4.1.18227.999.1.1.1", "dilithium2WithSha256", +"1.3.6.1.4.1.18227.999.1.1.2", "dilithium2WithSha384", +"1.3.6.1.4.1.18227.999.1.1.3", "dilithium2WithSha512", +"1.3.6.1.4.1.18227.999.1.1.4", "dilithium2WithSha3At256", +"1.3.6.1.4.1.18227.999.1.1.5", "dilithium2WithSha3At384", +"1.3.6.1.4.1.18227.999.1.1.6", "dilithium2WithSha3At512", +"1.3.6.1.4.1.18227.999.1.1.7", "dilithium2WithShake128", +"1.3.6.1.4.1.18227.999.1.1.8", "dilithium2WithShake256", "1.3.6.1.4.1.2.267.7.6.5", "dilithium3", "1.3.9999.2.7.3" , "p384_dilithium3", "1.3.6.1.4.1.2.267.7.8.7", "dilithium5", @@ -206,26 +213,33 @@ if (getenv("OQS_OID_P521_HQC256")) oqs_oid_alg_list[82] = getenv("OQS_OID_P521_H if (getenv("OQS_OID_P256_DILITHIUM2")) oqs_oid_alg_list[2+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_DILITHIUM2"); if (getenv("OQS_OID_RSA3072_DILITHIUM2")) oqs_oid_alg_list[4+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_DILITHIUM2"); if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) oqs_oid_alg_list[6+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA256"); - if (getenv("OQS_OID_DILITHIUM3")) oqs_oid_alg_list[8+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); - if (getenv("OQS_OID_P384_DILITHIUM3")) oqs_oid_alg_list[10+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_DILITHIUM3"); - if (getenv("OQS_OID_DILITHIUM5")) oqs_oid_alg_list[12+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); - if (getenv("OQS_OID_P521_DILITHIUM5")) oqs_oid_alg_list[14+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_DILITHIUM5"); - if (getenv("OQS_OID_FALCON512")) oqs_oid_alg_list[16+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); - if (getenv("OQS_OID_P256_FALCON512")) oqs_oid_alg_list[18+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_FALCON512"); - if (getenv("OQS_OID_RSA3072_FALCON512")) oqs_oid_alg_list[20+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_FALCON512"); - if (getenv("OQS_OID_FALCON1024")) oqs_oid_alg_list[22+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); - if (getenv("OQS_OID_P521_FALCON1024")) oqs_oid_alg_list[24+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_FALCON1024"); - if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[26+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[28+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[30+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[32+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[34+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[36+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[38+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[40+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[42+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[44+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[46+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA384")) oqs_oid_alg_list[8+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA512")) oqs_oid_alg_list[10+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT256")) oqs_oid_alg_list[12+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT384")) oqs_oid_alg_list[14+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT512")) oqs_oid_alg_list[16+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE128")) oqs_oid_alg_list[18+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE256")) oqs_oid_alg_list[20+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_OID_DILITHIUM3")) oqs_oid_alg_list[22+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); + if (getenv("OQS_OID_P384_DILITHIUM3")) oqs_oid_alg_list[24+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_DILITHIUM3"); + if (getenv("OQS_OID_DILITHIUM5")) oqs_oid_alg_list[26+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); + if (getenv("OQS_OID_P521_DILITHIUM5")) oqs_oid_alg_list[28+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_DILITHIUM5"); + if (getenv("OQS_OID_FALCON512")) oqs_oid_alg_list[30+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); + if (getenv("OQS_OID_P256_FALCON512")) oqs_oid_alg_list[32+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_FALCON512"); + if (getenv("OQS_OID_RSA3072_FALCON512")) oqs_oid_alg_list[34+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_FALCON512"); + if (getenv("OQS_OID_FALCON1024")) oqs_oid_alg_list[36+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); + if (getenv("OQS_OID_P521_FALCON1024")) oqs_oid_alg_list[38+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_FALCON1024"); + if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[40+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[42+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[44+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[46+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[48+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[50+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[52+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[54+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[56+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[58+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[60+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); ///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END return 1; } @@ -244,46 +258,60 @@ int oqs_patch_encodings(void) if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[5] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) oqs_alg_encoding_list[7] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3")) oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM3"); - if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[9] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3")) oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_P384_DILITHIUM3"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[11] = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5")) oqs_alg_encoding_list[12] = getenv("OQS_ENCODING_DILITHIUM5"); - if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[13] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5")) oqs_alg_encoding_list[14] = getenv("OQS_ENCODING_P521_DILITHIUM5"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[15] = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512")) oqs_alg_encoding_list[16] = getenv("OQS_ENCODING_FALCON512"); - if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) oqs_alg_encoding_list[17] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_P256_FALCON512")) oqs_alg_encoding_list[18] = getenv("OQS_ENCODING_P256_FALCON512"); - if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) oqs_alg_encoding_list[19] = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512")) oqs_alg_encoding_list[20] = getenv("OQS_ENCODING_RSA3072_FALCON512"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) oqs_alg_encoding_list[21] = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024")) oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_FALCON1024"); - if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_P521_FALCON1024")) oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P521_FALCON1024"); - if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) oqs_alg_encoding_list[25] = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[29] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[33] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[35] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[39] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[40] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[41] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[42] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[43] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[44] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[45] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[46] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[47] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384")) oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME")) oqs_alg_encoding_list[9] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512")) oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME")) oqs_alg_encoding_list[11] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256")) oqs_alg_encoding_list[12] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[13] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384")) oqs_alg_encoding_list[14] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[15] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512")) oqs_alg_encoding_list[16] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[17] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128")) oqs_alg_encoding_list[18] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[19] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256")) oqs_alg_encoding_list[20] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[21] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3")) oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_DILITHIUM3"); + if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3")) oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P384_DILITHIUM3"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[25] = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5")) oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_DILITHIUM5"); + if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5")) oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_P521_DILITHIUM5"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[29] = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512")) oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_FALCON512"); + if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_P256_FALCON512")) oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_P256_FALCON512"); + if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) oqs_alg_encoding_list[33] = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512")) oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_RSA3072_FALCON512"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) oqs_alg_encoding_list[35] = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024")) oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_FALCON1024"); + if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_P521_FALCON1024")) oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_P521_FALCON1024"); + if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) oqs_alg_encoding_list[39] = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[40] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[41] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[42] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[43] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[44] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[45] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[46] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[47] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[48] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[49] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[50] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[51] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[52] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[53] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[54] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[55] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[56] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[57] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[58] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[59] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[60] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[61] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END return 1; } @@ -336,6 +364,27 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { #ifdef OQS_ENABLE_SIG_dilithium_2 SIGALG("dilithium2WithSha256", 128, oqs_signature_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha384", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha512", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha3At256", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha3At384", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha3At512", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithShake128", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithShake256", 128, oqs_signature_functions), +#endif #ifdef OQS_ENABLE_SIG_dilithium_3 SIGALG("dilithium3", 192, oqs_signature_functions), SIGALG("p384_dilithium3", 192, oqs_signature_functions), @@ -466,6 +515,27 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { #ifdef OQS_ENABLE_SIG_dilithium_2 SIGALG("dilithium2WithSha256", 128, oqs_dilithium2WithSha256_keymgmt_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha384", 128, oqs_dilithium2WithSha384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha512", 128, oqs_dilithium2WithSha512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha3At256", 128, oqs_dilithium2WithSha3At256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha3At384", 128, oqs_dilithium2WithSha3At384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithSha3At512", 128, oqs_dilithium2WithSha3At512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithShake128", 128, oqs_dilithium2WithShake128_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + SIGALG("dilithium2WithShake256", 128, oqs_dilithium2WithShake256_keymgmt_functions), +#endif #ifdef OQS_ENABLE_SIG_dilithium_3 SIGALG("dilithium3", 192, oqs_dilithium3_keymgmt_functions), SIGALG("p384_dilithium3", 192, oqs_p384_dilithium3_keymgmt_functions), diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index 58cb9466..02e36460 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -224,6 +224,13 @@ typedef struct oqs_sigalg_constants_st { static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_START + { 0xfe98, 128, TLS1_3_VERSION, 0 }, + { 0xfe99, 128, TLS1_3_VERSION, 0 }, + { 0xfe9a, 128, TLS1_3_VERSION, 0 }, + { 0xfe9b, 128, TLS1_3_VERSION, 0 }, + { 0xfe9c, 128, TLS1_3_VERSION, 0 }, + { 0xfe9d, 128, TLS1_3_VERSION, 0 }, + { 0xfe9e, 128, TLS1_3_VERSION, 0 }, { 0xfe9f, 128, TLS1_3_VERSION, 0 }, { 0xfea0, 128, TLS1_3_VERSION, 0 }, { 0xfea1, 128, TLS1_3_VERSION, 0 }, @@ -302,26 +309,33 @@ int oqs_patch_codepoints() if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) oqs_sigalg_list[1].code_point = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) oqs_sigalg_list[2].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) oqs_sigalg_list[3].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); - if (getenv("OQS_CODEPOINT_DILITHIUM3")) oqs_sigalg_list[4].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) oqs_sigalg_list[5].code_point = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_DILITHIUM5")) oqs_sigalg_list[6].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_FALCON512")) oqs_sigalg_list[8].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); - if (getenv("OQS_CODEPOINT_P256_FALCON512")) oqs_sigalg_list[9].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); - if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) oqs_sigalg_list[10].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); - if (getenv("OQS_CODEPOINT_FALCON1024")) oqs_sigalg_list[11].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024")); - if (getenv("OQS_CODEPOINT_P521_FALCON1024")) oqs_sigalg_list[12].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[13].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[14].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[16].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[17].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[18].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[19].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[20].code_point = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[21].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[23].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")) oqs_sigalg_list[4].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")) oqs_sigalg_list[5].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")) oqs_sigalg_list[6].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")) oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")) oqs_sigalg_list[8].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")) oqs_sigalg_list[9].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")) oqs_sigalg_list[10].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3")) oqs_sigalg_list[11].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) oqs_sigalg_list[12].code_point = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_DILITHIUM5")) oqs_sigalg_list[13].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) oqs_sigalg_list[14].code_point = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_FALCON512")) oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); + if (getenv("OQS_CODEPOINT_P256_FALCON512")) oqs_sigalg_list[16].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); + if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) oqs_sigalg_list[17].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); + if (getenv("OQS_CODEPOINT_FALCON1024")) oqs_sigalg_list[18].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024")); + if (getenv("OQS_CODEPOINT_P521_FALCON1024")) oqs_sigalg_list[19].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[20].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[21].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[23].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[24].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[25].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[26].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[27].code_point = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[28].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[29].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[30].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END return 1; } @@ -370,41 +384,62 @@ static const OSSL_PARAM oqs_param_sigalg_list[][12] = { #ifdef OQS_ENABLE_SIG_dilithium_2 OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), #endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha384, dilithium2WithSha384, dilithium2WithSha384, "1.3.6.1.4.1.18227.999.1.1.2", 4), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha512, dilithium2WithSha512, dilithium2WithSha512, "1.3.6.1.4.1.18227.999.1.1.3", 5), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At256, dilithium2WithSha3At256, dilithium2WithSha3At256, "1.3.6.1.4.1.18227.999.1.1.4", 6), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At384, dilithium2WithSha3At384, dilithium2WithSha3At384, "1.3.6.1.4.1.18227.999.1.1.5", 7), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At512, dilithium2WithSha3At512, dilithium2WithSha3At512, "1.3.6.1.4.1.18227.999.1.1.6", 8), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake128, dilithium2WithShake128, dilithium2WithShake128, "1.3.6.1.4.1.18227.999.1.1.7", 9), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake256, dilithium2WithShake256, dilithium2WithShake256, "1.3.6.1.4.1.18227.999.1.1.8", 10), +#endif #ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, "1.3.6.1.4.1.2.267.7.6.5", 4), - OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, "1.3.9999.2.7.3", 5), + OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, "1.3.6.1.4.1.2.267.7.6.5", 11), + OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, "1.3.9999.2.7.3", 12), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, "1.3.6.1.4.1.2.267.7.8.7", 6), - OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, "1.3.9999.2.7.4", 7), + OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, "1.3.6.1.4.1.2.267.7.8.7", 13), + OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, "1.3.9999.2.7.4", 14), #endif #ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 8), - OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, "1.3.9999.3.7", 9), - OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, "1.3.9999.3.8", 10), + OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 15), + OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, "1.3.9999.3.7", 16), + OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, "1.3.9999.3.8", 17), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 11), - OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, "1.3.9999.3.10", 12), + OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 18), + OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, "1.3.9999.3.10", 19), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, sphincssha2128fsimple, "1.3.9999.6.4.13", 13), - OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 14), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 15), + OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, sphincssha2128fsimple, "1.3.9999.6.4.13", 20), + OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 21), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 22), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, sphincssha2128ssimple, "1.3.9999.6.4.16", 16), - OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 17), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 18), + OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, sphincssha2128ssimple, "1.3.9999.6.4.16", 23), + OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 24), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 25), #endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, sphincssha2192fsimple, "1.3.9999.6.5.10", 19), - OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 20), + OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, sphincssha2192fsimple, "1.3.9999.6.5.10", 26), + OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 27), #endif #ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, sphincsshake128fsimple, "1.3.9999.6.7.13", 21), - OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 22), - OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 23), + OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, sphincsshake128fsimple, "1.3.9999.6.7.13", 28), + OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 29), + OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 30), #endif ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END }; diff --git a/oqsprov/oqsprov_keys.c b/oqsprov/oqsprov_keys.c index 06c9a30b..dc852a23 100644 --- a/oqsprov/oqsprov_keys.c +++ b/oqsprov/oqsprov_keys.c @@ -58,9 +58,9 @@ static int oqsx_key_recreate_classickey(OQSX_KEY *key, oqsx_key_op_t op); #ifdef OQS_KEM_ENCODERS -#define NID_TABLE_LEN 66 +#define NID_TABLE_LEN 73 #else -#define NID_TABLE_LEN 24 +#define NID_TABLE_LEN 31 #endif static oqs_nid_name_t nid_names[NID_TABLE_LEN] = { @@ -114,6 +114,13 @@ static oqs_nid_name_t nid_names[NID_TABLE_LEN] = { { 0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, { 0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, { 0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha3At256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha3At384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha3At512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithShake128", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithShake256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, { 0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, { 0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192 }, { 0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, diff --git a/scripts/common.py b/scripts/common.py index 7aac5216..e8901776 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -16,7 +16,7 @@ 'ecdsap256', 'rsa3072', ##### OQS_TEMPLATE_FRAGMENT_SIG_ALGS_START # post-quantum signatures - 'dilithium2','dilithium2WithSha256','dilithium3','dilithium5','falcon512','falcon1024','sphincssha2128fsimple','sphincssha2128ssimple','sphincssha2192fsimple','sphincsshake128fsimple', + 'dilithium2','dilithium2WithSha256','dilithium2WithSha384','dilithium2WithSha512','dilithium2WithSha3At256','dilithium2WithSha3At384','dilithium2WithSha3At512','dilithium2WithShake128','dilithium2WithShake256','dilithium3','dilithium5','falcon512','falcon1024','sphincssha2128fsimple','sphincssha2128ssimple','sphincssha2192fsimple','sphincsshake128fsimple', # post-quantum + classical signatures 'p256_dilithium2','rsa3072_dilithium2','p384_dilithium3','p521_dilithium5','p256_falcon512','rsa3072_falcon512','p521_falcon1024','p256_sphincssha2128fsimple','rsa3072_sphincssha2128fsimple','p256_sphincssha2128ssimple','rsa3072_sphincssha2128ssimple','p384_sphincssha2192fsimple','p256_sphincsshake128fsimple','rsa3072_sphincsshake128fsimple', ##### OQS_TEMPLATE_FRAGMENT_SIG_ALGS_END diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c index 27469484..f976e860 100644 --- a/test/oqs_test_hashnsign.c +++ b/test/oqs_test_hashnsign.c @@ -4,6 +4,7 @@ #include #include #include +#include static OSSL_LIB_CTX *libctx = NULL; static char *modulename = NULL; @@ -14,37 +15,110 @@ static char *certsdir = NULL; static char *srpvfile = NULL; static char *tmpfilename = NULL; + +void string_to_lower(char *str) { + if (str) { + for ( ; *str; ++str) *str = tolower((unsigned char)*str); + } +} + +static const EVP_MD* get_digest_for_algorithm(const char* alg_name) { + char *lowercase_alg_name = strdup(alg_name); + if (!lowercase_alg_name) { + return NULL; + } + + string_to_lower(lowercase_alg_name); + + const EVP_MD *md = NULL; + + if (strstr(lowercase_alg_name, "sha256")) md = EVP_sha256(); + else if (strstr(lowercase_alg_name, "sha384")) md = EVP_sha384(); + else if (strstr(lowercase_alg_name, "sha512")) md = EVP_sha512(); + else if (strstr(lowercase_alg_name, "sha3-256")) md = EVP_sha3_256(); + else if (strstr(lowercase_alg_name, "sha3-384")) md = EVP_sha3_384(); + else if (strstr(lowercase_alg_name, "sha3-512")) md = EVP_sha3_512(); + else if (strstr(lowercase_alg_name, "shake128")) md = EVP_shake128(); + else if (strstr(lowercase_alg_name, "shake256")) md = EVP_shake256(); + + free(lowercase_alg_name); + return md; +} + + static int test_hash_n_sign(const char *sigalg_name) { EVP_MD_CTX *mdctx = NULL; EVP_PKEY_CTX *pkey_ctx = NULL; EVP_PKEY *key = NULL; + const char msg[] = "The quick brown fox jumps over the lazy dog"; + unsigned char *sig = NULL; + size_t siglen; int testresult = 0; - if (strcmp(sigalg_name, "dilithium2WithSha256") == 0) { - // Create a new PKEY context for the given algorithm from the loaded provider - pkey_ctx = EVP_PKEY_CTX_new_from_name(libctx, sigalg_name, NULL); - if (pkey_ctx != NULL && EVP_PKEY_keygen_init(pkey_ctx) > 0 && EVP_PKEY_generate(pkey_ctx, &key) > 0) { - // Sign initialization phase - mdctx = EVP_MD_CTX_new(); - if (mdctx != NULL && EVP_DigestSignInit(mdctx, NULL, EVP_sha256(), NULL, key) > 0) { - printf("EVP_DigestSignInit succeeded for %s.\n", sigalg_name); - testresult = 1; // Indicate success - } else { - printf("EVP_DigestSignInit failed for %s.\n", sigalg_name); - } + if (!alg_is_enabled(sigalg_name)) { + printf("Not testing disabled algorithm %s.\n", sigalg_name); + return 1; + } + + const EVP_MD *md_type = get_digest_for_algorithm(sigalg_name); + if (!md_type) { + printf("Unsupported digest type for algorithm %s.\n", sigalg_name); + return 0; + } + + + pkey_ctx = EVP_PKEY_CTX_new_from_name(libctx, sigalg_name, NULL); + if (!pkey_ctx) { + printf("EVP_PKEY_CTX_new_from_name failed for %s.\n", sigalg_name); + return 0; + } - // Free allocated resources - EVP_MD_CTX_free(mdctx); - EVP_PKEY_free(key); - EVP_PKEY_CTX_free(pkey_ctx); + if (EVP_PKEY_keygen_init(pkey_ctx) <= 0) { + printf("EVP_PKEY_keygen_init failed for %s.\n", sigalg_name); + EVP_PKEY_CTX_free(pkey_ctx); + return 0; + } + + if (EVP_PKEY_generate(pkey_ctx, &key) <= 0) { + printf("EVP_PKEY_generate failed for %s.\n", sigalg_name); + EVP_PKEY_CTX_free(pkey_ctx); + return 0; + } + + mdctx = EVP_MD_CTX_new(); + if (mdctx == NULL) { + printf("EVP_MD_CTX_new failed for %s.\n", sigalg_name); + return 0; + } + + if (EVP_DigestSignInit(mdctx, NULL, md_type, NULL, key) <= 0) { + printf("EVP_DigestSignInit failed for %s.\n", sigalg_name); + testresult = 0; + } else { + if (EVP_DigestSignUpdate(mdctx, msg, strlen(msg)) <= 0) { + printf("EVP_DigestSignUpdate failed for %s.\n", sigalg_name); + testresult = 0; + } else if (EVP_DigestSignFinal(mdctx, NULL, &siglen) <= 0) { + printf("EVP_DigestSignFinal (get length) failed for %s.\n", sigalg_name); + testresult = 0; } else { - printf("Key generation failed for %s.\n", sigalg_name); + sig = OPENSSL_malloc(siglen); + if (sig == NULL) { + printf("OPENSSL_malloc failed for %s.\n", sigalg_name); + testresult = 0; + } else if (EVP_DigestSignFinal(mdctx, sig, &siglen) <= 0) { + printf("EVP_DigestSignFinal (get signature) failed for %s.\n", sigalg_name); + testresult = 0; + } else { + printf("Signature operation successful for %s.\n", sigalg_name); + testresult = 1; + } } - } else { - printf("Algorithm %s is not the target test algorithm.\n", sigalg_name); - testresult = 1; // Skipping non-target algorithms is considered a successful outcome } + if (sig) OPENSSL_free(sig); + if (mdctx) EVP_MD_CTX_free(mdctx); + return testresult; } @@ -67,36 +141,28 @@ int main(int argc, char *argv[]) oqsprov = OSSL_PROVIDER_load(libctx, modulename); - // sigalgs = OSSL_PROVIDER_query_operation(oqsprov, OSSL_OP_SIGNATURE, - // &query_nocache); - const char *target_alg_name = "dilithium2WithSha256"; - - if (test_hash_n_sign(target_alg_name)) { - fprintf(stderr, - cGREEN " Signature test succeeded: %s" cNORM "\n", - sigalgs->algorithm_names); + sigalgs = OSSL_PROVIDER_query_operation(oqsprov, OSSL_OP_SIGNATURE, + &query_nocache); + + if (sigalgs) { + for (; sigalgs->algorithm_names != NULL; sigalgs++) { + if (strstr(sigalgs->algorithm_names, "With") != NULL) { + if (test_hash_n_sign(sigalgs->algorithm_names)) { + fprintf(stderr, + cGREEN " Signature test succeeded: %s" cNORM "\n", + sigalgs->algorithm_names); + } else { + fprintf(stderr, cRED " Signature test failed: %s" cNORM "\n", + sigalgs->algorithm_names); + ERR_print_errors_fp(stderr); + errcnt++; + } + } + } } else { - fprintf(stderr, cRED " Signature test failed: %s" cNORM "\n", - sigalgs->algorithm_names); - ERR_print_errors_fp(stderr); - errcnt++; + fprintf(stderr, "No signature algorithms available.\n"); } - // if (sigalgs) { - // for (; sigalgs->algorithm_names != NULL; sigalgs++) { - // if (test_hash_n_sign(sigalgs->algorithm_names)) { - // fprintf(stderr, - // cGREEN " Signature test succeeded: %s" cNORM "\n", - // sigalgs->algorithm_names); - // } else { - // fprintf(stderr, cRED " Signature test failed: %s" cNORM "\n", - // sigalgs->algorithm_names); - // ERR_print_errors_fp(stderr); - // errcnt++; - // } - // } - // } - OSSL_LIB_CTX_free(libctx); TEST_ASSERT(errcnt == 0) From d863b605ec198573c3de03371e62931a8e99cb7e Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sun, 12 Nov 2023 20:17:22 -0500 Subject: [PATCH 05/17] reverting gitignore change --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 58143ab0..7f2a27d4 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,8 @@ liboqs # installed SW .local # build directory -/_build -/build +_build +build # generated from openssl src: test/ssltestlib.c test/ssltestlib.h From 300614e65289318d2e80cba985a3654a01a34832 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sun, 12 Nov 2023 20:18:50 -0500 Subject: [PATCH 06/17] reverting gitignore change --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 7f2a27d4..003421d7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,6 @@ liboqs .local # build directory _build -build # generated from openssl src: test/ssltestlib.c test/ssltestlib.h From fb2d59400cf8c73ab6dc3f62b6ab106373dc21d1 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sun, 12 Nov 2023 20:27:05 -0500 Subject: [PATCH 07/17] fixed test failure decided to skip over sig algs whose hash alg isnt currently supported --- test/oqs_test_hashnsign.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c index f976e860..71b65a77 100644 --- a/test/oqs_test_hashnsign.c +++ b/test/oqs_test_hashnsign.c @@ -62,8 +62,8 @@ static int test_hash_n_sign(const char *sigalg_name) { const EVP_MD *md_type = get_digest_for_algorithm(sigalg_name); if (!md_type) { - printf("Unsupported digest type for algorithm %s.\n", sigalg_name); - return 0; + printf("Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", sigalg_name); + return 1; } From 5d7e1fd6fb62b34ecc42e33a7c80fe30b946cafb Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sat, 18 Nov 2023 13:21:26 -0500 Subject: [PATCH 08/17] reformatted to fix clang errors --- oqsprov/oqs_decode_der2key.c | 182 ++-- oqsprov/oqs_encode_key2any.c | 491 ++++----- oqsprov/oqs_kmgmt.c | 248 +++-- oqsprov/oqs_prov.h | 1798 ++++++++++++++++++++++---------- oqsprov/oqs_sig.c | 1028 +++++++++--------- oqsprov/oqsprov.c | 755 +++++++++----- oqsprov/oqsprov_capabilities.c | 591 +++++++---- oqsprov/oqsprov_keys.c | 177 ++-- test/oqs_test_hashnsign.c | 95 +- 9 files changed, 3363 insertions(+), 2002 deletions(-) diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c index 31fab006..849701a5 100644 --- a/oqsprov/oqs_decode_der2key.c +++ b/oqsprov/oqs_decode_der2key.c @@ -539,52 +539,69 @@ static void oqsx_key_adjust(void *key, struct der2key_ctx_st *ctx) ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_START #ifdef OQS_KEM_ENCODERS - MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, SubjectPublicKeyInfo); @@ -593,14 +610,16 @@ MAKE_DECODER(_ecp, "p384_kyber768", p384_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, SubjectPublicKeyInfo); @@ -641,29 +660,45 @@ MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, SubjectPublicKeyInfo); #endif /* OQS_KEM_ENCODERS */ - MAKE_DECODER(, "dilithium2", dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium2", dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, PrivateKeyInfo); @@ -677,31 +712,54 @@ MAKE_DECODER(, "falcon512", falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, + oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, + oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, + oqsx, SubjectPublicKeyInfo); ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_END diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c index fa6035a5..0b9d41fc 100644 --- a/oqsprov/oqs_encode_key2any.c +++ b/oqsprov/oqs_encode_key2any.c @@ -649,242 +649,242 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) // OQS provider uses NIDs generated at load time as EVP_type identifiers // so initially this must be 0 and set to a real value by OBJ_sn2nid later ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_START -# define frodo640aes_evp_type 0 -# define frodo640aes_input_type "frodo640aes" -# define frodo640aes_pem_type "frodo640aes" - -# define p256_frodo640aes_evp_type 0 -# define p256_frodo640aes_input_type "p256_frodo640aes" -# define p256_frodo640aes_pem_type "p256_frodo640aes" -# define x25519_frodo640aes_evp_type 0 -# define x25519_frodo640aes_input_type "x25519_frodo640aes" -# define x25519_frodo640aes_pem_type "x25519_frodo640aes" -# define frodo640shake_evp_type 0 -# define frodo640shake_input_type "frodo640shake" -# define frodo640shake_pem_type "frodo640shake" - -# define p256_frodo640shake_evp_type 0 -# define p256_frodo640shake_input_type "p256_frodo640shake" -# define p256_frodo640shake_pem_type "p256_frodo640shake" -# define x25519_frodo640shake_evp_type 0 -# define x25519_frodo640shake_input_type "x25519_frodo640shake" -# define x25519_frodo640shake_pem_type "x25519_frodo640shake" -# define frodo976aes_evp_type 0 -# define frodo976aes_input_type "frodo976aes" -# define frodo976aes_pem_type "frodo976aes" - -# define p384_frodo976aes_evp_type 0 -# define p384_frodo976aes_input_type "p384_frodo976aes" -# define p384_frodo976aes_pem_type "p384_frodo976aes" -# define x448_frodo976aes_evp_type 0 -# define x448_frodo976aes_input_type "x448_frodo976aes" -# define x448_frodo976aes_pem_type "x448_frodo976aes" -# define frodo976shake_evp_type 0 -# define frodo976shake_input_type "frodo976shake" -# define frodo976shake_pem_type "frodo976shake" - -# define p384_frodo976shake_evp_type 0 -# define p384_frodo976shake_input_type "p384_frodo976shake" -# define p384_frodo976shake_pem_type "p384_frodo976shake" -# define x448_frodo976shake_evp_type 0 -# define x448_frodo976shake_input_type "x448_frodo976shake" -# define x448_frodo976shake_pem_type "x448_frodo976shake" -# define frodo1344aes_evp_type 0 -# define frodo1344aes_input_type "frodo1344aes" -# define frodo1344aes_pem_type "frodo1344aes" - -# define p521_frodo1344aes_evp_type 0 -# define p521_frodo1344aes_input_type "p521_frodo1344aes" -# define p521_frodo1344aes_pem_type "p521_frodo1344aes" -# define frodo1344shake_evp_type 0 -# define frodo1344shake_input_type "frodo1344shake" -# define frodo1344shake_pem_type "frodo1344shake" - -# define p521_frodo1344shake_evp_type 0 -# define p521_frodo1344shake_input_type "p521_frodo1344shake" -# define p521_frodo1344shake_pem_type "p521_frodo1344shake" -# define kyber512_evp_type 0 -# define kyber512_input_type "kyber512" -# define kyber512_pem_type "kyber512" - -# define p256_kyber512_evp_type 0 -# define p256_kyber512_input_type "p256_kyber512" -# define p256_kyber512_pem_type "p256_kyber512" -# define x25519_kyber512_evp_type 0 -# define x25519_kyber512_input_type "x25519_kyber512" -# define x25519_kyber512_pem_type "x25519_kyber512" -# define kyber768_evp_type 0 -# define kyber768_input_type "kyber768" -# define kyber768_pem_type "kyber768" - -# define p384_kyber768_evp_type 0 -# define p384_kyber768_input_type "p384_kyber768" -# define p384_kyber768_pem_type "p384_kyber768" -# define x448_kyber768_evp_type 0 -# define x448_kyber768_input_type "x448_kyber768" -# define x448_kyber768_pem_type "x448_kyber768" -# define x25519_kyber768_evp_type 0 -# define x25519_kyber768_input_type "x25519_kyber768" -# define x25519_kyber768_pem_type "x25519_kyber768" -# define p256_kyber768_evp_type 0 -# define p256_kyber768_input_type "p256_kyber768" -# define p256_kyber768_pem_type "p256_kyber768" -# define kyber1024_evp_type 0 -# define kyber1024_input_type "kyber1024" -# define kyber1024_pem_type "kyber1024" - -# define p521_kyber1024_evp_type 0 -# define p521_kyber1024_input_type "p521_kyber1024" -# define p521_kyber1024_pem_type "p521_kyber1024" -# define bikel1_evp_type 0 -# define bikel1_input_type "bikel1" -# define bikel1_pem_type "bikel1" - -# define p256_bikel1_evp_type 0 -# define p256_bikel1_input_type "p256_bikel1" -# define p256_bikel1_pem_type "p256_bikel1" -# define x25519_bikel1_evp_type 0 -# define x25519_bikel1_input_type "x25519_bikel1" -# define x25519_bikel1_pem_type "x25519_bikel1" -# define bikel3_evp_type 0 -# define bikel3_input_type "bikel3" -# define bikel3_pem_type "bikel3" - -# define p384_bikel3_evp_type 0 -# define p384_bikel3_input_type "p384_bikel3" -# define p384_bikel3_pem_type "p384_bikel3" -# define x448_bikel3_evp_type 0 -# define x448_bikel3_input_type "x448_bikel3" -# define x448_bikel3_pem_type "x448_bikel3" -# define bikel5_evp_type 0 -# define bikel5_input_type "bikel5" -# define bikel5_pem_type "bikel5" - -# define p521_bikel5_evp_type 0 -# define p521_bikel5_input_type "p521_bikel5" -# define p521_bikel5_pem_type "p521_bikel5" -# define hqc128_evp_type 0 -# define hqc128_input_type "hqc128" -# define hqc128_pem_type "hqc128" - -# define p256_hqc128_evp_type 0 -# define p256_hqc128_input_type "p256_hqc128" -# define p256_hqc128_pem_type "p256_hqc128" -# define x25519_hqc128_evp_type 0 -# define x25519_hqc128_input_type "x25519_hqc128" -# define x25519_hqc128_pem_type "x25519_hqc128" -# define hqc192_evp_type 0 -# define hqc192_input_type "hqc192" -# define hqc192_pem_type "hqc192" - -# define p384_hqc192_evp_type 0 -# define p384_hqc192_input_type "p384_hqc192" -# define p384_hqc192_pem_type "p384_hqc192" -# define x448_hqc192_evp_type 0 -# define x448_hqc192_input_type "x448_hqc192" -# define x448_hqc192_pem_type "x448_hqc192" -# define hqc256_evp_type 0 -# define hqc256_input_type "hqc256" -# define hqc256_pem_type "hqc256" - -# define p521_hqc256_evp_type 0 -# define p521_hqc256_input_type "p521_hqc256" -# define p521_hqc256_pem_type "p521_hqc256" - - -# define dilithium2_evp_type 0 -# define dilithium2_input_type "dilithium2" -# define dilithium2_pem_type "dilithium2" -# define p256_dilithium2_evp_type 0 -# define p256_dilithium2_input_type "p256_dilithium2" -# define p256_dilithium2_pem_type "p256_dilithium2" -# define rsa3072_dilithium2_evp_type 0 -# define rsa3072_dilithium2_input_type "rsa3072_dilithium2" -# define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" -# define dilithium2WithSha256_evp_type 0 -# define dilithium2WithSha256_input_type "dilithium2WithSha256" -# define dilithium2WithSha256_pem_type "dilithium2WithSha256" -# define dilithium2WithSha384_evp_type 0 -# define dilithium2WithSha384_input_type "dilithium2WithSha384" -# define dilithium2WithSha384_pem_type "dilithium2WithSha384" -# define dilithium2WithSha512_evp_type 0 -# define dilithium2WithSha512_input_type "dilithium2WithSha512" -# define dilithium2WithSha512_pem_type "dilithium2WithSha512" -# define dilithium2WithSha3At256_evp_type 0 -# define dilithium2WithSha3At256_input_type "dilithium2WithSha3At256" -# define dilithium2WithSha3At256_pem_type "dilithium2WithSha3At256" -# define dilithium2WithSha3At384_evp_type 0 -# define dilithium2WithSha3At384_input_type "dilithium2WithSha3At384" -# define dilithium2WithSha3At384_pem_type "dilithium2WithSha3At384" -# define dilithium2WithSha3At512_evp_type 0 -# define dilithium2WithSha3At512_input_type "dilithium2WithSha3At512" -# define dilithium2WithSha3At512_pem_type "dilithium2WithSha3At512" -# define dilithium2WithShake128_evp_type 0 -# define dilithium2WithShake128_input_type "dilithium2WithShake128" -# define dilithium2WithShake128_pem_type "dilithium2WithShake128" -# define dilithium2WithShake256_evp_type 0 -# define dilithium2WithShake256_input_type "dilithium2WithShake256" -# define dilithium2WithShake256_pem_type "dilithium2WithShake256" -# define dilithium3_evp_type 0 -# define dilithium3_input_type "dilithium3" -# define dilithium3_pem_type "dilithium3" -# define p384_dilithium3_evp_type 0 -# define p384_dilithium3_input_type "p384_dilithium3" -# define p384_dilithium3_pem_type "p384_dilithium3" -# define dilithium5_evp_type 0 -# define dilithium5_input_type "dilithium5" -# define dilithium5_pem_type "dilithium5" -# define p521_dilithium5_evp_type 0 -# define p521_dilithium5_input_type "p521_dilithium5" -# define p521_dilithium5_pem_type "p521_dilithium5" -# define falcon512_evp_type 0 -# define falcon512_input_type "falcon512" -# define falcon512_pem_type "falcon512" -# define p256_falcon512_evp_type 0 -# define p256_falcon512_input_type "p256_falcon512" -# define p256_falcon512_pem_type "p256_falcon512" -# define rsa3072_falcon512_evp_type 0 -# define rsa3072_falcon512_input_type "rsa3072_falcon512" -# define rsa3072_falcon512_pem_type "rsa3072_falcon512" -# define falcon1024_evp_type 0 -# define falcon1024_input_type "falcon1024" -# define falcon1024_pem_type "falcon1024" -# define p521_falcon1024_evp_type 0 -# define p521_falcon1024_input_type "p521_falcon1024" -# define p521_falcon1024_pem_type "p521_falcon1024" -# define sphincssha2128fsimple_evp_type 0 -# define sphincssha2128fsimple_input_type "sphincssha2128fsimple" -# define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" -# define p256_sphincssha2128fsimple_evp_type 0 -# define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" -# define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" -# define rsa3072_sphincssha2128fsimple_evp_type 0 -# define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" -# define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" -# define sphincssha2128ssimple_evp_type 0 -# define sphincssha2128ssimple_input_type "sphincssha2128ssimple" -# define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" -# define p256_sphincssha2128ssimple_evp_type 0 -# define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" -# define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" -# define rsa3072_sphincssha2128ssimple_evp_type 0 -# define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" -# define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" -# define sphincssha2192fsimple_evp_type 0 -# define sphincssha2192fsimple_input_type "sphincssha2192fsimple" -# define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" -# define p384_sphincssha2192fsimple_evp_type 0 -# define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" -# define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" -# define sphincsshake128fsimple_evp_type 0 -# define sphincsshake128fsimple_input_type "sphincsshake128fsimple" -# define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" -# define p256_sphincsshake128fsimple_evp_type 0 -# define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" -# define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" -# define rsa3072_sphincsshake128fsimple_evp_type 0 -# define rsa3072_sphincsshake128fsimple_input_type "rsa3072_sphincsshake128fsimple" -# define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" +#define frodo640aes_evp_type 0 +#define frodo640aes_input_type "frodo640aes" +#define frodo640aes_pem_type "frodo640aes" + +#define p256_frodo640aes_evp_type 0 +#define p256_frodo640aes_input_type "p256_frodo640aes" +#define p256_frodo640aes_pem_type "p256_frodo640aes" +#define x25519_frodo640aes_evp_type 0 +#define x25519_frodo640aes_input_type "x25519_frodo640aes" +#define x25519_frodo640aes_pem_type "x25519_frodo640aes" +#define frodo640shake_evp_type 0 +#define frodo640shake_input_type "frodo640shake" +#define frodo640shake_pem_type "frodo640shake" + +#define p256_frodo640shake_evp_type 0 +#define p256_frodo640shake_input_type "p256_frodo640shake" +#define p256_frodo640shake_pem_type "p256_frodo640shake" +#define x25519_frodo640shake_evp_type 0 +#define x25519_frodo640shake_input_type "x25519_frodo640shake" +#define x25519_frodo640shake_pem_type "x25519_frodo640shake" +#define frodo976aes_evp_type 0 +#define frodo976aes_input_type "frodo976aes" +#define frodo976aes_pem_type "frodo976aes" + +#define p384_frodo976aes_evp_type 0 +#define p384_frodo976aes_input_type "p384_frodo976aes" +#define p384_frodo976aes_pem_type "p384_frodo976aes" +#define x448_frodo976aes_evp_type 0 +#define x448_frodo976aes_input_type "x448_frodo976aes" +#define x448_frodo976aes_pem_type "x448_frodo976aes" +#define frodo976shake_evp_type 0 +#define frodo976shake_input_type "frodo976shake" +#define frodo976shake_pem_type "frodo976shake" + +#define p384_frodo976shake_evp_type 0 +#define p384_frodo976shake_input_type "p384_frodo976shake" +#define p384_frodo976shake_pem_type "p384_frodo976shake" +#define x448_frodo976shake_evp_type 0 +#define x448_frodo976shake_input_type "x448_frodo976shake" +#define x448_frodo976shake_pem_type "x448_frodo976shake" +#define frodo1344aes_evp_type 0 +#define frodo1344aes_input_type "frodo1344aes" +#define frodo1344aes_pem_type "frodo1344aes" + +#define p521_frodo1344aes_evp_type 0 +#define p521_frodo1344aes_input_type "p521_frodo1344aes" +#define p521_frodo1344aes_pem_type "p521_frodo1344aes" +#define frodo1344shake_evp_type 0 +#define frodo1344shake_input_type "frodo1344shake" +#define frodo1344shake_pem_type "frodo1344shake" + +#define p521_frodo1344shake_evp_type 0 +#define p521_frodo1344shake_input_type "p521_frodo1344shake" +#define p521_frodo1344shake_pem_type "p521_frodo1344shake" +#define kyber512_evp_type 0 +#define kyber512_input_type "kyber512" +#define kyber512_pem_type "kyber512" + +#define p256_kyber512_evp_type 0 +#define p256_kyber512_input_type "p256_kyber512" +#define p256_kyber512_pem_type "p256_kyber512" +#define x25519_kyber512_evp_type 0 +#define x25519_kyber512_input_type "x25519_kyber512" +#define x25519_kyber512_pem_type "x25519_kyber512" +#define kyber768_evp_type 0 +#define kyber768_input_type "kyber768" +#define kyber768_pem_type "kyber768" + +#define p384_kyber768_evp_type 0 +#define p384_kyber768_input_type "p384_kyber768" +#define p384_kyber768_pem_type "p384_kyber768" +#define x448_kyber768_evp_type 0 +#define x448_kyber768_input_type "x448_kyber768" +#define x448_kyber768_pem_type "x448_kyber768" +#define x25519_kyber768_evp_type 0 +#define x25519_kyber768_input_type "x25519_kyber768" +#define x25519_kyber768_pem_type "x25519_kyber768" +#define p256_kyber768_evp_type 0 +#define p256_kyber768_input_type "p256_kyber768" +#define p256_kyber768_pem_type "p256_kyber768" +#define kyber1024_evp_type 0 +#define kyber1024_input_type "kyber1024" +#define kyber1024_pem_type "kyber1024" + +#define p521_kyber1024_evp_type 0 +#define p521_kyber1024_input_type "p521_kyber1024" +#define p521_kyber1024_pem_type "p521_kyber1024" +#define bikel1_evp_type 0 +#define bikel1_input_type "bikel1" +#define bikel1_pem_type "bikel1" + +#define p256_bikel1_evp_type 0 +#define p256_bikel1_input_type "p256_bikel1" +#define p256_bikel1_pem_type "p256_bikel1" +#define x25519_bikel1_evp_type 0 +#define x25519_bikel1_input_type "x25519_bikel1" +#define x25519_bikel1_pem_type "x25519_bikel1" +#define bikel3_evp_type 0 +#define bikel3_input_type "bikel3" +#define bikel3_pem_type "bikel3" + +#define p384_bikel3_evp_type 0 +#define p384_bikel3_input_type "p384_bikel3" +#define p384_bikel3_pem_type "p384_bikel3" +#define x448_bikel3_evp_type 0 +#define x448_bikel3_input_type "x448_bikel3" +#define x448_bikel3_pem_type "x448_bikel3" +#define bikel5_evp_type 0 +#define bikel5_input_type "bikel5" +#define bikel5_pem_type "bikel5" + +#define p521_bikel5_evp_type 0 +#define p521_bikel5_input_type "p521_bikel5" +#define p521_bikel5_pem_type "p521_bikel5" +#define hqc128_evp_type 0 +#define hqc128_input_type "hqc128" +#define hqc128_pem_type "hqc128" + +#define p256_hqc128_evp_type 0 +#define p256_hqc128_input_type "p256_hqc128" +#define p256_hqc128_pem_type "p256_hqc128" +#define x25519_hqc128_evp_type 0 +#define x25519_hqc128_input_type "x25519_hqc128" +#define x25519_hqc128_pem_type "x25519_hqc128" +#define hqc192_evp_type 0 +#define hqc192_input_type "hqc192" +#define hqc192_pem_type "hqc192" + +#define p384_hqc192_evp_type 0 +#define p384_hqc192_input_type "p384_hqc192" +#define p384_hqc192_pem_type "p384_hqc192" +#define x448_hqc192_evp_type 0 +#define x448_hqc192_input_type "x448_hqc192" +#define x448_hqc192_pem_type "x448_hqc192" +#define hqc256_evp_type 0 +#define hqc256_input_type "hqc256" +#define hqc256_pem_type "hqc256" + +#define p521_hqc256_evp_type 0 +#define p521_hqc256_input_type "p521_hqc256" +#define p521_hqc256_pem_type "p521_hqc256" + +#define dilithium2_evp_type 0 +#define dilithium2_input_type "dilithium2" +#define dilithium2_pem_type "dilithium2" +#define p256_dilithium2_evp_type 0 +#define p256_dilithium2_input_type "p256_dilithium2" +#define p256_dilithium2_pem_type "p256_dilithium2" +#define rsa3072_dilithium2_evp_type 0 +#define rsa3072_dilithium2_input_type "rsa3072_dilithium2" +#define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" +#define dilithium2WithSha256_evp_type 0 +#define dilithium2WithSha256_input_type "dilithium2WithSha256" +#define dilithium2WithSha256_pem_type "dilithium2WithSha256" +#define dilithium2WithSha384_evp_type 0 +#define dilithium2WithSha384_input_type "dilithium2WithSha384" +#define dilithium2WithSha384_pem_type "dilithium2WithSha384" +#define dilithium2WithSha512_evp_type 0 +#define dilithium2WithSha512_input_type "dilithium2WithSha512" +#define dilithium2WithSha512_pem_type "dilithium2WithSha512" +#define dilithium2WithSha3At256_evp_type 0 +#define dilithium2WithSha3At256_input_type "dilithium2WithSha3At256" +#define dilithium2WithSha3At256_pem_type "dilithium2WithSha3At256" +#define dilithium2WithSha3At384_evp_type 0 +#define dilithium2WithSha3At384_input_type "dilithium2WithSha3At384" +#define dilithium2WithSha3At384_pem_type "dilithium2WithSha3At384" +#define dilithium2WithSha3At512_evp_type 0 +#define dilithium2WithSha3At512_input_type "dilithium2WithSha3At512" +#define dilithium2WithSha3At512_pem_type "dilithium2WithSha3At512" +#define dilithium2WithShake128_evp_type 0 +#define dilithium2WithShake128_input_type "dilithium2WithShake128" +#define dilithium2WithShake128_pem_type "dilithium2WithShake128" +#define dilithium2WithShake256_evp_type 0 +#define dilithium2WithShake256_input_type "dilithium2WithShake256" +#define dilithium2WithShake256_pem_type "dilithium2WithShake256" +#define dilithium3_evp_type 0 +#define dilithium3_input_type "dilithium3" +#define dilithium3_pem_type "dilithium3" +#define p384_dilithium3_evp_type 0 +#define p384_dilithium3_input_type "p384_dilithium3" +#define p384_dilithium3_pem_type "p384_dilithium3" +#define dilithium5_evp_type 0 +#define dilithium5_input_type "dilithium5" +#define dilithium5_pem_type "dilithium5" +#define p521_dilithium5_evp_type 0 +#define p521_dilithium5_input_type "p521_dilithium5" +#define p521_dilithium5_pem_type "p521_dilithium5" +#define falcon512_evp_type 0 +#define falcon512_input_type "falcon512" +#define falcon512_pem_type "falcon512" +#define p256_falcon512_evp_type 0 +#define p256_falcon512_input_type "p256_falcon512" +#define p256_falcon512_pem_type "p256_falcon512" +#define rsa3072_falcon512_evp_type 0 +#define rsa3072_falcon512_input_type "rsa3072_falcon512" +#define rsa3072_falcon512_pem_type "rsa3072_falcon512" +#define falcon1024_evp_type 0 +#define falcon1024_input_type "falcon1024" +#define falcon1024_pem_type "falcon1024" +#define p521_falcon1024_evp_type 0 +#define p521_falcon1024_input_type "p521_falcon1024" +#define p521_falcon1024_pem_type "p521_falcon1024" +#define sphincssha2128fsimple_evp_type 0 +#define sphincssha2128fsimple_input_type "sphincssha2128fsimple" +#define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" +#define p256_sphincssha2128fsimple_evp_type 0 +#define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" +#define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" +#define rsa3072_sphincssha2128fsimple_evp_type 0 +#define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" +#define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" +#define sphincssha2128ssimple_evp_type 0 +#define sphincssha2128ssimple_input_type "sphincssha2128ssimple" +#define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" +#define p256_sphincssha2128ssimple_evp_type 0 +#define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" +#define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" +#define rsa3072_sphincssha2128ssimple_evp_type 0 +#define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" +#define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" +#define sphincssha2192fsimple_evp_type 0 +#define sphincssha2192fsimple_input_type "sphincssha2192fsimple" +#define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" +#define p384_sphincssha2192fsimple_evp_type 0 +#define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" +#define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" +#define sphincsshake128fsimple_evp_type 0 +#define sphincsshake128fsimple_input_type "sphincsshake128fsimple" +#define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" +#define p256_sphincsshake128fsimple_evp_type 0 +#define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" +#define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" +#define rsa3072_sphincsshake128fsimple_evp_type 0 +#define rsa3072_sphincsshake128fsimple_input_type \ + "rsa3072_sphincsshake128fsimple" +#define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_END /* ---------------------------------------------------------------------- */ @@ -1460,7 +1460,6 @@ key2text_encode(void *vctx, const void *key, int selection, OSSL_CORE_BIO *cout, ///// OQS_TEMPLATE_FRAGMENT_ENCODER_MAKE_START #ifdef OQS_KEM_ENCODERS - MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, frodo640aes, oqsx, PrivateKeyInfo, der); @@ -1926,8 +1925,10 @@ MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128fsimple); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); @@ -1947,8 +1948,10 @@ MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128ssimple); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); @@ -1982,8 +1985,10 @@ MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincsshake128fsimple); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); diff --git a/oqsprov/oqs_kmgmt.c b/oqsprov/oqs_kmgmt.c index 9b6ea859..3a092b8c 100644 --- a/oqsprov/oqs_kmgmt.c +++ b/oqsprov/oqs_kmgmt.c @@ -581,286 +581,372 @@ static int oqsx_gen_set_params(void *genctx, const OSSL_PARAM params[]) ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_START static void *dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); } static void *dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2", 0, 128, 0); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2", 0, 128, 0); } static void *p256_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); } static void *p256_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); } static void *rsa3072_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); } static void *rsa3072_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); } static void *dilithium2WithSha256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", KEY_TYPE_SIG, NULL, 128, 3); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha256", KEY_TYPE_SIG, NULL, 128, 3); } static void *dilithium2WithSha256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", 0, 128, 3); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha256", 0, 128, 3); } static void *dilithium2WithSha384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", KEY_TYPE_SIG, NULL, 128, 4); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha384", KEY_TYPE_SIG, NULL, 128, 4); } static void *dilithium2WithSha384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", 0, 128, 4); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha384", 0, 128, 4); } static void *dilithium2WithSha512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", KEY_TYPE_SIG, NULL, 128, 5); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha512", KEY_TYPE_SIG, NULL, 128, 5); } static void *dilithium2WithSha512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", 0, 128, 5); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha512", 0, 128, 5); } static void *dilithium2WithSha3At256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", KEY_TYPE_SIG, NULL, 128, 6); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At256", KEY_TYPE_SIG, NULL, 128, 6); } static void *dilithium2WithSha3At256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", 0, 128, 6); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At256", 0, 128, 6); } static void *dilithium2WithSha3At384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", KEY_TYPE_SIG, NULL, 128, 7); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At384", KEY_TYPE_SIG, NULL, 128, 7); } static void *dilithium2WithSha3At384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", 0, 128, 7); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At384", 0, 128, 7); } static void *dilithium2WithSha3At512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", KEY_TYPE_SIG, NULL, 128, 8); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At512", KEY_TYPE_SIG, NULL, 128, 8); } static void *dilithium2WithSha3At512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", 0, 128, 8); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At512", 0, 128, 8); } static void *dilithium2WithShake128_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", KEY_TYPE_SIG, NULL, 128, 9); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithShake128", KEY_TYPE_SIG, NULL, 128, 9); } static void *dilithium2WithShake128_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", 0, 128, 9); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithShake128", 0, 128, 9); } static void *dilithium2WithShake256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", KEY_TYPE_SIG, NULL, 128, 10); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithShake256", KEY_TYPE_SIG, NULL, 128, 10); } static void *dilithium2WithShake256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", 0, 128, 10); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithShake256", 0, 128, 10); } static void *dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3", KEY_TYPE_SIG, NULL, 192, 11); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3", KEY_TYPE_SIG, NULL, 192, 11); } static void *dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3", 0, 192, 11); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3", 0, 192, 11); } static void *p384_dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 12); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 12); } static void *p384_dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 12); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 12); } static void *dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5", KEY_TYPE_SIG, NULL, 256, 13); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5", KEY_TYPE_SIG, NULL, 256, 13); } static void *dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5", 0, 256, 13); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5", 0, 256, 13); } static void *p521_dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 14); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 14); } static void *p521_dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 14); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 14); } static void *falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512", KEY_TYPE_SIG, NULL, 128, 15); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512", KEY_TYPE_SIG, NULL, 128, 15); } static void *falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512", 0, 128, 15); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512", 0, 128, 15); } static void *p256_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 16); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 16); } static void *p256_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 16); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 16); } static void *rsa3072_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 17); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 17); } static void *rsa3072_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 17); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 17); } static void *falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024", KEY_TYPE_SIG, NULL, 256, 18); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024", KEY_TYPE_SIG, NULL, 256, 18); } static void *falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024", 0, 256, 18); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024", 0, 256, 18); } static void *p521_falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 19); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 19); } static void *p521_falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 19); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 19); } - static void *sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 20); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_128f_simple, + "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 20); } static void *sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", 0, 128, 20); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_128f_simple, + "sphincssha2128fsimple", 0, 128, 20); } static void *p256_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 21); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, + "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 21); } static void *p256_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 21); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, + "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 21); } static void *rsa3072_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 22); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, + "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 22); } -static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, int selection) +static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, + int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 22); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, + "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 22); } static void *sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 23); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_128s_simple, + "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 23); } static void *sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", 0, 128, 23); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_128s_simple, + "sphincssha2128ssimple", 0, 128, 23); } static void *p256_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 24); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, + "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 24); } static void *p256_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 24); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, + "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 24); } static void *rsa3072_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 25); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, + "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 25); } -static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, int selection) +static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, + int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 25); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, + "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 25); } static void *sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 26); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_192f_simple, + "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 26); } static void *sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", 0, 192, 26); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_192f_simple, + "sphincssha2192fsimple", 0, 192, 26); } static void *p384_sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 27); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, + "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 27); } static void *p384_sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 27); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, + "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 27); } static void *sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 28); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_shake_128f_simple, + "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 28); } static void *sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", 0, 128, 28); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_shake_128f_simple, + "sphincsshake128fsimple", 0, 128, 28); } static void *p256_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 29); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, + "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 29); } static void *p256_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 29); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, + "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 29); } static void *rsa3072_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 30); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, + "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 30); } -static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, int selection) +static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, + int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 30); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, + "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 30); } ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END @@ -1046,30 +1132,40 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_sphincsshake128fsimple) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, + 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, + 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, + OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, + OQS_KEM_alg_frodokem_640_shake, 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, + 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, + 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, + OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, + OQS_KEM_alg_frodokem_976_shake, 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, + 256) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, + OQS_KEM_alg_frodokem_1344_shake, 256) MAKE_KEM_KEYMGMT_FUNCTIONS(kyber512, OQS_KEM_alg_kyber_512, 128) MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_kyber512, OQS_KEM_alg_kyber_512, 128) diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h index f84e47d4..d560b356 100644 --- a/oqsprov/oqs_prov.h +++ b/oqsprov/oqs_prov.h @@ -240,631 +240,1310 @@ extern const OSSL_DISPATCH oqs_signature_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_START #ifdef OQS_KEM_ENCODERS - -extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_bikel5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_hqc256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; #endif /* OQS_KEM_ENCODERS */ - -extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions + []; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_END ///// OQS_TEMPLATE_FRAGMENT_ALG_FUNCTIONS_START -extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha512_keymgmt_functions[]; @@ -873,14 +1552,29 @@ extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithShake128_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithShake256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_keymgmt_functions[]; diff --git a/oqsprov/oqs_sig.c b/oqsprov/oqs_sig.c index 3d0f5e83..c0b304e9 100644 --- a/oqsprov/oqs_sig.c +++ b/oqsprov/oqs_sig.c @@ -4,36 +4,41 @@ * OQS OpenSSL 3 provider * * Code strongly inspired by OpenSSL DSA signature provider. - * + * */ #include "oqs/sig.h" #include +#include "oqs_prov.h" #include -#include #include #include +#include #include -#include #include -#include +#include #include -#include "oqs_prov.h" // TBD: Review what we really need/want: For now go with OSSL settings: -#define OSSL_MAX_NAME_SIZE 50 -#define OSSL_MAX_PROPQUERY_SIZE 256 /* Property query strings */ +#define OSSL_MAX_NAME_SIZE 50 +#define OSSL_MAX_PROPQUERY_SIZE 256 /* Property query strings */ #ifdef NDEBUG -#define OQS_SIG_PRINTF(a) -#define OQS_SIG_PRINTF2(a, b) -#define OQS_SIG_PRINTF3(a, b, c) +# define OQS_SIG_PRINTF(a) +# define OQS_SIG_PRINTF2(a, b) +# define OQS_SIG_PRINTF3(a, b, c) #else -#define OQS_SIG_PRINTF(a) if (getenv("OQSSIG")) printf(a) -#define OQS_SIG_PRINTF2(a, b) if (getenv("OQSSIG")) printf(a, b) -#define OQS_SIG_PRINTF3(a, b, c) if (getenv("OQSSIG")) printf(a, b, c) +# define OQS_SIG_PRINTF(a) \ + if (getenv("OQSSIG")) \ + printf(a) +# define OQS_SIG_PRINTF2(a, b) \ + if (getenv("OQSSIG")) \ + printf(a, b) +# define OQS_SIG_PRINTF3(a, b, c) \ + if (getenv("OQSSIG")) \ + printf(a, b, c) #endif // NDEBUG static OSSL_FUNC_signature_newctx_fn oqs_sig_newctx; @@ -42,11 +47,13 @@ static OSSL_FUNC_signature_verify_init_fn oqs_sig_verify_init; static OSSL_FUNC_signature_sign_fn oqs_sig_sign; static OSSL_FUNC_signature_verify_fn oqs_sig_verify; static OSSL_FUNC_signature_digest_sign_init_fn oqs_sig_digest_sign_init; -static OSSL_FUNC_signature_digest_sign_update_fn oqs_sig_digest_signverify_update; +static OSSL_FUNC_signature_digest_sign_update_fn + oqs_sig_digest_signverify_update; static OSSL_FUNC_signature_digest_sign_final_fn oqs_sig_digest_sign_final; static OSSL_FUNC_signature_digest_sign_fn oqs_sig_digest_sign; static OSSL_FUNC_signature_digest_verify_init_fn oqs_sig_digest_verify_init; -static OSSL_FUNC_signature_digest_verify_update_fn oqs_sig_digest_signverify_update; +static OSSL_FUNC_signature_digest_verify_update_fn + oqs_sig_digest_signverify_update; static OSSL_FUNC_signature_digest_verify_final_fn oqs_sig_digest_verify_final; static OSSL_FUNC_signature_digest_verify_fn oqs_sig_digest_verify; static OSSL_FUNC_signature_freectx_fn oqs_sig_freectx; @@ -56,9 +63,11 @@ static OSSL_FUNC_signature_gettable_ctx_params_fn oqs_sig_gettable_ctx_params; static OSSL_FUNC_signature_set_ctx_params_fn oqs_sig_set_ctx_params; static OSSL_FUNC_signature_settable_ctx_params_fn oqs_sig_settable_ctx_params; static OSSL_FUNC_signature_get_ctx_md_params_fn oqs_sig_get_ctx_md_params; -static OSSL_FUNC_signature_gettable_ctx_md_params_fn oqs_sig_gettable_ctx_md_params; +static OSSL_FUNC_signature_gettable_ctx_md_params_fn + oqs_sig_gettable_ctx_md_params; static OSSL_FUNC_signature_set_ctx_md_params_fn oqs_sig_set_ctx_md_params; -static OSSL_FUNC_signature_settable_ctx_md_params_fn oqs_sig_settable_ctx_md_params; +static OSSL_FUNC_signature_settable_ctx_md_params_fn + oqs_sig_settable_ctx_md_params; /* * What's passed as an actual key is defined by the KEYMGMT interface. @@ -81,87 +90,92 @@ typedef struct { /* The Algorithm Identifier of the combined signature algorithm */ unsigned char *aid; - size_t aid_len; + size_t aid_len; /* main digest */ EVP_MD *md; EVP_MD_CTX *mdctx; size_t mdsize; // for collecting data if no MD is active: - unsigned char* mddata; + unsigned char *mddata; int operation; // Hash-n-sign (no need to re-hash for the traditional part) int is_pre_hashed; } PROV_OQSSIG_CTX; // OIDS: -static int get_aid(unsigned char** oidbuf, const char *tls_name, const char * mdname, PROV_OQSSIG_CTX *ctx) { +static int get_aid(unsigned char **oidbuf, const char *tls_name, + const char *mdname, PROV_OQSSIG_CTX *ctx) +{ - X509_ALGOR *algor = NULL; - EVP_MD * digest_alg = NULL; + X509_ALGOR *algor = NULL; + EVP_MD *digest_alg = NULL; - int aidlen = 0; - int sig_alg = 0; - int digest_nid = 0; + int aidlen = 0; + int sig_alg = 0; + int digest_nid = 0; - // Input checks - if (!tls_name || !ctx) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - return 0; - } + // Input checks + if (!tls_name || !ctx) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + return 0; + } - // Retireves the NID for the PKEY type - int pkey_nid = OBJ_txt2nid(tls_name); - if (pkey_nid == NID_undef) { - OQS_SIG_PRINTF2("OQS SIG provider: can not get the id for pkey %s\n", tls_name); - ERR_raise(ERR_LIB_USER, OQSPROV_R_OBJ_CREATE_ERR); - return 0; - } - - // Retrieves the NID for the digest (if any) - if (mdname != NULL - && strncmp(mdname, "NULL", 4) - && strncmp(mdname, "null", 4) - && strncmp(mdname, "undef", 5) - && strncmp(mdname, "UNDEF", 5)) { - digest_alg = EVP_MD_fetch(ctx->libctx, mdname, NULL); - } else if (ctx->md != NULL && ctx->md != EVP_md_null()) { - digest_alg = ctx->md; - } else { - digest_alg = NULL; - } - - if (digest_alg) { - digest_nid = EVP_MD_nid(digest_alg); - if (digest_nid == NID_undef) { - OQS_SIG_PRINTF2("OQS SIG provider: can not get the id for digest %s\n", mdname); - ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + // Retireves the NID for the PKEY type + int pkey_nid = OBJ_txt2nid(tls_name); + if (pkey_nid == NID_undef) { + OQS_SIG_PRINTF2("OQS SIG provider: can not get the id for pkey %s\n", + tls_name); + ERR_raise(ERR_LIB_USER, OQSPROV_R_OBJ_CREATE_ERR); return 0; } - } - // Retrieves the NID for the signature algorithm - if (!OBJ_find_sigid_by_algs(&sig_alg, digest_nid, pkey_nid) || sig_alg == NID_undef) { - OQS_SIG_PRINTF3("OQS SIG provider: failure to find algorithm for %s and %s\n", tls_name, mdname); - ERR_raise(ERR_LIB_USER, OQSPROV_R_MISSING_OID); - return 0; - } + // Retrieves the NID for the digest (if any) + if (mdname != NULL && strncmp(mdname, "NULL", 4) + && strncmp(mdname, "null", 4) && strncmp(mdname, "undef", 5) + && strncmp(mdname, "UNDEF", 5)) { + digest_alg = EVP_MD_fetch(ctx->libctx, mdname, NULL); + } else if (ctx->md != NULL && ctx->md != EVP_md_null()) { + digest_alg = ctx->md; + } else { + digest_alg = NULL; + } - // Allocate the new algorithm - algor = X509_ALGOR_new(); - if (!algor) { - OQS_SIG_PRINTF("OQS SIG provider: null param error algor\n"); - ERR_raise(ERR_LIB_USER, OQSPROV_R_LIB_CREATE_ERR); - return 0; - } + if (digest_alg) { + digest_nid = EVP_MD_nid(digest_alg); + if (digest_nid == NID_undef) { + OQS_SIG_PRINTF2( + "OQS SIG provider: can not get the id for digest %s\n", mdname); + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } + } - // Set the algorithm - X509_ALGOR_set0(algor, OBJ_nid2obj(sig_alg), V_ASN1_UNDEF, NULL); + // Retrieves the NID for the signature algorithm + if (!OBJ_find_sigid_by_algs(&sig_alg, digest_nid, pkey_nid) + || sig_alg == NID_undef) { + OQS_SIG_PRINTF3( + "OQS SIG provider: failure to find algorithm for %s and %s\n", + tls_name, mdname); + ERR_raise(ERR_LIB_USER, OQSPROV_R_MISSING_OID); + return 0; + } - // Encodes the algorithm and returns the encoded data length - aidlen = i2d_X509_ALGOR(algor, oidbuf); - X509_ALGOR_free(algor); - return(aidlen); + // Allocate the new algorithm + algor = X509_ALGOR_new(); + if (!algor) { + OQS_SIG_PRINTF("OQS SIG provider: null param error algor\n"); + ERR_raise(ERR_LIB_USER, OQSPROV_R_LIB_CREATE_ERR); + return 0; + } + + // Set the algorithm + X509_ALGOR_set0(algor, OBJ_nid2obj(sig_alg), V_ASN1_UNDEF, NULL); + + // Encodes the algorithm and returns the encoded data length + aidlen = i2d_X509_ALGOR(algor, oidbuf); + X509_ALGOR_free(algor); + return (aidlen); } static void *oqs_sig_newctx(void *provctx, const char *propq) @@ -174,7 +188,7 @@ static void *oqs_sig_newctx(void *provctx, const char *propq) if (poqs_sigctx == NULL) return NULL; - poqs_sigctx->libctx = ((PROV_OQS_CTX*)provctx)->libctx; + poqs_sigctx->libctx = ((PROV_OQS_CTX *)provctx)->libctx; if (propq != NULL && (poqs_sigctx->propq = OPENSSL_strdup(propq)) == NULL) { OPENSSL_free(poqs_sigctx); poqs_sigctx = NULL; @@ -185,17 +199,18 @@ static void *oqs_sig_newctx(void *provctx, const char *propq) return poqs_sigctx; } -static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, - const char *mdname, const char *mdprops) +static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, const char *mdname, + const char *mdprops) { - OQS_SIG_PRINTF3("OQS SIG provider: setup_md called for MD %s (alg %s)\n", mdname, ctx->sig->tls_name); + OQS_SIG_PRINTF3("OQS SIG provider: setup_md called for MD %s (alg %s)\n", + mdname, ctx->sig->tls_name); if (mdprops == NULL) mdprops = ctx->propq; if (mdname != NULL) { EVP_MD *md = EVP_MD_fetch(ctx->libctx, mdname, mdprops); - if ((md == NULL)||(EVP_MD_nid(md)==NID_undef)) { + if ((md == NULL) || (EVP_MD_nid(md) == NID_undef)) { if (md == NULL) ERR_raise_data(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST, "%s could not be fetched", mdname); @@ -204,11 +219,11 @@ static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, } EVP_MD_CTX_free(ctx->mdctx); - ctx->mdctx = NULL; + ctx->mdctx = NULL; EVP_MD_free(ctx->md); - ctx->md = NULL; + ctx->md = NULL; - if (ctx->aid) + if (ctx->aid) OPENSSL_free(ctx->aid); ctx->aid = NULL; // ensure next function allocates memory ctx->aid_len = get_aid(&(ctx->aid), ctx->sig->tls_name, mdname, ctx); @@ -219,55 +234,57 @@ static int oqs_sig_setup_md(PROV_OQSSIG_CTX *ctx, return 1; } -static int oqs_sig_signverify_init(void *vpoqs_sigctx, void *voqssig, int operation) +static int oqs_sig_signverify_init(void *vpoqs_sigctx, void *voqssig, + int operation) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; OQS_SIG_PRINTF("OQS SIG provider: signverify_init called\n"); - if ( poqs_sigctx == NULL - || voqssig == NULL - || !oqsx_key_up_ref(voqssig)) + if (poqs_sigctx == NULL || voqssig == NULL || !oqsx_key_up_ref(voqssig)) return 0; oqsx_key_free(poqs_sigctx->sig); poqs_sigctx->sig = voqssig; poqs_sigctx->operation = operation; poqs_sigctx->flag_allow_md = 1; /* change permitted until first use */ - if ( (operation==EVP_PKEY_OP_SIGN && !poqs_sigctx->sig->privkey) || - (operation==EVP_PKEY_OP_VERIFY && !poqs_sigctx->sig->pubkey)) { + if ((operation == EVP_PKEY_OP_SIGN && !poqs_sigctx->sig->privkey) + || (operation == EVP_PKEY_OP_VERIFY && !poqs_sigctx->sig->pubkey)) { ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_KEY); return 0; } return 1; } -static int oqs_sig_sign_init(void *vpoqs_sigctx, void *voqssig, const OSSL_PARAM params[]) +static int oqs_sig_sign_init(void *vpoqs_sigctx, void *voqssig, + const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: sign_init called\n"); return oqs_sig_signverify_init(vpoqs_sigctx, voqssig, EVP_PKEY_OP_SIGN); } -static int oqs_sig_verify_init(void *vpoqs_sigctx, void *voqssig, const OSSL_PARAM params[]) +static int oqs_sig_verify_init(void *vpoqs_sigctx, void *voqssig, + const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: verify_init called\n"); return oqs_sig_signverify_init(vpoqs_sigctx, voqssig, EVP_PKEY_OP_VERIFY); } -/* On entry to this function, data to be signed (tbs) might have been hashed already: - * this would be the case if poqs_sigctx->mdctx != NULL; if that is NULL, we have to hash - * in case of hybrid signatures +/* On entry to this function, data to be signed (tbs) might have been hashed + * already: this would be the case if poqs_sigctx->mdctx != NULL; if that is + * NULL, we have to hash in case of hybrid signatures */ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, - size_t sigsize, const unsigned char *tbs, size_t tbslen) + size_t sigsize, const unsigned char *tbs, size_t tbslen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; - OQSX_KEY* oqsxkey = poqs_sigctx->sig; - OQS_SIG* oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; - EVP_PKEY* evpkey = oqsxkey->classical_pkey; // if this value is not NULL, we're running hybrid + OQSX_KEY *oqsxkey = poqs_sigctx->sig; + OQS_SIG *oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; + EVP_PKEY *evpkey = oqsxkey->classical_pkey; // if this value is not NULL, + // we're running hybrid EVP_PKEY_CTX *classical_ctx_sign = NULL; OQS_SIG_PRINTF2("OQS SIG provider: sign called for %ld bytes\n", tbslen); - int is_hybrid = evpkey!=NULL; + int is_hybrid = evpkey != NULL; size_t max_sig_len = oqs_key->length_signature; size_t classical_sig_len = 0, oqs_sig_len = 0; size_t actual_classical_sig_len = 0; @@ -275,18 +292,19 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, int rv = 0; if (!oqsxkey || !oqs_key || !oqsxkey->privkey) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_NO_PRIVATE_KEY); - return rv; + ERR_raise(ERR_LIB_USER, OQSPROV_R_NO_PRIVATE_KEY); + return rv; } if (is_hybrid) { - actual_classical_sig_len = oqsxkey->evp_info->length_signature; - max_sig_len += (SIZE_OF_UINT32 + actual_classical_sig_len); + actual_classical_sig_len = oqsxkey->evp_info->length_signature; + max_sig_len += (SIZE_OF_UINT32 + actual_classical_sig_len); } if (sig == NULL) { - *siglen = max_sig_len; - OQS_SIG_PRINTF2("OQS SIG provider: sign test returning size %ld\n", *siglen); - return 1; + *siglen = max_sig_len; + OQS_SIG_PRINTF2("OQS SIG provider: sign test returning size %ld\n", + *siglen); + return 1; } if (*siglen < max_sig_len) { ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); @@ -294,21 +312,23 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, } if (is_hybrid) { - if ((classical_ctx_sign = EVP_PKEY_CTX_new(evpkey, NULL)) == NULL || - EVP_PKEY_sign_init(classical_ctx_sign) <= 0) { - ERR_raise(ERR_LIB_USER, ERR_R_FATAL); - goto endsign; + if ((classical_ctx_sign = EVP_PKEY_CTX_new(evpkey, NULL)) == NULL + || EVP_PKEY_sign_init(classical_ctx_sign) <= 0) { + ERR_raise(ERR_LIB_USER, ERR_R_FATAL); + goto endsign; } if (oqsxkey->evp_info->keytype == EVP_PKEY_RSA) { - if (EVP_PKEY_CTX_set_rsa_padding(classical_ctx_sign, RSA_PKCS1_PADDING) <= 0) { - ERR_raise(ERR_LIB_USER, ERR_R_FATAL); - goto endsign; + if (EVP_PKEY_CTX_set_rsa_padding(classical_ctx_sign, + RSA_PKCS1_PADDING) + <= 0) { + ERR_raise(ERR_LIB_USER, ERR_R_FATAL); + goto endsign; } } - /* unconditionally hash to be in line with oqs-openssl111: + /* unconditionally hash to be in line with oqs-openssl111: * uncomment the following line if using pre-performed hash: - * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done + * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done */ int digest_len; @@ -316,211 +336,234 @@ static int oqs_sig_sign(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, if (!poqs_sigctx->is_pre_hashed) { - const EVP_MD *classical_md; - - /* classical schemes can't sign arbitrarily large data; we hash it first */ - switch (oqs_key->claimed_nist_level) { - case 1: - classical_md = EVP_sha256(); - digest_len = SHA256_DIGEST_LENGTH; - SHA256(tbs, tbslen, (unsigned char*) &digest); - break; - case 2: - case 3: - classical_md = EVP_sha384(); - digest_len = SHA384_DIGEST_LENGTH; - SHA384(tbs, tbslen, (unsigned char*) &digest); - break; - case 4: - case 5: - default: - classical_md = EVP_sha512(); - digest_len = SHA512_DIGEST_LENGTH; - SHA512(tbs, tbslen, (unsigned char*) &digest); - break; - } - if (EVP_PKEY_CTX_set_signature_md(classical_ctx_sign, classical_md) <= 0) { - ERR_raise(ERR_LIB_USER, ERR_R_FATAL); - goto endsign; - } + const EVP_MD *classical_md; + + /* classical schemes can't sign arbitrarily large data; we hash it + * first */ + switch (oqs_key->claimed_nist_level) { + case 1: + classical_md = EVP_sha256(); + digest_len = SHA256_DIGEST_LENGTH; + SHA256(tbs, tbslen, (unsigned char *)&digest); + break; + case 2: + case 3: + classical_md = EVP_sha384(); + digest_len = SHA384_DIGEST_LENGTH; + SHA384(tbs, tbslen, (unsigned char *)&digest); + break; + case 4: + case 5: + default: + classical_md = EVP_sha512(); + digest_len = SHA512_DIGEST_LENGTH; + SHA512(tbs, tbslen, (unsigned char *)&digest); + break; + } + if (EVP_PKEY_CTX_set_signature_md(classical_ctx_sign, classical_md) + <= 0) { + ERR_raise(ERR_LIB_USER, ERR_R_FATAL); + goto endsign; + } } else { - // Pre-Hashed Data, no need to hash again - if (tbslen > sizeof(digest)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); - goto endsign; - } - memcpy(digest, tbs, tbslen); - digest_len = tbslen; + // Pre-Hashed Data, no need to hash again + if (tbslen > sizeof(digest)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); + goto endsign; + } + memcpy(digest, tbs, tbslen); + digest_len = tbslen; } // Hashing done, just sign - if (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, &actual_classical_sig_len, digest, digest_len) <= 0) { - ERR_raise(ERR_LIB_USER, ERR_R_FATAL); - goto endsign; + if (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, + &actual_classical_sig_len, digest, digest_len) + <= 0) { + ERR_raise(ERR_LIB_USER, ERR_R_FATAL); + goto endsign; } - /* activate in case we want to use pre-performed hashes: - * } - * else { // hashing done before; just sign: - * if (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, &actual_classical_sig_len, tbs, tbslen) <= 0) { - * ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); - * goto endsign; - * } - * } - */ - if (actual_classical_sig_len > oqsxkey->evp_info->length_signature) { - /* sig is bigger than expected */ - ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); - goto endsign; - } - ENCODE_UINT32(sig, actual_classical_sig_len); - classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; - index += classical_sig_len; + /* activate in case we want to use pre-performed hashes: + * } + * else { // hashing done before; just sign: + * if (EVP_PKEY_sign(classical_ctx_sign, sig + SIZE_OF_UINT32, + * &actual_classical_sig_len, tbs, tbslen) <= 0) { + * ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + * goto endsign; + * } + * } + */ + if (actual_classical_sig_len > oqsxkey->evp_info->length_signature) { + /* sig is bigger than expected */ + ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); + goto endsign; + } + ENCODE_UINT32(sig, actual_classical_sig_len); + classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; + index += classical_sig_len; } - if (OQS_SIG_sign(oqs_key, sig + index, &oqs_sig_len, tbs, tbslen, oqsxkey->comp_privkey[oqsxkey->numkeys-1]) != OQS_SUCCESS) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); - goto endsign; + if (OQS_SIG_sign(oqs_key, sig + index, &oqs_sig_len, tbs, tbslen, + oqsxkey->comp_privkey[oqsxkey->numkeys - 1]) + != OQS_SUCCESS) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + goto endsign; } *siglen = classical_sig_len + oqs_sig_len; - OQS_SIG_PRINTF2("OQS SIG provider: signing completes with size %ld\n", *siglen); + OQS_SIG_PRINTF2("OQS SIG provider: signing completes with size %ld\n", + *siglen); rv = 1; /* success */ - endsign: +endsign: if (classical_ctx_sign) { - EVP_PKEY_CTX_free(classical_ctx_sign); + EVP_PKEY_CTX_free(classical_ctx_sign); } return rv; } -static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, size_t siglen, - const unsigned char *tbs, size_t tbslen) +static int oqs_sig_verify(void *vpoqs_sigctx, const unsigned char *sig, + size_t siglen, const unsigned char *tbs, + size_t tbslen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; - OQSX_KEY* oqsxkey = poqs_sigctx->sig; - OQS_SIG* oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; - EVP_PKEY* evpkey = oqsxkey->classical_pkey; // if this value is not NULL, we're running hybrid + OQSX_KEY *oqsxkey = poqs_sigctx->sig; + OQS_SIG *oqs_key = poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig; + EVP_PKEY *evpkey = oqsxkey->classical_pkey; // if this value is not NULL, + // we're running hybrid EVP_PKEY_CTX *classical_ctx_sign = NULL; EVP_PKEY_CTX *ctx_verify = NULL; - int is_hybrid = evpkey!=NULL; + int is_hybrid = evpkey != NULL; size_t classical_sig_len = 0; size_t index = 0; int rv = 0; - OQS_SIG_PRINTF3("OQS SIG provider: verify called with siglen %ld bytes and tbslen %ld\n", siglen, tbslen); + OQS_SIG_PRINTF3( + "OQS SIG provider: verify called with siglen %ld bytes and tbslen %ld\n", + siglen, tbslen); - if (!oqsxkey || !oqs_key || !oqsxkey->pubkey || sig == NULL || (tbs == NULL && tbslen > 0)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - goto endverify; + if (!oqsxkey || !oqs_key || !oqsxkey->pubkey || sig == NULL + || (tbs == NULL && tbslen > 0)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + goto endverify; } if (is_hybrid) { - const EVP_MD *classical_md; - size_t actual_classical_sig_len = 0; - int digest_len; - unsigned char digest[EVP_MAX_MD_SIZE]; /* init with max length */ + const EVP_MD *classical_md; + size_t actual_classical_sig_len = 0; + int digest_len; + unsigned char digest[EVP_MAX_MD_SIZE]; /* init with max length */ - if ((ctx_verify = EVP_PKEY_CTX_new(oqsxkey->classical_pkey, NULL)) == NULL || - EVP_PKEY_verify_init(ctx_verify) <= 0) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - goto endverify; - } - if (oqsxkey->evp_info->keytype == EVP_PKEY_RSA) { - if (EVP_PKEY_CTX_set_rsa_padding(ctx_verify, RSA_PKCS1_PADDING) <= 0) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - goto endverify; + if ((ctx_verify = EVP_PKEY_CTX_new(oqsxkey->classical_pkey, NULL)) + == NULL + || EVP_PKEY_verify_init(ctx_verify) <= 0) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + goto endverify; } - } - DECODE_UINT32(actual_classical_sig_len, sig); - - if (!poqs_sigctx->is_pre_hashed) { - - /* same as with sign: activate if pre-existing hashing to be used: - * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done - */ - switch (oqs_key->claimed_nist_level) { - case 1: - classical_md = EVP_sha256(); - digest_len = SHA256_DIGEST_LENGTH; - SHA256(tbs, tbslen, (unsigned char*) &digest); - break; - case 2: - case 3: - classical_md = EVP_sha384(); - digest_len = SHA384_DIGEST_LENGTH; - SHA384(tbs, tbslen, (unsigned char*) &digest); - break; - case 4: - case 5: - default: - classical_md = EVP_sha512(); - digest_len = SHA512_DIGEST_LENGTH; - SHA512(tbs, tbslen, (unsigned char*) &digest); - break; + if (oqsxkey->evp_info->keytype == EVP_PKEY_RSA) { + if (EVP_PKEY_CTX_set_rsa_padding(ctx_verify, RSA_PKCS1_PADDING) + <= 0) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + goto endverify; + } } + DECODE_UINT32(actual_classical_sig_len, sig); - if (EVP_PKEY_CTX_set_signature_md(ctx_verify, classical_md) <= 0) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - goto endverify; - } + if (!poqs_sigctx->is_pre_hashed) { + + /* same as with sign: activate if pre-existing hashing to be used: + * if (poqs_sigctx->mdctx == NULL) { // hashing not yet done + */ + switch (oqs_key->claimed_nist_level) { + case 1: + classical_md = EVP_sha256(); + digest_len = SHA256_DIGEST_LENGTH; + SHA256(tbs, tbslen, (unsigned char *)&digest); + break; + case 2: + case 3: + classical_md = EVP_sha384(); + digest_len = SHA384_DIGEST_LENGTH; + SHA384(tbs, tbslen, (unsigned char *)&digest); + break; + case 4: + case 5: + default: + classical_md = EVP_sha512(); + digest_len = SHA512_DIGEST_LENGTH; + SHA512(tbs, tbslen, (unsigned char *)&digest); + break; + } + + if (EVP_PKEY_CTX_set_signature_md(ctx_verify, classical_md) <= 0) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + goto endverify; + } + + } else { - } else { - - // Pre-Hashed Data, no need to hash again - if (tbslen > sizeof(digest)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); - goto endverify; + // Pre-Hashed Data, no need to hash again + if (tbslen > sizeof(digest)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_BUFFER_LENGTH_WRONG); + goto endverify; + } + + // Copy data and length + memcpy(digest, tbs, tbslen); + digest_len = tbslen; } - // Copy data and length - memcpy(digest, tbs, tbslen); - digest_len = tbslen; - } + if (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, + actual_classical_sig_len, digest, digest_len) + <= 0) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + goto endverify; + } else { + OQS_SIG_PRINTF("OQS SIG: classic verification OK\n"); + } - if (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, actual_classical_sig_len, digest, digest_len) <= 0) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - goto endverify; - } - else { - OQS_SIG_PRINTF("OQS SIG: classic verification OK\n"); - } - - /* activate for using pre-existing digest: - * } - * else { // hashing already done: - * if (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, actual_classical_sig_len, tbs, tbslen) <= 0) { - * ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - * goto endverify; - * } - * } - */ - classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; - index += classical_sig_len; + /* activate for using pre-existing digest: + * } + * else { // hashing already done: + * if (EVP_PKEY_verify(ctx_verify, sig + SIZE_OF_UINT32, + * actual_classical_sig_len, tbs, tbslen) <= 0) { + * ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); + * goto endverify; + * } + * } + */ + classical_sig_len = SIZE_OF_UINT32 + actual_classical_sig_len; + index += classical_sig_len; } - if (!oqsxkey->comp_pubkey[oqsxkey->numkeys-1]) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - goto endverify; + if (!oqsxkey->comp_pubkey[oqsxkey->numkeys - 1]) { + 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) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_VERIFY_ERROR); - goto endverify; + 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; } rv = 1; - endverify: +endverify: if (ctx_verify) { - EVP_PKEY_CTX_free(ctx_verify); + EVP_PKEY_CTX_free(ctx_verify); } OQS_SIG_PRINTF2("OQS SIG provider: verify rv = %d\n", rv); return rv; } -static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, const char *mdname, - void *voqssig, int operation) +static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, + const char *mdname, void *voqssig, + int operation) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; - OQS_SIG_PRINTF2("OQS SIG provider: digest_signverify_init called for mdname %s\n", mdname); + OQS_SIG_PRINTF2( + "OQS SIG provider: digest_signverify_init called for mdname %s\n", + mdname); poqs_sigctx->flag_allow_md = 1; /* permitted until first use */ if (!oqs_sig_signverify_init(vpoqs_sigctx, voqssig, operation)) @@ -530,17 +573,17 @@ static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, const char *mdname return 0; if (mdname != NULL) { - poqs_sigctx->mdctx = EVP_MD_CTX_new(); - if (poqs_sigctx->mdctx == NULL) - goto error; + poqs_sigctx->mdctx = EVP_MD_CTX_new(); + if (poqs_sigctx->mdctx == NULL) + goto error; - if (!EVP_DigestInit_ex(poqs_sigctx->mdctx, poqs_sigctx->md, NULL)) - goto error; + if (!EVP_DigestInit_ex(poqs_sigctx->mdctx, poqs_sigctx->md, NULL)) + goto error; } return 1; - error: +error: EVP_MD_CTX_free(poqs_sigctx->mdctx); EVP_MD_free(poqs_sigctx->md); poqs_sigctx->mdctx = NULL; @@ -550,20 +593,23 @@ static int oqs_sig_digest_signverify_init(void *vpoqs_sigctx, const char *mdname } static int oqs_sig_digest_sign_init(void *vpoqs_sigctx, const char *mdname, - void *voqssig, const OSSL_PARAM params[]) + void *voqssig, const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: digest_sign_init called\n"); - return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, EVP_PKEY_OP_SIGN); + return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, + EVP_PKEY_OP_SIGN); } -static int oqs_sig_digest_verify_init(void *vpoqs_sigctx, const char *mdname, void *voqssig, const OSSL_PARAM params[]) +static int oqs_sig_digest_verify_init(void *vpoqs_sigctx, const char *mdname, + void *voqssig, const OSSL_PARAM params[]) { OQS_SIG_PRINTF("OQS SIG provider: sig_digest_verify called\n"); - return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, EVP_PKEY_OP_VERIFY); + return oqs_sig_digest_signverify_init(vpoqs_sigctx, mdname, voqssig, + EVP_PKEY_OP_VERIFY); } -int oqs_sig_digest_signverify_update(void *vpoqs_sigctx, const unsigned char *data, - size_t datalen) +int oqs_sig_digest_signverify_update(void *vpoqs_sigctx, + const unsigned char *data, size_t datalen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; @@ -574,30 +620,34 @@ int oqs_sig_digest_signverify_update(void *vpoqs_sigctx, const unsigned char *da // disallow MD changes after update has been called at least once poqs_sigctx->flag_allow_md = 0; - if (poqs_sigctx->mdctx) - return EVP_DigestUpdate(poqs_sigctx->mdctx, data, datalen); + if (poqs_sigctx->mdctx) + return EVP_DigestUpdate(poqs_sigctx->mdctx, data, datalen); else { - // unconditionally collect data for passing in full to OQS API - if (poqs_sigctx->mddata) { - unsigned char* newdata = OPENSSL_realloc(poqs_sigctx->mddata, poqs_sigctx->mdsize+datalen); - if (newdata == NULL) return 0; - memcpy(newdata+poqs_sigctx->mdsize, data, datalen); - poqs_sigctx->mddata = newdata; - poqs_sigctx->mdsize += datalen; - } - else { // simple alloc and copy - poqs_sigctx->mddata = OPENSSL_malloc(datalen); - if (poqs_sigctx->mddata == NULL) return 0; - poqs_sigctx->mdsize=datalen; - memcpy(poqs_sigctx->mddata, data, poqs_sigctx->mdsize); - } - OQS_SIG_PRINTF2("OQS SIG provider: digest_signverify_update collected %ld bytes...\n", poqs_sigctx->mdsize); + // unconditionally collect data for passing in full to OQS API + if (poqs_sigctx->mddata) { + unsigned char *newdata = OPENSSL_realloc( + poqs_sigctx->mddata, poqs_sigctx->mdsize + datalen); + if (newdata == NULL) + return 0; + memcpy(newdata + poqs_sigctx->mdsize, data, datalen); + poqs_sigctx->mddata = newdata; + poqs_sigctx->mdsize += datalen; + } else { // simple alloc and copy + poqs_sigctx->mddata = OPENSSL_malloc(datalen); + if (poqs_sigctx->mddata == NULL) + return 0; + poqs_sigctx->mdsize = datalen; + memcpy(poqs_sigctx->mddata, data, poqs_sigctx->mdsize); + } + OQS_SIG_PRINTF2( + "OQS SIG provider: digest_signverify_update collected %ld bytes...\n", + poqs_sigctx->mdsize); } return 1; } -int oqs_sig_digest_sign_final(void *vpoqs_sigctx, unsigned char *sig, size_t *siglen, - size_t sigsize) +int oqs_sig_digest_sign_final(void *vpoqs_sigctx, unsigned char *sig, + size_t *siglen, size_t sigsize) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; unsigned char digest[EVP_MAX_MD_SIZE]; @@ -614,26 +664,26 @@ int oqs_sig_digest_sign_final(void *vpoqs_sigctx, unsigned char *sig, size_t *si if (sig != NULL) { /* * TODO(3.0): There is the possibility that some externally provided - * digests exceed EVP_MAX_MD_SIZE. We should probably handle that somehow - - * but that problem is much larger than just here. + * digests exceed EVP_MAX_MD_SIZE. We should probably handle that + * somehow - but that problem is much larger than just here. */ - if (poqs_sigctx->mdctx != NULL) - if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) - return 0; + if (poqs_sigctx->mdctx != NULL) + if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) + return 0; } poqs_sigctx->flag_allow_md = 1; - if (poqs_sigctx->mdctx != NULL) - return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, digest, (size_t)dlen); + if (poqs_sigctx->mdctx != NULL) + return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, digest, + (size_t)dlen); else - return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, poqs_sigctx->mddata, poqs_sigctx->mdsize); - + return oqs_sig_sign(vpoqs_sigctx, sig, siglen, sigsize, + poqs_sigctx->mddata, poqs_sigctx->mdsize); } - int oqs_sig_digest_verify_final(void *vpoqs_sigctx, const unsigned char *sig, - size_t siglen) + size_t siglen) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; unsigned char digest[EVP_MAX_MD_SIZE]; @@ -645,139 +695,142 @@ int oqs_sig_digest_verify_final(void *vpoqs_sigctx, const unsigned char *sig, // TBC for hybrids: if (poqs_sigctx->mdctx) { - if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) - return 0; + if (!EVP_DigestFinal_ex(poqs_sigctx->mdctx, digest, &dlen)) + return 0; - poqs_sigctx->flag_allow_md = 1; + poqs_sigctx->flag_allow_md = 1; - return oqs_sig_verify(vpoqs_sigctx, sig, siglen, digest, (size_t)dlen); - } - else - return oqs_sig_verify(vpoqs_sigctx, sig, siglen, poqs_sigctx->mddata, poqs_sigctx->mdsize); + return oqs_sig_verify(vpoqs_sigctx, sig, siglen, digest, (size_t)dlen); + } else + return oqs_sig_verify(vpoqs_sigctx, sig, siglen, poqs_sigctx->mddata, + poqs_sigctx->mdsize); } -int oqs_sig_digest_sign(void *ctx, - unsigned char *sig, size_t *siglen, - size_t sigsize, const unsigned char *tbs, - size_t tbslen) { +int oqs_sig_digest_sign(void *ctx, unsigned char *sig, size_t *siglen, + size_t sigsize, const unsigned char *tbs, size_t tbslen) +{ - PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)ctx; + PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)ctx; - // Input checks - if (!ctx || !siglen || !tbs || !tbslen) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - return 0; - } + // Input checks + if (!ctx || !siglen || !tbs || !tbslen) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + return 0; + } - // Verify we have all our ducks in a row - if (!poqs_sigctx->sig || !poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_NO_PRIVATE_KEY); - return 0; - } - - // Sends back the signature size if no buffer was provided - if (!sig) { - // Estimates the signature size - if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs, tbslen)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); - return 0; + // Verify we have all our ducks in a row + if (!poqs_sigctx->sig + || !poqs_sigctx->sig->oqsx_provider_ctx.oqsx_qs_ctx.sig) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_NO_PRIVATE_KEY); + return 0; } - // All Done - return 1; - } - - // If no digest is configured, we do not use any - if (!poqs_sigctx->md || !poqs_sigctx->mdctx) { - // Generates the signature on the data (direct signing) - if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs, tbslen)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); - return 0; + + // Sends back the signature size if no buffer was provided + if (!sig) { + // Estimates the signature size + if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs, tbslen)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + return 0; + } + // All Done + return 1; + } + + // If no digest is configured, we do not use any + if (!poqs_sigctx->md || !poqs_sigctx->mdctx) { + // Generates the signature on the data (direct signing) + if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs, tbslen)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + return 0; + } + // All Done + return 1; } - // All Done - return 1; - } - // Calculates the digest - unsigned char tbs_digest[EVP_MAX_MD_SIZE]; - unsigned int tbs_digest_len = sizeof(tbs_digest); + // Calculates the digest + unsigned char tbs_digest[EVP_MAX_MD_SIZE]; + unsigned int tbs_digest_len = sizeof(tbs_digest); - // Checks for private key in the context - if (!EVP_Digest(tbs, tbslen, tbs_digest, &tbs_digest_len, poqs_sigctx->md, NULL)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); - return 0; - } + // Checks for private key in the context + if (!EVP_Digest(tbs, tbslen, tbs_digest, &tbs_digest_len, poqs_sigctx->md, + NULL)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } - // Signals the traditional that no additional hashing is needed - poqs_sigctx->is_pre_hashed = 1; + // Signals the traditional that no additional hashing is needed + poqs_sigctx->is_pre_hashed = 1; - // Generates the signature on the digest - if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs_digest, tbs_digest_len)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); - return 0; - } + // Generates the signature on the digest + if (!oqs_sig_sign(ctx, sig, siglen, sigsize, tbs_digest, tbs_digest_len)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_SIGNING_FAILED); + return 0; + } - // Success - return 1; + // Success + return 1; } -int oqs_sig_digest_verify(void *ctx, const unsigned char *sig, - size_t siglen, const unsigned char *tbs, - size_t tbslen) { - - PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)ctx; +int oqs_sig_digest_verify(void *ctx, const unsigned char *sig, size_t siglen, + const unsigned char *tbs, size_t tbslen) +{ + + PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)ctx; // Retrieves the context - EVP_MD * md = NULL; + EVP_MD *md = NULL; // The digest to use - unsigned char tbs_digest[EVP_MAX_MD_SIZE]; - unsigned int tbs_digest_len = sizeof(tbs_digest); + unsigned char tbs_digest[EVP_MAX_MD_SIZE]; + unsigned int tbs_digest_len = sizeof(tbs_digest); // Buffer for the digest - // Input checks - if (!ctx || !sig || !siglen || !tbs || !tbslen) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); - return 0; - } - - // Checks if we have a valid digest - if (!poqs_sigctx->md - && poqs_sigctx->mdname[0] - && OPENSSL_strncasecmp(poqs_sigctx->mdname, "UNDEF", 5) != 0) { - // Fetch the MD - md = EVP_MD_fetch(poqs_sigctx->libctx, poqs_sigctx->mdname, NULL); - if (!md) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); - return 0; + // Input checks + if (!ctx || !sig || !siglen || !tbs || !tbslen) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_WRONG_PARAMETERS); + return 0; } - } else if (poqs_sigctx->md) { - // Use the configured digest - md = poqs_sigctx->md; - } - if (md) { - // Checks for private key in the context - if (!EVP_Digest(tbs, tbslen, tbs_digest, &tbs_digest_len, md, NULL)) { - ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); - return 0; - } - // Use passed digest - int success = oqs_sig_verify(ctx, sig, siglen, tbs_digest, tbs_digest_len); - if (!success) { - if (!poqs_sigctx->md) EVP_MD_free(md); - return 0; + // Checks if we have a valid digest + if (!poqs_sigctx->md && poqs_sigctx->mdname[0] + && OPENSSL_strncasecmp(poqs_sigctx->mdname, "UNDEF", 5) != 0) { + // Fetch the MD + md = EVP_MD_fetch(poqs_sigctx->libctx, poqs_sigctx->mdname, NULL); + if (!md) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } + } else if (poqs_sigctx->md) { + // Use the configured digest + md = poqs_sigctx->md; } - } else { - // No digest, use the data directly - int success = oqs_sig_verify(ctx, sig, siglen, tbs, tbslen); - if (!success) { - if (!poqs_sigctx->md) EVP_MD_free(md); - return 0; + + if (md) { + // Checks for private key in the context + if (!EVP_Digest(tbs, tbslen, tbs_digest, &tbs_digest_len, md, NULL)) { + ERR_raise(ERR_LIB_USER, OQSPROV_R_INVALID_DIGEST); + return 0; + } + // Use passed digest + int success + = oqs_sig_verify(ctx, sig, siglen, tbs_digest, tbs_digest_len); + if (!success) { + if (!poqs_sigctx->md) + EVP_MD_free(md); + return 0; + } + } else { + // No digest, use the data directly + int success = oqs_sig_verify(ctx, sig, siglen, tbs, tbslen); + if (!success) { + if (!poqs_sigctx->md) + EVP_MD_free(md); + return 0; + } } - } - // Success - return 1; + // Success + return 1; } static void oqs_sig_freectx(void *vpoqs_sigctx) @@ -828,32 +881,32 @@ static void *oqs_sig_dupctx(void *vpoqs_sigctx) if (srcctx->mdctx != NULL) { dstctx->mdctx = EVP_MD_CTX_new(); if (dstctx->mdctx == NULL - || !EVP_MD_CTX_copy_ex(dstctx->mdctx, srcctx->mdctx)) + || !EVP_MD_CTX_copy_ex(dstctx->mdctx, srcctx->mdctx)) goto err; } if (srcctx->mddata) { - dstctx->mddata=OPENSSL_memdup(srcctx->mddata, srcctx->mdsize); - if (dstctx->mddata == NULL) + dstctx->mddata = OPENSSL_memdup(srcctx->mddata, srcctx->mdsize); + if (dstctx->mddata == NULL) goto err; - dstctx->mdsize = srcctx->mdsize; + dstctx->mdsize = srcctx->mdsize; } if (srcctx->aid) { - dstctx->aid = OPENSSL_memdup(srcctx->aid, srcctx->aid_len); - if (dstctx->aid == NULL) - goto err; - dstctx->aid_len = srcctx->aid_len; + dstctx->aid = OPENSSL_memdup(srcctx->aid, srcctx->aid_len); + if (dstctx->aid == NULL) + goto err; + dstctx->aid_len = srcctx->aid_len; } if (srcctx->propq) { - dstctx->propq = OPENSSL_strdup(srcctx->propq); - if (dstctx->propq == NULL) - goto err; + dstctx->propq = OPENSSL_strdup(srcctx->propq); + if (dstctx->propq == NULL) + goto err; } return dstctx; - err: +err: oqs_sig_freectx(dstctx); return NULL; } @@ -870,11 +923,13 @@ static int oqs_sig_get_ctx_params(void *vpoqs_sigctx, OSSL_PARAM *params) p = OSSL_PARAM_locate(params, OSSL_SIGNATURE_PARAM_ALGORITHM_ID); if (poqs_sigctx->aid == NULL) { - poqs_sigctx->aid_len = get_aid(&(poqs_sigctx->aid), poqs_sigctx->sig->tls_name, NULL, poqs_sigctx); + poqs_sigctx->aid_len = get_aid( + &(poqs_sigctx->aid), poqs_sigctx->sig->tls_name, NULL, poqs_sigctx); } if (p != NULL - && !OSSL_PARAM_set_octet_string(p, poqs_sigctx->aid, poqs_sigctx->aid_len)) + && !OSSL_PARAM_set_octet_string(p, poqs_sigctx->aid, + poqs_sigctx->aid_len)) return 0; p = OSSL_PARAM_locate(params, OSSL_SIGNATURE_PARAM_DIGEST); @@ -884,13 +939,14 @@ static int oqs_sig_get_ctx_params(void *vpoqs_sigctx, OSSL_PARAM *params) return 1; } -static const OSSL_PARAM known_gettable_ctx_params[] = { - OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0), - OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), - OSSL_PARAM_END -}; +static const OSSL_PARAM known_gettable_ctx_params[] + = {OSSL_PARAM_octet_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), + OSSL_PARAM_END}; -static const OSSL_PARAM *oqs_sig_gettable_ctx_params(ossl_unused void *vpoqs_sigctx, ossl_unused void *vctx) +static const OSSL_PARAM * +oqs_sig_gettable_ctx_params(ossl_unused void *vpoqs_sigctx, + ossl_unused void *vctx) { OQS_SIG_PRINTF("OQS SIG provider: gettable_ctx_params called\n"); return known_gettable_ctx_params; @@ -911,9 +967,8 @@ static int oqs_sig_set_ctx_params(void *vpoqs_sigctx, const OSSL_PARAM params[]) if (p != NULL) { char mdname[OSSL_MAX_NAME_SIZE] = "", *pmdname = mdname; char mdprops[OSSL_MAX_PROPQUERY_SIZE] = "", *pmdprops = mdprops; - const OSSL_PARAM *propsp = - OSSL_PARAM_locate_const(params, - OSSL_SIGNATURE_PARAM_PROPERTIES); + const OSSL_PARAM *propsp + = OSSL_PARAM_locate_const(params, OSSL_SIGNATURE_PARAM_PROPERTIES); if (!OSSL_PARAM_get_utf8_string(p, &pmdname, sizeof(mdname))) return 0; @@ -927,12 +982,11 @@ static int oqs_sig_set_ctx_params(void *vpoqs_sigctx, const OSSL_PARAM params[]) return 1; } -static const OSSL_PARAM known_settable_ctx_params[] = { - OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), - OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0), - OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PROPERTIES, NULL, 0), - OSSL_PARAM_END -}; +static const OSSL_PARAM known_settable_ctx_params[] + = {OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_DIGEST, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_ALGORITHM_ID, NULL, 0), + OSSL_PARAM_utf8_string(OSSL_SIGNATURE_PARAM_PROPERTIES, NULL, 0), + OSSL_PARAM_END}; static const OSSL_PARAM *oqs_sig_settable_ctx_params(ossl_unused void *vpsm2ctx, ossl_unused void *provctx) @@ -975,7 +1029,8 @@ static const OSSL_PARAM *oqs_sig_gettable_ctx_md_params(void *vpoqs_sigctx) return EVP_MD_gettable_ctx_params(poqs_sigctx->md); } -static int oqs_sig_set_ctx_md_params(void *vpoqs_sigctx, const OSSL_PARAM params[]) +static int oqs_sig_set_ctx_md_params(void *vpoqs_sigctx, + const OSSL_PARAM params[]) { PROV_OQSSIG_CTX *poqs_sigctx = (PROV_OQSSIG_CTX *)vpoqs_sigctx; @@ -998,42 +1053,41 @@ static const OSSL_PARAM *oqs_sig_settable_ctx_md_params(void *vpoqs_sigctx) } const OSSL_DISPATCH oqs_signature_functions[] = { - { OSSL_FUNC_SIGNATURE_NEWCTX, (void (*)(void))oqs_sig_newctx }, - { OSSL_FUNC_SIGNATURE_SIGN_INIT, (void (*)(void))oqs_sig_sign_init }, - { OSSL_FUNC_SIGNATURE_SIGN, (void (*)(void))oqs_sig_sign }, - { OSSL_FUNC_SIGNATURE_VERIFY_INIT, (void (*)(void))oqs_sig_verify_init }, - { OSSL_FUNC_SIGNATURE_VERIFY, (void (*)(void))oqs_sig_verify }, - { OSSL_FUNC_SIGNATURE_DIGEST_SIGN, - (void (*)(void))oqs_sig_digest_sign }, - { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY, - (void (*)(void))oqs_sig_digest_verify }, - { OSSL_FUNC_SIGNATURE_DIGEST_SIGN_INIT, - (void (*)(void))oqs_sig_digest_sign_init }, - { OSSL_FUNC_SIGNATURE_DIGEST_SIGN_UPDATE, - (void (*)(void))oqs_sig_digest_signverify_update }, - { OSSL_FUNC_SIGNATURE_DIGEST_SIGN_FINAL, - (void (*)(void))oqs_sig_digest_sign_final }, - { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_INIT, - (void (*)(void))oqs_sig_digest_verify_init }, - { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_UPDATE, - (void (*)(void))oqs_sig_digest_signverify_update }, - { OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_FINAL, - (void (*)(void))oqs_sig_digest_verify_final }, - { OSSL_FUNC_SIGNATURE_FREECTX, (void (*)(void))oqs_sig_freectx }, - { OSSL_FUNC_SIGNATURE_DUPCTX, (void (*)(void))oqs_sig_dupctx }, - { OSSL_FUNC_SIGNATURE_GET_CTX_PARAMS, (void (*)(void))oqs_sig_get_ctx_params }, - { OSSL_FUNC_SIGNATURE_GETTABLE_CTX_PARAMS, - (void (*)(void))oqs_sig_gettable_ctx_params }, - { OSSL_FUNC_SIGNATURE_SET_CTX_PARAMS, (void (*)(void))oqs_sig_set_ctx_params }, - { OSSL_FUNC_SIGNATURE_SETTABLE_CTX_PARAMS, - (void (*)(void))oqs_sig_settable_ctx_params }, - { OSSL_FUNC_SIGNATURE_GET_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_get_ctx_md_params }, - { OSSL_FUNC_SIGNATURE_GETTABLE_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_gettable_ctx_md_params }, - { OSSL_FUNC_SIGNATURE_SET_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_set_ctx_md_params }, - { OSSL_FUNC_SIGNATURE_SETTABLE_CTX_MD_PARAMS, - (void (*)(void))oqs_sig_settable_ctx_md_params }, - { 0, NULL } -}; + {OSSL_FUNC_SIGNATURE_NEWCTX, (void (*)(void))oqs_sig_newctx}, + {OSSL_FUNC_SIGNATURE_SIGN_INIT, (void (*)(void))oqs_sig_sign_init}, + {OSSL_FUNC_SIGNATURE_SIGN, (void (*)(void))oqs_sig_sign}, + {OSSL_FUNC_SIGNATURE_VERIFY_INIT, (void (*)(void))oqs_sig_verify_init}, + {OSSL_FUNC_SIGNATURE_VERIFY, (void (*)(void))oqs_sig_verify}, + {OSSL_FUNC_SIGNATURE_DIGEST_SIGN, (void (*)(void))oqs_sig_digest_sign}, + {OSSL_FUNC_SIGNATURE_DIGEST_VERIFY, (void (*)(void))oqs_sig_digest_verify}, + {OSSL_FUNC_SIGNATURE_DIGEST_SIGN_INIT, + (void (*)(void))oqs_sig_digest_sign_init}, + {OSSL_FUNC_SIGNATURE_DIGEST_SIGN_UPDATE, + (void (*)(void))oqs_sig_digest_signverify_update}, + {OSSL_FUNC_SIGNATURE_DIGEST_SIGN_FINAL, + (void (*)(void))oqs_sig_digest_sign_final}, + {OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_INIT, + (void (*)(void))oqs_sig_digest_verify_init}, + {OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_UPDATE, + (void (*)(void))oqs_sig_digest_signverify_update}, + {OSSL_FUNC_SIGNATURE_DIGEST_VERIFY_FINAL, + (void (*)(void))oqs_sig_digest_verify_final}, + {OSSL_FUNC_SIGNATURE_FREECTX, (void (*)(void))oqs_sig_freectx}, + {OSSL_FUNC_SIGNATURE_DUPCTX, (void (*)(void))oqs_sig_dupctx}, + {OSSL_FUNC_SIGNATURE_GET_CTX_PARAMS, + (void (*)(void))oqs_sig_get_ctx_params}, + {OSSL_FUNC_SIGNATURE_GETTABLE_CTX_PARAMS, + (void (*)(void))oqs_sig_gettable_ctx_params}, + {OSSL_FUNC_SIGNATURE_SET_CTX_PARAMS, + (void (*)(void))oqs_sig_set_ctx_params}, + {OSSL_FUNC_SIGNATURE_SETTABLE_CTX_PARAMS, + (void (*)(void))oqs_sig_settable_ctx_params}, + {OSSL_FUNC_SIGNATURE_GET_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_get_ctx_md_params}, + {OSSL_FUNC_SIGNATURE_GETTABLE_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_gettable_ctx_md_params}, + {OSSL_FUNC_SIGNATURE_SET_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_set_ctx_md_params}, + {OSSL_FUNC_SIGNATURE_SETTABLE_CTX_MD_PARAMS, + (void (*)(void))oqs_sig_settable_ctx_md_params}, + {0, NULL}}; diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index b7475a2d..bc1a4ea9 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -48,95 +48,165 @@ extern OSSL_FUNC_provider_get_capabilities_fn oqs_provider_get_capabilities; */ ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_START - #ifdef OQS_KEM_ENCODERS -#define OQS_OID_CNT 146 +# define OQS_OID_CNT 146 #else -#define OQS_OID_CNT 62 +# define OQS_OID_CNT 62 #endif -const char* oqs_oid_alg_list[OQS_OID_CNT] = -{ +const char *oqs_oid_alg_list[OQS_OID_CNT] = { #ifdef OQS_KEM_ENCODERS -"1.3.9999.99.13", "frodo640aes", -"1.3.9999.99.12", "p256_frodo640aes", -"1.3.9999.99.1", "x25519_frodo640aes", -"1.3.9999.99.15", "frodo640shake", -"1.3.9999.99.14", "p256_frodo640shake", -"1.3.9999.99.2", "x25519_frodo640shake", -"1.3.9999.99.17", "frodo976aes", -"1.3.9999.99.16", "p384_frodo976aes", -"1.3.9999.99.3", "x448_frodo976aes", -"1.3.9999.99.19", "frodo976shake", -"1.3.9999.99.18", "p384_frodo976shake", -"1.3.9999.99.4", "x448_frodo976shake", -"1.3.9999.99.21", "frodo1344aes", -"1.3.9999.99.20", "p521_frodo1344aes", -"1.3.9999.99.23", "frodo1344shake", -"1.3.9999.99.22", "p521_frodo1344shake", -"1.3.6.1.4.1.22554.5.6.1", "kyber512", -"1.3.6.1.4.1.22554.5.7.1", "p256_kyber512", -"1.3.6.1.4.1.22554.5.8.1", "x25519_kyber512", -"1.3.6.1.4.1.22554.5.6.2", "kyber768", -"1.3.9999.99.24", "p384_kyber768", -"1.3.9999.99.5", "x448_kyber768", -"1.3.9999.99.6", "x25519_kyber768", -"1.3.9999.99.7", "p256_kyber768", -"1.3.6.1.4.1.22554.5.6.3", "kyber1024", -"1.3.9999.99.25", "p521_kyber1024", -"1.3.9999.99.27", "bikel1", -"1.3.9999.99.26", "p256_bikel1", -"1.3.9999.99.8", "x25519_bikel1", -"1.3.9999.99.29", "bikel3", -"1.3.9999.99.28", "p384_bikel3", -"1.3.9999.99.9", "x448_bikel3", -"1.3.9999.99.31", "bikel5", -"1.3.9999.99.30", "p521_bikel5", -"1.3.9999.99.33", "hqc128", -"1.3.9999.99.32", "p256_hqc128", -"1.3.9999.99.10", "x25519_hqc128", -"1.3.9999.99.35", "hqc192", -"1.3.9999.99.34", "p384_hqc192", -"1.3.9999.99.11", "x448_hqc192", -"1.3.9999.99.37", "hqc256", -"1.3.9999.99.36", "p521_hqc256", + "1.3.9999.99.13", + "frodo640aes", + "1.3.9999.99.12", + "p256_frodo640aes", + "1.3.9999.99.1", + "x25519_frodo640aes", + "1.3.9999.99.15", + "frodo640shake", + "1.3.9999.99.14", + "p256_frodo640shake", + "1.3.9999.99.2", + "x25519_frodo640shake", + "1.3.9999.99.17", + "frodo976aes", + "1.3.9999.99.16", + "p384_frodo976aes", + "1.3.9999.99.3", + "x448_frodo976aes", + "1.3.9999.99.19", + "frodo976shake", + "1.3.9999.99.18", + "p384_frodo976shake", + "1.3.9999.99.4", + "x448_frodo976shake", + "1.3.9999.99.21", + "frodo1344aes", + "1.3.9999.99.20", + "p521_frodo1344aes", + "1.3.9999.99.23", + "frodo1344shake", + "1.3.9999.99.22", + "p521_frodo1344shake", + "1.3.6.1.4.1.22554.5.6.1", + "kyber512", + "1.3.6.1.4.1.22554.5.7.1", + "p256_kyber512", + "1.3.6.1.4.1.22554.5.8.1", + "x25519_kyber512", + "1.3.6.1.4.1.22554.5.6.2", + "kyber768", + "1.3.9999.99.24", + "p384_kyber768", + "1.3.9999.99.5", + "x448_kyber768", + "1.3.9999.99.6", + "x25519_kyber768", + "1.3.9999.99.7", + "p256_kyber768", + "1.3.6.1.4.1.22554.5.6.3", + "kyber1024", + "1.3.9999.99.25", + "p521_kyber1024", + "1.3.9999.99.27", + "bikel1", + "1.3.9999.99.26", + "p256_bikel1", + "1.3.9999.99.8", + "x25519_bikel1", + "1.3.9999.99.29", + "bikel3", + "1.3.9999.99.28", + "p384_bikel3", + "1.3.9999.99.9", + "x448_bikel3", + "1.3.9999.99.31", + "bikel5", + "1.3.9999.99.30", + "p521_bikel5", + "1.3.9999.99.33", + "hqc128", + "1.3.9999.99.32", + "p256_hqc128", + "1.3.9999.99.10", + "x25519_hqc128", + "1.3.9999.99.35", + "hqc192", + "1.3.9999.99.34", + "p384_hqc192", + "1.3.9999.99.11", + "x448_hqc192", + "1.3.9999.99.37", + "hqc256", + "1.3.9999.99.36", + "p521_hqc256", #endif /* OQS_KEM_ENCODERS */ - -"1.3.6.1.4.1.2.267.7.4.4", "dilithium2", -"1.3.9999.2.7.1" , "p256_dilithium2", -"1.3.9999.2.7.2" , "rsa3072_dilithium2", -"1.3.6.1.4.1.18227.999.1.1.1", "dilithium2WithSha256", -"1.3.6.1.4.1.18227.999.1.1.2", "dilithium2WithSha384", -"1.3.6.1.4.1.18227.999.1.1.3", "dilithium2WithSha512", -"1.3.6.1.4.1.18227.999.1.1.4", "dilithium2WithSha3At256", -"1.3.6.1.4.1.18227.999.1.1.5", "dilithium2WithSha3At384", -"1.3.6.1.4.1.18227.999.1.1.6", "dilithium2WithSha3At512", -"1.3.6.1.4.1.18227.999.1.1.7", "dilithium2WithShake128", -"1.3.6.1.4.1.18227.999.1.1.8", "dilithium2WithShake256", -"1.3.6.1.4.1.2.267.7.6.5", "dilithium3", -"1.3.9999.2.7.3" , "p384_dilithium3", -"1.3.6.1.4.1.2.267.7.8.7", "dilithium5", -"1.3.9999.2.7.4" , "p521_dilithium5", -"1.3.9999.3.6", "falcon512", -"1.3.9999.3.7" , "p256_falcon512", -"1.3.9999.3.8" , "rsa3072_falcon512", -"1.3.9999.3.9", "falcon1024", -"1.3.9999.3.10" , "p521_falcon1024", -"1.3.9999.6.4.13", "sphincssha2128fsimple", -"1.3.9999.6.4.14" , "p256_sphincssha2128fsimple", -"1.3.9999.6.4.15" , "rsa3072_sphincssha2128fsimple", -"1.3.9999.6.4.16", "sphincssha2128ssimple", -"1.3.9999.6.4.17" , "p256_sphincssha2128ssimple", -"1.3.9999.6.4.18" , "rsa3072_sphincssha2128ssimple", -"1.3.9999.6.5.10", "sphincssha2192fsimple", -"1.3.9999.6.5.11" , "p384_sphincssha2192fsimple", -"1.3.9999.6.7.13", "sphincsshake128fsimple", -"1.3.9999.6.7.14" , "p256_sphincsshake128fsimple", -"1.3.9999.6.7.15" , "rsa3072_sphincsshake128fsimple", -///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END + "1.3.6.1.4.1.2.267.7.4.4", + "dilithium2", + "1.3.9999.2.7.1", + "p256_dilithium2", + "1.3.9999.2.7.2", + "rsa3072_dilithium2", + "1.3.6.1.4.1.18227.999.1.1.1", + "dilithium2WithSha256", + "1.3.6.1.4.1.18227.999.1.1.2", + "dilithium2WithSha384", + "1.3.6.1.4.1.18227.999.1.1.3", + "dilithium2WithSha512", + "1.3.6.1.4.1.18227.999.1.1.4", + "dilithium2WithSha3At256", + "1.3.6.1.4.1.18227.999.1.1.5", + "dilithium2WithSha3At384", + "1.3.6.1.4.1.18227.999.1.1.6", + "dilithium2WithSha3At512", + "1.3.6.1.4.1.18227.999.1.1.7", + "dilithium2WithShake128", + "1.3.6.1.4.1.18227.999.1.1.8", + "dilithium2WithShake256", + "1.3.6.1.4.1.2.267.7.6.5", + "dilithium3", + "1.3.9999.2.7.3", + "p384_dilithium3", + "1.3.6.1.4.1.2.267.7.8.7", + "dilithium5", + "1.3.9999.2.7.4", + "p521_dilithium5", + "1.3.9999.3.6", + "falcon512", + "1.3.9999.3.7", + "p256_falcon512", + "1.3.9999.3.8", + "rsa3072_falcon512", + "1.3.9999.3.9", + "falcon1024", + "1.3.9999.3.10", + "p521_falcon1024", + "1.3.9999.6.4.13", + "sphincssha2128fsimple", + "1.3.9999.6.4.14", + "p256_sphincssha2128fsimple", + "1.3.9999.6.4.15", + "rsa3072_sphincssha2128fsimple", + "1.3.9999.6.4.16", + "sphincssha2128ssimple", + "1.3.9999.6.4.17", + "p256_sphincssha2128ssimple", + "1.3.9999.6.4.18", + "rsa3072_sphincssha2128ssimple", + "1.3.9999.6.5.10", + "sphincssha2192fsimple", + "1.3.9999.6.5.11", + "p384_sphincssha2192fsimple", + "1.3.9999.6.7.13", + "sphincsshake128fsimple", + "1.3.9999.6.7.14", + "p256_sphincsshake128fsimple", + "1.3.9999.6.7.15", + "rsa3072_sphincsshake128fsimple", + ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END }; int oqs_patch_oids(void) @@ -145,102 +215,199 @@ int oqs_patch_oids(void) #ifdef OQS_KEM_ENCODERS - - -if (getenv("OQS_OID_FRODO640AES")) oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); - -if (getenv("OQS_OID_P256_FRODO640AES")) oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); -if (getenv("OQS_OID_X25519_FRODO640AES")) oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); -if (getenv("OQS_OID_FRODO640SHAKE")) oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); - -if (getenv("OQS_OID_P256_FRODO640SHAKE")) oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); -if (getenv("OQS_OID_X25519_FRODO640SHAKE")) oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); -if (getenv("OQS_OID_FRODO976AES")) oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); - -if (getenv("OQS_OID_P384_FRODO976AES")) oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); -if (getenv("OQS_OID_X448_FRODO976AES")) oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); -if (getenv("OQS_OID_FRODO976SHAKE")) oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); - -if (getenv("OQS_OID_P384_FRODO976SHAKE")) oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); -if (getenv("OQS_OID_X448_FRODO976SHAKE")) oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); -if (getenv("OQS_OID_FRODO1344AES")) oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); - -if (getenv("OQS_OID_P521_FRODO1344AES")) oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); -if (getenv("OQS_OID_FRODO1344SHAKE")) oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); - -if (getenv("OQS_OID_P521_FRODO1344SHAKE")) oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); -if (getenv("OQS_OID_KYBER512")) oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); - -if (getenv("OQS_OID_P256_KYBER512")) oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); -if (getenv("OQS_OID_X25519_KYBER512")) oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); -if (getenv("OQS_OID_KYBER768")) oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); - -if (getenv("OQS_OID_P384_KYBER768")) oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); -if (getenv("OQS_OID_X448_KYBER768")) oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); -if (getenv("OQS_OID_X25519_KYBER768")) oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); -if (getenv("OQS_OID_P256_KYBER768")) oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); -if (getenv("OQS_OID_KYBER1024")) oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); - -if (getenv("OQS_OID_P521_KYBER1024")) oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); -if (getenv("OQS_OID_BIKEL1")) oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); - -if (getenv("OQS_OID_P256_BIKEL1")) oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); -if (getenv("OQS_OID_X25519_BIKEL1")) oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); -if (getenv("OQS_OID_BIKEL3")) oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); - -if (getenv("OQS_OID_P384_BIKEL3")) oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); -if (getenv("OQS_OID_X448_BIKEL3")) oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); -if (getenv("OQS_OID_BIKEL5")) oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); - -if (getenv("OQS_OID_P521_BIKEL5")) oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); -if (getenv("OQS_OID_HQC128")) oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); - -if (getenv("OQS_OID_P256_HQC128")) oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); -if (getenv("OQS_OID_X25519_HQC128")) oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); -if (getenv("OQS_OID_HQC192")) oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); - -if (getenv("OQS_OID_P384_HQC192")) oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); -if (getenv("OQS_OID_X448_HQC192")) oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); -if (getenv("OQS_OID_HQC256")) oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); - -if (getenv("OQS_OID_P521_HQC256")) oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); - -#define OQS_KEMOID_CNT 82+2 + if (getenv("OQS_OID_FRODO640AES")) + oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); + + if (getenv("OQS_OID_P256_FRODO640AES")) + oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); + if (getenv("OQS_OID_X25519_FRODO640AES")) + oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); + if (getenv("OQS_OID_FRODO640SHAKE")) + oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); + + if (getenv("OQS_OID_P256_FRODO640SHAKE")) + oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); + if (getenv("OQS_OID_X25519_FRODO640SHAKE")) + oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); + if (getenv("OQS_OID_FRODO976AES")) + oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); + + if (getenv("OQS_OID_P384_FRODO976AES")) + oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); + if (getenv("OQS_OID_X448_FRODO976AES")) + oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); + if (getenv("OQS_OID_FRODO976SHAKE")) + oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); + + if (getenv("OQS_OID_P384_FRODO976SHAKE")) + oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); + if (getenv("OQS_OID_X448_FRODO976SHAKE")) + oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); + if (getenv("OQS_OID_FRODO1344AES")) + oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); + + if (getenv("OQS_OID_P521_FRODO1344AES")) + oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); + if (getenv("OQS_OID_FRODO1344SHAKE")) + oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); + + if (getenv("OQS_OID_P521_FRODO1344SHAKE")) + oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); + if (getenv("OQS_OID_KYBER512")) + oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); + + if (getenv("OQS_OID_P256_KYBER512")) + oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); + if (getenv("OQS_OID_X25519_KYBER512")) + oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); + if (getenv("OQS_OID_KYBER768")) + oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); + + if (getenv("OQS_OID_P384_KYBER768")) + oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); + if (getenv("OQS_OID_X448_KYBER768")) + oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); + if (getenv("OQS_OID_X25519_KYBER768")) + oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); + if (getenv("OQS_OID_P256_KYBER768")) + oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); + if (getenv("OQS_OID_KYBER1024")) + oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); + + if (getenv("OQS_OID_P521_KYBER1024")) + oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); + if (getenv("OQS_OID_BIKEL1")) + oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); + + if (getenv("OQS_OID_P256_BIKEL1")) + oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); + if (getenv("OQS_OID_X25519_BIKEL1")) + oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); + if (getenv("OQS_OID_BIKEL3")) + oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); + + if (getenv("OQS_OID_P384_BIKEL3")) + oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); + if (getenv("OQS_OID_X448_BIKEL3")) + oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); + if (getenv("OQS_OID_BIKEL5")) + oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); + + if (getenv("OQS_OID_P521_BIKEL5")) + oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); + if (getenv("OQS_OID_HQC128")) + oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); + + if (getenv("OQS_OID_P256_HQC128")) + oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); + if (getenv("OQS_OID_X25519_HQC128")) + oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); + if (getenv("OQS_OID_HQC192")) + oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); + + if (getenv("OQS_OID_P384_HQC192")) + oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); + if (getenv("OQS_OID_X448_HQC192")) + oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); + if (getenv("OQS_OID_HQC256")) + oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); + + if (getenv("OQS_OID_P521_HQC256")) + oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); + +# define OQS_KEMOID_CNT 82 + 2 #else -#define OQS_KEMOID_CNT 0 +# define OQS_KEMOID_CNT 0 #endif /* OQS_KEM_ENCODERS */ - if (getenv("OQS_OID_DILITHIUM2")) oqs_oid_alg_list[0+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); - if (getenv("OQS_OID_P256_DILITHIUM2")) oqs_oid_alg_list[2+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_DILITHIUM2"); - if (getenv("OQS_OID_RSA3072_DILITHIUM2")) oqs_oid_alg_list[4+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_DILITHIUM2"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) oqs_oid_alg_list[6+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA256"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA384")) oqs_oid_alg_list[8+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA384"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA512")) oqs_oid_alg_list[10+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA512"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT256")) oqs_oid_alg_list[12+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT256"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT384")) oqs_oid_alg_list[14+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT384"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT512")) oqs_oid_alg_list[16+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT512"); - if (getenv("OQS_OID_DILITHIUM2WITHSHAKE128")) oqs_oid_alg_list[18+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE128"); - if (getenv("OQS_OID_DILITHIUM2WITHSHAKE256")) oqs_oid_alg_list[20+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE256"); - if (getenv("OQS_OID_DILITHIUM3")) oqs_oid_alg_list[22+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); - if (getenv("OQS_OID_P384_DILITHIUM3")) oqs_oid_alg_list[24+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_DILITHIUM3"); - if (getenv("OQS_OID_DILITHIUM5")) oqs_oid_alg_list[26+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); - if (getenv("OQS_OID_P521_DILITHIUM5")) oqs_oid_alg_list[28+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_DILITHIUM5"); - if (getenv("OQS_OID_FALCON512")) oqs_oid_alg_list[30+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); - if (getenv("OQS_OID_P256_FALCON512")) oqs_oid_alg_list[32+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_FALCON512"); - if (getenv("OQS_OID_RSA3072_FALCON512")) oqs_oid_alg_list[34+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_FALCON512"); - if (getenv("OQS_OID_FALCON1024")) oqs_oid_alg_list[36+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); - if (getenv("OQS_OID_P521_FALCON1024")) oqs_oid_alg_list[38+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_FALCON1024"); - if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[40+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[42+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[44+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[46+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[48+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[50+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[52+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[54+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[56+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[58+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[60+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); -///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END + if (getenv("OQS_OID_DILITHIUM2")) + oqs_oid_alg_list[0 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); + if (getenv("OQS_OID_P256_DILITHIUM2")) + oqs_oid_alg_list[2 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_DILITHIUM2"); + if (getenv("OQS_OID_RSA3072_DILITHIUM2")) + oqs_oid_alg_list[4 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_DILITHIUM2"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) + oqs_oid_alg_list[6 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA384")) + oqs_oid_alg_list[8 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA512")) + oqs_oid_alg_list[10 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT256")) + oqs_oid_alg_list[12 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT384")) + oqs_oid_alg_list[14 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT512")) + oqs_oid_alg_list[16 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE128")) + oqs_oid_alg_list[18 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE256")) + oqs_oid_alg_list[20 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_OID_DILITHIUM3")) + oqs_oid_alg_list[22 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); + if (getenv("OQS_OID_P384_DILITHIUM3")) + oqs_oid_alg_list[24 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P384_DILITHIUM3"); + if (getenv("OQS_OID_DILITHIUM5")) + oqs_oid_alg_list[26 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); + if (getenv("OQS_OID_P521_DILITHIUM5")) + oqs_oid_alg_list[28 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P521_DILITHIUM5"); + if (getenv("OQS_OID_FALCON512")) + oqs_oid_alg_list[30 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); + if (getenv("OQS_OID_P256_FALCON512")) + oqs_oid_alg_list[32 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_FALCON512"); + if (getenv("OQS_OID_RSA3072_FALCON512")) + oqs_oid_alg_list[34 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_FALCON512"); + if (getenv("OQS_OID_FALCON1024")) + oqs_oid_alg_list[36 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); + if (getenv("OQS_OID_P521_FALCON1024")) + oqs_oid_alg_list[38 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P521_FALCON1024"); + if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) + oqs_oid_alg_list[40 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) + oqs_oid_alg_list[42 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) + oqs_oid_alg_list[44 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) + oqs_oid_alg_list[46 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) + oqs_oid_alg_list[48 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) + oqs_oid_alg_list[50 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) + oqs_oid_alg_list[52 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) + oqs_oid_alg_list[54 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) + oqs_oid_alg_list[56 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) + oqs_oid_alg_list[58 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) + oqs_oid_alg_list[60 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); + ///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END return 1; } @@ -250,69 +417,173 @@ const char *oqs_alg_encoding_list[OQS_OID_CNT] = {0}; int oqs_patch_encodings(void) { ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_START - if (getenv("OQS_ENCODING_DILITHIUM2")) oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); - if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2")) oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[3] = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[5] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) oqs_alg_encoding_list[7] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384")) oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME")) oqs_alg_encoding_list[9] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512")) oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME")) oqs_alg_encoding_list[11] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256")) oqs_alg_encoding_list[12] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[13] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384")) oqs_alg_encoding_list[14] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[15] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512")) oqs_alg_encoding_list[16] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[17] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128")) oqs_alg_encoding_list[18] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[19] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256")) oqs_alg_encoding_list[20] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[21] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3")) oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_DILITHIUM3"); - if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3")) oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P384_DILITHIUM3"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[25] = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5")) oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_DILITHIUM5"); - if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5")) oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_P521_DILITHIUM5"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[29] = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512")) oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_FALCON512"); - if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_P256_FALCON512")) oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_P256_FALCON512"); - if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) oqs_alg_encoding_list[33] = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512")) oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_RSA3072_FALCON512"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) oqs_alg_encoding_list[35] = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024")) oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_FALCON1024"); - if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_P521_FALCON1024")) oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_P521_FALCON1024"); - if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) oqs_alg_encoding_list[39] = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[40] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[41] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[42] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[43] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[44] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[45] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[46] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[47] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[48] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[49] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[50] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[51] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[52] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[53] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[54] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[55] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[56] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[57] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[58] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[59] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[60] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[61] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); -///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END + if (getenv("OQS_ENCODING_DILITHIUM2")) + oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); + if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) + oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2")) + oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) + oqs_alg_encoding_list[3] + = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) + oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) + oqs_alg_encoding_list[5] + = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) + oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) + oqs_alg_encoding_list[7] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384")) + oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME")) + oqs_alg_encoding_list[9] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512")) + oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME")) + oqs_alg_encoding_list[11] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256")) + oqs_alg_encoding_list[12] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME")) + oqs_alg_encoding_list[13] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384")) + oqs_alg_encoding_list[14] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME")) + oqs_alg_encoding_list[15] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512")) + oqs_alg_encoding_list[16] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME")) + oqs_alg_encoding_list[17] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128")) + oqs_alg_encoding_list[18] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME")) + oqs_alg_encoding_list[19] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256")) + oqs_alg_encoding_list[20] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME")) + oqs_alg_encoding_list[21] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3")) + oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_DILITHIUM3"); + if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) + oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3")) + oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P384_DILITHIUM3"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) + oqs_alg_encoding_list[25] + = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5")) + oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_DILITHIUM5"); + if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) + oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5")) + oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_P521_DILITHIUM5"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) + oqs_alg_encoding_list[29] + = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512")) + oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_FALCON512"); + if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) + oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_P256_FALCON512")) + oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_P256_FALCON512"); + if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) + oqs_alg_encoding_list[33] + = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512")) + oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_RSA3072_FALCON512"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) + oqs_alg_encoding_list[35] + = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024")) + oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_FALCON1024"); + if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) + oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_P521_FALCON1024")) + oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_P521_FALCON1024"); + if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) + oqs_alg_encoding_list[39] + = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) + oqs_alg_encoding_list[40] + = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[41] + = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) + oqs_alg_encoding_list[42] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[43] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) + oqs_alg_encoding_list[44] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[45] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) + oqs_alg_encoding_list[46] + = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) + oqs_alg_encoding_list[47] + = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) + oqs_alg_encoding_list[48] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) + oqs_alg_encoding_list[49] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) + oqs_alg_encoding_list[50] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) + oqs_alg_encoding_list[51] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) + oqs_alg_encoding_list[52] + = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[53] + = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) + oqs_alg_encoding_list[54] + = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[55] + = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) + oqs_alg_encoding_list[56] + = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[57] + = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) + oqs_alg_encoding_list[58] + = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[59] + = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) + oqs_alg_encoding_list[60] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[61] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END return 1; } #endif @@ -421,7 +692,7 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { SIGALG("p256_sphincsshake128fsimple", 128, oqs_signature_functions), SIGALG("rsa3072_sphincsshake128fsimple", 128, oqs_signature_functions), #endif -///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END + ///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { @@ -499,8 +770,8 @@ static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { KEMBASEALG(hqc256, 256) KEMHYBALG(p521_hqc256, 256) #endif -// clang-format on -///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END + // clang-format on + ///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { @@ -660,8 +931,8 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { KEMKMHYBALG(p521_hqc256, 256, ecp) #endif -// clang-format on -///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END + // clang-format on + ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END // ALG("x25519_sikep434", oqs_ecx_sikep434_keymgmt_functions), {NULL, NULL, NULL}}; diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index 02e36460..89b72167 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -35,63 +35,63 @@ typedef struct oqs_group_constants_st { static OQS_GROUP_CONSTANTS oqs_group_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_START - { 0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1}, {0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0244, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x022C, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F44, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FB0, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0245, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F2C, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAC, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x022D, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F45, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FB1, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0246, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F2D, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAD, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x022E, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F46, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F2E, 256, TLS1_3_VERSION, 0, -1, -1, 1}, ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END }; @@ -128,13 +128,16 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(frodo640aes, frodo640aes, frodo640aes, 0), OQS_GROUP_ENTRY(p256_frodo640aes, p256_frodo640aes, p256_frodo640aes, 1), - OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, 2), + OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, + 2), #endif #ifdef OQS_ENABLE_KEM_frodokem_640_shake OQS_GROUP_ENTRY(frodo640shake, frodo640shake, frodo640shake, 3), - OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, 4), - OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, x25519_frodo640shake, 5), + OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, + 4), + OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, + x25519_frodo640shake, 5), #endif #ifdef OQS_ENABLE_KEM_frodokem_976_aes OQS_GROUP_ENTRY(frodo976aes, frodo976aes, frodo976aes, 6), @@ -145,18 +148,22 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { #ifdef OQS_ENABLE_KEM_frodokem_976_shake OQS_GROUP_ENTRY(frodo976shake, frodo976shake, frodo976shake, 9), - OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, 10), - OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, 11), + OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, + 10), + OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, + 11), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_aes OQS_GROUP_ENTRY(frodo1344aes, frodo1344aes, frodo1344aes, 12), - OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, 13), + OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, + 13), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_shake OQS_GROUP_ENTRY(frodo1344shake, frodo1344shake, frodo1344shake, 14), - OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, p521_frodo1344shake, 15), + OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, + p521_frodo1344shake, 15), #endif #ifdef OQS_ENABLE_KEM_kyber_512 OQS_GROUP_ENTRY(kyber512, kyber512, kyber512, 16), @@ -211,7 +218,7 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(p521_hqc256, p521_hqc256, p521_hqc256, 41), #endif -///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END + ///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END }; typedef struct oqs_sigalg_constants_st { @@ -224,119 +231,231 @@ typedef struct oqs_sigalg_constants_st { static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_START - { 0xfe98, 128, TLS1_3_VERSION, 0 }, - { 0xfe99, 128, TLS1_3_VERSION, 0 }, - { 0xfe9a, 128, TLS1_3_VERSION, 0 }, - { 0xfe9b, 128, TLS1_3_VERSION, 0 }, - { 0xfe9c, 128, TLS1_3_VERSION, 0 }, - { 0xfe9d, 128, TLS1_3_VERSION, 0 }, - { 0xfe9e, 128, TLS1_3_VERSION, 0 }, - { 0xfe9f, 128, TLS1_3_VERSION, 0 }, - { 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 }, - { 0xfeae, 128, TLS1_3_VERSION, 0 }, - { 0xfeaf, 128, TLS1_3_VERSION, 0 }, - { 0xfeb0, 128, TLS1_3_VERSION, 0 }, - { 0xfeb1, 256, TLS1_3_VERSION, 0 }, - { 0xfeb2, 256, TLS1_3_VERSION, 0 }, - { 0xfeb3, 128, TLS1_3_VERSION, 0 }, - { 0xfeb4, 128, TLS1_3_VERSION, 0 }, - { 0xfeb5, 128, TLS1_3_VERSION, 0 }, - { 0xfeb6, 128, TLS1_3_VERSION, 0 }, - { 0xfeb7, 128, TLS1_3_VERSION, 0 }, - { 0xfeb8, 128, TLS1_3_VERSION, 0 }, - { 0xfeb9, 192, TLS1_3_VERSION, 0 }, - { 0xfeba, 192, TLS1_3_VERSION, 0 }, - { 0xfec2, 128, TLS1_3_VERSION, 0 }, - { 0xfec3, 128, TLS1_3_VERSION, 0 }, - { 0xfec4, 128, TLS1_3_VERSION, 0 }, -///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END + {0xfe98, 128, TLS1_3_VERSION, 0}, {0xfe99, 128, TLS1_3_VERSION, 0}, + {0xfe9a, 128, TLS1_3_VERSION, 0}, {0xfe9b, 128, TLS1_3_VERSION, 0}, + {0xfe9c, 128, TLS1_3_VERSION, 0}, {0xfe9d, 128, TLS1_3_VERSION, 0}, + {0xfe9e, 128, TLS1_3_VERSION, 0}, {0xfe9f, 128, TLS1_3_VERSION, 0}, + {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}, {0xfeae, 128, TLS1_3_VERSION, 0}, + {0xfeaf, 128, TLS1_3_VERSION, 0}, {0xfeb0, 128, TLS1_3_VERSION, 0}, + {0xfeb1, 256, TLS1_3_VERSION, 0}, {0xfeb2, 256, TLS1_3_VERSION, 0}, + {0xfeb3, 128, TLS1_3_VERSION, 0}, {0xfeb4, 128, TLS1_3_VERSION, 0}, + {0xfeb5, 128, TLS1_3_VERSION, 0}, {0xfeb6, 128, TLS1_3_VERSION, 0}, + {0xfeb7, 128, TLS1_3_VERSION, 0}, {0xfeb8, 128, TLS1_3_VERSION, 0}, + {0xfeb9, 192, TLS1_3_VERSION, 0}, {0xfeba, 192, TLS1_3_VERSION, 0}, + {0xfec2, 128, TLS1_3_VERSION, 0}, {0xfec3, 128, TLS1_3_VERSION, 0}, + {0xfec4, 128, TLS1_3_VERSION, 0}, + ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END }; int oqs_patch_codepoints() { ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_START - if (getenv("OQS_CODEPOINT_FRODO640AES")) oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); - if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) oqs_group_list[1].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) oqs_group_list[2].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); - if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) oqs_group_list[3].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) oqs_group_list[4].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) oqs_group_list[5].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO976AES")) oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); - if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) oqs_group_list[7].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); - if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) oqs_group_list[8].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); - if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) oqs_group_list[9].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) oqs_group_list[10].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) oqs_group_list[11].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO1344AES")) oqs_group_list[12].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) oqs_group_list[13].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) oqs_group_list[14].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) oqs_group_list[15].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_KYBER512")) oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); - if (getenv("OQS_CODEPOINT_P256_KYBER512")) oqs_group_list[17].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); - if (getenv("OQS_CODEPOINT_X25519_KYBER512")) oqs_group_list[18].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); - if (getenv("OQS_CODEPOINT_KYBER768")) oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); - if (getenv("OQS_CODEPOINT_P384_KYBER768")) oqs_group_list[20].group_id = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); - if (getenv("OQS_CODEPOINT_X448_KYBER768")) oqs_group_list[21].group_id = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); - if (getenv("OQS_CODEPOINT_X25519_KYBER768")) oqs_group_list[22].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); - if (getenv("OQS_CODEPOINT_P256_KYBER768")) oqs_group_list[23].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); - if (getenv("OQS_CODEPOINT_KYBER1024")) oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); - if (getenv("OQS_CODEPOINT_P521_KYBER1024")) oqs_group_list[25].group_id = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); - if (getenv("OQS_CODEPOINT_BIKEL1")) oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); - if (getenv("OQS_CODEPOINT_P256_BIKEL1")) oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); - if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) oqs_group_list[28].group_id = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); - if (getenv("OQS_CODEPOINT_BIKEL3")) oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); - if (getenv("OQS_CODEPOINT_P384_BIKEL3")) oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); - if (getenv("OQS_CODEPOINT_X448_BIKEL3")) oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); - if (getenv("OQS_CODEPOINT_BIKEL5")) oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); - if (getenv("OQS_CODEPOINT_P521_BIKEL5")) oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); - if (getenv("OQS_CODEPOINT_HQC128")) oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); - if (getenv("OQS_CODEPOINT_P256_HQC128")) oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); - if (getenv("OQS_CODEPOINT_X25519_HQC128")) oqs_group_list[36].group_id = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); - if (getenv("OQS_CODEPOINT_HQC192")) oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); - if (getenv("OQS_CODEPOINT_P384_HQC192")) oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); - if (getenv("OQS_CODEPOINT_X448_HQC192")) oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); - if (getenv("OQS_CODEPOINT_HQC256")) oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); - if (getenv("OQS_CODEPOINT_P521_HQC256")) oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); - - if (getenv("OQS_CODEPOINT_DILITHIUM2")) oqs_sigalg_list[0].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) oqs_sigalg_list[1].code_point = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) oqs_sigalg_list[2].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) oqs_sigalg_list[3].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")) oqs_sigalg_list[4].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")) oqs_sigalg_list[5].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")) oqs_sigalg_list[6].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")) oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")) oqs_sigalg_list[8].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")) oqs_sigalg_list[9].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")) oqs_sigalg_list[10].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")); - if (getenv("OQS_CODEPOINT_DILITHIUM3")) oqs_sigalg_list[11].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) oqs_sigalg_list[12].code_point = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_DILITHIUM5")) oqs_sigalg_list[13].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) oqs_sigalg_list[14].code_point = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_FALCON512")) oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); - if (getenv("OQS_CODEPOINT_P256_FALCON512")) oqs_sigalg_list[16].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); - if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) oqs_sigalg_list[17].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); - if (getenv("OQS_CODEPOINT_FALCON1024")) oqs_sigalg_list[18].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024")); - if (getenv("OQS_CODEPOINT_P521_FALCON1024")) oqs_sigalg_list[19].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[20].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[21].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[23].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[24].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[25].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[26].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[27].code_point = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[28].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[29].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[30].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); -///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END + if (getenv("OQS_CODEPOINT_FRODO640AES")) + oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); + if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) + oqs_group_list[1].group_id + = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) + oqs_group_list[2].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); + if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) + oqs_group_list[3].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) + oqs_group_list[4].group_id + = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) + oqs_group_list[5].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO976AES")) + oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); + if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) + oqs_group_list[7].group_id + = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); + if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) + oqs_group_list[8].group_id + = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); + if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) + oqs_group_list[9].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) + oqs_group_list[10].group_id + = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) + oqs_group_list[11].group_id + = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO1344AES")) + oqs_group_list[12].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) + oqs_group_list[13].group_id + = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) + oqs_group_list[14].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) + oqs_group_list[15].group_id + = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_KYBER512")) + oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); + if (getenv("OQS_CODEPOINT_P256_KYBER512")) + oqs_group_list[17].group_id + = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); + if (getenv("OQS_CODEPOINT_X25519_KYBER512")) + oqs_group_list[18].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); + if (getenv("OQS_CODEPOINT_KYBER768")) + oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); + if (getenv("OQS_CODEPOINT_P384_KYBER768")) + oqs_group_list[20].group_id + = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); + if (getenv("OQS_CODEPOINT_X448_KYBER768")) + oqs_group_list[21].group_id + = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); + if (getenv("OQS_CODEPOINT_X25519_KYBER768")) + oqs_group_list[22].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); + if (getenv("OQS_CODEPOINT_P256_KYBER768")) + oqs_group_list[23].group_id + = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); + if (getenv("OQS_CODEPOINT_KYBER1024")) + oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); + if (getenv("OQS_CODEPOINT_P521_KYBER1024")) + oqs_group_list[25].group_id + = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); + if (getenv("OQS_CODEPOINT_BIKEL1")) + oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); + if (getenv("OQS_CODEPOINT_P256_BIKEL1")) + oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); + if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) + oqs_group_list[28].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); + if (getenv("OQS_CODEPOINT_BIKEL3")) + oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); + if (getenv("OQS_CODEPOINT_P384_BIKEL3")) + oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); + if (getenv("OQS_CODEPOINT_X448_BIKEL3")) + oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); + if (getenv("OQS_CODEPOINT_BIKEL5")) + oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); + if (getenv("OQS_CODEPOINT_P521_BIKEL5")) + oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); + if (getenv("OQS_CODEPOINT_HQC128")) + oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); + if (getenv("OQS_CODEPOINT_P256_HQC128")) + oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); + if (getenv("OQS_CODEPOINT_X25519_HQC128")) + oqs_group_list[36].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); + if (getenv("OQS_CODEPOINT_HQC192")) + oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); + if (getenv("OQS_CODEPOINT_P384_HQC192")) + oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); + if (getenv("OQS_CODEPOINT_X448_HQC192")) + oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); + if (getenv("OQS_CODEPOINT_HQC256")) + oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); + if (getenv("OQS_CODEPOINT_P521_HQC256")) + oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); + + if (getenv("OQS_CODEPOINT_DILITHIUM2")) + oqs_sigalg_list[0].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) + oqs_sigalg_list[1].code_point + = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) + oqs_sigalg_list[2].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) + oqs_sigalg_list[3].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")) + oqs_sigalg_list[4].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")) + oqs_sigalg_list[5].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")) + oqs_sigalg_list[6].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")) + oqs_sigalg_list[7].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")) + oqs_sigalg_list[8].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")) + oqs_sigalg_list[9].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")) + oqs_sigalg_list[10].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3")) + oqs_sigalg_list[11].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) + oqs_sigalg_list[12].code_point + = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_DILITHIUM5")) + oqs_sigalg_list[13].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) + oqs_sigalg_list[14].code_point + = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_FALCON512")) + oqs_sigalg_list[15].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512")); + if (getenv("OQS_CODEPOINT_P256_FALCON512")) + oqs_sigalg_list[16].code_point + = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); + if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) + oqs_sigalg_list[17].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); + if (getenv("OQS_CODEPOINT_FALCON1024")) + oqs_sigalg_list[18].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024")); + if (getenv("OQS_CODEPOINT_P521_FALCON1024")) + oqs_sigalg_list[19].code_point + = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[20].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[21].code_point + = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[22].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[23].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[24].code_point + = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[25].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) + oqs_sigalg_list[26].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) + oqs_sigalg_list[27].code_point + = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[28].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[29].code_point + = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[30].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); + ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END return 1; } @@ -376,72 +495,104 @@ static int oqs_group_capability(OSSL_CALLBACK *cb, void *arg) static const OSSL_PARAM oqs_param_sigalg_list[][12] = { ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_START -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, "1.3.6.1.4.1.2.267.7.4.4", 0), - OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, "1.3.9999.2.7.1", 1), - OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, "1.3.9999.2.7.2", 2), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha384, dilithium2WithSha384, dilithium2WithSha384, "1.3.6.1.4.1.18227.999.1.1.2", 4), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha512, dilithium2WithSha512, dilithium2WithSha512, "1.3.6.1.4.1.18227.999.1.1.3", 5), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At256, dilithium2WithSha3At256, dilithium2WithSha3At256, "1.3.6.1.4.1.18227.999.1.1.4", 6), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At384, dilithium2WithSha3At384, dilithium2WithSha3At384, "1.3.6.1.4.1.18227.999.1.1.5", 7), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At512, dilithium2WithSha3At512, dilithium2WithSha3At512, "1.3.6.1.4.1.18227.999.1.1.6", 8), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithShake128, dilithium2WithShake128, dilithium2WithShake128, "1.3.6.1.4.1.18227.999.1.1.7", 9), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithShake256, dilithium2WithShake256, dilithium2WithShake256, "1.3.6.1.4.1.18227.999.1.1.8", 10), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, "1.3.6.1.4.1.2.267.7.6.5", 11), - OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, "1.3.9999.2.7.3", 12), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, "1.3.6.1.4.1.2.267.7.8.7", 13), - OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, "1.3.9999.2.7.4", 14), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, + "1.3.6.1.4.1.2.267.7.4.4", 0), + OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, + "1.3.9999.2.7.1", 1), + OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, + "1.3.9999.2.7.2", 2), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, + dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha384, dilithium2WithSha384, + dilithium2WithSha384, "1.3.6.1.4.1.18227.999.1.1.2", 4), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha512, dilithium2WithSha512, + dilithium2WithSha512, "1.3.6.1.4.1.18227.999.1.1.3", 5), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At256, dilithium2WithSha3At256, + dilithium2WithSha3At256, "1.3.6.1.4.1.18227.999.1.1.4", 6), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At384, dilithium2WithSha3At384, + dilithium2WithSha3At384, "1.3.6.1.4.1.18227.999.1.1.5", 7), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At512, dilithium2WithSha3At512, + dilithium2WithSha3At512, "1.3.6.1.4.1.18227.999.1.1.6", 8), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake128, dilithium2WithShake128, + dilithium2WithShake128, "1.3.6.1.4.1.18227.999.1.1.7", 9), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake256, dilithium2WithShake256, + dilithium2WithShake256, "1.3.6.1.4.1.18227.999.1.1.8", 10), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, + "1.3.6.1.4.1.2.267.7.6.5", 11), + OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, + "1.3.9999.2.7.3", 12), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, + "1.3.6.1.4.1.2.267.7.8.7", 13), + OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, + "1.3.9999.2.7.4", 14), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 15), - OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, "1.3.9999.3.7", 16), - OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, "1.3.9999.3.8", 17), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, + "1.3.9999.3.7", 16), + OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, + "1.3.9999.3.8", 17), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 18), - OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, "1.3.9999.3.10", 19), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, sphincssha2128fsimple, "1.3.9999.6.4.13", 20), - OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 21), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 22), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, sphincssha2128ssimple, "1.3.9999.6.4.16", 23), - OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 24), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 25), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, sphincssha2192fsimple, "1.3.9999.6.5.10", 26), - OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 27), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, sphincsshake128fsimple, "1.3.9999.6.7.13", 28), - OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 29), - OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 30), -#endif -///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END + OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, + "1.3.9999.3.10", 19), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple + OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, + sphincssha2128fsimple, "1.3.9999.6.4.13", 20), + OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, + p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 21), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, + rsa3072_sphincssha2128fsimple, + rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 22), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple + OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, + sphincssha2128ssimple, "1.3.9999.6.4.16", 23), + OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, + p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 24), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, + rsa3072_sphincssha2128ssimple, + rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 25), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple + OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, + sphincssha2192fsimple, "1.3.9999.6.5.10", 26), + OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, + p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 27), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple + OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, + sphincsshake128fsimple, "1.3.9999.6.7.13", 28), + OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, + p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 29), + OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, + rsa3072_sphincsshake128fsimple, + rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 30), +# endif + ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END }; static int oqs_sigalg_capability(OSSL_CALLBACK *cb, void *arg) diff --git a/oqsprov/oqsprov_keys.c b/oqsprov/oqsprov_keys.c index dc852a23..62877964 100644 --- a/oqsprov/oqsprov_keys.c +++ b/oqsprov/oqsprov_keys.c @@ -53,95 +53,112 @@ static int oqsx_key_recreate_classickey(OQSX_KEY *key, oqsx_key_op_t op); ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_START - - - - #ifdef OQS_KEM_ENCODERS -#define NID_TABLE_LEN 73 +# define NID_TABLE_LEN 73 #else -#define NID_TABLE_LEN 31 +# define NID_TABLE_LEN 31 #endif static oqs_nid_name_t nid_names[NID_TABLE_LEN] = { #ifdef OQS_KEM_ENCODERS - { 0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128 }, - { 0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128 }, - { 0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192 }, - { 0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192 }, - { 0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256 }, - { 0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256 }, - { 0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128 }, - { 0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192 }, - { 0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256 }, - { 0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128 }, - { 0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192 }, - { 0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256 }, - { 0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128 }, - { 0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192 }, - { 0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256 }, - { 0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM , 256 }, + {0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128}, + {0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM, + 128}, + {0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, + KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128}, + {0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, + KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, + KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192}, + {0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM, + 192}, + {0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM, + 192}, + {0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192}, + {0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, + KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, + KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256}, + {0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, + KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256}, + {0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, + KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128}, + {0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192}, + {0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256}, + {0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128}, + {0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192}, + {0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256}, + {0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128}, + {0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192}, + {0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256}, + {0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM, 256}, #endif /* OQS_KEM_ENCODERS */ - { 0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, - { 0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha3At256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha3At384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha3At512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithShake128", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithShake256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192 }, - { 0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256 }, - { 0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256 }, - { 0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_SIG, 192 }, - { 0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_HYB_SIG, 192 }, - { 0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, -///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END + {0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, + {0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha3At256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha3At384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha3At512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithShake128", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithShake256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192}, + {0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256}, + {0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, + {0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256}, + {0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, + KEY_TYPE_SIG, 192}, + {0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, + KEY_TYPE_HYB_SIG, 192}, + {0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END }; int oqs_set_nid(char *tlsname, int nid) diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c index 71b65a77..6ee18eae 100644 --- a/test/oqs_test_hashnsign.c +++ b/test/oqs_test_hashnsign.c @@ -1,10 +1,10 @@ // SPDX-License-Identifier: Apache-2.0 AND MIT #include "oqs/oqs.h" #include "test_common.h" +#include #include #include #include -#include static OSSL_LIB_CTX *libctx = NULL; static char *modulename = NULL; @@ -15,38 +15,48 @@ static char *certsdir = NULL; static char *srpvfile = NULL; static char *tmpfilename = NULL; - -void string_to_lower(char *str) { +void string_to_lower(char *str) +{ if (str) { - for ( ; *str; ++str) *str = tolower((unsigned char)*str); + for (; *str; ++str) + *str = tolower((unsigned char)*str); } } -static const EVP_MD* get_digest_for_algorithm(const char* alg_name) { - char *lowercase_alg_name = strdup(alg_name); +static const EVP_MD *get_digest_for_algorithm(const char *alg_name) +{ + char *lowercase_alg_name = strdup(alg_name); if (!lowercase_alg_name) { return NULL; } - - string_to_lower(lowercase_alg_name); - const EVP_MD *md = NULL; + string_to_lower(lowercase_alg_name); - if (strstr(lowercase_alg_name, "sha256")) md = EVP_sha256(); - else if (strstr(lowercase_alg_name, "sha384")) md = EVP_sha384(); - else if (strstr(lowercase_alg_name, "sha512")) md = EVP_sha512(); - else if (strstr(lowercase_alg_name, "sha3-256")) md = EVP_sha3_256(); - else if (strstr(lowercase_alg_name, "sha3-384")) md = EVP_sha3_384(); - else if (strstr(lowercase_alg_name, "sha3-512")) md = EVP_sha3_512(); - else if (strstr(lowercase_alg_name, "shake128")) md = EVP_shake128(); - else if (strstr(lowercase_alg_name, "shake256")) md = EVP_shake256(); + const EVP_MD *md = NULL; - free(lowercase_alg_name); + if (strstr(lowercase_alg_name, "sha256")) + md = EVP_sha256(); + else if (strstr(lowercase_alg_name, "sha384")) + md = EVP_sha384(); + else if (strstr(lowercase_alg_name, "sha512")) + md = EVP_sha512(); + else if (strstr(lowercase_alg_name, "sha3-256")) + md = EVP_sha3_256(); + else if (strstr(lowercase_alg_name, "sha3-384")) + md = EVP_sha3_384(); + else if (strstr(lowercase_alg_name, "sha3-512")) + md = EVP_sha3_512(); + else if (strstr(lowercase_alg_name, "shake128")) + md = EVP_shake128(); + else if (strstr(lowercase_alg_name, "shake256")) + md = EVP_shake256(); + + free(lowercase_alg_name); return md; } - -static int test_hash_n_sign(const char *sigalg_name) { +static int test_hash_n_sign(const char *sigalg_name) +{ EVP_MD_CTX *mdctx = NULL; EVP_PKEY_CTX *pkey_ctx = NULL; EVP_PKEY *key = NULL; @@ -57,72 +67,76 @@ static int test_hash_n_sign(const char *sigalg_name) { if (!alg_is_enabled(sigalg_name)) { printf("Not testing disabled algorithm %s.\n", sigalg_name); - return 1; + return 1; } const EVP_MD *md_type = get_digest_for_algorithm(sigalg_name); if (!md_type) { - printf("Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", sigalg_name); - return 1; + printf( + "Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", + sigalg_name); + return 1; } - pkey_ctx = EVP_PKEY_CTX_new_from_name(libctx, sigalg_name, NULL); if (!pkey_ctx) { printf("EVP_PKEY_CTX_new_from_name failed for %s.\n", sigalg_name); - return 0; + return 0; } if (EVP_PKEY_keygen_init(pkey_ctx) <= 0) { printf("EVP_PKEY_keygen_init failed for %s.\n", sigalg_name); EVP_PKEY_CTX_free(pkey_ctx); - return 0; + return 0; } if (EVP_PKEY_generate(pkey_ctx, &key) <= 0) { printf("EVP_PKEY_generate failed for %s.\n", sigalg_name); EVP_PKEY_CTX_free(pkey_ctx); - return 0; + return 0; } mdctx = EVP_MD_CTX_new(); if (mdctx == NULL) { printf("EVP_MD_CTX_new failed for %s.\n", sigalg_name); - return 0; + return 0; } if (EVP_DigestSignInit(mdctx, NULL, md_type, NULL, key) <= 0) { printf("EVP_DigestSignInit failed for %s.\n", sigalg_name); - testresult = 0; + testresult = 0; } else { if (EVP_DigestSignUpdate(mdctx, msg, strlen(msg)) <= 0) { printf("EVP_DigestSignUpdate failed for %s.\n", sigalg_name); - testresult = 0; + testresult = 0; } else if (EVP_DigestSignFinal(mdctx, NULL, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get length) failed for %s.\n", sigalg_name); - testresult = 0; + printf("EVP_DigestSignFinal (get length) failed for %s.\n", + sigalg_name); + testresult = 0; } else { sig = OPENSSL_malloc(siglen); if (sig == NULL) { printf("OPENSSL_malloc failed for %s.\n", sigalg_name); testresult = 0; } else if (EVP_DigestSignFinal(mdctx, sig, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get signature) failed for %s.\n", sigalg_name); - testresult = 0; + printf("EVP_DigestSignFinal (get signature) failed for %s.\n", + sigalg_name); + testresult = 0; } else { printf("Signature operation successful for %s.\n", sigalg_name); - testresult = 1; + testresult = 1; } } } - if (sig) OPENSSL_free(sig); - if (mdctx) EVP_MD_CTX_free(mdctx); + if (sig) + OPENSSL_free(sig); + if (mdctx) + EVP_MD_CTX_free(mdctx); return testresult; } - #define nelem(a) (sizeof(a) / sizeof((a)[0])) int main(int argc, char *argv[]) @@ -143,7 +157,7 @@ int main(int argc, char *argv[]) sigalgs = OSSL_PROVIDER_query_operation(oqsprov, OSSL_OP_SIGNATURE, &query_nocache); - + if (sigalgs) { for (; sigalgs->algorithm_names != NULL; sigalgs++) { if (strstr(sigalgs->algorithm_names, "With") != NULL) { @@ -152,7 +166,8 @@ int main(int argc, char *argv[]) cGREEN " Signature test succeeded: %s" cNORM "\n", sigalgs->algorithm_names); } else { - fprintf(stderr, cRED " Signature test failed: %s" cNORM "\n", + fprintf(stderr, + cRED " Signature test failed: %s" cNORM "\n", sigalgs->algorithm_names); ERR_print_errors_fp(stderr); errcnt++; From 0b68a627e2ceb2702954be0ed47f2a1c95ea995d Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sat, 18 Nov 2023 13:37:40 -0500 Subject: [PATCH 09/17] fixed format of oqsencoder/decoder --- oqsprov/oqsdecoders.inc | 421 +++++++----- oqsprov/oqsencoders.inc | 1399 ++++++++++++++++++++++++--------------- 2 files changed, 1121 insertions(+), 699 deletions(-) diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index b7009a24..fa15d9ca 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -7,9 +7,9 @@ * */ -#ifndef DECODER_PROVIDER -# error Macro DECODER_PROVIDER undefined -#endif +// #ifndef DECODER_PROVIDER +// # error Macro DECODER_PROVIDER undefined +// #endif #define DECODER_STRUCTURE_type_specific_keypair "type-specific" #define DECODER_STRUCTURE_type_specific_params "type-specific" @@ -36,192 +36,303 @@ ///// 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_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_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_2 -DECODER_w_structure("dilithium2WithSha256", der, PrivateKeyInfo, dilithium2WithSha256), -DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, dilithium2WithSha256), + DECODER_w_structure("dilithium2WithSha256", der, PrivateKeyInfo, + dilithium2WithSha256), + DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, + dilithium2WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha384", der, PrivateKeyInfo, dilithium2WithSha384), -DECODER_w_structure("dilithium2WithSha384", der, SubjectPublicKeyInfo, dilithium2WithSha384), + DECODER_w_structure("dilithium2WithSha384", der, PrivateKeyInfo, + dilithium2WithSha384), + DECODER_w_structure("dilithium2WithSha384", der, SubjectPublicKeyInfo, + dilithium2WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha512", der, PrivateKeyInfo, dilithium2WithSha512), -DECODER_w_structure("dilithium2WithSha512", der, SubjectPublicKeyInfo, dilithium2WithSha512), + DECODER_w_structure("dilithium2WithSha512", der, PrivateKeyInfo, + dilithium2WithSha512), + DECODER_w_structure("dilithium2WithSha512", der, SubjectPublicKeyInfo, + dilithium2WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha3At256", der, PrivateKeyInfo, dilithium2WithSha3At256), -DECODER_w_structure("dilithium2WithSha3At256", der, SubjectPublicKeyInfo, dilithium2WithSha3At256), + DECODER_w_structure("dilithium2WithSha3At256", der, PrivateKeyInfo, + dilithium2WithSha3At256), + DECODER_w_structure("dilithium2WithSha3At256", der, SubjectPublicKeyInfo, + dilithium2WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha3At384", der, PrivateKeyInfo, dilithium2WithSha3At384), -DECODER_w_structure("dilithium2WithSha3At384", der, SubjectPublicKeyInfo, dilithium2WithSha3At384), + DECODER_w_structure("dilithium2WithSha3At384", der, PrivateKeyInfo, + dilithium2WithSha3At384), + DECODER_w_structure("dilithium2WithSha3At384", der, SubjectPublicKeyInfo, + dilithium2WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha3At512", der, PrivateKeyInfo, dilithium2WithSha3At512), -DECODER_w_structure("dilithium2WithSha3At512", der, SubjectPublicKeyInfo, dilithium2WithSha3At512), + DECODER_w_structure("dilithium2WithSha3At512", der, PrivateKeyInfo, + dilithium2WithSha3At512), + DECODER_w_structure("dilithium2WithSha3At512", der, SubjectPublicKeyInfo, + dilithium2WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithShake128", der, PrivateKeyInfo, dilithium2WithShake128), -DECODER_w_structure("dilithium2WithShake128", der, SubjectPublicKeyInfo, dilithium2WithShake128), + DECODER_w_structure("dilithium2WithShake128", der, PrivateKeyInfo, + dilithium2WithShake128), + DECODER_w_structure("dilithium2WithShake128", der, SubjectPublicKeyInfo, + dilithium2WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithShake256", der, PrivateKeyInfo, dilithium2WithShake256), -DECODER_w_structure("dilithium2WithShake256", der, SubjectPublicKeyInfo, dilithium2WithShake256), + DECODER_w_structure("dilithium2WithShake256", der, PrivateKeyInfo, + dilithium2WithShake256), + DECODER_w_structure("dilithium2WithShake256", der, SubjectPublicKeyInfo, + dilithium2WithShake256), #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_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_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_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), -#endif -///// OQS_TEMPLATE_FRAGMENT_MAKE_END + 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 + ///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index 15bfbce7..3d33916d 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -81,584 +81,895 @@ ///// 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_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_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_2 -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha384", dilithium2WithSha384), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha384", dilithium2WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha512", dilithium2WithSha512), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha512", dilithium2WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha3At256", dilithium2WithSha3At256), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha3At256", dilithium2WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha3At384", dilithium2WithSha3At384), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha3At384", dilithium2WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha3At512", dilithium2WithSha3At512), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha3At512", dilithium2WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithShake128", dilithium2WithShake128), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithShake128", dilithium2WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithShake256", dilithium2WithShake256), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithShake256", dilithium2WithShake256), #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_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_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_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), -#endif -///// OQS_TEMPLATE_FRAGMENT_MAKE_END + 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 + ///// OQS_TEMPLATE_FRAGMENT_MAKE_END From 27776b9e063a33ecdba7045f2fde77a4ceb794c5 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Sat, 18 Nov 2023 14:24:10 -0500 Subject: [PATCH 10/17] added test to static cmakelist tests --- test/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 00c1e672..6ce5f352 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -138,5 +138,6 @@ if (OQS_PROVIDER_BUILD_STATIC) oqs_test_groups oqs_test_tlssig oqs_test_endecode + oqs_test_hashnsign ) endif() From 9db1782f6b8630bdd74e1843984938438801930c Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Tue, 28 Nov 2023 09:23:25 -0500 Subject: [PATCH 11/17] passed the ASAN tests ran the Security Checks workflow locally and passed all tests --- .gitignore | 1 + test/CMakeLists.txt | 6 ++-- test/oqs_test_hashnsign.c | 75 ++++++++++++++++++++++----------------- 3 files changed, 45 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 003421d7..7f2a27d4 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ liboqs .local # build directory _build +build # generated from openssl src: test/ssltestlib.c test/ssltestlib.h diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6ce5f352..aebe3108 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -77,19 +77,17 @@ add_test( # openssl under MSVC seems to have a bug registering NIDs: # It only works when setting OPENSSL_CONF, not when loading the same cnf file: if (MSVC) -set_tests_properties(oqs_signatures +set_tests_properties(oqs_test_hashnsign PROPERTIES ENVIRONMENT "OPENSSL_MODULES=${OQS_PROV_BINARY_DIR};OPENSSL_CONF=${CMAKE_CURRENT_SOURCE_DIR}/openssl-ca.cnf" ) else() -set_tests_properties(oqs_signatures +set_tests_properties(oqs_test_hashnsign PROPERTIES ENVIRONMENT "OPENSSL_MODULES=${OQS_PROV_BINARY_DIR}" ) endif() - add_executable(oqs_test_hashnsign oqs_test_hashnsign.c test_common.c) target_link_libraries(oqs_test_hashnsign PRIVATE ${OPENSSL_CRYPTO_LIBRARY} ${OQS_ADDL_SOCKET_LIBS}) - add_test( NAME oqs_tlssig COMMAND oqs_test_tlssig diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c index 6ee18eae..e72bc0d9 100644 --- a/test/oqs_test_hashnsign.c +++ b/test/oqs_test_hashnsign.c @@ -55,8 +55,7 @@ static const EVP_MD *get_digest_for_algorithm(const char *alg_name) return md; } -static int test_hash_n_sign(const char *sigalg_name) -{ +static int test_hash_n_sign(const char *sigalg_name) { EVP_MD_CTX *mdctx = NULL; EVP_PKEY_CTX *pkey_ctx = NULL; EVP_PKEY *key = NULL; @@ -72,67 +71,75 @@ static int test_hash_n_sign(const char *sigalg_name) const EVP_MD *md_type = get_digest_for_algorithm(sigalg_name); if (!md_type) { - printf( - "Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", - sigalg_name); + printf("Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", sigalg_name); return 1; } pkey_ctx = EVP_PKEY_CTX_new_from_name(libctx, sigalg_name, NULL); if (!pkey_ctx) { printf("EVP_PKEY_CTX_new_from_name failed for %s.\n", sigalg_name); - return 0; + goto cleanup; } if (EVP_PKEY_keygen_init(pkey_ctx) <= 0) { printf("EVP_PKEY_keygen_init failed for %s.\n", sigalg_name); - EVP_PKEY_CTX_free(pkey_ctx); - return 0; + goto cleanup; } if (EVP_PKEY_generate(pkey_ctx, &key) <= 0) { printf("EVP_PKEY_generate failed for %s.\n", sigalg_name); - EVP_PKEY_CTX_free(pkey_ctx); - return 0; + goto cleanup; } mdctx = EVP_MD_CTX_new(); if (mdctx == NULL) { printf("EVP_MD_CTX_new failed for %s.\n", sigalg_name); - return 0; + goto cleanup; } if (EVP_DigestSignInit(mdctx, NULL, md_type, NULL, key) <= 0) { printf("EVP_DigestSignInit failed for %s.\n", sigalg_name); testresult = 0; - } else { - if (EVP_DigestSignUpdate(mdctx, msg, strlen(msg)) <= 0) { - printf("EVP_DigestSignUpdate failed for %s.\n", sigalg_name); - testresult = 0; - } else if (EVP_DigestSignFinal(mdctx, NULL, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get length) failed for %s.\n", - sigalg_name); - testresult = 0; - } else { - sig = OPENSSL_malloc(siglen); - if (sig == NULL) { - printf("OPENSSL_malloc failed for %s.\n", sigalg_name); - testresult = 0; - } else if (EVP_DigestSignFinal(mdctx, sig, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get signature) failed for %s.\n", - sigalg_name); - testresult = 0; - } else { - printf("Signature operation successful for %s.\n", sigalg_name); - testresult = 1; - } - } + goto cleanup; } + if (EVP_DigestSignUpdate(mdctx, msg, strlen(msg)) <= 0) { + printf("EVP_DigestSignUpdate failed for %s.\n", sigalg_name); + testresult = 0; + goto cleanup; + } + + if (EVP_DigestSignFinal(mdctx, NULL, &siglen) <= 0) { + printf("EVP_DigestSignFinal (get length) failed for %s.\n", sigalg_name); + testresult = 0; + goto cleanup; + } + + sig = OPENSSL_malloc(siglen); + if (sig == NULL) { + printf("OPENSSL_malloc failed for %s.\n", sigalg_name); + testresult = 0; + goto cleanup; + } + + if (EVP_DigestSignFinal(mdctx, sig, &siglen) <= 0) { + printf("EVP_DigestSignFinal (get signature) failed for %s.\n", sigalg_name); + testresult = 0; + goto cleanup; + } + + printf("Signature operation successful for %s.\n", sigalg_name); + testresult = 1; + +cleanup: if (sig) OPENSSL_free(sig); if (mdctx) EVP_MD_CTX_free(mdctx); + if (key) + EVP_PKEY_free(key); + if (pkey_ctx) + EVP_PKEY_CTX_free(pkey_ctx); return testresult; } @@ -151,6 +158,8 @@ int main(int argc, char *argv[]) modulename = argv[1]; configfile = argv[2]; + printf("Config file: %s\n", configfile); + load_oqs_provider(libctx, modulename, configfile); oqsprov = OSSL_PROVIDER_load(libctx, modulename); From 30a1fd1d4a7cb098453edb06336695b7e2cb2c5a Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Mon, 4 Dec 2023 21:41:03 -0500 Subject: [PATCH 12/17] committing new algs --- ALGORITHMS.md | 110 +- README.md | 4 +- oqs-template/generate.yml | 349 +++++- oqs-template/oqs-sig-info.md | 324 ++--- oqsprov/oqs_decode_der2key.c | 246 ++-- oqsprov/oqs_encode_key2any.c | 811 ++++++++---- oqsprov/oqs_kmgmt.c | 568 ++++++--- oqsprov/oqs_prov.h | 2118 +++++++++++++------------------- oqsprov/oqsdecoders.inc | 543 ++++---- oqsprov/oqsencoders.inc | 1687 +++++++++++++------------ oqsprov/oqsprov.c | 1075 ++++++++-------- oqsprov/oqsprov_capabilities.c | 759 ++++++------ oqsprov/oqsprov_keys.c | 209 ++-- scripts/common.py | 2 +- 14 files changed, 4746 insertions(+), 4059 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index 61fb9824..8a6111c4 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -67,13 +67,45 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | dilithium2WithShake256 | 0xfea2 |Yes| OQS_CODEPOINT_DILITHIUM2WITHSHAKE256 | dilithium3 | 0xfea3 |Yes| OQS_CODEPOINT_DILITHIUM3 | p384_dilithium3 | 0xfea4 |Yes| OQS_CODEPOINT_P384_DILITHIUM3 -| dilithium5 | 0xfea5 |Yes| OQS_CODEPOINT_DILITHIUM5 -| p521_dilithium5 | 0xfea6 |Yes| OQS_CODEPOINT_P521_DILITHIUM5 -| falcon512 | 0xfeae |Yes| OQS_CODEPOINT_FALCON512 -| p256_falcon512 | 0xfeaf |Yes| OQS_CODEPOINT_P256_FALCON512 -| rsa3072_falcon512 | 0xfeb0 |Yes| OQS_CODEPOINT_RSA3072_FALCON512 -| falcon1024 | 0xfeb1 |Yes| OQS_CODEPOINT_FALCON1024 -| p521_falcon1024 | 0xfeb2 |Yes| OQS_CODEPOINT_P521_FALCON1024 +| dilithium3WithSha256 | 0xfea5 |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHA256 +| dilithium3WithSha384 | 0xfea6 |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHA384 +| dilithium3WithSha512 | 0xfea7 |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHA512 +| dilithium3WithSha3At256 | 0xfea8 |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHA3AT256 +| dilithium3WithSha3At384 | 0xfea9 |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHA3AT384 +| dilithium3WithSha3At512 | 0xfeaa |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHA3AT512 +| dilithium3WithShake128 | 0xfeab |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHAKE128 +| dilithium3WithShake256 | 0xfeac |Yes| OQS_CODEPOINT_DILITHIUM3WITHSHAKE256 +| dilithium5 | 0xfead |Yes| OQS_CODEPOINT_DILITHIUM5 +| p521_dilithium5 | 0xfeae |Yes| OQS_CODEPOINT_P521_DILITHIUM5 +| dilithium5WithSha256 | 0xfeaf |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHA256 +| dilithium5WithSha384 | 0xfeb0 |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHA384 +| dilithium5WithSha512 | 0xfeb1 |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHA512 +| dilithium5WithSha3At256 | 0xfeb2 |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHA3AT256 +| dilithium5WithSha3At384 | 0xfeb3 |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHA3AT384 +| dilithium5WithSha3At512 | 0xfeb4 |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHA3AT512 +| dilithium5WithShake128 | 0xfeb5 |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHAKE128 +| dilithium5WithShake256 | 0xfeb6 |Yes| OQS_CODEPOINT_DILITHIUM5WITHSHAKE256 +| falcon512 | 0xfebe |Yes| OQS_CODEPOINT_FALCON512 +| p256_falcon512 | 0xfebf |Yes| OQS_CODEPOINT_P256_FALCON512 +| rsa3072_falcon512 | 0xfec0 |Yes| OQS_CODEPOINT_RSA3072_FALCON512 +| falcon512WithSha256 | 0xfec1 |Yes| OQS_CODEPOINT_FALCON512WITHSHA256 +| falcon512WithSha384 | 0xfec2 |Yes| OQS_CODEPOINT_FALCON512WITHSHA384 +| falcon512WithSha512 | 0xfec3 |Yes| OQS_CODEPOINT_FALCON512WITHSHA512 +| falcon512WithSha3At256 | 0xfec4 |Yes| OQS_CODEPOINT_FALCON512WITHSHA3AT256 +| falcon512WithSha3At384 | 0xfec5 |Yes| OQS_CODEPOINT_FALCON512WITHSHA3AT384 +| falcon512WithSha3At512 | 0xfec6 |Yes| OQS_CODEPOINT_FALCON512WITHSHA3AT512 +| falcon512WithShake128 | 0xfec6 |Yes| OQS_CODEPOINT_FALCON512WITHSHAKE128 +| falcon512WithShake256 | 0xfec7 |Yes| OQS_CODEPOINT_FALCON512WITHSHAKE256 +| falcon1024 | 0xfec8 |Yes| OQS_CODEPOINT_FALCON1024 +| p521_falcon1024 | 0xfec9 |Yes| OQS_CODEPOINT_P521_FALCON1024 +| falcon1024WithSha256 | 0xfeca |Yes| OQS_CODEPOINT_FALCON1024WITHSHA256 +| falcon1024WithSha384 | 0xfecb |Yes| OQS_CODEPOINT_FALCON1024WITHSHA384 +| falcon1024WithSha512 | 0xfecc |Yes| OQS_CODEPOINT_FALCON1024WITHSHA512 +| falcon1024WithSha3At256 | 0xfecd |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT256 +| falcon1024WithSha3At384 | 0xfece |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT384 +| falcon1024WithSha3At512 | 0xfecf |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT512 +| falcon1024WithShake128 | 0xfed0 |Yes| OQS_CODEPOINT_FALCON1024WITHSHAKE128 +| falcon1024WithShake256 | 0xfed1 |Yes| OQS_CODEPOINT_FALCON1024WITHSHAKE256 | sphincssha2128fsimple | 0xfeb3 |Yes| OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE | p256_sphincssha2128fsimple | 0xfeb4 |Yes| OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE | rsa3072_sphincssha2128fsimple | 0xfeb5 |Yes| OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE @@ -140,13 +172,45 @@ adapting the OIDs of all supported signature algorithms as per the table below. | dilithium2WithShake256 | 1.3.6.1.4.1.18227.999.1.1.8 |Yes| OQS_OID_DILITHIUM2WITHSHAKE256 | dilithium3 | 1.3.6.1.4.1.2.267.7.6.5 |Yes| OQS_OID_DILITHIUM3 | p384_dilithium3 | 1.3.9999.2.7.3 |Yes| OQS_OID_P384_DILITHIUM3 +| dilithium3WithSha256 | 1.3.6.1.4.1.18227.999.1.2.1 |Yes| OQS_OID_DILITHIUM3WITHSHA256 +| dilithium3WithSha384 | 1.3.6.1.4.1.18227.999.1.2.2 |Yes| OQS_OID_DILITHIUM3WITHSHA384 +| dilithium3WithSha512 | 1.3.6.1.4.1.18227.999.1.2.3 |Yes| OQS_OID_DILITHIUM3WITHSHA512 +| dilithium3WithSha3At256 | 1.3.6.1.4.1.18227.999.1.2.4 |Yes| OQS_OID_DILITHIUM3WITHSHA3AT256 +| dilithium3WithSha3At384 | 1.3.6.1.4.1.18227.999.1.2.5 |Yes| OQS_OID_DILITHIUM3WITHSHA3AT384 +| dilithium3WithSha3At512 | 1.3.6.1.4.1.18227.999.1.2.6 |Yes| OQS_OID_DILITHIUM3WITHSHA3AT512 +| dilithium3WithShake128 | 1.3.6.1.4.1.18227.999.1.2.7 |Yes| OQS_OID_DILITHIUM3WITHSHAKE128 +| dilithium3WithShake256 | 1.3.6.1.4.1.18227.999.1.2.8 |Yes| OQS_OID_DILITHIUM3WITHSHAKE256 | 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 +| dilithium5WithSha256 | 1.3.6.1.4.1.18227.999.1.3.1 |Yes| OQS_OID_DILITHIUM5WITHSHA256 +| dilithium5WithSha384 | 1.3.6.1.4.1.18227.999.1.3.2 |Yes| OQS_OID_DILITHIUM5WITHSHA384 +| dilithium5WithSha512 | 1.3.6.1.4.1.18227.999.1.3.3 |Yes| OQS_OID_DILITHIUM5WITHSHA512 +| dilithium5WithSha3At256 | 1.3.6.1.4.1.18227.999.1.3.4 |Yes| OQS_OID_DILITHIUM5WITHSHA3AT256 +| dilithium5WithSha3At384 | 1.3.6.1.4.1.18227.999.1.3.5 |Yes| OQS_OID_DILITHIUM5WITHSHA3AT384 +| dilithium5WithSha3At512 | 1.3.6.1.4.1.18227.999.1.3.6 |Yes| OQS_OID_DILITHIUM5WITHSHA3AT512 +| dilithium5WithShake128 | 1.3.6.1.4.1.18227.999.1.3.7 |Yes| OQS_OID_DILITHIUM5WITHSHAKE128 +| dilithium5WithShake256 | 1.3.6.1.4.1.18227.999.1.3.8 |Yes| OQS_OID_DILITHIUM5WITHSHAKE256 | falcon512 | 1.3.9999.3.6 |Yes| OQS_OID_FALCON512 | p256_falcon512 | 1.3.9999.3.7 |Yes| OQS_OID_P256_FALCON512 | rsa3072_falcon512 | 1.3.9999.3.8 |Yes| OQS_OID_RSA3072_FALCON512 +| falcon512WithSha256 | 1.3.6.1.4.1.18227.999.2.3.1.1 |Yes| OQS_OID_FALCON512WITHSHA256 +| falcon512WithSha384 | 1.3.6.1.4.1.18227.999.2.3.2.1 |Yes| OQS_OID_FALCON512WITHSHA384 +| falcon512WithSha512 | 1.3.6.1.4.1.18227.999.2.3.3.1 |Yes| OQS_OID_FALCON512WITHSHA512 +| falcon512WithSha3At256 | 1.3.6.1.4.1.18227.999.2.3.4.1 |Yes| OQS_OID_FALCON512WITHSHA3AT256 +| falcon512WithSha3At384 | 1.3.6.1.4.1.18227.999.2.3.5.1 |Yes| OQS_OID_FALCON512WITHSHA3AT384 +| falcon512WithSha3At512 | 1.3.6.1.4.1.18227.999.2.3.6.1 |Yes| OQS_OID_FALCON512WITHSHA3AT512 +| falcon512WithShake128 | 1.3.6.1.4.1.18227.999.2.3.7.1 |Yes| OQS_OID_FALCON512WITHSHAKE128 +| falcon512WithShake256 | 1.3.6.1.4.1.18227.999.2.3.8.1 |Yes| OQS_OID_FALCON512WITHSHAKE256 | falcon1024 | 1.3.9999.3.9 |Yes| OQS_OID_FALCON1024 | p521_falcon1024 | 1.3.9999.3.10 |Yes| OQS_OID_P521_FALCON1024 +| falcon1024WithSha256 | 1.3.6.1.4.1.18227.999.2.2.1.1 |Yes| OQS_OID_FALCON1024WITHSHA256 +| falcon1024WithSha384 | 1.3.6.1.4.1.18227.999.2.2.2.1 |Yes| OQS_OID_FALCON1024WITHSHA384 +| falcon1024WithSha512 | 1.3.6.1.4.1.18227.999.2.2.3.1 |Yes| OQS_OID_FALCON1024WITHSHA512 +| falcon1024WithSha3At256 | 1.3.6.1.4.1.18227.999.2.2.4.1 |Yes| OQS_OID_FALCON1024WITHSHA3AT256 +| falcon1024WithSha3At384 | 1.3.6.1.4.1.18227.999.2.2.5.1 |Yes| OQS_OID_FALCON1024WITHSHA3AT384 +| falcon1024WithSha3At512 | 1.3.6.1.4.1.18227.999.2.2.6.1 |Yes| OQS_OID_FALCON1024WITHSHA3AT512 +| falcon1024WithShake128 | 1.3.6.1.4.1.18227.999.2.2.7.1 |Yes| OQS_OID_FALCON1024WITHSHAKE128 +| falcon1024WithShake256 | 1.3.6.1.4.1.18227.999.2.2.8.1 |Yes| OQS_OID_FALCON1024WITHSHAKE256 | sphincssha2128fsimple | 1.3.9999.6.4.13 |Yes| OQS_OID_SPHINCSSHA2128FSIMPLE | p256_sphincssha2128fsimple | 1.3.9999.6.4.14 |Yes| OQS_OID_P256_SPHINCSSHA2128FSIMPLE | rsa3072_sphincssha2128fsimple | 1.3.9999.6.4.15 |Yes| OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE @@ -245,9 +309,41 @@ By setting environment variables, oqs-provider can be configured to encode keys |`OQS_ENCODING_DILITHIUM2WITHSHAKE128`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM2WITHSHAKE256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM3`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHA256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHA384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHA512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHA3AT256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHA3AT384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHA3AT512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHAKE128`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM3WITHSHAKE256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_DILITHIUM5`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHA256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHA384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHA512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHA3AT256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHA3AT384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHA3AT512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHAKE128`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_DILITHIUM5WITHSHAKE256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_FALCON512`|`draft-uni-qsckeys-falcon-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHA256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHA384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHA512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHA3AT256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHA3AT384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHA3AT512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHAKE128`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON512WITHSHAKE256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_FALCON1024`|`draft-uni-qsckeys-falcon-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHA256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHA384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHA512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHA3AT256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHA3AT384`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHA3AT512`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHAKE128`|`draft-uni-qsckeys-dilithium-00/sk-pk`| +|`OQS_ENCODING_FALCON1024WITHSHAKE256`|`draft-uni-qsckeys-dilithium-00/sk-pk`| |`OQS_ENCODING_SPHINCSSHA2128FSIMPLE`|`draft-uni-qsckeys-sphincsplus-00/sk-pk`| |`OQS_ENCODING_SPHINCSSHA2128SSIMPLE`|`draft-uni-qsckeys-sphincsplus-00/sk-pk`| |`OQS_ENCODING_SPHINCSSHA2192FSIMPLE`|`draft-uni-qsckeys-sphincsplus-00/sk-pk`| diff --git a/README.md b/README.md index fb547f05..e839d46a 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,8 @@ This implementation makes available the following quantum safe algorithms: ### Signature algorithms -- **CRYSTALS-Dilithium**:`dilithium2`\*, `p256_dilithium2`\*, `rsa3072_dilithium2`\*, `dilithium2WithSha256`\*, `dilithium2WithSha384`\*, `dilithium2WithSha512`\*, `dilithium2WithSha3At256`\*, `dilithium2WithSha3At384`\*, `dilithium2WithSha3At512`\*, `dilithium2WithShake128`\*, `dilithium2WithShake256`\*, `dilithium3`\*, `p384_dilithium3`\*, `dilithium5`\*, `p521_dilithium5`\* -- **Falcon**:`falcon512`\*, `p256_falcon512`\*, `rsa3072_falcon512`\*, `falcon1024`\*, `p521_falcon1024`\* +- **CRYSTALS-Dilithium**:`dilithium2`\*, `p256_dilithium2`\*, `rsa3072_dilithium2`\*, `dilithium2WithSha256`\*, `dilithium2WithSha384`\*, `dilithium2WithSha512`\*, `dilithium2WithSha3At256`\*, `dilithium2WithSha3At384`\*, `dilithium2WithSha3At512`\*, `dilithium2WithShake128`\*, `dilithium2WithShake256`\*, `dilithium3`\*, `p384_dilithium3`\*, `dilithium3WithSha256`\*, `dilithium3WithSha384`\*, `dilithium3WithSha512`\*, `dilithium3WithSha3At256`\*, `dilithium3WithSha3At384`\*, `dilithium3WithSha3At512`\*, `dilithium3WithShake128`\*, `dilithium3WithShake256`\*, `dilithium5`\*, `p521_dilithium5`\*, `dilithium5WithSha256`\*, `dilithium5WithSha384`\*, `dilithium5WithSha512`\*, `dilithium5WithSha3At256`\*, `dilithium5WithSha3At384`\*, `dilithium5WithSha3At512`\*, `dilithium5WithShake128`\*, `dilithium5WithShake256`\* +- **Falcon**:`falcon512`\*, `p256_falcon512`\*, `rsa3072_falcon512`\*, `falcon512WithSha256`\*, `falcon512WithSha384`\*, `falcon512WithSha512`\*, `falcon512WithSha3At256`\*, `falcon512WithSha3At384`\*, `falcon512WithSha3At512`\*, `falcon512WithShake128`\*, `falcon512WithShake256`\*, `falcon1024`\*, `p521_falcon1024`\*, `falcon1024WithSha256`\*, `falcon1024WithSha384`\*, `falcon1024WithSha512`\*, `falcon1024WithSha3At256`\*, `falcon1024WithSha3At384`\*, `falcon1024WithSha3At512`\*, `falcon1024WithShake128`\*, `falcon1024WithShake256`\* - **SPHINCS-SHA2**:`sphincssha2128fsimple`\*, `p256_sphincssha2128fsimple`\*, `rsa3072_sphincssha2128fsimple`\*, `sphincssha2128ssimple`\*, `p256_sphincssha2128ssimple`\*, `rsa3072_sphincssha2128ssimple`\*, `sphincssha2192fsimple`\*, `p384_sphincssha2192fsimple`\*, `sphincssha2192ssimple`, `p384_sphincssha2192ssimple`, `sphincssha2256fsimple`, `p521_sphincssha2256fsimple`, `sphincssha2256ssimple`, `p521_sphincssha2256ssimple` - **SPHINCS-SHAKE**:`sphincsshake128fsimple`\*, `p256_sphincsshake128fsimple`\*, `rsa3072_sphincsshake128fsimple`\*, `sphincsshake128ssimple`, `p256_sphincsshake128ssimple`, `rsa3072_sphincsshake128ssimple`, `sphincsshake192fsimple`, `p384_sphincsshake192fsimple`, `sphincsshake192ssimple`, `p384_sphincsshake192ssimple`, `sphincsshake256fsimple`, `p521_sphincsshake256fsimple`, `sphincsshake256ssimple`, `p521_sphincsshake256ssimple` diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index b997e867..58213075 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -509,18 +509,178 @@ sigs: 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.2.7.3', 'code_point': '0xfea4'}] + - + name: 'dilithium3WithSha256' + pretty_name: 'DILITHIUM3-SHA256' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.1' + digest: SHA256 + code_point: '0xfea5' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium3WithSha384' + pretty_name: 'DILITHIUM3-SHA384' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.2' + digest: SHA384 + code_point: '0xfea6' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium3WithSha512' + pretty_name: 'DILITHIUM3-SHA512' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.3' + digest: SHA512 + code_point: '0xfea7' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium3WithSha3At256' + pretty_name: 'DILITHIUM3-SHA3-256' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.4' + digest: SHA3-256 + code_point: '0xfea8' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium3WithSha3At384' + pretty_name: 'DILITHIUM3-SHA3-384' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.5' + digest: SHA3-384 + code_point: '0xfea9' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium3WithSha3At512' + pretty_name: 'DILITHIUM3-SHA3-512' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.6' + digest: SHA3-512 + code_point: '0xfeaa' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium3WithShake128' + pretty_name: 'DILITHIUM3-SHAKE128' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.7' + digest: SHAKE128 + code_point: '0xfeab' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium3WithShake256' + pretty_name: 'DILITHIUM3-SHAKE256' + oqs_meth: 'OQS_SIG_alg_dilithium_3' + oid: '1.3.6.1.4.1.18227.999.1.2.8' + digest: SHAKE256 + code_point: '0xfeac' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + - name: 'dilithium5' pretty_name: 'Dilithium5' oqs_meth: 'OQS_SIG_alg_dilithium_5' oid: '1.3.6.1.4.1.2.267.7.8.7' - code_point: '0xfea5' + code_point: '0xfead' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.2.7.4', - 'code_point': '0xfea6'}] + 'code_point': '0xfeae'}] + + - + name: 'dilithium5WithSha256' + pretty_name: 'DILITHIUM5-SHA256' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.1' + digest: SHA256 + code_point: '0xfeaf' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium5WithSha384' + pretty_name: 'DILITHIUM5-SHA384' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.2' + digest: SHA384 + code_point: '0xfeb0' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium5WithSha512' + pretty_name: 'DILITHIUM5-SHA512' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.3' + digest: SHA512 + code_point: '0xfeb1' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium5WithSha3At256' + pretty_name: 'DILITHIUM5-SHA3-256' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.4' + digest: SHA3-256 + code_point: '0xfeb2' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium5WithSha3At384' + pretty_name: 'DILITHIUM5-SHA3-384' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.5' + digest: SHA3-384 + code_point: '0xfeb3' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium5WithSha3At512' + pretty_name: 'DILITHIUM5-SHA3-512' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.6' + digest: SHA3-512 + code_point: '0xfeb4' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium5WithShake128' + pretty_name: 'DILITHIUM5-SHAKE128' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.7' + digest: SHAKE128 + code_point: '0xfeb5' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'dilithium5WithShake256' + pretty_name: 'DILITHIUM5-SHAKE256' + oqs_meth: 'OQS_SIG_alg_dilithium_5' + oid: '1.3.6.1.4.1.18227.999.1.3.8' + digest: SHAKE256 + code_point: '0xfeb6' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true - name: 'dilithium2_aes' pretty_name: 'Dilithium2_AES' @@ -530,16 +690,16 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.6.1.4.1.2.267.11.4.4' - code_point: '0xfea7' + code_point: '0xfeb7' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.2.11.1', - 'code_point': '0xfea8'}, + 'code_point': '0xfeb8'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.2.11.2', - 'code_point': '0xfea9'}] + 'code_point': '0xfeb9'}] - name: 'dilithium3_aes' pretty_name: 'Dilithium3_AES' @@ -549,12 +709,12 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.6.1.4.1.2.267.11.6.5' - code_point: '0xfeaa' + code_point: '0xfeba' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.2.11.3', - 'code_point': '0xfeab'}] + 'code_point': '0xfebb'}] - name: 'dilithium5_aes' pretty_name: 'Dilithium5_AES' @@ -564,12 +724,12 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.6.1.4.1.2.267.11.8.7' - code_point: '0xfeac' + code_point: '0xfebc' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.2.11.4', - 'code_point': '0xfead'}] + 'code_point': '0xfebd'}] - # iso (1) # identified-organization (3) @@ -582,17 +742,17 @@ sigs: pretty_name: 'Falcon-512' oqs_meth: 'OQS_SIG_alg_falcon_512' oid: '1.3.9999.3.6' - code_point: '0xfeae' + code_point: '0xfebe' supported_encodings: ['draft-uni-qsckeys-falcon-00/sk-pk'] enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.3.7', - 'code_point': '0xfeaf'}, + 'code_point': '0xfebf'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.3.8', - 'code_point': '0xfeb0'}] + 'code_point': '0xfec0'}] extra_nids: old: - implementation_version: NIST Round 3 submission @@ -607,18 +767,99 @@ sigs: 'pretty_name': 'RSA3072', 'oid': '1.3.9999.3.3', 'code_point': '0xfe0d'}] + + - + name: 'falcon512WithSha256' + pretty_name: 'Falcon512-SHA256' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.1.1' + digest: SHA256 + code_point: '0xfec1' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon512WithSha384' + pretty_name: 'Falcon512-SHA384' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.2.1' + digest: SHA384 + code_point: '0xfec2' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon512WithSha512' + pretty_name: 'Falcon512-SHA512' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.3.1' + digest: SHA512 + code_point: '0xfec3' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon512WithSha3At256' + pretty_name: 'Falcon512-SHA3-256' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.4.1' + digest: SHA3-256 + code_point: '0xfec4' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon512WithSha3At384' + pretty_name: 'Falcon512-SHA3-384' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.5.1' + digest: SHA3-384 + code_point: '0xfec5' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon512WithSha3At512' + pretty_name: 'Falcon512-SHA3-512' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.6.1' + digest: SHA3-512 + code_point: '0xfec6' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon512WithShake128' + pretty_name: 'Falcon512-SHAKE128' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.7.1' + digest: SHAKE128 + code_point: '0xfec6' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon512WithShake256' + pretty_name: 'Falcon512-SHAKE256' + oqs_meth: 'OQS_SIG_alg_falcon_512' + oid: '1.3.6.1.4.1.18227.999.2.3.8.1' + digest: SHAKE256 + code_point: '0xfec7' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + - name: 'falcon1024' pretty_name: 'Falcon-1024' oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.9999.3.9' - code_point: '0xfeb1' + code_point: '0xfec8' supported_encodings: ['draft-uni-qsckeys-falcon-00/sk-pk'] enable: true mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.3.10', - 'code_point': '0xfeb2'}] + 'code_point': '0xfec9'}] extra_nids: old: - implementation_version: NIST Round 3 submission @@ -629,6 +870,86 @@ sigs: 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.3.5', 'code_point': '0xfe0f'}] + + - + name: 'falcon1024WithSha256' + pretty_name: 'Falcon1024-SHA256' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.1.1' + digest: SHA256 + code_point: '0xfeca' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon1024WithSha384' + pretty_name: 'Falcon1024-SHA384' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.2.1' + digest: SHA384 + code_point: '0xfecb' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon1024WithSha512' + pretty_name: 'Falcon1024-SHA512' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.3.1' + digest: SHA512 + code_point: '0xfecc' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon1024WithSha3At256' + pretty_name: 'Falcon1024-SHA3-256' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.4.1' + digest: SHA3-256 + code_point: '0xfecd' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon1024WithSha3At384' + pretty_name: 'Falcon1024-SHA3-384' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.5.1' + digest: SHA3-384 + code_point: '0xfece' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon1024WithSha3At512' + pretty_name: 'Falcon1024-SHA3-512' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.6.1' + digest: SHA3-512 + code_point: '0xfecf' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon1024WithShake128' + pretty_name: 'Falcon1024-SHAKE128' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.7.1' + digest: SHAKE128 + code_point: '0xfed0' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true + + - + name: 'falcon1024WithShake256' + pretty_name: 'Falcon1024-SHAKE256' + oqs_meth: 'OQS_SIG_alg_falcon_1024' + oid: '1.3.6.1.4.1.18227.999.2.2.8.1' + digest: SHAKE256 + code_point: '0xfed1' + supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] + enable: true - family: 'SPHINCS-Haraka' variants: diff --git a/oqs-template/oqs-sig-info.md b/oqs-template/oqs-sig-info.md index b83f93c9..6aa5190e 100644 --- a/oqs-template/oqs-sig-info.md +++ b/oqs-template/oqs-sig-info.md @@ -1,146 +1,178 @@ -| Algorithm | Implementation Version | NIST round | Claimed NIST Level | Code Point | OID | -|:--------------------------------------------------|:----------------------------------------------|-------------:|---------------------:|:-------------|:----------------------------| -| dilithium2 | 3.1 | 3 | 2 | 0xfe98 | 1.3.6.1.4.1.2.267.7.4.4 | -| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfe99 | 1.3.9999.2.7.1 | -| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfe9a | 1.3.9999.2.7.2 | -| dilithium2WithSha256 | 3.1 | 3 | 2 | 0xfe9b | 1.3.6.1.4.1.18227.999.1.1.1 | -| dilithium2WithSha384 | 3.1 | 3 | 2 | 0xfe9c | 1.3.6.1.4.1.18227.999.1.1.2 | -| dilithium2WithSha512 | 3.1 | 3 | 2 | 0xfe9d | 1.3.6.1.4.1.18227.999.1.1.3 | -| dilithium2WithSha3At256 | 3.1 | 3 | 2 | 0xfe9e | 1.3.6.1.4.1.18227.999.1.1.4 | -| dilithium2WithSha3At384 | 3.1 | 3 | 2 | 0xfe9f | 1.3.6.1.4.1.18227.999.1.1.5 | -| dilithium2WithSha3At512 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.18227.999.1.1.6 | -| dilithium2WithShake128 | 3.1 | 3 | 2 | 0xfea1 | 1.3.6.1.4.1.18227.999.1.1.7 | -| dilithium2WithShake256 | 3.1 | 3 | 2 | 0xfea2 | 1.3.6.1.4.1.18227.999.1.1.8 | -| 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 | 0xfeae | 1.3.9999.3.6 | -| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfeaf | 1.3.9999.3.7 | -| falcon512 **hybrid with** rsa3072 | 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 | -| falcon1024 | 20211101 | 3 | 5 | 0xfeb1 | 1.3.9999.3.9 | -| falcon1024 **hybrid with** p521 | 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 | -| 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 | +|:--------------------------------------------------|:----------------------------------------------|-------------:|---------------------:|:-------------|:------------------------------| +| dilithium2 | 3.1 | 3 | 2 | 0xfe98 | 1.3.6.1.4.1.2.267.7.4.4 | +| dilithium2 **hybrid with** p256 | 3.1 | 3 | 2 | 0xfe99 | 1.3.9999.2.7.1 | +| dilithium2 **hybrid with** rsa3072 | 3.1 | 3 | 2 | 0xfe9a | 1.3.9999.2.7.2 | +| dilithium2WithSha256 | 3.1 | 3 | 2 | 0xfe9b | 1.3.6.1.4.1.18227.999.1.1.1 | +| dilithium2WithSha384 | 3.1 | 3 | 2 | 0xfe9c | 1.3.6.1.4.1.18227.999.1.1.2 | +| dilithium2WithSha512 | 3.1 | 3 | 2 | 0xfe9d | 1.3.6.1.4.1.18227.999.1.1.3 | +| dilithium2WithSha3At256 | 3.1 | 3 | 2 | 0xfe9e | 1.3.6.1.4.1.18227.999.1.1.4 | +| dilithium2WithSha3At384 | 3.1 | 3 | 2 | 0xfe9f | 1.3.6.1.4.1.18227.999.1.1.5 | +| dilithium2WithSha3At512 | 3.1 | 3 | 2 | 0xfea0 | 1.3.6.1.4.1.18227.999.1.1.6 | +| dilithium2WithShake128 | 3.1 | 3 | 2 | 0xfea1 | 1.3.6.1.4.1.18227.999.1.1.7 | +| dilithium2WithShake256 | 3.1 | 3 | 2 | 0xfea2 | 1.3.6.1.4.1.18227.999.1.1.8 | +| 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 | +| dilithium3WithSha256 | 3.1 | 3 | 3 | 0xfea5 | 1.3.6.1.4.1.18227.999.1.2.1 | +| dilithium3WithSha384 | 3.1 | 3 | 3 | 0xfea6 | 1.3.6.1.4.1.18227.999.1.2.2 | +| dilithium3WithSha512 | 3.1 | 3 | 3 | 0xfea7 | 1.3.6.1.4.1.18227.999.1.2.3 | +| dilithium3WithSha3At256 | 3.1 | 3 | 3 | 0xfea8 | 1.3.6.1.4.1.18227.999.1.2.4 | +| dilithium3WithSha3At384 | 3.1 | 3 | 3 | 0xfea9 | 1.3.6.1.4.1.18227.999.1.2.5 | +| dilithium3WithSha3At512 | 3.1 | 3 | 3 | 0xfeaa | 1.3.6.1.4.1.18227.999.1.2.6 | +| dilithium3WithShake128 | 3.1 | 3 | 3 | 0xfeab | 1.3.6.1.4.1.18227.999.1.2.7 | +| dilithium3WithShake256 | 3.1 | 3 | 3 | 0xfeac | 1.3.6.1.4.1.18227.999.1.2.8 | +| dilithium5 | 3.1 | 3 | 5 | 0xfead | 1.3.6.1.4.1.2.267.7.8.7 | +| dilithium5 **hybrid with** p521 | 3.1 | 3 | 5 | 0xfeae | 1.3.9999.2.7.4 | +| dilithium5WithSha256 | 3.1 | 3 | 5 | 0xfeaf | 1.3.6.1.4.1.18227.999.1.3.1 | +| dilithium5WithSha384 | 3.1 | 3 | 5 | 0xfeb0 | 1.3.6.1.4.1.18227.999.1.3.2 | +| dilithium5WithSha512 | 3.1 | 3 | 5 | 0xfeb1 | 1.3.6.1.4.1.18227.999.1.3.3 | +| dilithium5WithSha3At256 | 3.1 | 3 | 5 | 0xfeb2 | 1.3.6.1.4.1.18227.999.1.3.4 | +| dilithium5WithSha3At384 | 3.1 | 3 | 5 | 0xfeb3 | 1.3.6.1.4.1.18227.999.1.3.5 | +| dilithium5WithSha3At512 | 3.1 | 3 | 5 | 0xfeb4 | 1.3.6.1.4.1.18227.999.1.3.6 | +| dilithium5WithShake128 | 3.1 | 3 | 5 | 0xfeb5 | 1.3.6.1.4.1.18227.999.1.3.7 | +| dilithium5WithShake256 | 3.1 | 3 | 5 | 0xfeb6 | 1.3.6.1.4.1.18227.999.1.3.8 | +| dilithium2_aes | NIST Round 3 submission | 3 | 2 | 0xfeb7 | 1.3.6.1.4.1.2.267.11.4.4 | +| dilithium2_aes **hybrid with** p256 | NIST Round 3 submission | 3 | 2 | 0xfeb8 | 1.3.9999.2.11.1 | +| dilithium2_aes **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 2 | 0xfeb9 | 1.3.9999.2.11.2 | +| dilithium3_aes | NIST Round 3 submission | 3 | 3 | 0xfeba | 1.3.6.1.4.1.2.267.11.6.5 | +| dilithium3_aes **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfebb | 1.3.9999.2.11.3 | +| dilithium5_aes | NIST Round 3 submission | 3 | 5 | 0xfebc | 1.3.6.1.4.1.2.267.11.8.7 | +| dilithium5_aes **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfebd | 1.3.9999.2.11.4 | +| falcon512 | 20211101 | 3 | 1 | 0xfebe | 1.3.9999.3.6 | +| falcon512 **hybrid with** p256 | 20211101 | 3 | 1 | 0xfebf | 1.3.9999.3.7 | +| falcon512 **hybrid with** rsa3072 | 20211101 | 3 | 1 | 0xfec0 | 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 | +| falcon512WithSha256 | 20211101 | 3 | 1 | 0xfec1 | 1.3.6.1.4.1.18227.999.2.3.1.1 | +| falcon512WithSha384 | 20211101 | 3 | 1 | 0xfec2 | 1.3.6.1.4.1.18227.999.2.3.2.1 | +| falcon512WithSha512 | 20211101 | 3 | 1 | 0xfec3 | 1.3.6.1.4.1.18227.999.2.3.3.1 | +| falcon512WithSha3At256 | 20211101 | 3 | 1 | 0xfec4 | 1.3.6.1.4.1.18227.999.2.3.4.1 | +| falcon512WithSha3At384 | 20211101 | 3 | 1 | 0xfec5 | 1.3.6.1.4.1.18227.999.2.3.5.1 | +| falcon512WithSha3At512 | 20211101 | 3 | 1 | 0xfec6 | 1.3.6.1.4.1.18227.999.2.3.6.1 | +| falcon512WithShake128 | 20211101 | 3 | 1 | 0xfec6 | 1.3.6.1.4.1.18227.999.2.3.7.1 | +| falcon512WithShake256 | 20211101 | 3 | 1 | 0xfec7 | 1.3.6.1.4.1.18227.999.2.3.8.1 | +| falcon1024 | 20211101 | 3 | 5 | 0xfec8 | 1.3.9999.3.9 | +| falcon1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfec9 | 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 | +| falcon1024WithSha256 | 20211101 | 3 | 5 | 0xfeca | 1.3.6.1.4.1.18227.999.2.2.1.1 | +| falcon1024WithSha384 | 20211101 | 3 | 5 | 0xfecb | 1.3.6.1.4.1.18227.999.2.2.2.1 | +| falcon1024WithSha512 | 20211101 | 3 | 5 | 0xfecc | 1.3.6.1.4.1.18227.999.2.2.3.1 | +| falcon1024WithSha3At256 | 20211101 | 3 | 5 | 0xfecd | 1.3.6.1.4.1.18227.999.2.2.4.1 | +| falcon1024WithSha3At384 | 20211101 | 3 | 5 | 0xfece | 1.3.6.1.4.1.18227.999.2.2.5.1 | +| falcon1024WithSha3At512 | 20211101 | 3 | 5 | 0xfecf | 1.3.6.1.4.1.18227.999.2.2.6.1 | +| falcon1024WithShake128 | 20211101 | 3 | 5 | 0xfed0 | 1.3.6.1.4.1.18227.999.2.2.7.1 | +| falcon1024WithShake256 | 20211101 | 3 | 5 | 0xfed1 | 1.3.6.1.4.1.18227.999.2.2.8.1 | +| 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 diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c index 849701a5..d7a8dc41 100644 --- a/oqsprov/oqs_decode_der2key.c +++ b/oqsprov/oqs_decode_der2key.c @@ -539,69 +539,52 @@ static void oqsx_key_adjust(void *key, struct der2key_ctx_st *ctx) ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_START #ifdef OQS_KEM_ENCODERS + MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, - PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, SubjectPublicKeyInfo); @@ -610,16 +593,14 @@ MAKE_DECODER(_ecp, "p384_kyber768", p384_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, SubjectPublicKeyInfo); @@ -660,106 +641,131 @@ MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, SubjectPublicKeyInfo); #endif /* OQS_KEM_ENCODERS */ + MAKE_DECODER(, "dilithium2", dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium2", dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha256", dilithium3WithSha256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha256", dilithium3WithSha256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha384", dilithium3WithSha384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha384", dilithium3WithSha384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha512", dilithium3WithSha512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha512", dilithium3WithSha512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At256", dilithium3WithSha3At256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At256", dilithium3WithSha3At256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At384", dilithium3WithSha3At384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At384", dilithium3WithSha3At384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At512", dilithium3WithSha3At512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At512", dilithium3WithSha3At512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithShake128", dilithium3WithShake128, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithShake128", dilithium3WithShake128, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithShake256", dilithium3WithShake256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithShake256", dilithium3WithShake256, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium5", dilithium5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium5", dilithium5, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p521_dilithium5", p521_dilithium5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_dilithium5", p521_dilithium5, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha256", dilithium5WithSha256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha256", dilithium5WithSha256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha384", dilithium5WithSha384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha384", dilithium5WithSha384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha512", dilithium5WithSha512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha512", dilithium5WithSha512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At256", dilithium5WithSha3At256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At256", dilithium5WithSha3At256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At384", dilithium5WithSha3At384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At384", dilithium5WithSha3At384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At512", dilithium5WithSha3At512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At512", dilithium5WithSha3At512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithShake128", dilithium5WithShake128, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithShake128", dilithium5WithShake128, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithShake256", dilithium5WithShake256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithShake256", dilithium5WithShake256, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "falcon512", falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon512", falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, - SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha256", falcon512WithSha256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha256", falcon512WithSha256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha384", falcon512WithSha384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha384", falcon512WithSha384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha512", falcon512WithSha512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha512", falcon512WithSha512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At256", falcon512WithSha3At256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At256", falcon512WithSha3At256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At384", falcon512WithSha3At384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At384", falcon512WithSha3At384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At512", falcon512WithSha3At512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At512", falcon512WithSha3At512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithShake128", falcon512WithShake128, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithShake128", falcon512WithShake128, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithShake256", falcon512WithShake256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithShake256", falcon512WithShake256, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, - oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, - oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, - oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, - oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, - PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, - SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, - oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, - oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha256", falcon1024WithSha256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha256", falcon1024WithSha256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha384", falcon1024WithSha384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha384", falcon1024WithSha384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha512", falcon1024WithSha512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha512", falcon1024WithSha512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At256", falcon1024WithSha3At256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At256", falcon1024WithSha3At256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At384", falcon1024WithSha3At384, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At384", falcon1024WithSha3At384, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At512", falcon1024WithSha3At512, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At512", falcon1024WithSha3At512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithShake128", falcon1024WithShake128, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithShake128", falcon1024WithShake128, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithShake256", falcon1024WithShake256, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithShake256", falcon1024WithShake256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_END diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c index 0b9d41fc..69717f23 100644 --- a/oqsprov/oqs_encode_key2any.c +++ b/oqsprov/oqs_encode_key2any.c @@ -649,242 +649,338 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) // OQS provider uses NIDs generated at load time as EVP_type identifiers // so initially this must be 0 and set to a real value by OBJ_sn2nid later ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_START -#define frodo640aes_evp_type 0 -#define frodo640aes_input_type "frodo640aes" -#define frodo640aes_pem_type "frodo640aes" - -#define p256_frodo640aes_evp_type 0 -#define p256_frodo640aes_input_type "p256_frodo640aes" -#define p256_frodo640aes_pem_type "p256_frodo640aes" -#define x25519_frodo640aes_evp_type 0 -#define x25519_frodo640aes_input_type "x25519_frodo640aes" -#define x25519_frodo640aes_pem_type "x25519_frodo640aes" -#define frodo640shake_evp_type 0 -#define frodo640shake_input_type "frodo640shake" -#define frodo640shake_pem_type "frodo640shake" - -#define p256_frodo640shake_evp_type 0 -#define p256_frodo640shake_input_type "p256_frodo640shake" -#define p256_frodo640shake_pem_type "p256_frodo640shake" -#define x25519_frodo640shake_evp_type 0 -#define x25519_frodo640shake_input_type "x25519_frodo640shake" -#define x25519_frodo640shake_pem_type "x25519_frodo640shake" -#define frodo976aes_evp_type 0 -#define frodo976aes_input_type "frodo976aes" -#define frodo976aes_pem_type "frodo976aes" - -#define p384_frodo976aes_evp_type 0 -#define p384_frodo976aes_input_type "p384_frodo976aes" -#define p384_frodo976aes_pem_type "p384_frodo976aes" -#define x448_frodo976aes_evp_type 0 -#define x448_frodo976aes_input_type "x448_frodo976aes" -#define x448_frodo976aes_pem_type "x448_frodo976aes" -#define frodo976shake_evp_type 0 -#define frodo976shake_input_type "frodo976shake" -#define frodo976shake_pem_type "frodo976shake" - -#define p384_frodo976shake_evp_type 0 -#define p384_frodo976shake_input_type "p384_frodo976shake" -#define p384_frodo976shake_pem_type "p384_frodo976shake" -#define x448_frodo976shake_evp_type 0 -#define x448_frodo976shake_input_type "x448_frodo976shake" -#define x448_frodo976shake_pem_type "x448_frodo976shake" -#define frodo1344aes_evp_type 0 -#define frodo1344aes_input_type "frodo1344aes" -#define frodo1344aes_pem_type "frodo1344aes" - -#define p521_frodo1344aes_evp_type 0 -#define p521_frodo1344aes_input_type "p521_frodo1344aes" -#define p521_frodo1344aes_pem_type "p521_frodo1344aes" -#define frodo1344shake_evp_type 0 -#define frodo1344shake_input_type "frodo1344shake" -#define frodo1344shake_pem_type "frodo1344shake" - -#define p521_frodo1344shake_evp_type 0 -#define p521_frodo1344shake_input_type "p521_frodo1344shake" -#define p521_frodo1344shake_pem_type "p521_frodo1344shake" -#define kyber512_evp_type 0 -#define kyber512_input_type "kyber512" -#define kyber512_pem_type "kyber512" - -#define p256_kyber512_evp_type 0 -#define p256_kyber512_input_type "p256_kyber512" -#define p256_kyber512_pem_type "p256_kyber512" -#define x25519_kyber512_evp_type 0 -#define x25519_kyber512_input_type "x25519_kyber512" -#define x25519_kyber512_pem_type "x25519_kyber512" -#define kyber768_evp_type 0 -#define kyber768_input_type "kyber768" -#define kyber768_pem_type "kyber768" - -#define p384_kyber768_evp_type 0 -#define p384_kyber768_input_type "p384_kyber768" -#define p384_kyber768_pem_type "p384_kyber768" -#define x448_kyber768_evp_type 0 -#define x448_kyber768_input_type "x448_kyber768" -#define x448_kyber768_pem_type "x448_kyber768" -#define x25519_kyber768_evp_type 0 -#define x25519_kyber768_input_type "x25519_kyber768" -#define x25519_kyber768_pem_type "x25519_kyber768" -#define p256_kyber768_evp_type 0 -#define p256_kyber768_input_type "p256_kyber768" -#define p256_kyber768_pem_type "p256_kyber768" -#define kyber1024_evp_type 0 -#define kyber1024_input_type "kyber1024" -#define kyber1024_pem_type "kyber1024" - -#define p521_kyber1024_evp_type 0 -#define p521_kyber1024_input_type "p521_kyber1024" -#define p521_kyber1024_pem_type "p521_kyber1024" -#define bikel1_evp_type 0 -#define bikel1_input_type "bikel1" -#define bikel1_pem_type "bikel1" - -#define p256_bikel1_evp_type 0 -#define p256_bikel1_input_type "p256_bikel1" -#define p256_bikel1_pem_type "p256_bikel1" -#define x25519_bikel1_evp_type 0 -#define x25519_bikel1_input_type "x25519_bikel1" -#define x25519_bikel1_pem_type "x25519_bikel1" -#define bikel3_evp_type 0 -#define bikel3_input_type "bikel3" -#define bikel3_pem_type "bikel3" - -#define p384_bikel3_evp_type 0 -#define p384_bikel3_input_type "p384_bikel3" -#define p384_bikel3_pem_type "p384_bikel3" -#define x448_bikel3_evp_type 0 -#define x448_bikel3_input_type "x448_bikel3" -#define x448_bikel3_pem_type "x448_bikel3" -#define bikel5_evp_type 0 -#define bikel5_input_type "bikel5" -#define bikel5_pem_type "bikel5" - -#define p521_bikel5_evp_type 0 -#define p521_bikel5_input_type "p521_bikel5" -#define p521_bikel5_pem_type "p521_bikel5" -#define hqc128_evp_type 0 -#define hqc128_input_type "hqc128" -#define hqc128_pem_type "hqc128" - -#define p256_hqc128_evp_type 0 -#define p256_hqc128_input_type "p256_hqc128" -#define p256_hqc128_pem_type "p256_hqc128" -#define x25519_hqc128_evp_type 0 -#define x25519_hqc128_input_type "x25519_hqc128" -#define x25519_hqc128_pem_type "x25519_hqc128" -#define hqc192_evp_type 0 -#define hqc192_input_type "hqc192" -#define hqc192_pem_type "hqc192" - -#define p384_hqc192_evp_type 0 -#define p384_hqc192_input_type "p384_hqc192" -#define p384_hqc192_pem_type "p384_hqc192" -#define x448_hqc192_evp_type 0 -#define x448_hqc192_input_type "x448_hqc192" -#define x448_hqc192_pem_type "x448_hqc192" -#define hqc256_evp_type 0 -#define hqc256_input_type "hqc256" -#define hqc256_pem_type "hqc256" - -#define p521_hqc256_evp_type 0 -#define p521_hqc256_input_type "p521_hqc256" -#define p521_hqc256_pem_type "p521_hqc256" - -#define dilithium2_evp_type 0 -#define dilithium2_input_type "dilithium2" -#define dilithium2_pem_type "dilithium2" -#define p256_dilithium2_evp_type 0 -#define p256_dilithium2_input_type "p256_dilithium2" -#define p256_dilithium2_pem_type "p256_dilithium2" -#define rsa3072_dilithium2_evp_type 0 -#define rsa3072_dilithium2_input_type "rsa3072_dilithium2" -#define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" -#define dilithium2WithSha256_evp_type 0 -#define dilithium2WithSha256_input_type "dilithium2WithSha256" -#define dilithium2WithSha256_pem_type "dilithium2WithSha256" -#define dilithium2WithSha384_evp_type 0 -#define dilithium2WithSha384_input_type "dilithium2WithSha384" -#define dilithium2WithSha384_pem_type "dilithium2WithSha384" -#define dilithium2WithSha512_evp_type 0 -#define dilithium2WithSha512_input_type "dilithium2WithSha512" -#define dilithium2WithSha512_pem_type "dilithium2WithSha512" -#define dilithium2WithSha3At256_evp_type 0 -#define dilithium2WithSha3At256_input_type "dilithium2WithSha3At256" -#define dilithium2WithSha3At256_pem_type "dilithium2WithSha3At256" -#define dilithium2WithSha3At384_evp_type 0 -#define dilithium2WithSha3At384_input_type "dilithium2WithSha3At384" -#define dilithium2WithSha3At384_pem_type "dilithium2WithSha3At384" -#define dilithium2WithSha3At512_evp_type 0 -#define dilithium2WithSha3At512_input_type "dilithium2WithSha3At512" -#define dilithium2WithSha3At512_pem_type "dilithium2WithSha3At512" -#define dilithium2WithShake128_evp_type 0 -#define dilithium2WithShake128_input_type "dilithium2WithShake128" -#define dilithium2WithShake128_pem_type "dilithium2WithShake128" -#define dilithium2WithShake256_evp_type 0 -#define dilithium2WithShake256_input_type "dilithium2WithShake256" -#define dilithium2WithShake256_pem_type "dilithium2WithShake256" -#define dilithium3_evp_type 0 -#define dilithium3_input_type "dilithium3" -#define dilithium3_pem_type "dilithium3" -#define p384_dilithium3_evp_type 0 -#define p384_dilithium3_input_type "p384_dilithium3" -#define p384_dilithium3_pem_type "p384_dilithium3" -#define dilithium5_evp_type 0 -#define dilithium5_input_type "dilithium5" -#define dilithium5_pem_type "dilithium5" -#define p521_dilithium5_evp_type 0 -#define p521_dilithium5_input_type "p521_dilithium5" -#define p521_dilithium5_pem_type "p521_dilithium5" -#define falcon512_evp_type 0 -#define falcon512_input_type "falcon512" -#define falcon512_pem_type "falcon512" -#define p256_falcon512_evp_type 0 -#define p256_falcon512_input_type "p256_falcon512" -#define p256_falcon512_pem_type "p256_falcon512" -#define rsa3072_falcon512_evp_type 0 -#define rsa3072_falcon512_input_type "rsa3072_falcon512" -#define rsa3072_falcon512_pem_type "rsa3072_falcon512" -#define falcon1024_evp_type 0 -#define falcon1024_input_type "falcon1024" -#define falcon1024_pem_type "falcon1024" -#define p521_falcon1024_evp_type 0 -#define p521_falcon1024_input_type "p521_falcon1024" -#define p521_falcon1024_pem_type "p521_falcon1024" -#define sphincssha2128fsimple_evp_type 0 -#define sphincssha2128fsimple_input_type "sphincssha2128fsimple" -#define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" -#define p256_sphincssha2128fsimple_evp_type 0 -#define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" -#define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" -#define rsa3072_sphincssha2128fsimple_evp_type 0 -#define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" -#define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" -#define sphincssha2128ssimple_evp_type 0 -#define sphincssha2128ssimple_input_type "sphincssha2128ssimple" -#define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" -#define p256_sphincssha2128ssimple_evp_type 0 -#define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" -#define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" -#define rsa3072_sphincssha2128ssimple_evp_type 0 -#define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" -#define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" -#define sphincssha2192fsimple_evp_type 0 -#define sphincssha2192fsimple_input_type "sphincssha2192fsimple" -#define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" -#define p384_sphincssha2192fsimple_evp_type 0 -#define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" -#define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" -#define sphincsshake128fsimple_evp_type 0 -#define sphincsshake128fsimple_input_type "sphincsshake128fsimple" -#define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" -#define p256_sphincsshake128fsimple_evp_type 0 -#define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" -#define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" -#define rsa3072_sphincsshake128fsimple_evp_type 0 -#define rsa3072_sphincsshake128fsimple_input_type \ - "rsa3072_sphincsshake128fsimple" -#define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" +# define frodo640aes_evp_type 0 +# define frodo640aes_input_type "frodo640aes" +# define frodo640aes_pem_type "frodo640aes" + +# define p256_frodo640aes_evp_type 0 +# define p256_frodo640aes_input_type "p256_frodo640aes" +# define p256_frodo640aes_pem_type "p256_frodo640aes" +# define x25519_frodo640aes_evp_type 0 +# define x25519_frodo640aes_input_type "x25519_frodo640aes" +# define x25519_frodo640aes_pem_type "x25519_frodo640aes" +# define frodo640shake_evp_type 0 +# define frodo640shake_input_type "frodo640shake" +# define frodo640shake_pem_type "frodo640shake" + +# define p256_frodo640shake_evp_type 0 +# define p256_frodo640shake_input_type "p256_frodo640shake" +# define p256_frodo640shake_pem_type "p256_frodo640shake" +# define x25519_frodo640shake_evp_type 0 +# define x25519_frodo640shake_input_type "x25519_frodo640shake" +# define x25519_frodo640shake_pem_type "x25519_frodo640shake" +# define frodo976aes_evp_type 0 +# define frodo976aes_input_type "frodo976aes" +# define frodo976aes_pem_type "frodo976aes" + +# define p384_frodo976aes_evp_type 0 +# define p384_frodo976aes_input_type "p384_frodo976aes" +# define p384_frodo976aes_pem_type "p384_frodo976aes" +# define x448_frodo976aes_evp_type 0 +# define x448_frodo976aes_input_type "x448_frodo976aes" +# define x448_frodo976aes_pem_type "x448_frodo976aes" +# define frodo976shake_evp_type 0 +# define frodo976shake_input_type "frodo976shake" +# define frodo976shake_pem_type "frodo976shake" + +# define p384_frodo976shake_evp_type 0 +# define p384_frodo976shake_input_type "p384_frodo976shake" +# define p384_frodo976shake_pem_type "p384_frodo976shake" +# define x448_frodo976shake_evp_type 0 +# define x448_frodo976shake_input_type "x448_frodo976shake" +# define x448_frodo976shake_pem_type "x448_frodo976shake" +# define frodo1344aes_evp_type 0 +# define frodo1344aes_input_type "frodo1344aes" +# define frodo1344aes_pem_type "frodo1344aes" + +# define p521_frodo1344aes_evp_type 0 +# define p521_frodo1344aes_input_type "p521_frodo1344aes" +# define p521_frodo1344aes_pem_type "p521_frodo1344aes" +# define frodo1344shake_evp_type 0 +# define frodo1344shake_input_type "frodo1344shake" +# define frodo1344shake_pem_type "frodo1344shake" + +# define p521_frodo1344shake_evp_type 0 +# define p521_frodo1344shake_input_type "p521_frodo1344shake" +# define p521_frodo1344shake_pem_type "p521_frodo1344shake" +# define kyber512_evp_type 0 +# define kyber512_input_type "kyber512" +# define kyber512_pem_type "kyber512" + +# define p256_kyber512_evp_type 0 +# define p256_kyber512_input_type "p256_kyber512" +# define p256_kyber512_pem_type "p256_kyber512" +# define x25519_kyber512_evp_type 0 +# define x25519_kyber512_input_type "x25519_kyber512" +# define x25519_kyber512_pem_type "x25519_kyber512" +# define kyber768_evp_type 0 +# define kyber768_input_type "kyber768" +# define kyber768_pem_type "kyber768" + +# define p384_kyber768_evp_type 0 +# define p384_kyber768_input_type "p384_kyber768" +# define p384_kyber768_pem_type "p384_kyber768" +# define x448_kyber768_evp_type 0 +# define x448_kyber768_input_type "x448_kyber768" +# define x448_kyber768_pem_type "x448_kyber768" +# define x25519_kyber768_evp_type 0 +# define x25519_kyber768_input_type "x25519_kyber768" +# define x25519_kyber768_pem_type "x25519_kyber768" +# define p256_kyber768_evp_type 0 +# define p256_kyber768_input_type "p256_kyber768" +# define p256_kyber768_pem_type "p256_kyber768" +# define kyber1024_evp_type 0 +# define kyber1024_input_type "kyber1024" +# define kyber1024_pem_type "kyber1024" + +# define p521_kyber1024_evp_type 0 +# define p521_kyber1024_input_type "p521_kyber1024" +# define p521_kyber1024_pem_type "p521_kyber1024" +# define bikel1_evp_type 0 +# define bikel1_input_type "bikel1" +# define bikel1_pem_type "bikel1" + +# define p256_bikel1_evp_type 0 +# define p256_bikel1_input_type "p256_bikel1" +# define p256_bikel1_pem_type "p256_bikel1" +# define x25519_bikel1_evp_type 0 +# define x25519_bikel1_input_type "x25519_bikel1" +# define x25519_bikel1_pem_type "x25519_bikel1" +# define bikel3_evp_type 0 +# define bikel3_input_type "bikel3" +# define bikel3_pem_type "bikel3" + +# define p384_bikel3_evp_type 0 +# define p384_bikel3_input_type "p384_bikel3" +# define p384_bikel3_pem_type "p384_bikel3" +# define x448_bikel3_evp_type 0 +# define x448_bikel3_input_type "x448_bikel3" +# define x448_bikel3_pem_type "x448_bikel3" +# define bikel5_evp_type 0 +# define bikel5_input_type "bikel5" +# define bikel5_pem_type "bikel5" + +# define p521_bikel5_evp_type 0 +# define p521_bikel5_input_type "p521_bikel5" +# define p521_bikel5_pem_type "p521_bikel5" +# define hqc128_evp_type 0 +# define hqc128_input_type "hqc128" +# define hqc128_pem_type "hqc128" + +# define p256_hqc128_evp_type 0 +# define p256_hqc128_input_type "p256_hqc128" +# define p256_hqc128_pem_type "p256_hqc128" +# define x25519_hqc128_evp_type 0 +# define x25519_hqc128_input_type "x25519_hqc128" +# define x25519_hqc128_pem_type "x25519_hqc128" +# define hqc192_evp_type 0 +# define hqc192_input_type "hqc192" +# define hqc192_pem_type "hqc192" + +# define p384_hqc192_evp_type 0 +# define p384_hqc192_input_type "p384_hqc192" +# define p384_hqc192_pem_type "p384_hqc192" +# define x448_hqc192_evp_type 0 +# define x448_hqc192_input_type "x448_hqc192" +# define x448_hqc192_pem_type "x448_hqc192" +# define hqc256_evp_type 0 +# define hqc256_input_type "hqc256" +# define hqc256_pem_type "hqc256" + +# define p521_hqc256_evp_type 0 +# define p521_hqc256_input_type "p521_hqc256" +# define p521_hqc256_pem_type "p521_hqc256" + + +# define dilithium2_evp_type 0 +# define dilithium2_input_type "dilithium2" +# define dilithium2_pem_type "dilithium2" +# define p256_dilithium2_evp_type 0 +# define p256_dilithium2_input_type "p256_dilithium2" +# define p256_dilithium2_pem_type "p256_dilithium2" +# define rsa3072_dilithium2_evp_type 0 +# define rsa3072_dilithium2_input_type "rsa3072_dilithium2" +# define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" +# define dilithium2WithSha256_evp_type 0 +# define dilithium2WithSha256_input_type "dilithium2WithSha256" +# define dilithium2WithSha256_pem_type "dilithium2WithSha256" +# define dilithium2WithSha384_evp_type 0 +# define dilithium2WithSha384_input_type "dilithium2WithSha384" +# define dilithium2WithSha384_pem_type "dilithium2WithSha384" +# define dilithium2WithSha512_evp_type 0 +# define dilithium2WithSha512_input_type "dilithium2WithSha512" +# define dilithium2WithSha512_pem_type "dilithium2WithSha512" +# define dilithium2WithSha3At256_evp_type 0 +# define dilithium2WithSha3At256_input_type "dilithium2WithSha3At256" +# define dilithium2WithSha3At256_pem_type "dilithium2WithSha3At256" +# define dilithium2WithSha3At384_evp_type 0 +# define dilithium2WithSha3At384_input_type "dilithium2WithSha3At384" +# define dilithium2WithSha3At384_pem_type "dilithium2WithSha3At384" +# define dilithium2WithSha3At512_evp_type 0 +# define dilithium2WithSha3At512_input_type "dilithium2WithSha3At512" +# define dilithium2WithSha3At512_pem_type "dilithium2WithSha3At512" +# define dilithium2WithShake128_evp_type 0 +# define dilithium2WithShake128_input_type "dilithium2WithShake128" +# define dilithium2WithShake128_pem_type "dilithium2WithShake128" +# define dilithium2WithShake256_evp_type 0 +# define dilithium2WithShake256_input_type "dilithium2WithShake256" +# define dilithium2WithShake256_pem_type "dilithium2WithShake256" +# define dilithium3_evp_type 0 +# define dilithium3_input_type "dilithium3" +# define dilithium3_pem_type "dilithium3" +# define p384_dilithium3_evp_type 0 +# define p384_dilithium3_input_type "p384_dilithium3" +# define p384_dilithium3_pem_type "p384_dilithium3" +# define dilithium3WithSha256_evp_type 0 +# define dilithium3WithSha256_input_type "dilithium3WithSha256" +# define dilithium3WithSha256_pem_type "dilithium3WithSha256" +# define dilithium3WithSha384_evp_type 0 +# define dilithium3WithSha384_input_type "dilithium3WithSha384" +# define dilithium3WithSha384_pem_type "dilithium3WithSha384" +# define dilithium3WithSha512_evp_type 0 +# define dilithium3WithSha512_input_type "dilithium3WithSha512" +# define dilithium3WithSha512_pem_type "dilithium3WithSha512" +# define dilithium3WithSha3At256_evp_type 0 +# define dilithium3WithSha3At256_input_type "dilithium3WithSha3At256" +# define dilithium3WithSha3At256_pem_type "dilithium3WithSha3At256" +# define dilithium3WithSha3At384_evp_type 0 +# define dilithium3WithSha3At384_input_type "dilithium3WithSha3At384" +# define dilithium3WithSha3At384_pem_type "dilithium3WithSha3At384" +# define dilithium3WithSha3At512_evp_type 0 +# define dilithium3WithSha3At512_input_type "dilithium3WithSha3At512" +# define dilithium3WithSha3At512_pem_type "dilithium3WithSha3At512" +# define dilithium3WithShake128_evp_type 0 +# define dilithium3WithShake128_input_type "dilithium3WithShake128" +# define dilithium3WithShake128_pem_type "dilithium3WithShake128" +# define dilithium3WithShake256_evp_type 0 +# define dilithium3WithShake256_input_type "dilithium3WithShake256" +# define dilithium3WithShake256_pem_type "dilithium3WithShake256" +# define dilithium5_evp_type 0 +# define dilithium5_input_type "dilithium5" +# define dilithium5_pem_type "dilithium5" +# define p521_dilithium5_evp_type 0 +# define p521_dilithium5_input_type "p521_dilithium5" +# define p521_dilithium5_pem_type "p521_dilithium5" +# define dilithium5WithSha256_evp_type 0 +# define dilithium5WithSha256_input_type "dilithium5WithSha256" +# define dilithium5WithSha256_pem_type "dilithium5WithSha256" +# define dilithium5WithSha384_evp_type 0 +# define dilithium5WithSha384_input_type "dilithium5WithSha384" +# define dilithium5WithSha384_pem_type "dilithium5WithSha384" +# define dilithium5WithSha512_evp_type 0 +# define dilithium5WithSha512_input_type "dilithium5WithSha512" +# define dilithium5WithSha512_pem_type "dilithium5WithSha512" +# define dilithium5WithSha3At256_evp_type 0 +# define dilithium5WithSha3At256_input_type "dilithium5WithSha3At256" +# define dilithium5WithSha3At256_pem_type "dilithium5WithSha3At256" +# define dilithium5WithSha3At384_evp_type 0 +# define dilithium5WithSha3At384_input_type "dilithium5WithSha3At384" +# define dilithium5WithSha3At384_pem_type "dilithium5WithSha3At384" +# define dilithium5WithSha3At512_evp_type 0 +# define dilithium5WithSha3At512_input_type "dilithium5WithSha3At512" +# define dilithium5WithSha3At512_pem_type "dilithium5WithSha3At512" +# define dilithium5WithShake128_evp_type 0 +# define dilithium5WithShake128_input_type "dilithium5WithShake128" +# define dilithium5WithShake128_pem_type "dilithium5WithShake128" +# define dilithium5WithShake256_evp_type 0 +# define dilithium5WithShake256_input_type "dilithium5WithShake256" +# define dilithium5WithShake256_pem_type "dilithium5WithShake256" +# define falcon512_evp_type 0 +# define falcon512_input_type "falcon512" +# define falcon512_pem_type "falcon512" +# define p256_falcon512_evp_type 0 +# define p256_falcon512_input_type "p256_falcon512" +# define p256_falcon512_pem_type "p256_falcon512" +# define rsa3072_falcon512_evp_type 0 +# define rsa3072_falcon512_input_type "rsa3072_falcon512" +# define rsa3072_falcon512_pem_type "rsa3072_falcon512" +# define falcon512WithSha256_evp_type 0 +# define falcon512WithSha256_input_type "falcon512WithSha256" +# define falcon512WithSha256_pem_type "falcon512WithSha256" +# define falcon512WithSha384_evp_type 0 +# define falcon512WithSha384_input_type "falcon512WithSha384" +# define falcon512WithSha384_pem_type "falcon512WithSha384" +# define falcon512WithSha512_evp_type 0 +# define falcon512WithSha512_input_type "falcon512WithSha512" +# define falcon512WithSha512_pem_type "falcon512WithSha512" +# define falcon512WithSha3At256_evp_type 0 +# define falcon512WithSha3At256_input_type "falcon512WithSha3At256" +# define falcon512WithSha3At256_pem_type "falcon512WithSha3At256" +# define falcon512WithSha3At384_evp_type 0 +# define falcon512WithSha3At384_input_type "falcon512WithSha3At384" +# define falcon512WithSha3At384_pem_type "falcon512WithSha3At384" +# define falcon512WithSha3At512_evp_type 0 +# define falcon512WithSha3At512_input_type "falcon512WithSha3At512" +# define falcon512WithSha3At512_pem_type "falcon512WithSha3At512" +# define falcon512WithShake128_evp_type 0 +# define falcon512WithShake128_input_type "falcon512WithShake128" +# define falcon512WithShake128_pem_type "falcon512WithShake128" +# define falcon512WithShake256_evp_type 0 +# define falcon512WithShake256_input_type "falcon512WithShake256" +# define falcon512WithShake256_pem_type "falcon512WithShake256" +# define falcon1024_evp_type 0 +# define falcon1024_input_type "falcon1024" +# define falcon1024_pem_type "falcon1024" +# define p521_falcon1024_evp_type 0 +# define p521_falcon1024_input_type "p521_falcon1024" +# define p521_falcon1024_pem_type "p521_falcon1024" +# define falcon1024WithSha256_evp_type 0 +# define falcon1024WithSha256_input_type "falcon1024WithSha256" +# define falcon1024WithSha256_pem_type "falcon1024WithSha256" +# define falcon1024WithSha384_evp_type 0 +# define falcon1024WithSha384_input_type "falcon1024WithSha384" +# define falcon1024WithSha384_pem_type "falcon1024WithSha384" +# define falcon1024WithSha512_evp_type 0 +# define falcon1024WithSha512_input_type "falcon1024WithSha512" +# define falcon1024WithSha512_pem_type "falcon1024WithSha512" +# define falcon1024WithSha3At256_evp_type 0 +# define falcon1024WithSha3At256_input_type "falcon1024WithSha3At256" +# define falcon1024WithSha3At256_pem_type "falcon1024WithSha3At256" +# define falcon1024WithSha3At384_evp_type 0 +# define falcon1024WithSha3At384_input_type "falcon1024WithSha3At384" +# define falcon1024WithSha3At384_pem_type "falcon1024WithSha3At384" +# define falcon1024WithSha3At512_evp_type 0 +# define falcon1024WithSha3At512_input_type "falcon1024WithSha3At512" +# define falcon1024WithSha3At512_pem_type "falcon1024WithSha3At512" +# define falcon1024WithShake128_evp_type 0 +# define falcon1024WithShake128_input_type "falcon1024WithShake128" +# define falcon1024WithShake128_pem_type "falcon1024WithShake128" +# define falcon1024WithShake256_evp_type 0 +# define falcon1024WithShake256_input_type "falcon1024WithShake256" +# define falcon1024WithShake256_pem_type "falcon1024WithShake256" +# define sphincssha2128fsimple_evp_type 0 +# define sphincssha2128fsimple_input_type "sphincssha2128fsimple" +# define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" +# define p256_sphincssha2128fsimple_evp_type 0 +# define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" +# define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" +# define rsa3072_sphincssha2128fsimple_evp_type 0 +# define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" +# define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" +# define sphincssha2128ssimple_evp_type 0 +# define sphincssha2128ssimple_input_type "sphincssha2128ssimple" +# define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" +# define p256_sphincssha2128ssimple_evp_type 0 +# define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" +# define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" +# define rsa3072_sphincssha2128ssimple_evp_type 0 +# define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" +# define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" +# define sphincssha2192fsimple_evp_type 0 +# define sphincssha2192fsimple_input_type "sphincssha2192fsimple" +# define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" +# define p384_sphincssha2192fsimple_evp_type 0 +# define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" +# define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" +# define sphincsshake128fsimple_evp_type 0 +# define sphincsshake128fsimple_input_type "sphincsshake128fsimple" +# define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" +# define p256_sphincsshake128fsimple_evp_type 0 +# define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" +# define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" +# define rsa3072_sphincsshake128fsimple_evp_type 0 +# define rsa3072_sphincsshake128fsimple_input_type "rsa3072_sphincsshake128fsimple" +# define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_END /* ---------------------------------------------------------------------- */ @@ -1460,6 +1556,7 @@ key2text_encode(void *vctx, const void *key, int selection, OSSL_CORE_BIO *cout, ///// OQS_TEMPLATE_FRAGMENT_ENCODER_MAKE_START #ifdef OQS_KEM_ENCODERS + MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, frodo640aes, oqsx, PrivateKeyInfo, der); @@ -1862,6 +1959,62 @@ MAKE_ENCODER(, p384_dilithium3, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p384_dilithium3, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p384_dilithium3, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p384_dilithium3); +MAKE_ENCODER(, dilithium3WithSha256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithSha256); +MAKE_ENCODER(, dilithium3WithSha384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithSha384); +MAKE_ENCODER(, dilithium3WithSha512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithSha512); +MAKE_ENCODER(, dilithium3WithSha3At256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha3At256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha3At256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithSha3At256); +MAKE_ENCODER(, dilithium3WithSha3At384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha3At384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha3At384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithSha3At384); +MAKE_ENCODER(, dilithium3WithSha3At512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha3At512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithSha3At512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithSha3At512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithSha3At512); +MAKE_ENCODER(, dilithium3WithShake128, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithShake128, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithShake128, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithShake128, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithShake128, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithShake128, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithShake128); +MAKE_ENCODER(, dilithium3WithShake256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithShake256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithShake256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium3WithShake256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium3WithShake256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium3WithShake256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium3WithShake256); MAKE_ENCODER(, dilithium5, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, dilithium5, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, dilithium5, oqsx, PrivateKeyInfo, der); @@ -1876,6 +2029,62 @@ MAKE_ENCODER(, p521_dilithium5, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p521_dilithium5, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p521_dilithium5, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p521_dilithium5); +MAKE_ENCODER(, dilithium5WithSha256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithSha256); +MAKE_ENCODER(, dilithium5WithSha384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithSha384); +MAKE_ENCODER(, dilithium5WithSha512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithSha512); +MAKE_ENCODER(, dilithium5WithSha3At256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha3At256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha3At256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithSha3At256); +MAKE_ENCODER(, dilithium5WithSha3At384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha3At384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha3At384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithSha3At384); +MAKE_ENCODER(, dilithium5WithSha3At512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha3At512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithSha3At512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithSha3At512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithSha3At512); +MAKE_ENCODER(, dilithium5WithShake128, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithShake128, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithShake128, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithShake128, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithShake128, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithShake128, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithShake128); +MAKE_ENCODER(, dilithium5WithShake256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithShake256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithShake256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, dilithium5WithShake256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, dilithium5WithShake256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, dilithium5WithShake256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, dilithium5WithShake256); MAKE_ENCODER(, falcon512, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, falcon512, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, falcon512, oqsx, PrivateKeyInfo, der); @@ -1897,6 +2106,62 @@ MAKE_ENCODER(, rsa3072_falcon512, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_falcon512, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, rsa3072_falcon512, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, rsa3072_falcon512); +MAKE_ENCODER(, falcon512WithSha256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithSha256); +MAKE_ENCODER(, falcon512WithSha384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithSha384); +MAKE_ENCODER(, falcon512WithSha512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithSha512); +MAKE_ENCODER(, falcon512WithSha3At256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha3At256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha3At256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithSha3At256); +MAKE_ENCODER(, falcon512WithSha3At384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha3At384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha3At384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithSha3At384); +MAKE_ENCODER(, falcon512WithSha3At512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha3At512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithSha3At512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithSha3At512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithSha3At512); +MAKE_ENCODER(, falcon512WithShake128, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithShake128, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithShake128, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithShake128, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithShake128, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithShake128, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithShake128); +MAKE_ENCODER(, falcon512WithShake256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithShake256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithShake256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon512WithShake256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon512WithShake256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon512WithShake256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon512WithShake256); MAKE_ENCODER(, falcon1024, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, falcon1024, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, falcon1024, oqsx, PrivateKeyInfo, der); @@ -1911,6 +2176,62 @@ MAKE_ENCODER(, p521_falcon1024, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p521_falcon1024, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p521_falcon1024, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p521_falcon1024); +MAKE_ENCODER(, falcon1024WithSha256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithSha256); +MAKE_ENCODER(, falcon1024WithSha384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithSha384); +MAKE_ENCODER(, falcon1024WithSha512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithSha512); +MAKE_ENCODER(, falcon1024WithSha3At256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha3At256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha3At256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithSha3At256); +MAKE_ENCODER(, falcon1024WithSha3At384, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At384, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha3At384, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At384, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha3At384, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At384, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithSha3At384); +MAKE_ENCODER(, falcon1024WithSha3At512, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At512, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha3At512, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At512, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithSha3At512, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithSha3At512, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithSha3At512); +MAKE_ENCODER(, falcon1024WithShake128, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithShake128, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithShake128, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithShake128, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithShake128, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithShake128, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithShake128); +MAKE_ENCODER(, falcon1024WithShake256, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithShake256, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithShake256, oqsx, PrivateKeyInfo, der); +MAKE_ENCODER(, falcon1024WithShake256, oqsx, PrivateKeyInfo, pem); +MAKE_ENCODER(, falcon1024WithShake256, oqsx, SubjectPublicKeyInfo, der); +MAKE_ENCODER(, falcon1024WithShake256, oqsx, SubjectPublicKeyInfo, pem); +MAKE_TEXT_ENCODER(, falcon1024WithShake256); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); @@ -1925,10 +2246,8 @@ MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128fsimple); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, - der); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, - pem); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); @@ -1948,10 +2267,8 @@ MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128ssimple); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, - der); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, - pem); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); @@ -1985,10 +2302,8 @@ MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincsshake128fsimple); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, - der); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, - pem); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); diff --git a/oqsprov/oqs_kmgmt.c b/oqsprov/oqs_kmgmt.c index 3a092b8c..e3d4beaf 100644 --- a/oqsprov/oqs_kmgmt.c +++ b/oqsprov/oqs_kmgmt.c @@ -581,372 +581,574 @@ static int oqsx_gen_set_params(void *genctx, const OSSL_PARAM params[]) ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_START static void *dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); } static void *dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2", 0, 128, 0); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2", 0, 128, 0); } static void *p256_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); } static void *p256_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); } static void *rsa3072_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); } static void *rsa3072_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); } static void *dilithium2WithSha256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithSha256", KEY_TYPE_SIG, NULL, 128, 3); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", KEY_TYPE_SIG, NULL, 128, 3); } static void *dilithium2WithSha256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithSha256", 0, 128, 3); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", 0, 128, 3); } static void *dilithium2WithSha384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithSha384", KEY_TYPE_SIG, NULL, 128, 4); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", KEY_TYPE_SIG, NULL, 128, 4); } static void *dilithium2WithSha384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithSha384", 0, 128, 4); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", 0, 128, 4); } static void *dilithium2WithSha512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithSha512", KEY_TYPE_SIG, NULL, 128, 5); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", KEY_TYPE_SIG, NULL, 128, 5); } static void *dilithium2WithSha512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithSha512", 0, 128, 5); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", 0, 128, 5); } static void *dilithium2WithSha3At256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithSha3At256", KEY_TYPE_SIG, NULL, 128, 6); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", KEY_TYPE_SIG, NULL, 128, 6); } static void *dilithium2WithSha3At256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithSha3At256", 0, 128, 6); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", 0, 128, 6); } static void *dilithium2WithSha3At384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithSha3At384", KEY_TYPE_SIG, NULL, 128, 7); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", KEY_TYPE_SIG, NULL, 128, 7); } static void *dilithium2WithSha3At384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithSha3At384", 0, 128, 7); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", 0, 128, 7); } static void *dilithium2WithSha3At512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithSha3At512", KEY_TYPE_SIG, NULL, 128, 8); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", KEY_TYPE_SIG, NULL, 128, 8); } static void *dilithium2WithSha3At512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithSha3At512", 0, 128, 8); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", 0, 128, 8); } static void *dilithium2WithShake128_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithShake128", KEY_TYPE_SIG, NULL, 128, 9); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", KEY_TYPE_SIG, NULL, 128, 9); } static void *dilithium2WithShake128_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithShake128", 0, 128, 9); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", 0, 128, 9); } static void *dilithium2WithShake256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, - "dilithium2WithShake256", KEY_TYPE_SIG, NULL, 128, 10); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", KEY_TYPE_SIG, NULL, 128, 10); } static void *dilithium2WithShake256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, - "dilithium2WithShake256", 0, 128, 10); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", 0, 128, 10); } static void *dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, - "dilithium3", KEY_TYPE_SIG, NULL, 192, 11); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3", KEY_TYPE_SIG, NULL, 192, 11); } static void *dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, - "dilithium3", 0, 192, 11); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3", 0, 192, 11); } static void *p384_dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, - "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 12); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 12); } static void *p384_dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, - "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 12); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 12); +} +static void *dilithium3WithSha256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha256", KEY_TYPE_SIG, NULL, 192, 13); +} + +static void *dilithium3WithSha256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha256", 0, 192, 13); +} +static void *dilithium3WithSha384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha384", KEY_TYPE_SIG, NULL, 192, 14); +} + +static void *dilithium3WithSha384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha384", 0, 192, 14); +} +static void *dilithium3WithSha512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha512", KEY_TYPE_SIG, NULL, 192, 15); +} + +static void *dilithium3WithSha512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha512", 0, 192, 15); +} +static void *dilithium3WithSha3At256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At256", KEY_TYPE_SIG, NULL, 192, 16); +} + +static void *dilithium3WithSha3At256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At256", 0, 192, 16); +} +static void *dilithium3WithSha3At384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At384", KEY_TYPE_SIG, NULL, 192, 17); +} + +static void *dilithium3WithSha3At384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At384", 0, 192, 17); +} +static void *dilithium3WithSha3At512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At512", KEY_TYPE_SIG, NULL, 192, 18); +} + +static void *dilithium3WithSha3At512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At512", 0, 192, 18); +} +static void *dilithium3WithShake128_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithShake128", KEY_TYPE_SIG, NULL, 192, 19); +} + +static void *dilithium3WithShake128_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithShake128", 0, 192, 19); +} +static void *dilithium3WithShake256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithShake256", KEY_TYPE_SIG, NULL, 192, 20); +} + +static void *dilithium3WithShake256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithShake256", 0, 192, 20); } static void *dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, - "dilithium5", KEY_TYPE_SIG, NULL, 256, 13); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5", KEY_TYPE_SIG, NULL, 256, 21); } static void *dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, - "dilithium5", 0, 256, 13); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5", 0, 256, 21); } static void *p521_dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, - "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 14); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 22); } static void *p521_dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, - "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 14); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 22); +} +static void *dilithium5WithSha256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha256", KEY_TYPE_SIG, NULL, 256, 23); +} + +static void *dilithium5WithSha256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha256", 0, 256, 23); +} +static void *dilithium5WithSha384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha384", KEY_TYPE_SIG, NULL, 256, 24); +} + +static void *dilithium5WithSha384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha384", 0, 256, 24); +} +static void *dilithium5WithSha512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha512", KEY_TYPE_SIG, NULL, 256, 25); +} + +static void *dilithium5WithSha512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha512", 0, 256, 25); +} +static void *dilithium5WithSha3At256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At256", KEY_TYPE_SIG, NULL, 256, 26); +} + +static void *dilithium5WithSha3At256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At256", 0, 256, 26); +} +static void *dilithium5WithSha3At384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At384", KEY_TYPE_SIG, NULL, 256, 27); +} + +static void *dilithium5WithSha3At384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At384", 0, 256, 27); +} +static void *dilithium5WithSha3At512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At512", KEY_TYPE_SIG, NULL, 256, 28); +} + +static void *dilithium5WithSha3At512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At512", 0, 256, 28); +} +static void *dilithium5WithShake128_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithShake128", KEY_TYPE_SIG, NULL, 256, 29); +} + +static void *dilithium5WithShake128_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithShake128", 0, 256, 29); +} +static void *dilithium5WithShake256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithShake256", KEY_TYPE_SIG, NULL, 256, 30); +} + +static void *dilithium5WithShake256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithShake256", 0, 256, 30); } static void *falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, - "falcon512", KEY_TYPE_SIG, NULL, 128, 15); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512", KEY_TYPE_SIG, NULL, 128, 31); } static void *falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, - "falcon512", 0, 128, 15); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512", 0, 128, 31); } static void *p256_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, - "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 16); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 32); } static void *p256_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, - "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 16); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 32); } static void *rsa3072_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, - "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 17); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 33); } static void *rsa3072_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, - "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 17); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 33); +} +static void *falcon512WithSha256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha256", KEY_TYPE_SIG, NULL, 128, 34); +} + +static void *falcon512WithSha256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha256", 0, 128, 34); +} +static void *falcon512WithSha384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha384", KEY_TYPE_SIG, NULL, 128, 35); +} + +static void *falcon512WithSha384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha384", 0, 128, 35); +} +static void *falcon512WithSha512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha512", KEY_TYPE_SIG, NULL, 128, 36); +} + +static void *falcon512WithSha512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha512", 0, 128, 36); +} +static void *falcon512WithSha3At256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha3At256", KEY_TYPE_SIG, NULL, 128, 37); +} + +static void *falcon512WithSha3At256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha3At256", 0, 128, 37); +} +static void *falcon512WithSha3At384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha3At384", KEY_TYPE_SIG, NULL, 128, 38); +} + +static void *falcon512WithSha3At384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha3At384", 0, 128, 38); +} +static void *falcon512WithSha3At512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha3At512", KEY_TYPE_SIG, NULL, 128, 39); +} + +static void *falcon512WithSha3At512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha3At512", 0, 128, 39); +} +static void *falcon512WithShake128_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithShake128", KEY_TYPE_SIG, NULL, 128, 40); +} + +static void *falcon512WithShake128_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithShake128", 0, 128, 40); +} +static void *falcon512WithShake256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithShake256", KEY_TYPE_SIG, NULL, 128, 41); +} + +static void *falcon512WithShake256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithShake256", 0, 128, 41); } static void *falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, - "falcon1024", KEY_TYPE_SIG, NULL, 256, 18); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024", KEY_TYPE_SIG, NULL, 256, 42); } static void *falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, - "falcon1024", 0, 256, 18); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024", 0, 256, 42); } static void *p521_falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, - "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 19); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 43); } static void *p521_falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, - "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 19); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 43); +} +static void *falcon1024WithSha256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha256", KEY_TYPE_SIG, NULL, 256, 44); +} + +static void *falcon1024WithSha256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha256", 0, 256, 44); +} +static void *falcon1024WithSha384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha384", KEY_TYPE_SIG, NULL, 256, 45); +} + +static void *falcon1024WithSha384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha384", 0, 256, 45); +} +static void *falcon1024WithSha512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha512", KEY_TYPE_SIG, NULL, 256, 46); +} + +static void *falcon1024WithSha512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha512", 0, 256, 46); +} +static void *falcon1024WithSha3At256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At256", KEY_TYPE_SIG, NULL, 256, 47); +} + +static void *falcon1024WithSha3At256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At256", 0, 256, 47); +} +static void *falcon1024WithSha3At384_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At384", KEY_TYPE_SIG, NULL, 256, 48); +} + +static void *falcon1024WithSha3At384_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At384", 0, 256, 48); +} +static void *falcon1024WithSha3At512_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At512", KEY_TYPE_SIG, NULL, 256, 49); +} + +static void *falcon1024WithSha3At512_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At512", 0, 256, 49); +} +static void *falcon1024WithShake128_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithShake128", KEY_TYPE_SIG, NULL, 256, 50); +} + +static void *falcon1024WithShake128_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithShake128", 0, 256, 50); +} +static void *falcon1024WithShake256_new_key(void *provctx) +{ + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithShake256", KEY_TYPE_SIG, NULL, 256, 51); } +static void *falcon1024WithShake256_gen_init(void *provctx, int selection) +{ + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithShake256", 0, 256, 51); +} + + static void *sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_sha2_128f_simple, - "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 20); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 52); } static void *sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_sha2_128f_simple, - "sphincssha2128fsimple", 0, 128, 20); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", 0, 128, 52); } static void *p256_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, - "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 21); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 53); } static void *p256_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, - "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 21); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 53); } static void *rsa3072_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, - "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 22); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 54); } -static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, - int selection) +static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, - "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 22); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 54); } static void *sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_sha2_128s_simple, - "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 23); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 55); } static void *sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_sha2_128s_simple, - "sphincssha2128ssimple", 0, 128, 23); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", 0, 128, 55); } static void *p256_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, - "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 24); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 56); } static void *p256_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, - "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 24); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 56); } static void *rsa3072_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, - "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 25); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 57); } -static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, - int selection) +static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, - "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 25); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 57); } static void *sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_sha2_192f_simple, - "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 26); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 58); } static void *sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_sha2_192f_simple, - "sphincssha2192fsimple", 0, 192, 26); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", 0, 192, 58); } static void *p384_sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, - "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 27); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 59); } static void *p384_sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, - "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 27); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 59); } static void *sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), - OQS_SIG_alg_sphincs_shake_128f_simple, - "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 28); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 60); } static void *sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, - OQS_SIG_alg_sphincs_shake_128f_simple, - "sphincsshake128fsimple", 0, 128, 28); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", 0, 128, 60); } static void *p256_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, - "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 29); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 61); } static void *p256_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, - "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 29); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 61); } static void *rsa3072_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new( - PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, - "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 30); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 62); } -static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, - int selection) +static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init( - provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, - "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 30); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 62); } ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END @@ -1111,13 +1313,45 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithShake128) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium2WithShake256) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3) MAKE_SIG_KEYMGMT_FUNCTIONS(p384_dilithium3) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithSha256) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithSha384) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithSha512) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithSha3At256) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithSha3At384) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithSha3At512) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithShake128) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium3WithShake256) MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5) MAKE_SIG_KEYMGMT_FUNCTIONS(p521_dilithium5) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithSha256) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithSha384) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithSha512) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithSha3At256) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithSha3At384) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithSha3At512) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithShake128) +MAKE_SIG_KEYMGMT_FUNCTIONS(dilithium5WithShake256) MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512) MAKE_SIG_KEYMGMT_FUNCTIONS(p256_falcon512) MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_falcon512) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithSha256) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithSha384) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithSha512) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithSha3At256) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithSha3At384) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithSha3At512) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithShake128) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon512WithShake256) MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024) MAKE_SIG_KEYMGMT_FUNCTIONS(p521_falcon1024) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithSha256) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithSha384) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithSha512) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithSha3At256) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithSha3At384) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithSha3At512) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithShake128) +MAKE_SIG_KEYMGMT_FUNCTIONS(falcon1024WithShake256) MAKE_SIG_KEYMGMT_FUNCTIONS(sphincssha2128fsimple) MAKE_SIG_KEYMGMT_FUNCTIONS(p256_sphincssha2128fsimple) MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_sphincssha2128fsimple) @@ -1132,40 +1366,30 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_sphincsshake128fsimple) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, - 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, - 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, - OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, - OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, - 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, - 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, - OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, - OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, - 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, - OQS_KEM_alg_frodokem_1344_shake, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) MAKE_KEM_KEYMGMT_FUNCTIONS(kyber512, OQS_KEM_alg_kyber_512, 128) MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_kyber512, OQS_KEM_alg_kyber_512, 128) diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h index d560b356..36bfd9da 100644 --- a/oqsprov/oqs_prov.h +++ b/oqsprov/oqs_prov.h @@ -240,1310 +240,919 @@ extern const OSSL_DISPATCH oqs_signature_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_START #ifdef OQS_KEM_ENCODERS -extern const OSSL_DISPATCH - oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; + +extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_bikel5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_hqc256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; #endif /* OQS_KEM_ENCODERS */ -extern const OSSL_DISPATCH - oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; + +extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithSha3At512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium2WithShake256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions - []; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH - oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions - []; -extern const OSSL_DISPATCH - oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions - []; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_END ///// OQS_TEMPLATE_FRAGMENT_ALG_FUNCTIONS_START -extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha512_keymgmt_functions[]; @@ -1552,29 +1161,46 @@ extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithShake128_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithShake256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH - oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake128_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3WithShake256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake128_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5WithShake256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake128_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512WithShake256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake128_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024WithShake256_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_keymgmt_functions[]; diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index fa15d9ca..890d54c6 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -36,303 +36,320 @@ ///// 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_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_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_2 - DECODER_w_structure("dilithium2WithSha256", der, PrivateKeyInfo, - dilithium2WithSha256), - DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, - dilithium2WithSha256), +DECODER_w_structure("dilithium2WithSha256", der, PrivateKeyInfo, dilithium2WithSha256), +DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, dilithium2WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2WithSha384", der, PrivateKeyInfo, - dilithium2WithSha384), - DECODER_w_structure("dilithium2WithSha384", der, SubjectPublicKeyInfo, - dilithium2WithSha384), +DECODER_w_structure("dilithium2WithSha384", der, PrivateKeyInfo, dilithium2WithSha384), +DECODER_w_structure("dilithium2WithSha384", der, SubjectPublicKeyInfo, dilithium2WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2WithSha512", der, PrivateKeyInfo, - dilithium2WithSha512), - DECODER_w_structure("dilithium2WithSha512", der, SubjectPublicKeyInfo, - dilithium2WithSha512), +DECODER_w_structure("dilithium2WithSha512", der, PrivateKeyInfo, dilithium2WithSha512), +DECODER_w_structure("dilithium2WithSha512", der, SubjectPublicKeyInfo, dilithium2WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2WithSha3At256", der, PrivateKeyInfo, - dilithium2WithSha3At256), - DECODER_w_structure("dilithium2WithSha3At256", der, SubjectPublicKeyInfo, - dilithium2WithSha3At256), +DECODER_w_structure("dilithium2WithSha3At256", der, PrivateKeyInfo, dilithium2WithSha3At256), +DECODER_w_structure("dilithium2WithSha3At256", der, SubjectPublicKeyInfo, dilithium2WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2WithSha3At384", der, PrivateKeyInfo, - dilithium2WithSha3At384), - DECODER_w_structure("dilithium2WithSha3At384", der, SubjectPublicKeyInfo, - dilithium2WithSha3At384), +DECODER_w_structure("dilithium2WithSha3At384", der, PrivateKeyInfo, dilithium2WithSha3At384), +DECODER_w_structure("dilithium2WithSha3At384", der, SubjectPublicKeyInfo, dilithium2WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2WithSha3At512", der, PrivateKeyInfo, - dilithium2WithSha3At512), - DECODER_w_structure("dilithium2WithSha3At512", der, SubjectPublicKeyInfo, - dilithium2WithSha3At512), +DECODER_w_structure("dilithium2WithSha3At512", der, PrivateKeyInfo, dilithium2WithSha3At512), +DECODER_w_structure("dilithium2WithSha3At512", der, SubjectPublicKeyInfo, dilithium2WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2WithShake128", der, PrivateKeyInfo, - dilithium2WithShake128), - DECODER_w_structure("dilithium2WithShake128", der, SubjectPublicKeyInfo, - dilithium2WithShake128), +DECODER_w_structure("dilithium2WithShake128", der, PrivateKeyInfo, dilithium2WithShake128), +DECODER_w_structure("dilithium2WithShake128", der, SubjectPublicKeyInfo, dilithium2WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - DECODER_w_structure("dilithium2WithShake256", der, PrivateKeyInfo, - dilithium2WithShake256), - DECODER_w_structure("dilithium2WithShake256", der, SubjectPublicKeyInfo, - dilithium2WithShake256), +DECODER_w_structure("dilithium2WithShake256", der, PrivateKeyInfo, dilithium2WithShake256), +DECODER_w_structure("dilithium2WithShake256", der, SubjectPublicKeyInfo, dilithium2WithShake256), #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_3 +DECODER_w_structure("dilithium3WithSha256", der, PrivateKeyInfo, dilithium3WithSha256), +DECODER_w_structure("dilithium3WithSha256", der, SubjectPublicKeyInfo, dilithium3WithSha256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3WithSha384", der, PrivateKeyInfo, dilithium3WithSha384), +DECODER_w_structure("dilithium3WithSha384", der, SubjectPublicKeyInfo, dilithium3WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3WithSha512", der, PrivateKeyInfo, dilithium3WithSha512), +DECODER_w_structure("dilithium3WithSha512", der, SubjectPublicKeyInfo, dilithium3WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3WithSha3At256", der, PrivateKeyInfo, dilithium3WithSha3At256), +DECODER_w_structure("dilithium3WithSha3At256", der, SubjectPublicKeyInfo, dilithium3WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3WithSha3At384", der, PrivateKeyInfo, dilithium3WithSha3At384), +DECODER_w_structure("dilithium3WithSha3At384", der, SubjectPublicKeyInfo, dilithium3WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3WithSha3At512", der, PrivateKeyInfo, dilithium3WithSha3At512), +DECODER_w_structure("dilithium3WithSha3At512", der, SubjectPublicKeyInfo, dilithium3WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3WithShake128", der, PrivateKeyInfo, dilithium3WithShake128), +DECODER_w_structure("dilithium3WithShake128", der, SubjectPublicKeyInfo, dilithium3WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +DECODER_w_structure("dilithium3WithShake256", der, PrivateKeyInfo, dilithium3WithShake256), +DECODER_w_structure("dilithium3WithShake256", der, SubjectPublicKeyInfo, dilithium3WithShake256), +#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), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5WithSha256", der, PrivateKeyInfo, dilithium5WithSha256), +DECODER_w_structure("dilithium5WithSha256", der, SubjectPublicKeyInfo, dilithium5WithSha256), #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("dilithium5WithSha384", der, PrivateKeyInfo, dilithium5WithSha384), +DECODER_w_structure("dilithium5WithSha384", der, SubjectPublicKeyInfo, dilithium5WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5WithSha512", der, PrivateKeyInfo, dilithium5WithSha512), +DECODER_w_structure("dilithium5WithSha512", der, SubjectPublicKeyInfo, dilithium5WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5WithSha3At256", der, PrivateKeyInfo, dilithium5WithSha3At256), +DECODER_w_structure("dilithium5WithSha3At256", der, SubjectPublicKeyInfo, dilithium5WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5WithSha3At384", der, PrivateKeyInfo, dilithium5WithSha3At384), +DECODER_w_structure("dilithium5WithSha3At384", der, SubjectPublicKeyInfo, dilithium5WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5WithSha3At512", der, PrivateKeyInfo, dilithium5WithSha3At512), +DECODER_w_structure("dilithium5WithSha3At512", der, SubjectPublicKeyInfo, dilithium5WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5WithShake128", der, PrivateKeyInfo, dilithium5WithShake128), +DECODER_w_structure("dilithium5WithShake128", der, SubjectPublicKeyInfo, dilithium5WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +DECODER_w_structure("dilithium5WithShake256", der, PrivateKeyInfo, dilithium5WithShake256), +DECODER_w_structure("dilithium5WithShake256", der, SubjectPublicKeyInfo, dilithium5WithShake256), +#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), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512WithSha256", der, PrivateKeyInfo, falcon512WithSha256), +DECODER_w_structure("falcon512WithSha256", der, SubjectPublicKeyInfo, falcon512WithSha256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512WithSha384", der, PrivateKeyInfo, falcon512WithSha384), +DECODER_w_structure("falcon512WithSha384", der, SubjectPublicKeyInfo, falcon512WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512WithSha512", der, PrivateKeyInfo, falcon512WithSha512), +DECODER_w_structure("falcon512WithSha512", der, SubjectPublicKeyInfo, falcon512WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512WithSha3At256", der, PrivateKeyInfo, falcon512WithSha3At256), +DECODER_w_structure("falcon512WithSha3At256", der, SubjectPublicKeyInfo, falcon512WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512WithSha3At384", der, PrivateKeyInfo, falcon512WithSha3At384), +DECODER_w_structure("falcon512WithSha3At384", der, SubjectPublicKeyInfo, falcon512WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512WithSha3At512", der, PrivateKeyInfo, falcon512WithSha3At512), +DECODER_w_structure("falcon512WithSha3At512", der, SubjectPublicKeyInfo, falcon512WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +DECODER_w_structure("falcon512WithShake128", der, PrivateKeyInfo, falcon512WithShake128), +DECODER_w_structure("falcon512WithShake128", der, SubjectPublicKeyInfo, falcon512WithShake128), #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("falcon512WithShake256", der, PrivateKeyInfo, falcon512WithShake256), +DECODER_w_structure("falcon512WithShake256", der, SubjectPublicKeyInfo, falcon512WithShake256), +#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), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024WithSha256", der, PrivateKeyInfo, falcon1024WithSha256), +DECODER_w_structure("falcon1024WithSha256", der, SubjectPublicKeyInfo, falcon1024WithSha256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024WithSha384", der, PrivateKeyInfo, falcon1024WithSha384), +DECODER_w_structure("falcon1024WithSha384", der, SubjectPublicKeyInfo, falcon1024WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024WithSha512", der, PrivateKeyInfo, falcon1024WithSha512), +DECODER_w_structure("falcon1024WithSha512", der, SubjectPublicKeyInfo, falcon1024WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024WithSha3At256", der, PrivateKeyInfo, falcon1024WithSha3At256), +DECODER_w_structure("falcon1024WithSha3At256", der, SubjectPublicKeyInfo, falcon1024WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024WithSha3At384", der, PrivateKeyInfo, falcon1024WithSha3At384), +DECODER_w_structure("falcon1024WithSha3At384", der, SubjectPublicKeyInfo, falcon1024WithSha3At384), #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("falcon1024WithSha3At512", der, PrivateKeyInfo, falcon1024WithSha3At512), +DECODER_w_structure("falcon1024WithSha3At512", der, SubjectPublicKeyInfo, falcon1024WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024WithShake128", der, PrivateKeyInfo, falcon1024WithShake128), +DECODER_w_structure("falcon1024WithShake128", der, SubjectPublicKeyInfo, falcon1024WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +DECODER_w_structure("falcon1024WithShake256", der, PrivateKeyInfo, falcon1024WithShake256), +DECODER_w_structure("falcon1024WithShake256", der, SubjectPublicKeyInfo, falcon1024WithShake256), #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), -#endif - ///// OQS_TEMPLATE_FRAGMENT_MAKE_END +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 +///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index 3d33916d..c12f13d3 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -81,895 +81,872 @@ ///// 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_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_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_2 - ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithSha384", dilithium2WithSha384), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha384", dilithium2WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithSha512", dilithium2WithSha512), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha512", dilithium2WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithSha3At256", dilithium2WithSha3At256), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha3At256", dilithium2WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithSha3At384", dilithium2WithSha3At384), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha3At384", dilithium2WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithSha3At512", dilithium2WithSha3At512), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithSha3At512", dilithium2WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithShake128", dilithium2WithShake128), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithShake128", dilithium2WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 - ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, - PrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, - EncryptedPrivateKeyInfo), - ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, - SubjectPublicKeyInfo), - ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, - SubjectPublicKeyInfo), - ENCODER_TEXT("dilithium2WithShake256", dilithium2WithShake256), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium2WithShake256", dilithium2WithShake256), +#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), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithSha256", dilithium3WithSha256), #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("dilithium3WithSha384", dilithium3WithSha384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithSha384", dilithium3WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithSha512", dilithium3WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithSha3At256", dilithium3WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithSha3At384", dilithium3WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithSha3At512", dilithium3WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithShake128", dilithium3WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 +ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium3WithShake256", dilithium3WithShake256), +#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), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithSha256", dilithium5WithSha256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithSha384", dilithium5WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithSha512", dilithium5WithSha512), #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("dilithium5WithSha3At256", dilithium5WithSha3At256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithSha3At256", dilithium5WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithSha3At384", dilithium5WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithSha3At512", dilithium5WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithShake128", dilithium5WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 +ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, PrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("dilithium5WithShake256", dilithium5WithShake256), #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_512 +ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithSha256", falcon512WithSha256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithSha384", falcon512WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithSha512", falcon512WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithSha3At256", falcon512WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithSha3At384", falcon512WithSha3At384), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithSha3At512", falcon512WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithShake128", falcon512WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 +ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon512WithShake256", falcon512WithShake256), +#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), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithSha256", falcon1024WithSha256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithSha384", falcon1024WithSha384), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithSha512", falcon1024WithSha512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithSha3At256", falcon1024WithSha3At256), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithSha3At384", falcon1024WithSha3At384), #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("falcon1024WithSha3At512", falcon1024WithSha3At512, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithSha3At512", falcon1024WithSha3At512), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithShake128", falcon1024WithShake128), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 +ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, PrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, EncryptedPrivateKeyInfo), +ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, SubjectPublicKeyInfo), +ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, SubjectPublicKeyInfo), +ENCODER_TEXT("falcon1024WithShake256", falcon1024WithShake256), #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), -#endif - ///// OQS_TEMPLATE_FRAGMENT_MAKE_END +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 +///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index bc1a4ea9..86df2dde 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -48,165 +48,127 @@ extern OSSL_FUNC_provider_get_capabilities_fn oqs_provider_get_capabilities; */ ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_START + #ifdef OQS_KEM_ENCODERS -# define OQS_OID_CNT 146 +#define OQS_OID_CNT 210 #else -# define OQS_OID_CNT 62 +#define OQS_OID_CNT 126 #endif -const char *oqs_oid_alg_list[OQS_OID_CNT] = { +const char* oqs_oid_alg_list[OQS_OID_CNT] = +{ #ifdef OQS_KEM_ENCODERS - "1.3.9999.99.13", - "frodo640aes", - "1.3.9999.99.12", - "p256_frodo640aes", - "1.3.9999.99.1", - "x25519_frodo640aes", - "1.3.9999.99.15", - "frodo640shake", - "1.3.9999.99.14", - "p256_frodo640shake", - "1.3.9999.99.2", - "x25519_frodo640shake", - "1.3.9999.99.17", - "frodo976aes", - "1.3.9999.99.16", - "p384_frodo976aes", - "1.3.9999.99.3", - "x448_frodo976aes", - "1.3.9999.99.19", - "frodo976shake", - "1.3.9999.99.18", - "p384_frodo976shake", - "1.3.9999.99.4", - "x448_frodo976shake", - "1.3.9999.99.21", - "frodo1344aes", - "1.3.9999.99.20", - "p521_frodo1344aes", - "1.3.9999.99.23", - "frodo1344shake", - "1.3.9999.99.22", - "p521_frodo1344shake", - "1.3.6.1.4.1.22554.5.6.1", - "kyber512", - "1.3.6.1.4.1.22554.5.7.1", - "p256_kyber512", - "1.3.6.1.4.1.22554.5.8.1", - "x25519_kyber512", - "1.3.6.1.4.1.22554.5.6.2", - "kyber768", - "1.3.9999.99.24", - "p384_kyber768", - "1.3.9999.99.5", - "x448_kyber768", - "1.3.9999.99.6", - "x25519_kyber768", - "1.3.9999.99.7", - "p256_kyber768", - "1.3.6.1.4.1.22554.5.6.3", - "kyber1024", - "1.3.9999.99.25", - "p521_kyber1024", - "1.3.9999.99.27", - "bikel1", - "1.3.9999.99.26", - "p256_bikel1", - "1.3.9999.99.8", - "x25519_bikel1", - "1.3.9999.99.29", - "bikel3", - "1.3.9999.99.28", - "p384_bikel3", - "1.3.9999.99.9", - "x448_bikel3", - "1.3.9999.99.31", - "bikel5", - "1.3.9999.99.30", - "p521_bikel5", - "1.3.9999.99.33", - "hqc128", - "1.3.9999.99.32", - "p256_hqc128", - "1.3.9999.99.10", - "x25519_hqc128", - "1.3.9999.99.35", - "hqc192", - "1.3.9999.99.34", - "p384_hqc192", - "1.3.9999.99.11", - "x448_hqc192", - "1.3.9999.99.37", - "hqc256", - "1.3.9999.99.36", - "p521_hqc256", +"1.3.9999.99.13", "frodo640aes", +"1.3.9999.99.12", "p256_frodo640aes", +"1.3.9999.99.1", "x25519_frodo640aes", +"1.3.9999.99.15", "frodo640shake", +"1.3.9999.99.14", "p256_frodo640shake", +"1.3.9999.99.2", "x25519_frodo640shake", +"1.3.9999.99.17", "frodo976aes", +"1.3.9999.99.16", "p384_frodo976aes", +"1.3.9999.99.3", "x448_frodo976aes", +"1.3.9999.99.19", "frodo976shake", +"1.3.9999.99.18", "p384_frodo976shake", +"1.3.9999.99.4", "x448_frodo976shake", +"1.3.9999.99.21", "frodo1344aes", +"1.3.9999.99.20", "p521_frodo1344aes", +"1.3.9999.99.23", "frodo1344shake", +"1.3.9999.99.22", "p521_frodo1344shake", +"1.3.6.1.4.1.22554.5.6.1", "kyber512", +"1.3.6.1.4.1.22554.5.7.1", "p256_kyber512", +"1.3.6.1.4.1.22554.5.8.1", "x25519_kyber512", +"1.3.6.1.4.1.22554.5.6.2", "kyber768", +"1.3.9999.99.24", "p384_kyber768", +"1.3.9999.99.5", "x448_kyber768", +"1.3.9999.99.6", "x25519_kyber768", +"1.3.9999.99.7", "p256_kyber768", +"1.3.6.1.4.1.22554.5.6.3", "kyber1024", +"1.3.9999.99.25", "p521_kyber1024", +"1.3.9999.99.27", "bikel1", +"1.3.9999.99.26", "p256_bikel1", +"1.3.9999.99.8", "x25519_bikel1", +"1.3.9999.99.29", "bikel3", +"1.3.9999.99.28", "p384_bikel3", +"1.3.9999.99.9", "x448_bikel3", +"1.3.9999.99.31", "bikel5", +"1.3.9999.99.30", "p521_bikel5", +"1.3.9999.99.33", "hqc128", +"1.3.9999.99.32", "p256_hqc128", +"1.3.9999.99.10", "x25519_hqc128", +"1.3.9999.99.35", "hqc192", +"1.3.9999.99.34", "p384_hqc192", +"1.3.9999.99.11", "x448_hqc192", +"1.3.9999.99.37", "hqc256", +"1.3.9999.99.36", "p521_hqc256", #endif /* OQS_KEM_ENCODERS */ - "1.3.6.1.4.1.2.267.7.4.4", - "dilithium2", - "1.3.9999.2.7.1", - "p256_dilithium2", - "1.3.9999.2.7.2", - "rsa3072_dilithium2", - "1.3.6.1.4.1.18227.999.1.1.1", - "dilithium2WithSha256", - "1.3.6.1.4.1.18227.999.1.1.2", - "dilithium2WithSha384", - "1.3.6.1.4.1.18227.999.1.1.3", - "dilithium2WithSha512", - "1.3.6.1.4.1.18227.999.1.1.4", - "dilithium2WithSha3At256", - "1.3.6.1.4.1.18227.999.1.1.5", - "dilithium2WithSha3At384", - "1.3.6.1.4.1.18227.999.1.1.6", - "dilithium2WithSha3At512", - "1.3.6.1.4.1.18227.999.1.1.7", - "dilithium2WithShake128", - "1.3.6.1.4.1.18227.999.1.1.8", - "dilithium2WithShake256", - "1.3.6.1.4.1.2.267.7.6.5", - "dilithium3", - "1.3.9999.2.7.3", - "p384_dilithium3", - "1.3.6.1.4.1.2.267.7.8.7", - "dilithium5", - "1.3.9999.2.7.4", - "p521_dilithium5", - "1.3.9999.3.6", - "falcon512", - "1.3.9999.3.7", - "p256_falcon512", - "1.3.9999.3.8", - "rsa3072_falcon512", - "1.3.9999.3.9", - "falcon1024", - "1.3.9999.3.10", - "p521_falcon1024", - "1.3.9999.6.4.13", - "sphincssha2128fsimple", - "1.3.9999.6.4.14", - "p256_sphincssha2128fsimple", - "1.3.9999.6.4.15", - "rsa3072_sphincssha2128fsimple", - "1.3.9999.6.4.16", - "sphincssha2128ssimple", - "1.3.9999.6.4.17", - "p256_sphincssha2128ssimple", - "1.3.9999.6.4.18", - "rsa3072_sphincssha2128ssimple", - "1.3.9999.6.5.10", - "sphincssha2192fsimple", - "1.3.9999.6.5.11", - "p384_sphincssha2192fsimple", - "1.3.9999.6.7.13", - "sphincsshake128fsimple", - "1.3.9999.6.7.14", - "p256_sphincsshake128fsimple", - "1.3.9999.6.7.15", - "rsa3072_sphincsshake128fsimple", - ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END + +"1.3.6.1.4.1.2.267.7.4.4", "dilithium2", +"1.3.9999.2.7.1" , "p256_dilithium2", +"1.3.9999.2.7.2" , "rsa3072_dilithium2", +"1.3.6.1.4.1.18227.999.1.1.1", "dilithium2WithSha256", +"1.3.6.1.4.1.18227.999.1.1.2", "dilithium2WithSha384", +"1.3.6.1.4.1.18227.999.1.1.3", "dilithium2WithSha512", +"1.3.6.1.4.1.18227.999.1.1.4", "dilithium2WithSha3At256", +"1.3.6.1.4.1.18227.999.1.1.5", "dilithium2WithSha3At384", +"1.3.6.1.4.1.18227.999.1.1.6", "dilithium2WithSha3At512", +"1.3.6.1.4.1.18227.999.1.1.7", "dilithium2WithShake128", +"1.3.6.1.4.1.18227.999.1.1.8", "dilithium2WithShake256", +"1.3.6.1.4.1.2.267.7.6.5", "dilithium3", +"1.3.9999.2.7.3" , "p384_dilithium3", +"1.3.6.1.4.1.18227.999.1.2.1", "dilithium3WithSha256", +"1.3.6.1.4.1.18227.999.1.2.2", "dilithium3WithSha384", +"1.3.6.1.4.1.18227.999.1.2.3", "dilithium3WithSha512", +"1.3.6.1.4.1.18227.999.1.2.4", "dilithium3WithSha3At256", +"1.3.6.1.4.1.18227.999.1.2.5", "dilithium3WithSha3At384", +"1.3.6.1.4.1.18227.999.1.2.6", "dilithium3WithSha3At512", +"1.3.6.1.4.1.18227.999.1.2.7", "dilithium3WithShake128", +"1.3.6.1.4.1.18227.999.1.2.8", "dilithium3WithShake256", +"1.3.6.1.4.1.2.267.7.8.7", "dilithium5", +"1.3.9999.2.7.4" , "p521_dilithium5", +"1.3.6.1.4.1.18227.999.1.3.1", "dilithium5WithSha256", +"1.3.6.1.4.1.18227.999.1.3.2", "dilithium5WithSha384", +"1.3.6.1.4.1.18227.999.1.3.3", "dilithium5WithSha512", +"1.3.6.1.4.1.18227.999.1.3.4", "dilithium5WithSha3At256", +"1.3.6.1.4.1.18227.999.1.3.5", "dilithium5WithSha3At384", +"1.3.6.1.4.1.18227.999.1.3.6", "dilithium5WithSha3At512", +"1.3.6.1.4.1.18227.999.1.3.7", "dilithium5WithShake128", +"1.3.6.1.4.1.18227.999.1.3.8", "dilithium5WithShake256", +"1.3.9999.3.6", "falcon512", +"1.3.9999.3.7" , "p256_falcon512", +"1.3.9999.3.8" , "rsa3072_falcon512", +"1.3.6.1.4.1.18227.999.2.3.1.1", "falcon512WithSha256", +"1.3.6.1.4.1.18227.999.2.3.2.1", "falcon512WithSha384", +"1.3.6.1.4.1.18227.999.2.3.3.1", "falcon512WithSha512", +"1.3.6.1.4.1.18227.999.2.3.4.1", "falcon512WithSha3At256", +"1.3.6.1.4.1.18227.999.2.3.5.1", "falcon512WithSha3At384", +"1.3.6.1.4.1.18227.999.2.3.6.1", "falcon512WithSha3At512", +"1.3.6.1.4.1.18227.999.2.3.7.1", "falcon512WithShake128", +"1.3.6.1.4.1.18227.999.2.3.8.1", "falcon512WithShake256", +"1.3.9999.3.9", "falcon1024", +"1.3.9999.3.10" , "p521_falcon1024", +"1.3.6.1.4.1.18227.999.2.2.1.1", "falcon1024WithSha256", +"1.3.6.1.4.1.18227.999.2.2.2.1", "falcon1024WithSha384", +"1.3.6.1.4.1.18227.999.2.2.3.1", "falcon1024WithSha512", +"1.3.6.1.4.1.18227.999.2.2.4.1", "falcon1024WithSha3At256", +"1.3.6.1.4.1.18227.999.2.2.5.1", "falcon1024WithSha3At384", +"1.3.6.1.4.1.18227.999.2.2.6.1", "falcon1024WithSha3At512", +"1.3.6.1.4.1.18227.999.2.2.7.1", "falcon1024WithShake128", +"1.3.6.1.4.1.18227.999.2.2.8.1", "falcon1024WithShake256", +"1.3.9999.6.4.13", "sphincssha2128fsimple", +"1.3.9999.6.4.14" , "p256_sphincssha2128fsimple", +"1.3.9999.6.4.15" , "rsa3072_sphincssha2128fsimple", +"1.3.9999.6.4.16", "sphincssha2128ssimple", +"1.3.9999.6.4.17" , "p256_sphincssha2128ssimple", +"1.3.9999.6.4.18" , "rsa3072_sphincssha2128ssimple", +"1.3.9999.6.5.10", "sphincssha2192fsimple", +"1.3.9999.6.5.11" , "p384_sphincssha2192fsimple", +"1.3.9999.6.7.13", "sphincsshake128fsimple", +"1.3.9999.6.7.14" , "p256_sphincsshake128fsimple", +"1.3.9999.6.7.15" , "rsa3072_sphincsshake128fsimple", +///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END }; int oqs_patch_oids(void) @@ -215,199 +177,134 @@ int oqs_patch_oids(void) #ifdef OQS_KEM_ENCODERS - if (getenv("OQS_OID_FRODO640AES")) - oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); - - if (getenv("OQS_OID_P256_FRODO640AES")) - oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); - if (getenv("OQS_OID_X25519_FRODO640AES")) - oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); - if (getenv("OQS_OID_FRODO640SHAKE")) - oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); - - if (getenv("OQS_OID_P256_FRODO640SHAKE")) - oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); - if (getenv("OQS_OID_X25519_FRODO640SHAKE")) - oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); - if (getenv("OQS_OID_FRODO976AES")) - oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); - - if (getenv("OQS_OID_P384_FRODO976AES")) - oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); - if (getenv("OQS_OID_X448_FRODO976AES")) - oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); - if (getenv("OQS_OID_FRODO976SHAKE")) - oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); - - if (getenv("OQS_OID_P384_FRODO976SHAKE")) - oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); - if (getenv("OQS_OID_X448_FRODO976SHAKE")) - oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); - if (getenv("OQS_OID_FRODO1344AES")) - oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); - - if (getenv("OQS_OID_P521_FRODO1344AES")) - oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); - if (getenv("OQS_OID_FRODO1344SHAKE")) - oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); - - if (getenv("OQS_OID_P521_FRODO1344SHAKE")) - oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); - if (getenv("OQS_OID_KYBER512")) - oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); - - if (getenv("OQS_OID_P256_KYBER512")) - oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); - if (getenv("OQS_OID_X25519_KYBER512")) - oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); - if (getenv("OQS_OID_KYBER768")) - oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); - - if (getenv("OQS_OID_P384_KYBER768")) - oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); - if (getenv("OQS_OID_X448_KYBER768")) - oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); - if (getenv("OQS_OID_X25519_KYBER768")) - oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); - if (getenv("OQS_OID_P256_KYBER768")) - oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); - if (getenv("OQS_OID_KYBER1024")) - oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); - - if (getenv("OQS_OID_P521_KYBER1024")) - oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); - if (getenv("OQS_OID_BIKEL1")) - oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); - - if (getenv("OQS_OID_P256_BIKEL1")) - oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); - if (getenv("OQS_OID_X25519_BIKEL1")) - oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); - if (getenv("OQS_OID_BIKEL3")) - oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); - - if (getenv("OQS_OID_P384_BIKEL3")) - oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); - if (getenv("OQS_OID_X448_BIKEL3")) - oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); - if (getenv("OQS_OID_BIKEL5")) - oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); - - if (getenv("OQS_OID_P521_BIKEL5")) - oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); - if (getenv("OQS_OID_HQC128")) - oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); - - if (getenv("OQS_OID_P256_HQC128")) - oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); - if (getenv("OQS_OID_X25519_HQC128")) - oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); - if (getenv("OQS_OID_HQC192")) - oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); - - if (getenv("OQS_OID_P384_HQC192")) - oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); - if (getenv("OQS_OID_X448_HQC192")) - oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); - if (getenv("OQS_OID_HQC256")) - oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); - - if (getenv("OQS_OID_P521_HQC256")) - oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); - -# define OQS_KEMOID_CNT 82 + 2 + + +if (getenv("OQS_OID_FRODO640AES")) oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); + +if (getenv("OQS_OID_P256_FRODO640AES")) oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); +if (getenv("OQS_OID_X25519_FRODO640AES")) oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); +if (getenv("OQS_OID_FRODO640SHAKE")) oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); + +if (getenv("OQS_OID_P256_FRODO640SHAKE")) oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); +if (getenv("OQS_OID_X25519_FRODO640SHAKE")) oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); +if (getenv("OQS_OID_FRODO976AES")) oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); + +if (getenv("OQS_OID_P384_FRODO976AES")) oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); +if (getenv("OQS_OID_X448_FRODO976AES")) oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); +if (getenv("OQS_OID_FRODO976SHAKE")) oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); + +if (getenv("OQS_OID_P384_FRODO976SHAKE")) oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); +if (getenv("OQS_OID_X448_FRODO976SHAKE")) oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); +if (getenv("OQS_OID_FRODO1344AES")) oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); + +if (getenv("OQS_OID_P521_FRODO1344AES")) oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); +if (getenv("OQS_OID_FRODO1344SHAKE")) oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); + +if (getenv("OQS_OID_P521_FRODO1344SHAKE")) oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); +if (getenv("OQS_OID_KYBER512")) oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); + +if (getenv("OQS_OID_P256_KYBER512")) oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); +if (getenv("OQS_OID_X25519_KYBER512")) oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); +if (getenv("OQS_OID_KYBER768")) oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); + +if (getenv("OQS_OID_P384_KYBER768")) oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); +if (getenv("OQS_OID_X448_KYBER768")) oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); +if (getenv("OQS_OID_X25519_KYBER768")) oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); +if (getenv("OQS_OID_P256_KYBER768")) oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); +if (getenv("OQS_OID_KYBER1024")) oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); + +if (getenv("OQS_OID_P521_KYBER1024")) oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); +if (getenv("OQS_OID_BIKEL1")) oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); + +if (getenv("OQS_OID_P256_BIKEL1")) oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); +if (getenv("OQS_OID_X25519_BIKEL1")) oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); +if (getenv("OQS_OID_BIKEL3")) oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); + +if (getenv("OQS_OID_P384_BIKEL3")) oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); +if (getenv("OQS_OID_X448_BIKEL3")) oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); +if (getenv("OQS_OID_BIKEL5")) oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); + +if (getenv("OQS_OID_P521_BIKEL5")) oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); +if (getenv("OQS_OID_HQC128")) oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); + +if (getenv("OQS_OID_P256_HQC128")) oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); +if (getenv("OQS_OID_X25519_HQC128")) oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); +if (getenv("OQS_OID_HQC192")) oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); + +if (getenv("OQS_OID_P384_HQC192")) oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); +if (getenv("OQS_OID_X448_HQC192")) oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); +if (getenv("OQS_OID_HQC256")) oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); + +if (getenv("OQS_OID_P521_HQC256")) oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); + +#define OQS_KEMOID_CNT 82+2 #else -# define OQS_KEMOID_CNT 0 +#define OQS_KEMOID_CNT 0 #endif /* OQS_KEM_ENCODERS */ - if (getenv("OQS_OID_DILITHIUM2")) - oqs_oid_alg_list[0 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); - if (getenv("OQS_OID_P256_DILITHIUM2")) - oqs_oid_alg_list[2 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_DILITHIUM2"); - if (getenv("OQS_OID_RSA3072_DILITHIUM2")) - oqs_oid_alg_list[4 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_DILITHIUM2"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) - oqs_oid_alg_list[6 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHA256"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA384")) - oqs_oid_alg_list[8 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHA384"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA512")) - oqs_oid_alg_list[10 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHA512"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT256")) - oqs_oid_alg_list[12 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHA3AT256"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT384")) - oqs_oid_alg_list[14 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHA3AT384"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT512")) - oqs_oid_alg_list[16 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHA3AT512"); - if (getenv("OQS_OID_DILITHIUM2WITHSHAKE128")) - oqs_oid_alg_list[18 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHAKE128"); - if (getenv("OQS_OID_DILITHIUM2WITHSHAKE256")) - oqs_oid_alg_list[20 + OQS_KEMOID_CNT] - = getenv("OQS_OID_DILITHIUM2WITHSHAKE256"); - if (getenv("OQS_OID_DILITHIUM3")) - oqs_oid_alg_list[22 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); - if (getenv("OQS_OID_P384_DILITHIUM3")) - oqs_oid_alg_list[24 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P384_DILITHIUM3"); - if (getenv("OQS_OID_DILITHIUM5")) - oqs_oid_alg_list[26 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); - if (getenv("OQS_OID_P521_DILITHIUM5")) - oqs_oid_alg_list[28 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P521_DILITHIUM5"); - if (getenv("OQS_OID_FALCON512")) - oqs_oid_alg_list[30 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); - if (getenv("OQS_OID_P256_FALCON512")) - oqs_oid_alg_list[32 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_FALCON512"); - if (getenv("OQS_OID_RSA3072_FALCON512")) - oqs_oid_alg_list[34 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_FALCON512"); - if (getenv("OQS_OID_FALCON1024")) - oqs_oid_alg_list[36 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); - if (getenv("OQS_OID_P521_FALCON1024")) - oqs_oid_alg_list[38 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P521_FALCON1024"); - if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) - oqs_oid_alg_list[40 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) - oqs_oid_alg_list[42 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) - oqs_oid_alg_list[44 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) - oqs_oid_alg_list[46 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) - oqs_oid_alg_list[48 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) - oqs_oid_alg_list[50 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) - oqs_oid_alg_list[52 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) - oqs_oid_alg_list[54 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) - oqs_oid_alg_list[56 + OQS_KEMOID_CNT] - = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) - oqs_oid_alg_list[58 + OQS_KEMOID_CNT] - = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) - oqs_oid_alg_list[60 + OQS_KEMOID_CNT] - = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); - ///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END + if (getenv("OQS_OID_DILITHIUM2")) oqs_oid_alg_list[0+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); + if (getenv("OQS_OID_P256_DILITHIUM2")) oqs_oid_alg_list[2+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_DILITHIUM2"); + if (getenv("OQS_OID_RSA3072_DILITHIUM2")) oqs_oid_alg_list[4+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_DILITHIUM2"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) oqs_oid_alg_list[6+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA384")) oqs_oid_alg_list[8+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA512")) oqs_oid_alg_list[10+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT256")) oqs_oid_alg_list[12+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT384")) oqs_oid_alg_list[14+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT512")) oqs_oid_alg_list[16+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE128")) oqs_oid_alg_list[18+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE256")) oqs_oid_alg_list[20+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_OID_DILITHIUM3")) oqs_oid_alg_list[22+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); + if (getenv("OQS_OID_P384_DILITHIUM3")) oqs_oid_alg_list[24+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_DILITHIUM3"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA256")) oqs_oid_alg_list[26+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA384")) oqs_oid_alg_list[28+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA512")) oqs_oid_alg_list[30+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT256")) oqs_oid_alg_list[32+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT384")) oqs_oid_alg_list[34+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT512")) oqs_oid_alg_list[36+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM3WITHSHAKE128")) oqs_oid_alg_list[38+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM3WITHSHAKE256")) oqs_oid_alg_list[40+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHAKE256"); + if (getenv("OQS_OID_DILITHIUM5")) oqs_oid_alg_list[42+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); + if (getenv("OQS_OID_P521_DILITHIUM5")) oqs_oid_alg_list[44+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_DILITHIUM5"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA256")) oqs_oid_alg_list[46+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA384")) oqs_oid_alg_list[48+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA512")) oqs_oid_alg_list[50+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT256")) oqs_oid_alg_list[52+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT384")) oqs_oid_alg_list[54+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT512")) oqs_oid_alg_list[56+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM5WITHSHAKE128")) oqs_oid_alg_list[58+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM5WITHSHAKE256")) oqs_oid_alg_list[60+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHAKE256"); + if (getenv("OQS_OID_FALCON512")) oqs_oid_alg_list[62+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); + if (getenv("OQS_OID_P256_FALCON512")) oqs_oid_alg_list[64+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_FALCON512"); + if (getenv("OQS_OID_RSA3072_FALCON512")) oqs_oid_alg_list[66+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_FALCON512"); + if (getenv("OQS_OID_FALCON512WITHSHA256")) oqs_oid_alg_list[68+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA256"); + if (getenv("OQS_OID_FALCON512WITHSHA384")) oqs_oid_alg_list[70+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA384"); + if (getenv("OQS_OID_FALCON512WITHSHA512")) oqs_oid_alg_list[72+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA512"); + if (getenv("OQS_OID_FALCON512WITHSHA3AT256")) oqs_oid_alg_list[74+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA3AT256"); + if (getenv("OQS_OID_FALCON512WITHSHA3AT384")) oqs_oid_alg_list[76+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA3AT384"); + if (getenv("OQS_OID_FALCON512WITHSHA3AT512")) oqs_oid_alg_list[78+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA3AT512"); + if (getenv("OQS_OID_FALCON512WITHSHAKE128")) oqs_oid_alg_list[80+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHAKE128"); + if (getenv("OQS_OID_FALCON512WITHSHAKE256")) oqs_oid_alg_list[82+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHAKE256"); + if (getenv("OQS_OID_FALCON1024")) oqs_oid_alg_list[84+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); + if (getenv("OQS_OID_P521_FALCON1024")) oqs_oid_alg_list[86+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_FALCON1024"); + if (getenv("OQS_OID_FALCON1024WITHSHA256")) oqs_oid_alg_list[88+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA256"); + if (getenv("OQS_OID_FALCON1024WITHSHA384")) oqs_oid_alg_list[90+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA384"); + if (getenv("OQS_OID_FALCON1024WITHSHA512")) oqs_oid_alg_list[92+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA512"); + if (getenv("OQS_OID_FALCON1024WITHSHA3AT256")) oqs_oid_alg_list[94+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA3AT256"); + if (getenv("OQS_OID_FALCON1024WITHSHA3AT384")) oqs_oid_alg_list[96+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA3AT384"); + if (getenv("OQS_OID_FALCON1024WITHSHA3AT512")) oqs_oid_alg_list[98+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA3AT512"); + if (getenv("OQS_OID_FALCON1024WITHSHAKE128")) oqs_oid_alg_list[100+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHAKE128"); + if (getenv("OQS_OID_FALCON1024WITHSHAKE256")) oqs_oid_alg_list[102+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHAKE256"); + if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[104+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[106+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[108+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[110+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[112+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[114+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[116+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[118+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[120+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[122+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[124+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); +///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END return 1; } @@ -417,173 +314,133 @@ const char *oqs_alg_encoding_list[OQS_OID_CNT] = {0}; int oqs_patch_encodings(void) { ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_START - if (getenv("OQS_ENCODING_DILITHIUM2")) - oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); - if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) - oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2")) - oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) - oqs_alg_encoding_list[3] - = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) - oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) - oqs_alg_encoding_list[5] - = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) - oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) - oqs_alg_encoding_list[7] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384")) - oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME")) - oqs_alg_encoding_list[9] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512")) - oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME")) - oqs_alg_encoding_list[11] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256")) - oqs_alg_encoding_list[12] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME")) - oqs_alg_encoding_list[13] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384")) - oqs_alg_encoding_list[14] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME")) - oqs_alg_encoding_list[15] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512")) - oqs_alg_encoding_list[16] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME")) - oqs_alg_encoding_list[17] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128")) - oqs_alg_encoding_list[18] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME")) - oqs_alg_encoding_list[19] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256")) - oqs_alg_encoding_list[20] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME")) - oqs_alg_encoding_list[21] - = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3")) - oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_DILITHIUM3"); - if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) - oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3")) - oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P384_DILITHIUM3"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) - oqs_alg_encoding_list[25] - = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5")) - oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_DILITHIUM5"); - if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) - oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5")) - oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_P521_DILITHIUM5"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) - oqs_alg_encoding_list[29] - = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512")) - oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_FALCON512"); - if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) - oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_P256_FALCON512")) - oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_P256_FALCON512"); - if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) - oqs_alg_encoding_list[33] - = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512")) - oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_RSA3072_FALCON512"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) - oqs_alg_encoding_list[35] - = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024")) - oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_FALCON1024"); - if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) - oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_P521_FALCON1024")) - oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_P521_FALCON1024"); - if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) - oqs_alg_encoding_list[39] - = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) - oqs_alg_encoding_list[40] - = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[41] - = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) - oqs_alg_encoding_list[42] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[43] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) - oqs_alg_encoding_list[44] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[45] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) - oqs_alg_encoding_list[46] - = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) - oqs_alg_encoding_list[47] - = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) - oqs_alg_encoding_list[48] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) - oqs_alg_encoding_list[49] - = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) - oqs_alg_encoding_list[50] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) - oqs_alg_encoding_list[51] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) - oqs_alg_encoding_list[52] - = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[53] - = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) - oqs_alg_encoding_list[54] - = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[55] - = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) - oqs_alg_encoding_list[56] - = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[57] - = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) - oqs_alg_encoding_list[58] - = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[59] - = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) - oqs_alg_encoding_list[60] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) - oqs_alg_encoding_list[61] - = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END + if (getenv("OQS_ENCODING_DILITHIUM2")) oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); + if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2")) oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[3] = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[5] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) oqs_alg_encoding_list[7] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384")) oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME")) oqs_alg_encoding_list[9] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512")) oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME")) oqs_alg_encoding_list[11] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256")) oqs_alg_encoding_list[12] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[13] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384")) oqs_alg_encoding_list[14] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[15] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512")) oqs_alg_encoding_list[16] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[17] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128")) oqs_alg_encoding_list[18] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[19] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256")) oqs_alg_encoding_list[20] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[21] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3")) oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_DILITHIUM3"); + if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3")) oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P384_DILITHIUM3"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[25] = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA256")) oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA256_ALGNAME")) oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA384")) oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA384_ALGNAME")) oqs_alg_encoding_list[29] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA512")) oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA512_ALGNAME")) oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256")) oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[33] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384")) oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[35] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512")) oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128")) oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[39] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256")) oqs_alg_encoding_list[40] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[41] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5")) oqs_alg_encoding_list[42] = getenv("OQS_ENCODING_DILITHIUM5"); + if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[43] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5")) oqs_alg_encoding_list[44] = getenv("OQS_ENCODING_P521_DILITHIUM5"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[45] = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA256")) oqs_alg_encoding_list[46] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA256_ALGNAME")) oqs_alg_encoding_list[47] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA384")) oqs_alg_encoding_list[48] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA384_ALGNAME")) oqs_alg_encoding_list[49] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA512")) oqs_alg_encoding_list[50] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA512_ALGNAME")) oqs_alg_encoding_list[51] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256")) oqs_alg_encoding_list[52] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[53] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384")) oqs_alg_encoding_list[54] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[55] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512")) oqs_alg_encoding_list[56] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[57] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128")) oqs_alg_encoding_list[58] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[59] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256")) oqs_alg_encoding_list[60] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[61] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512")) oqs_alg_encoding_list[62] = getenv("OQS_ENCODING_FALCON512"); + if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) oqs_alg_encoding_list[63] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_P256_FALCON512")) oqs_alg_encoding_list[64] = getenv("OQS_ENCODING_P256_FALCON512"); + if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) oqs_alg_encoding_list[65] = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512")) oqs_alg_encoding_list[66] = getenv("OQS_ENCODING_RSA3072_FALCON512"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) oqs_alg_encoding_list[67] = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA256")) oqs_alg_encoding_list[68] = getenv("OQS_ENCODING_FALCON512WITHSHA256"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA256_ALGNAME")) oqs_alg_encoding_list[69] = getenv("OQS_ENCODING_FALCON512WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA384")) oqs_alg_encoding_list[70] = getenv("OQS_ENCODING_FALCON512WITHSHA384"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA384_ALGNAME")) oqs_alg_encoding_list[71] = getenv("OQS_ENCODING_FALCON512WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA512")) oqs_alg_encoding_list[72] = getenv("OQS_ENCODING_FALCON512WITHSHA512"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA512_ALGNAME")) oqs_alg_encoding_list[73] = getenv("OQS_ENCODING_FALCON512WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT256")) oqs_alg_encoding_list[74] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT256"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[75] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT384")) oqs_alg_encoding_list[76] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT384"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[77] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT512")) oqs_alg_encoding_list[78] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT512"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[79] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE128")) oqs_alg_encoding_list[80] = getenv("OQS_ENCODING_FALCON512WITHSHAKE128"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[81] = getenv("OQS_ENCODING_FALCON512WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE256")) oqs_alg_encoding_list[82] = getenv("OQS_ENCODING_FALCON512WITHSHAKE256"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[83] = getenv("OQS_ENCODING_FALCON512WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024")) oqs_alg_encoding_list[84] = getenv("OQS_ENCODING_FALCON1024"); + if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) oqs_alg_encoding_list[85] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_P521_FALCON1024")) oqs_alg_encoding_list[86] = getenv("OQS_ENCODING_P521_FALCON1024"); + if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) oqs_alg_encoding_list[87] = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA256")) oqs_alg_encoding_list[88] = getenv("OQS_ENCODING_FALCON1024WITHSHA256"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA256_ALGNAME")) oqs_alg_encoding_list[89] = getenv("OQS_ENCODING_FALCON1024WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA384")) oqs_alg_encoding_list[90] = getenv("OQS_ENCODING_FALCON1024WITHSHA384"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA384_ALGNAME")) oqs_alg_encoding_list[91] = getenv("OQS_ENCODING_FALCON1024WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA512")) oqs_alg_encoding_list[92] = getenv("OQS_ENCODING_FALCON1024WITHSHA512"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA512_ALGNAME")) oqs_alg_encoding_list[93] = getenv("OQS_ENCODING_FALCON1024WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256")) oqs_alg_encoding_list[94] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[95] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384")) oqs_alg_encoding_list[96] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[97] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512")) oqs_alg_encoding_list[98] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[99] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE128")) oqs_alg_encoding_list[100] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE128"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[101] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE256")) oqs_alg_encoding_list[102] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE256"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[103] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[104] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[105] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[106] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[107] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[108] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[109] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[110] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[111] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[112] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[113] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[114] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[115] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[116] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[117] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[118] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[119] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[120] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[121] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[122] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[123] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[124] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[125] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); +///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END return 1; } #endif @@ -660,19 +517,115 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { SIGALG("dilithium3", 192, oqs_signature_functions), SIGALG("p384_dilithium3", 192, oqs_signature_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha256", 192, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha384", 192, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha512", 192, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha3At256", 192, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha3At384", 192, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha3At512", 192, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithShake128", 192, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithShake256", 192, oqs_signature_functions), +#endif #ifdef OQS_ENABLE_SIG_dilithium_5 SIGALG("dilithium5", 256, oqs_signature_functions), SIGALG("p521_dilithium5", 256, oqs_signature_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha256", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha384", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha512", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha3At256", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha3At384", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha3At512", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithShake128", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithShake256", 256, oqs_signature_functions), +#endif #ifdef OQS_ENABLE_SIG_falcon_512 SIGALG("falcon512", 128, oqs_signature_functions), SIGALG("p256_falcon512", 128, oqs_signature_functions), SIGALG("rsa3072_falcon512", 128, oqs_signature_functions), #endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha256", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha384", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha512", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha3At256", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha3At384", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha3At512", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithShake128", 128, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithShake256", 128, oqs_signature_functions), +#endif #ifdef OQS_ENABLE_SIG_falcon_1024 SIGALG("falcon1024", 256, oqs_signature_functions), SIGALG("p521_falcon1024", 256, oqs_signature_functions), #endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha256", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha384", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha512", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha3At256", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha3At384", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha3At512", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithShake128", 256, oqs_signature_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithShake256", 256, oqs_signature_functions), +#endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple SIGALG("sphincssha2128fsimple", 128, oqs_signature_functions), SIGALG("p256_sphincssha2128fsimple", 128, oqs_signature_functions), @@ -692,7 +645,7 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { SIGALG("p256_sphincsshake128fsimple", 128, oqs_signature_functions), SIGALG("rsa3072_sphincsshake128fsimple", 128, oqs_signature_functions), #endif - ///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END +///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { @@ -770,8 +723,8 @@ static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { KEMBASEALG(hqc256, 256) KEMHYBALG(p521_hqc256, 256) #endif - // clang-format on - ///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END +// clang-format on +///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { @@ -811,19 +764,115 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { SIGALG("dilithium3", 192, oqs_dilithium3_keymgmt_functions), SIGALG("p384_dilithium3", 192, oqs_p384_dilithium3_keymgmt_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha256", 192, oqs_dilithium3WithSha256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha384", 192, oqs_dilithium3WithSha384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha512", 192, oqs_dilithium3WithSha512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha3At256", 192, oqs_dilithium3WithSha3At256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha3At384", 192, oqs_dilithium3WithSha3At384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithSha3At512", 192, oqs_dilithium3WithSha3At512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithShake128", 192, oqs_dilithium3WithShake128_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + SIGALG("dilithium3WithShake256", 192, oqs_dilithium3WithShake256_keymgmt_functions), +#endif #ifdef OQS_ENABLE_SIG_dilithium_5 SIGALG("dilithium5", 256, oqs_dilithium5_keymgmt_functions), SIGALG("p521_dilithium5", 256, oqs_p521_dilithium5_keymgmt_functions), #endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha256", 256, oqs_dilithium5WithSha256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha384", 256, oqs_dilithium5WithSha384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha512", 256, oqs_dilithium5WithSha512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha3At256", 256, oqs_dilithium5WithSha3At256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha3At384", 256, oqs_dilithium5WithSha3At384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithSha3At512", 256, oqs_dilithium5WithSha3At512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithShake128", 256, oqs_dilithium5WithShake128_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + SIGALG("dilithium5WithShake256", 256, oqs_dilithium5WithShake256_keymgmt_functions), +#endif #ifdef OQS_ENABLE_SIG_falcon_512 SIGALG("falcon512", 128, oqs_falcon512_keymgmt_functions), SIGALG("p256_falcon512", 128, oqs_p256_falcon512_keymgmt_functions), SIGALG("rsa3072_falcon512", 128, oqs_rsa3072_falcon512_keymgmt_functions), #endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha256", 128, oqs_falcon512WithSha256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha384", 128, oqs_falcon512WithSha384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha512", 128, oqs_falcon512WithSha512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha3At256", 128, oqs_falcon512WithSha3At256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha3At384", 128, oqs_falcon512WithSha3At384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithSha3At512", 128, oqs_falcon512WithSha3At512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithShake128", 128, oqs_falcon512WithShake128_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + SIGALG("falcon512WithShake256", 128, oqs_falcon512WithShake256_keymgmt_functions), +#endif #ifdef OQS_ENABLE_SIG_falcon_1024 SIGALG("falcon1024", 256, oqs_falcon1024_keymgmt_functions), SIGALG("p521_falcon1024", 256, oqs_p521_falcon1024_keymgmt_functions), #endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha256", 256, oqs_falcon1024WithSha256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha384", 256, oqs_falcon1024WithSha384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha512", 256, oqs_falcon1024WithSha512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha3At256", 256, oqs_falcon1024WithSha3At256_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha3At384", 256, oqs_falcon1024WithSha3At384_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithSha3At512", 256, oqs_falcon1024WithSha3At512_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithShake128", 256, oqs_falcon1024WithShake128_keymgmt_functions), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + SIGALG("falcon1024WithShake256", 256, oqs_falcon1024WithShake256_keymgmt_functions), +#endif #ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple SIGALG("sphincssha2128fsimple", 128, oqs_sphincssha2128fsimple_keymgmt_functions), SIGALG("p256_sphincssha2128fsimple", 128, oqs_p256_sphincssha2128fsimple_keymgmt_functions), @@ -931,8 +980,8 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { KEMKMHYBALG(p521_hqc256, 256, ecp) #endif - // clang-format on - ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END +// clang-format on +///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END // ALG("x25519_sikep434", oqs_ecx_sikep434_keymgmt_functions), {NULL, NULL, NULL}}; diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index 89b72167..c9648b69 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -35,64 +35,64 @@ typedef struct oqs_group_constants_st { static OQS_GROUP_CONSTANTS oqs_group_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_START - {0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x022C, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x022C, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F2C, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FAC, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x022D, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F2C, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FAC, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x022D, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F2D, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x2FAD, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - {0x022E, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + { 0x2F2D, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FAD, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x022E, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - {0x2F2E, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END + { 0x2F2E, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, +///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END }; // Adds entries for tlsname, `ecx`_tlsname and `ecp`_tlsname @@ -128,16 +128,13 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(frodo640aes, frodo640aes, frodo640aes, 0), OQS_GROUP_ENTRY(p256_frodo640aes, p256_frodo640aes, p256_frodo640aes, 1), - OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, - 2), + OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, 2), #endif #ifdef OQS_ENABLE_KEM_frodokem_640_shake OQS_GROUP_ENTRY(frodo640shake, frodo640shake, frodo640shake, 3), - OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, - 4), - OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, - x25519_frodo640shake, 5), + OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, 4), + OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, x25519_frodo640shake, 5), #endif #ifdef OQS_ENABLE_KEM_frodokem_976_aes OQS_GROUP_ENTRY(frodo976aes, frodo976aes, frodo976aes, 6), @@ -148,22 +145,18 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { #ifdef OQS_ENABLE_KEM_frodokem_976_shake OQS_GROUP_ENTRY(frodo976shake, frodo976shake, frodo976shake, 9), - OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, - 10), - OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, - 11), + OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, 10), + OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, 11), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_aes OQS_GROUP_ENTRY(frodo1344aes, frodo1344aes, frodo1344aes, 12), - OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, - 13), + OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, 13), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_shake OQS_GROUP_ENTRY(frodo1344shake, frodo1344shake, frodo1344shake, 14), - OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, - p521_frodo1344shake, 15), + OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, p521_frodo1344shake, 15), #endif #ifdef OQS_ENABLE_KEM_kyber_512 OQS_GROUP_ENTRY(kyber512, kyber512, kyber512, 16), @@ -218,7 +211,7 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(p521_hqc256, p521_hqc256, p521_hqc256, 41), #endif - ///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END +///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END }; typedef struct oqs_sigalg_constants_st { @@ -231,231 +224,183 @@ typedef struct oqs_sigalg_constants_st { static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_START - {0xfe98, 128, TLS1_3_VERSION, 0}, {0xfe99, 128, TLS1_3_VERSION, 0}, - {0xfe9a, 128, TLS1_3_VERSION, 0}, {0xfe9b, 128, TLS1_3_VERSION, 0}, - {0xfe9c, 128, TLS1_3_VERSION, 0}, {0xfe9d, 128, TLS1_3_VERSION, 0}, - {0xfe9e, 128, TLS1_3_VERSION, 0}, {0xfe9f, 128, TLS1_3_VERSION, 0}, - {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}, {0xfeae, 128, TLS1_3_VERSION, 0}, - {0xfeaf, 128, TLS1_3_VERSION, 0}, {0xfeb0, 128, TLS1_3_VERSION, 0}, - {0xfeb1, 256, TLS1_3_VERSION, 0}, {0xfeb2, 256, TLS1_3_VERSION, 0}, - {0xfeb3, 128, TLS1_3_VERSION, 0}, {0xfeb4, 128, TLS1_3_VERSION, 0}, - {0xfeb5, 128, TLS1_3_VERSION, 0}, {0xfeb6, 128, TLS1_3_VERSION, 0}, - {0xfeb7, 128, TLS1_3_VERSION, 0}, {0xfeb8, 128, TLS1_3_VERSION, 0}, - {0xfeb9, 192, TLS1_3_VERSION, 0}, {0xfeba, 192, TLS1_3_VERSION, 0}, - {0xfec2, 128, TLS1_3_VERSION, 0}, {0xfec3, 128, TLS1_3_VERSION, 0}, - {0xfec4, 128, TLS1_3_VERSION, 0}, - ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END + { 0xfe98, 128, TLS1_3_VERSION, 0 }, + { 0xfe99, 128, TLS1_3_VERSION, 0 }, + { 0xfe9a, 128, TLS1_3_VERSION, 0 }, + { 0xfe9b, 128, TLS1_3_VERSION, 0 }, + { 0xfe9c, 128, TLS1_3_VERSION, 0 }, + { 0xfe9d, 128, TLS1_3_VERSION, 0 }, + { 0xfe9e, 128, TLS1_3_VERSION, 0 }, + { 0xfe9f, 128, TLS1_3_VERSION, 0 }, + { 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, 192, TLS1_3_VERSION, 0 }, + { 0xfea6, 192, TLS1_3_VERSION, 0 }, + { 0xfea7, 192, TLS1_3_VERSION, 0 }, + { 0xfea8, 192, TLS1_3_VERSION, 0 }, + { 0xfea9, 192, TLS1_3_VERSION, 0 }, + { 0xfeaa, 192, TLS1_3_VERSION, 0 }, + { 0xfeab, 192, TLS1_3_VERSION, 0 }, + { 0xfeac, 192, TLS1_3_VERSION, 0 }, + { 0xfead, 256, TLS1_3_VERSION, 0 }, + { 0xfeae, 256, TLS1_3_VERSION, 0 }, + { 0xfeaf, 256, TLS1_3_VERSION, 0 }, + { 0xfeb0, 256, TLS1_3_VERSION, 0 }, + { 0xfeb1, 256, TLS1_3_VERSION, 0 }, + { 0xfeb2, 256, TLS1_3_VERSION, 0 }, + { 0xfeb3, 256, TLS1_3_VERSION, 0 }, + { 0xfeb4, 256, TLS1_3_VERSION, 0 }, + { 0xfeb5, 256, TLS1_3_VERSION, 0 }, + { 0xfeb6, 256, TLS1_3_VERSION, 0 }, + { 0xfebe, 128, TLS1_3_VERSION, 0 }, + { 0xfebf, 128, TLS1_3_VERSION, 0 }, + { 0xfec0, 128, TLS1_3_VERSION, 0 }, + { 0xfec1, 128, TLS1_3_VERSION, 0 }, + { 0xfec2, 128, TLS1_3_VERSION, 0 }, + { 0xfec3, 128, TLS1_3_VERSION, 0 }, + { 0xfec4, 128, TLS1_3_VERSION, 0 }, + { 0xfec5, 128, TLS1_3_VERSION, 0 }, + { 0xfec6, 128, TLS1_3_VERSION, 0 }, + { 0xfec6, 128, TLS1_3_VERSION, 0 }, + { 0xfec7, 128, TLS1_3_VERSION, 0 }, + { 0xfec8, 256, TLS1_3_VERSION, 0 }, + { 0xfec9, 256, TLS1_3_VERSION, 0 }, + { 0xfeca, 256, TLS1_3_VERSION, 0 }, + { 0xfecb, 256, TLS1_3_VERSION, 0 }, + { 0xfecc, 256, TLS1_3_VERSION, 0 }, + { 0xfecd, 256, TLS1_3_VERSION, 0 }, + { 0xfece, 256, TLS1_3_VERSION, 0 }, + { 0xfecf, 256, TLS1_3_VERSION, 0 }, + { 0xfed0, 256, TLS1_3_VERSION, 0 }, + { 0xfed1, 256, TLS1_3_VERSION, 0 }, + { 0xfeb3, 128, TLS1_3_VERSION, 0 }, + { 0xfeb4, 128, TLS1_3_VERSION, 0 }, + { 0xfeb5, 128, TLS1_3_VERSION, 0 }, + { 0xfeb6, 128, TLS1_3_VERSION, 0 }, + { 0xfeb7, 128, TLS1_3_VERSION, 0 }, + { 0xfeb8, 128, TLS1_3_VERSION, 0 }, + { 0xfeb9, 192, TLS1_3_VERSION, 0 }, + { 0xfeba, 192, TLS1_3_VERSION, 0 }, + { 0xfec2, 128, TLS1_3_VERSION, 0 }, + { 0xfec3, 128, TLS1_3_VERSION, 0 }, + { 0xfec4, 128, TLS1_3_VERSION, 0 }, +///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END }; int oqs_patch_codepoints() { ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_START - if (getenv("OQS_CODEPOINT_FRODO640AES")) - oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); - if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) - oqs_group_list[1].group_id - = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) - oqs_group_list[2].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); - if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) - oqs_group_list[3].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) - oqs_group_list[4].group_id - = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) - oqs_group_list[5].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO976AES")) - oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); - if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) - oqs_group_list[7].group_id - = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); - if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) - oqs_group_list[8].group_id - = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); - if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) - oqs_group_list[9].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) - oqs_group_list[10].group_id - = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) - oqs_group_list[11].group_id - = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO1344AES")) - oqs_group_list[12].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) - oqs_group_list[13].group_id - = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) - oqs_group_list[14].group_id - = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) - oqs_group_list[15].group_id - = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_KYBER512")) - oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); - if (getenv("OQS_CODEPOINT_P256_KYBER512")) - oqs_group_list[17].group_id - = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); - if (getenv("OQS_CODEPOINT_X25519_KYBER512")) - oqs_group_list[18].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); - if (getenv("OQS_CODEPOINT_KYBER768")) - oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); - if (getenv("OQS_CODEPOINT_P384_KYBER768")) - oqs_group_list[20].group_id - = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); - if (getenv("OQS_CODEPOINT_X448_KYBER768")) - oqs_group_list[21].group_id - = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); - if (getenv("OQS_CODEPOINT_X25519_KYBER768")) - oqs_group_list[22].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); - if (getenv("OQS_CODEPOINT_P256_KYBER768")) - oqs_group_list[23].group_id - = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); - if (getenv("OQS_CODEPOINT_KYBER1024")) - oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); - if (getenv("OQS_CODEPOINT_P521_KYBER1024")) - oqs_group_list[25].group_id - = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); - if (getenv("OQS_CODEPOINT_BIKEL1")) - oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); - if (getenv("OQS_CODEPOINT_P256_BIKEL1")) - oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); - if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) - oqs_group_list[28].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); - if (getenv("OQS_CODEPOINT_BIKEL3")) - oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); - if (getenv("OQS_CODEPOINT_P384_BIKEL3")) - oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); - if (getenv("OQS_CODEPOINT_X448_BIKEL3")) - oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); - if (getenv("OQS_CODEPOINT_BIKEL5")) - oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); - if (getenv("OQS_CODEPOINT_P521_BIKEL5")) - oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); - if (getenv("OQS_CODEPOINT_HQC128")) - oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); - if (getenv("OQS_CODEPOINT_P256_HQC128")) - oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); - if (getenv("OQS_CODEPOINT_X25519_HQC128")) - oqs_group_list[36].group_id - = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); - if (getenv("OQS_CODEPOINT_HQC192")) - oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); - if (getenv("OQS_CODEPOINT_P384_HQC192")) - oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); - if (getenv("OQS_CODEPOINT_X448_HQC192")) - oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); - if (getenv("OQS_CODEPOINT_HQC256")) - oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); - if (getenv("OQS_CODEPOINT_P521_HQC256")) - oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); - - if (getenv("OQS_CODEPOINT_DILITHIUM2")) - oqs_sigalg_list[0].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) - oqs_sigalg_list[1].code_point - = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) - oqs_sigalg_list[2].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) - oqs_sigalg_list[3].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")) - oqs_sigalg_list[4].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")) - oqs_sigalg_list[5].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")) - oqs_sigalg_list[6].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")) - oqs_sigalg_list[7].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")) - oqs_sigalg_list[8].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")) - oqs_sigalg_list[9].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")) - oqs_sigalg_list[10].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")); - if (getenv("OQS_CODEPOINT_DILITHIUM3")) - oqs_sigalg_list[11].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) - oqs_sigalg_list[12].code_point - = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_DILITHIUM5")) - oqs_sigalg_list[13].code_point - = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) - oqs_sigalg_list[14].code_point - = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_FALCON512")) - oqs_sigalg_list[15].code_point - = atoi(getenv("OQS_CODEPOINT_FALCON512")); - if (getenv("OQS_CODEPOINT_P256_FALCON512")) - oqs_sigalg_list[16].code_point - = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); - if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) - oqs_sigalg_list[17].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); - if (getenv("OQS_CODEPOINT_FALCON1024")) - oqs_sigalg_list[18].code_point - = atoi(getenv("OQS_CODEPOINT_FALCON1024")); - if (getenv("OQS_CODEPOINT_P521_FALCON1024")) - oqs_sigalg_list[19].code_point - = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) - oqs_sigalg_list[20].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) - oqs_sigalg_list[21].code_point - = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) - oqs_sigalg_list[22].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) - oqs_sigalg_list[23].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) - oqs_sigalg_list[24].code_point - = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) - oqs_sigalg_list[25].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) - oqs_sigalg_list[26].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) - oqs_sigalg_list[27].code_point - = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) - oqs_sigalg_list[28].code_point - = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) - oqs_sigalg_list[29].code_point - = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) - oqs_sigalg_list[30].code_point - = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); - ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END + if (getenv("OQS_CODEPOINT_FRODO640AES")) oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); + if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) oqs_group_list[1].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) oqs_group_list[2].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); + if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) oqs_group_list[3].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) oqs_group_list[4].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) oqs_group_list[5].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO976AES")) oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); + if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) oqs_group_list[7].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); + if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) oqs_group_list[8].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); + if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) oqs_group_list[9].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) oqs_group_list[10].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) oqs_group_list[11].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO1344AES")) oqs_group_list[12].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) oqs_group_list[13].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) oqs_group_list[14].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) oqs_group_list[15].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_KYBER512")) oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); + if (getenv("OQS_CODEPOINT_P256_KYBER512")) oqs_group_list[17].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); + if (getenv("OQS_CODEPOINT_X25519_KYBER512")) oqs_group_list[18].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); + if (getenv("OQS_CODEPOINT_KYBER768")) oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); + if (getenv("OQS_CODEPOINT_P384_KYBER768")) oqs_group_list[20].group_id = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); + if (getenv("OQS_CODEPOINT_X448_KYBER768")) oqs_group_list[21].group_id = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); + if (getenv("OQS_CODEPOINT_X25519_KYBER768")) oqs_group_list[22].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); + if (getenv("OQS_CODEPOINT_P256_KYBER768")) oqs_group_list[23].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); + if (getenv("OQS_CODEPOINT_KYBER1024")) oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); + if (getenv("OQS_CODEPOINT_P521_KYBER1024")) oqs_group_list[25].group_id = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); + if (getenv("OQS_CODEPOINT_BIKEL1")) oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); + if (getenv("OQS_CODEPOINT_P256_BIKEL1")) oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); + if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) oqs_group_list[28].group_id = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); + if (getenv("OQS_CODEPOINT_BIKEL3")) oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); + if (getenv("OQS_CODEPOINT_P384_BIKEL3")) oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); + if (getenv("OQS_CODEPOINT_X448_BIKEL3")) oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); + if (getenv("OQS_CODEPOINT_BIKEL5")) oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); + if (getenv("OQS_CODEPOINT_P521_BIKEL5")) oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); + if (getenv("OQS_CODEPOINT_HQC128")) oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); + if (getenv("OQS_CODEPOINT_P256_HQC128")) oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); + if (getenv("OQS_CODEPOINT_X25519_HQC128")) oqs_group_list[36].group_id = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); + if (getenv("OQS_CODEPOINT_HQC192")) oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); + if (getenv("OQS_CODEPOINT_P384_HQC192")) oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); + if (getenv("OQS_CODEPOINT_X448_HQC192")) oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); + if (getenv("OQS_CODEPOINT_HQC256")) oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); + if (getenv("OQS_CODEPOINT_P521_HQC256")) oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); + + if (getenv("OQS_CODEPOINT_DILITHIUM2")) oqs_sigalg_list[0].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) oqs_sigalg_list[1].code_point = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) oqs_sigalg_list[2].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) oqs_sigalg_list[3].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")) oqs_sigalg_list[4].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")) oqs_sigalg_list[5].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")) oqs_sigalg_list[6].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")) oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")) oqs_sigalg_list[8].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")) oqs_sigalg_list[9].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")) oqs_sigalg_list[10].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3")) oqs_sigalg_list[11].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) oqs_sigalg_list[12].code_point = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA256")) oqs_sigalg_list[13].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA384")) oqs_sigalg_list[14].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA512")) oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT256")) oqs_sigalg_list[16].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT384")) oqs_sigalg_list[17].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT512")) oqs_sigalg_list[18].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE128")) oqs_sigalg_list[19].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE256")) oqs_sigalg_list[20].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_DILITHIUM5")) oqs_sigalg_list[21].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA256")) oqs_sigalg_list[23].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA384")) oqs_sigalg_list[24].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA512")) oqs_sigalg_list[25].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT256")) oqs_sigalg_list[26].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT384")) oqs_sigalg_list[27].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT512")) oqs_sigalg_list[28].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE128")) oqs_sigalg_list[29].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE256")) oqs_sigalg_list[30].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_FALCON512")) oqs_sigalg_list[31].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); + if (getenv("OQS_CODEPOINT_P256_FALCON512")) oqs_sigalg_list[32].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); + if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) oqs_sigalg_list[33].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA256")) oqs_sigalg_list[34].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA256")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA384")) oqs_sigalg_list[35].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA384")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA512")) oqs_sigalg_list[36].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA512")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT256")) oqs_sigalg_list[37].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT384")) oqs_sigalg_list[38].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT512")) oqs_sigalg_list[39].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHAKE128")) oqs_sigalg_list[40].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHAKE256")) oqs_sigalg_list[41].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_FALCON1024")) oqs_sigalg_list[42].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024")); + if (getenv("OQS_CODEPOINT_P521_FALCON1024")) oqs_sigalg_list[43].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA256")) oqs_sigalg_list[44].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA256")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA384")) oqs_sigalg_list[45].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA384")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA512")) oqs_sigalg_list[46].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA512")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT256")) oqs_sigalg_list[47].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT384")) oqs_sigalg_list[48].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT512")) oqs_sigalg_list[49].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE128")) oqs_sigalg_list[50].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE256")) oqs_sigalg_list[51].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[52].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[53].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[54].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[55].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[56].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[57].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[58].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[59].code_point = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[60].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[61].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[62].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); +///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END return 1; } @@ -495,104 +440,168 @@ static int oqs_group_capability(OSSL_CALLBACK *cb, void *arg) static const OSSL_PARAM oqs_param_sigalg_list[][12] = { ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_START -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, - "1.3.6.1.4.1.2.267.7.4.4", 0), - OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, - "1.3.9999.2.7.1", 1), - OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, - "1.3.9999.2.7.2", 2), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, - dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha384, dilithium2WithSha384, - dilithium2WithSha384, "1.3.6.1.4.1.18227.999.1.1.2", 4), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha512, dilithium2WithSha512, - dilithium2WithSha512, "1.3.6.1.4.1.18227.999.1.1.3", 5), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At256, dilithium2WithSha3At256, - dilithium2WithSha3At256, "1.3.6.1.4.1.18227.999.1.1.4", 6), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At384, dilithium2WithSha3At384, - dilithium2WithSha3At384, "1.3.6.1.4.1.18227.999.1.1.5", 7), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At512, dilithium2WithSha3At512, - dilithium2WithSha3At512, "1.3.6.1.4.1.18227.999.1.1.6", 8), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithShake128, dilithium2WithShake128, - dilithium2WithShake128, "1.3.6.1.4.1.18227.999.1.1.7", 9), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithShake256, dilithium2WithShake256, - dilithium2WithShake256, "1.3.6.1.4.1.18227.999.1.1.8", 10), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, - "1.3.6.1.4.1.2.267.7.6.5", 11), - OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, - "1.3.9999.2.7.3", 12), -# endif -# ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, - "1.3.6.1.4.1.2.267.7.8.7", 13), - OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, - "1.3.9999.2.7.4", 14), -# endif -# ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 15), - OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, - "1.3.9999.3.7", 16), - OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, - "1.3.9999.3.8", 17), -# endif -# ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 18), - OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, - "1.3.9999.3.10", 19), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, - sphincssha2128fsimple, "1.3.9999.6.4.13", 20), - OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, - p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 21), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, - rsa3072_sphincssha2128fsimple, - rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 22), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, - sphincssha2128ssimple, "1.3.9999.6.4.16", 23), - OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, - p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 24), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, - rsa3072_sphincssha2128ssimple, - rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 25), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, - sphincssha2192fsimple, "1.3.9999.6.5.10", 26), - OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, - p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 27), -# endif -# ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, - sphincsshake128fsimple, "1.3.9999.6.7.13", 28), - OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, - p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 29), - OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, - rsa3072_sphincsshake128fsimple, - rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 30), -# endif - ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, "1.3.6.1.4.1.2.267.7.4.4", 0), + OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, "1.3.9999.2.7.1", 1), + OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, "1.3.9999.2.7.2", 2), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha384, dilithium2WithSha384, dilithium2WithSha384, "1.3.6.1.4.1.18227.999.1.1.2", 4), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha512, dilithium2WithSha512, dilithium2WithSha512, "1.3.6.1.4.1.18227.999.1.1.3", 5), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At256, dilithium2WithSha3At256, dilithium2WithSha3At256, "1.3.6.1.4.1.18227.999.1.1.4", 6), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At384, dilithium2WithSha3At384, dilithium2WithSha3At384, "1.3.6.1.4.1.18227.999.1.1.5", 7), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At512, dilithium2WithSha3At512, dilithium2WithSha3At512, "1.3.6.1.4.1.18227.999.1.1.6", 8), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake128, dilithium2WithShake128, dilithium2WithShake128, "1.3.6.1.4.1.18227.999.1.1.7", 9), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake256, dilithium2WithShake256, dilithium2WithShake256, "1.3.6.1.4.1.18227.999.1.1.8", 10), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, "1.3.6.1.4.1.2.267.7.6.5", 11), + OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, "1.3.9999.2.7.3", 12), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha256, dilithium3WithSha256, dilithium3WithSha256, "1.3.6.1.4.1.18227.999.1.2.1", 13), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha384, dilithium3WithSha384, dilithium3WithSha384, "1.3.6.1.4.1.18227.999.1.2.2", 14), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha512, dilithium3WithSha512, dilithium3WithSha512, "1.3.6.1.4.1.18227.999.1.2.3", 15), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha3At256, dilithium3WithSha3At256, dilithium3WithSha3At256, "1.3.6.1.4.1.18227.999.1.2.4", 16), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha3At384, dilithium3WithSha3At384, dilithium3WithSha3At384, "1.3.6.1.4.1.18227.999.1.2.5", 17), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha3At512, dilithium3WithSha3At512, dilithium3WithSha3At512, "1.3.6.1.4.1.18227.999.1.2.6", 18), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithShake128, dilithium3WithShake128, dilithium3WithShake128, "1.3.6.1.4.1.18227.999.1.2.7", 19), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithShake256, dilithium3WithShake256, dilithium3WithShake256, "1.3.6.1.4.1.18227.999.1.2.8", 20), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, "1.3.6.1.4.1.2.267.7.8.7", 21), + OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, "1.3.9999.2.7.4", 22), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha256, dilithium5WithSha256, dilithium5WithSha256, "1.3.6.1.4.1.18227.999.1.3.1", 23), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha384, dilithium5WithSha384, dilithium5WithSha384, "1.3.6.1.4.1.18227.999.1.3.2", 24), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha512, dilithium5WithSha512, dilithium5WithSha512, "1.3.6.1.4.1.18227.999.1.3.3", 25), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha3At256, dilithium5WithSha3At256, dilithium5WithSha3At256, "1.3.6.1.4.1.18227.999.1.3.4", 26), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha3At384, dilithium5WithSha3At384, dilithium5WithSha3At384, "1.3.6.1.4.1.18227.999.1.3.5", 27), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha3At512, dilithium5WithSha3At512, dilithium5WithSha3At512, "1.3.6.1.4.1.18227.999.1.3.6", 28), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithShake128, dilithium5WithShake128, dilithium5WithShake128, "1.3.6.1.4.1.18227.999.1.3.7", 29), +#endif +#ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithShake256, dilithium5WithShake256, dilithium5WithShake256, "1.3.6.1.4.1.18227.999.1.3.8", 30), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 31), + OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, "1.3.9999.3.7", 32), + OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, "1.3.9999.3.8", 33), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha256, falcon512WithSha256, falcon512WithSha256, "1.3.6.1.4.1.18227.999.2.3.1.1", 34), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha384, falcon512WithSha384, falcon512WithSha384, "1.3.6.1.4.1.18227.999.2.3.2.1", 35), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha512, falcon512WithSha512, falcon512WithSha512, "1.3.6.1.4.1.18227.999.2.3.3.1", 36), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha3At256, falcon512WithSha3At256, falcon512WithSha3At256, "1.3.6.1.4.1.18227.999.2.3.4.1", 37), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha3At384, falcon512WithSha3At384, falcon512WithSha3At384, "1.3.6.1.4.1.18227.999.2.3.5.1", 38), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha3At512, falcon512WithSha3At512, falcon512WithSha3At512, "1.3.6.1.4.1.18227.999.2.3.6.1", 39), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithShake128, falcon512WithShake128, falcon512WithShake128, "1.3.6.1.4.1.18227.999.2.3.7.1", 40), +#endif +#ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithShake256, falcon512WithShake256, falcon512WithShake256, "1.3.6.1.4.1.18227.999.2.3.8.1", 41), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 42), + OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, "1.3.9999.3.10", 43), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha256, falcon1024WithSha256, falcon1024WithSha256, "1.3.6.1.4.1.18227.999.2.2.1.1", 44), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha384, falcon1024WithSha384, falcon1024WithSha384, "1.3.6.1.4.1.18227.999.2.2.2.1", 45), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha512, falcon1024WithSha512, falcon1024WithSha512, "1.3.6.1.4.1.18227.999.2.2.3.1", 46), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha3At256, falcon1024WithSha3At256, falcon1024WithSha3At256, "1.3.6.1.4.1.18227.999.2.2.4.1", 47), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha3At384, falcon1024WithSha3At384, falcon1024WithSha3At384, "1.3.6.1.4.1.18227.999.2.2.5.1", 48), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha3At512, falcon1024WithSha3At512, falcon1024WithSha3At512, "1.3.6.1.4.1.18227.999.2.2.6.1", 49), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithShake128, falcon1024WithShake128, falcon1024WithShake128, "1.3.6.1.4.1.18227.999.2.2.7.1", 50), +#endif +#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithShake256, falcon1024WithShake256, falcon1024WithShake256, "1.3.6.1.4.1.18227.999.2.2.8.1", 51), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple + OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, sphincssha2128fsimple, "1.3.9999.6.4.13", 52), + OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 53), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 54), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple + OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, sphincssha2128ssimple, "1.3.9999.6.4.16", 55), + OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 56), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 57), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple + OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, sphincssha2192fsimple, "1.3.9999.6.5.10", 58), + OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 59), +#endif +#ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple + OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, sphincsshake128fsimple, "1.3.9999.6.7.13", 60), + OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 61), + OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 62), +#endif +///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END }; static int oqs_sigalg_capability(OSSL_CALLBACK *cb, void *arg) diff --git a/oqsprov/oqsprov_keys.c b/oqsprov/oqsprov_keys.c index 62877964..490b9758 100644 --- a/oqsprov/oqsprov_keys.c +++ b/oqsprov/oqsprov_keys.c @@ -53,112 +53,127 @@ static int oqsx_key_recreate_classickey(OQSX_KEY *key, oqsx_key_op_t op); ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_START + + + + #ifdef OQS_KEM_ENCODERS -# define NID_TABLE_LEN 73 +#define NID_TABLE_LEN 105 #else -# define NID_TABLE_LEN 31 +#define NID_TABLE_LEN 63 #endif static oqs_nid_name_t nid_names[NID_TABLE_LEN] = { #ifdef OQS_KEM_ENCODERS - {0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128}, - {0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM, - 128}, - {0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, - KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128}, - {0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, - KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, - KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192}, - {0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM, - 192}, - {0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM, - 192}, - {0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192}, - {0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, - KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, - KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256}, - {0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, - KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256}, - {0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, - KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128}, - {0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192}, - {0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256}, - {0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128}, - {0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192}, - {0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256}, - {0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM, 256}, - {0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128}, - {0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM, 128}, - {0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM, 128}, - {0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192}, - {0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM, 192}, - {0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM, 192}, - {0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256}, - {0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM, 256}, + { 0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128 }, + { 0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128 }, + { 0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192 }, + { 0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192 }, + { 0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256 }, + { 0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256 }, + { 0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128 }, + { 0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192 }, + { 0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256 }, + { 0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128 }, + { 0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192 }, + { 0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256 }, + { 0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM , 256 }, + { 0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128 }, + { 0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM , 128 }, + { 0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM , 128 }, + { 0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192 }, + { 0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM , 192 }, + { 0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM , 192 }, + { 0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256 }, + { 0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM , 256 }, #endif /* OQS_KEM_ENCODERS */ - {0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, - {0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium2WithSha384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium2WithSha512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium2WithSha3At256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium2WithSha3At384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium2WithSha3At512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium2WithShake128", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium2WithShake256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, - {0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, - {0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192}, - {0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, - {0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256}, - {0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, - {0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, - {0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, - {0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256}, - {0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, - KEY_TYPE_SIG, 128}, - {0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, - KEY_TYPE_SIG, 128}, - {0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, - KEY_TYPE_SIG, 192}, - {0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, - KEY_TYPE_HYB_SIG, 192}, - {0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, - KEY_TYPE_SIG, 128}, - {0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - {0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, - KEY_TYPE_HYB_SIG, 128}, - ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END + { 0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, + { 0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha3At256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha3At384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithSha3At512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithShake128", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium2WithShake256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, + { 0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192 }, + { 0, "dilithium3WithSha256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium3WithSha384", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium3WithSha512", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium3WithSha3At256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium3WithSha3At384", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium3WithSha3At512", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium3WithShake128", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium3WithShake256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, + { 0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256 }, + { 0, "dilithium5WithSha256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "dilithium5WithSha384", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "dilithium5WithSha512", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "dilithium5WithSha3At256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "dilithium5WithSha3At384", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "dilithium5WithSha3At512", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "dilithium5WithShake128", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "dilithium5WithShake256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, + { 0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, + { 0, "falcon512WithSha256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon512WithSha384", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon512WithSha512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon512WithSha3At256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon512WithSha3At384", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon512WithSha3At512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon512WithShake128", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon512WithShake256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, + { 0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256 }, + { 0, "falcon1024WithSha256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "falcon1024WithSha384", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "falcon1024WithSha512", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "falcon1024WithSha3At256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "falcon1024WithSha3At384", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "falcon1024WithSha3At512", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "falcon1024WithShake128", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "falcon1024WithShake256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, + { 0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_SIG, 128 }, + { 0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_SIG, 128 }, + { 0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_SIG, 192 }, + { 0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_HYB_SIG, 192 }, + { 0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_SIG, 128 }, + { 0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, + { 0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, +///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END }; int oqs_set_nid(char *tlsname, int nid) diff --git a/scripts/common.py b/scripts/common.py index e8901776..300c4a52 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -16,7 +16,7 @@ 'ecdsap256', 'rsa3072', ##### OQS_TEMPLATE_FRAGMENT_SIG_ALGS_START # post-quantum signatures - 'dilithium2','dilithium2WithSha256','dilithium2WithSha384','dilithium2WithSha512','dilithium2WithSha3At256','dilithium2WithSha3At384','dilithium2WithSha3At512','dilithium2WithShake128','dilithium2WithShake256','dilithium3','dilithium5','falcon512','falcon1024','sphincssha2128fsimple','sphincssha2128ssimple','sphincssha2192fsimple','sphincsshake128fsimple', + 'dilithium2','dilithium2WithSha256','dilithium2WithSha384','dilithium2WithSha512','dilithium2WithSha3At256','dilithium2WithSha3At384','dilithium2WithSha3At512','dilithium2WithShake128','dilithium2WithShake256','dilithium3','dilithium3WithSha256','dilithium3WithSha384','dilithium3WithSha512','dilithium3WithSha3At256','dilithium3WithSha3At384','dilithium3WithSha3At512','dilithium3WithShake128','dilithium3WithShake256','dilithium5','dilithium5WithSha256','dilithium5WithSha384','dilithium5WithSha512','dilithium5WithSha3At256','dilithium5WithSha3At384','dilithium5WithSha3At512','dilithium5WithShake128','dilithium5WithShake256','falcon512','falcon512WithSha256','falcon512WithSha384','falcon512WithSha512','falcon512WithSha3At256','falcon512WithSha3At384','falcon512WithSha3At512','falcon512WithShake128','falcon512WithShake256','falcon1024','falcon1024WithSha256','falcon1024WithSha384','falcon1024WithSha512','falcon1024WithSha3At256','falcon1024WithSha3At384','falcon1024WithSha3At512','falcon1024WithShake128','falcon1024WithShake256','sphincssha2128fsimple','sphincssha2128ssimple','sphincssha2192fsimple','sphincsshake128fsimple', # post-quantum + classical signatures 'p256_dilithium2','rsa3072_dilithium2','p384_dilithium3','p521_dilithium5','p256_falcon512','rsa3072_falcon512','p521_falcon1024','p256_sphincssha2128fsimple','rsa3072_sphincssha2128fsimple','p256_sphincssha2128ssimple','rsa3072_sphincssha2128ssimple','p384_sphincssha2192fsimple','p256_sphincsshake128fsimple','rsa3072_sphincsshake128fsimple', ##### OQS_TEMPLATE_FRAGMENT_SIG_ALGS_END From cde8bbfff88bea0f957144e1348da4ca9fe866f6 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Thu, 7 Dec 2023 21:04:13 -0500 Subject: [PATCH 13/17] added debugging --- test/oqs_test_tlssig.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/oqs_test_tlssig.c b/test/oqs_test_tlssig.c index a735570a..1664c511 100644 --- a/test/oqs_test_tlssig.c +++ b/test/oqs_test_tlssig.c @@ -59,6 +59,8 @@ static int test_oqs_tlssig(const char *sig_name) = create_tls1_3_ctx_pair(libctx, &sctx, &cctx, certpath, privkeypath); if (!testresult) { + fprintf(stderr, "Failed to create TLS context pair.\n"); + ERR_print_errors_fp(stderr); // Log SSL errors ret = -1; goto err; } @@ -72,6 +74,10 @@ static int test_oqs_tlssig(const char *sig_name) testresult = create_tls_connection(serverssl, clientssl, SSL_ERROR_NONE); if (!testresult) { + fprintf(stderr, "TLS handshake failed for %s.\n", sig_name); + int ssl_err = SSL_get_error(clientssl, testresult); // Or serverssl, depending on which failed + fprintf(stderr, "SSL error code: %d\n", ssl_err); + ERR_print_errors_fp(stderr); // Detailed SSL error logging ret = -5; goto err; } From 7a08da21c79843430ce94099bd6fc7b5fb5a0c17 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Fri, 8 Dec 2023 13:47:09 -0500 Subject: [PATCH 14/17] fixed code point issue in generate.yml --- ALGORITHMS.md | 96 ++++++++--------- oqs-template/generate.yml | 186 ++++++++++++++++----------------- oqs-template/oqs-sig-info.md | 186 ++++++++++++++++----------------- oqsprov/oqsprov_capabilities.c | 42 ++++---- 4 files changed, 255 insertions(+), 255 deletions(-) diff --git a/ALGORITHMS.md b/ALGORITHMS.md index 8a6111c4..b0bb5f44 100644 --- a/ALGORITHMS.md +++ b/ALGORITHMS.md @@ -46,14 +46,14 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | x448_bikel3 | 0x2FAF | Yes | OQS_CODEPOINT_X448_BIKEL3 | | bikel5 | 0x0243 | Yes | OQS_CODEPOINT_BIKEL5 | | p521_bikel5 | 0x2F43 | Yes | OQS_CODEPOINT_P521_BIKEL5 | -| hqc128 | 0x022C | Yes | OQS_CODEPOINT_HQC128 | -| p256_hqc128 | 0x2F2C | Yes | OQS_CODEPOINT_P256_HQC128 | -| x25519_hqc128 | 0x2FAC | Yes | OQS_CODEPOINT_X25519_HQC128 | -| hqc192 | 0x022D | Yes | OQS_CODEPOINT_HQC192 | -| p384_hqc192 | 0x2F2D | Yes | OQS_CODEPOINT_P384_HQC192 | -| x448_hqc192 | 0x2FAD | Yes | OQS_CODEPOINT_X448_HQC192 | -| hqc256 | 0x022E | Yes | OQS_CODEPOINT_HQC256 | -| p521_hqc256 | 0x2F2E | Yes | OQS_CODEPOINT_P521_HQC256 | +| hqc128 | 0x0244 | Yes | OQS_CODEPOINT_HQC128 | +| p256_hqc128 | 0x2F44 | Yes | OQS_CODEPOINT_P256_HQC128 | +| x25519_hqc128 | 0x2FB0 | Yes | OQS_CODEPOINT_X25519_HQC128 | +| hqc192 | 0x0245 | Yes | OQS_CODEPOINT_HQC192 | +| p384_hqc192 | 0x2F45 | Yes | OQS_CODEPOINT_P384_HQC192 | +| x448_hqc192 | 0x2FB1 | Yes | OQS_CODEPOINT_X448_HQC192 | +| hqc256 | 0x0246 | Yes | OQS_CODEPOINT_HQC256 | +| p521_hqc256 | 0x2F46 | Yes | OQS_CODEPOINT_P521_HQC256 | | dilithium2 | 0xfe98 |Yes| OQS_CODEPOINT_DILITHIUM2 | p256_dilithium2 | 0xfe99 |Yes| OQS_CODEPOINT_P256_DILITHIUM2 | rsa3072_dilithium2 | 0xfe9a |Yes| OQS_CODEPOINT_RSA3072_DILITHIUM2 @@ -94,46 +94,46 @@ As standardization for these algorithms within TLS is not done, all TLS code poi | falcon512WithSha3At256 | 0xfec4 |Yes| OQS_CODEPOINT_FALCON512WITHSHA3AT256 | falcon512WithSha3At384 | 0xfec5 |Yes| OQS_CODEPOINT_FALCON512WITHSHA3AT384 | falcon512WithSha3At512 | 0xfec6 |Yes| OQS_CODEPOINT_FALCON512WITHSHA3AT512 -| falcon512WithShake128 | 0xfec6 |Yes| OQS_CODEPOINT_FALCON512WITHSHAKE128 -| falcon512WithShake256 | 0xfec7 |Yes| OQS_CODEPOINT_FALCON512WITHSHAKE256 -| falcon1024 | 0xfec8 |Yes| OQS_CODEPOINT_FALCON1024 -| p521_falcon1024 | 0xfec9 |Yes| OQS_CODEPOINT_P521_FALCON1024 -| falcon1024WithSha256 | 0xfeca |Yes| OQS_CODEPOINT_FALCON1024WITHSHA256 -| falcon1024WithSha384 | 0xfecb |Yes| OQS_CODEPOINT_FALCON1024WITHSHA384 -| falcon1024WithSha512 | 0xfecc |Yes| OQS_CODEPOINT_FALCON1024WITHSHA512 -| falcon1024WithSha3At256 | 0xfecd |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT256 -| falcon1024WithSha3At384 | 0xfece |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT384 -| falcon1024WithSha3At512 | 0xfecf |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT512 -| falcon1024WithShake128 | 0xfed0 |Yes| OQS_CODEPOINT_FALCON1024WITHSHAKE128 -| falcon1024WithShake256 | 0xfed1 |Yes| OQS_CODEPOINT_FALCON1024WITHSHAKE256 -| sphincssha2128fsimple | 0xfeb3 |Yes| OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE -| p256_sphincssha2128fsimple | 0xfeb4 |Yes| OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE -| rsa3072_sphincssha2128fsimple | 0xfeb5 |Yes| OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE -| sphincssha2128ssimple | 0xfeb6 |Yes| OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE -| p256_sphincssha2128ssimple | 0xfeb7 |Yes| OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE -| rsa3072_sphincssha2128ssimple | 0xfeb8 |Yes| OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE -| sphincssha2192fsimple | 0xfeb9 |Yes| OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE -| p384_sphincssha2192fsimple | 0xfeba |Yes| OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE -| sphincssha2192ssimple | 0xfebb |No| OQS_CODEPOINT_SPHINCSSHA2192SSIMPLE -| p384_sphincssha2192ssimple | 0xfebc |No| OQS_CODEPOINT_P384_SPHINCSSHA2192SSIMPLE -| sphincssha2256fsimple | 0xfebd |No| OQS_CODEPOINT_SPHINCSSHA2256FSIMPLE -| p521_sphincssha2256fsimple | 0xfebe |No| OQS_CODEPOINT_P521_SPHINCSSHA2256FSIMPLE -| sphincssha2256ssimple | 0xfec0 |No| OQS_CODEPOINT_SPHINCSSHA2256SSIMPLE -| p521_sphincssha2256ssimple | 0xfec1 |No| OQS_CODEPOINT_P521_SPHINCSSHA2256SSIMPLE -| sphincsshake128fsimple | 0xfec2 |Yes| OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE -| p256_sphincsshake128fsimple | 0xfec3 |Yes| OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE -| rsa3072_sphincsshake128fsimple | 0xfec4 |Yes| OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE -| sphincsshake128ssimple | 0xfec5 |No| OQS_CODEPOINT_SPHINCSSHAKE128SSIMPLE -| p256_sphincsshake128ssimple | 0xfec6 |No| OQS_CODEPOINT_P256_SPHINCSSHAKE128SSIMPLE -| rsa3072_sphincsshake128ssimple | 0xfec7 |No| OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128SSIMPLE -| sphincsshake192fsimple | 0xfec8 |No| OQS_CODEPOINT_SPHINCSSHAKE192FSIMPLE -| p384_sphincsshake192fsimple | 0xfec9 |No| OQS_CODEPOINT_P384_SPHINCSSHAKE192FSIMPLE -| sphincsshake192ssimple | 0xfeca |No| OQS_CODEPOINT_SPHINCSSHAKE192SSIMPLE -| p384_sphincsshake192ssimple | 0xfecb |No| OQS_CODEPOINT_P384_SPHINCSSHAKE192SSIMPLE -| sphincsshake256fsimple | 0xfecc |No| OQS_CODEPOINT_SPHINCSSHAKE256FSIMPLE -| p521_sphincsshake256fsimple | 0xfecd |No| OQS_CODEPOINT_P521_SPHINCSSHAKE256FSIMPLE -| sphincsshake256ssimple | 0xfece |No| OQS_CODEPOINT_SPHINCSSHAKE256SSIMPLE -| p521_sphincsshake256ssimple | 0xfecf |No| OQS_CODEPOINT_P521_SPHINCSSHAKE256SSIMPLE +| falcon512WithShake128 | 0xfec7 |Yes| OQS_CODEPOINT_FALCON512WITHSHAKE128 +| falcon512WithShake256 | 0xfec8 |Yes| OQS_CODEPOINT_FALCON512WITHSHAKE256 +| falcon1024 | 0xfec9 |Yes| OQS_CODEPOINT_FALCON1024 +| p521_falcon1024 | 0xfeca |Yes| OQS_CODEPOINT_P521_FALCON1024 +| falcon1024WithSha256 | 0xfecb |Yes| OQS_CODEPOINT_FALCON1024WITHSHA256 +| falcon1024WithSha384 | 0xfecc |Yes| OQS_CODEPOINT_FALCON1024WITHSHA384 +| falcon1024WithSha512 | 0xfecd |Yes| OQS_CODEPOINT_FALCON1024WITHSHA512 +| falcon1024WithSha3At256 | 0xfece |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT256 +| falcon1024WithSha3At384 | 0xfecf |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT384 +| falcon1024WithSha3At512 | 0xfed0 |Yes| OQS_CODEPOINT_FALCON1024WITHSHA3AT512 +| falcon1024WithShake128 | 0xfed1 |Yes| OQS_CODEPOINT_FALCON1024WITHSHAKE128 +| falcon1024WithShake256 | 0xfed2 |Yes| OQS_CODEPOINT_FALCON1024WITHSHAKE256 +| sphincssha2128fsimple | 0xfe61 |Yes| OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE +| p256_sphincssha2128fsimple | 0xfe62 |Yes| OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE +| rsa3072_sphincssha2128fsimple | 0xfe63 |Yes| OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE +| sphincssha2128ssimple | 0xfe6a |Yes| OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE +| p256_sphincssha2128ssimple | 0xfe6b |Yes| OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE +| rsa3072_sphincssha2128ssimple | 0xfe6c |Yes| OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE +| sphincssha2192fsimple | 0xfe72 |Yes| OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE +| p384_sphincssha2192fsimple | 0xfe73 |Yes| OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE +| sphincssha2192ssimple | 0xfe78 |No| OQS_CODEPOINT_SPHINCSSHA2192SSIMPLE +| p384_sphincssha2192ssimple | 0xfe79 |No| OQS_CODEPOINT_P384_SPHINCSSHA2192SSIMPLE +| sphincssha2256fsimple | 0xfe7e |No| OQS_CODEPOINT_SPHINCSSHA2256FSIMPLE +| p521_sphincssha2256fsimple | 0xfe7f |No| OQS_CODEPOINT_P521_SPHINCSSHA2256FSIMPLE +| sphincssha2256ssimple | 0xfe84 |No| OQS_CODEPOINT_SPHINCSSHA2256SSIMPLE +| p521_sphincssha2256ssimple | 0xfe85 |No| OQS_CODEPOINT_P521_SPHINCSSHA2256SSIMPLE +| sphincsshake128fsimple | 0xff03 |Yes| OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE +| p256_sphincsshake128fsimple | 0xff04 |Yes| OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE +| rsa3072_sphincsshake128fsimple | 0xff05 |Yes| OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE +| sphincsshake128ssimple | 0xff0c |No| OQS_CODEPOINT_SPHINCSSHAKE128SSIMPLE +| p256_sphincsshake128ssimple | 0xff0d |No| OQS_CODEPOINT_P256_SPHINCSSHAKE128SSIMPLE +| rsa3072_sphincsshake128ssimple | 0xff0e |No| OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128SSIMPLE +| sphincsshake192fsimple | 0xff14 |No| OQS_CODEPOINT_SPHINCSSHAKE192FSIMPLE +| p384_sphincsshake192fsimple | 0xff15 |No| OQS_CODEPOINT_P384_SPHINCSSHAKE192FSIMPLE +| sphincsshake192ssimple | 0xff1a |No| OQS_CODEPOINT_SPHINCSSHAKE192SSIMPLE +| p384_sphincsshake192ssimple | 0xff1b |No| OQS_CODEPOINT_P384_SPHINCSSHAKE192SSIMPLE +| sphincsshake256fsimple | 0xff20 |No| OQS_CODEPOINT_SPHINCSSHAKE256FSIMPLE +| p521_sphincsshake256fsimple | 0xff21 |No| OQS_CODEPOINT_P521_SPHINCSSHAKE256FSIMPLE +| sphincsshake256ssimple | 0xff26 |No| OQS_CODEPOINT_SPHINCSSHAKE256SSIMPLE +| p521_sphincsshake256ssimple | 0xff27 |No| OQS_CODEPOINT_P521_SPHINCSSHAKE256SSIMPLE Changing code points diff --git a/oqs-template/generate.yml b/oqs-template/generate.yml index 58213075..a5e75e52 100644 --- a/oqs-template/generate.yml +++ b/oqs-template/generate.yml @@ -834,7 +834,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_512' oid: '1.3.6.1.4.1.18227.999.2.3.7.1' digest: SHAKE128 - code_point: '0xfec6' + code_point: '0xfec7' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -844,7 +844,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_512' oid: '1.3.6.1.4.1.18227.999.2.3.8.1' digest: SHAKE256 - code_point: '0xfec7' + code_point: '0xfec8' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -853,13 +853,13 @@ sigs: pretty_name: 'Falcon-1024' oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.9999.3.9' - code_point: '0xfec8' + code_point: '0xfec9' supported_encodings: ['draft-uni-qsckeys-falcon-00/sk-pk'] enable: true mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.3.10', - 'code_point': '0xfec9'}] + 'code_point': '0xfeca'}] extra_nids: old: - implementation_version: NIST Round 3 submission @@ -877,7 +877,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.1.1' digest: SHA256 - code_point: '0xfeca' + code_point: '0xfecb' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -887,7 +887,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.2.1' digest: SHA384 - code_point: '0xfecb' + code_point: '0xfecc' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -897,7 +897,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.3.1' digest: SHA512 - code_point: '0xfecc' + code_point: '0xfecd' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -907,7 +907,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.4.1' digest: SHA3-256 - code_point: '0xfecd' + code_point: '0xfece' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -917,7 +917,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.5.1' digest: SHA3-384 - code_point: '0xfece' + code_point: '0xfecf' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -927,7 +927,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.6.1' digest: SHA3-512 - code_point: '0xfecf' + code_point: '0xfed0' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -937,7 +937,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.7.1' digest: SHAKE128 - code_point: '0xfed0' + code_point: '0xfed1' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true @@ -947,7 +947,7 @@ sigs: oqs_meth: 'OQS_SIG_alg_falcon_1024' oid: '1.3.6.1.4.1.18227.999.2.2.8.1' digest: SHAKE256 - code_point: '0xfed1' + code_point: '0xfed2' supported_encodings: ['draft-uni-qsckeys-dilithium-00/sk-pk'] enable: true - @@ -1176,32 +1176,32 @@ sigs: pretty_name: 'SPHINCS+-SHA2-128f-simple' oqs_meth: 'OQS_SIG_alg_sphincs_sha2_128f_simple' oid: '1.3.9999.6.4.13' - code_point: '0xfeb3' + code_point: '0xfe61' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.4.14', - 'code_point': '0xfeb4'}, + 'code_point': '0xfe62'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.4.15', - 'code_point': '0xfeb5'}] + 'code_point': '0xfe63'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.4.4' - code_point: '0xfe61' + code_point: '0xfe64' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.4.5', - 'code_point': '0xfe62'}, + 'code_point': '0xfe65'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.4.6', - 'code_point': '0xfe63'}] + 'code_point': '0xfe66'}] - name: 'sphincssha256128srobust' pretty_name: 'SPHINCS+-SHA256-128s-robust' @@ -1211,47 +1211,47 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.4.7' - code_point: '0xfe64' + code_point: '0xfe67' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.4.8', - 'code_point': '0xfe65'}, + 'code_point': '0xfe68'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.4.9', - 'code_point': '0xfe66'}] + 'code_point': '0xfe69'}] - name: 'sphincssha2128ssimple' pretty_name: 'SPHINCS+-SHA2-128s-simple' oqs_meth: 'OQS_SIG_alg_sphincs_sha2_128s_simple' oid: '1.3.9999.6.4.16' - code_point: '0xfeb6' + code_point: '0xfe6a' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.4.17', - 'code_point': '0xfeb7'}, + 'code_point': '0xfe6b'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.4.18', - 'code_point': '0xfeb8'}] + 'code_point': '0xfe6c'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.4.10' - code_point: '0xfe67' + code_point: '0xfe6d' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.4.11', - 'code_point': '0xfe68'}, + 'code_point': '0xfe6e'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.4.12', - 'code_point': '0xfe69'}] + 'code_point': '0xfe6f'}] - name: 'sphincssha256192frobust' pretty_name: 'SPHINCS+-SHA256-192f-robust' @@ -1261,35 +1261,35 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.5.1' - code_point: '0xfe6a' + code_point: '0xfe70' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.5.2', - 'code_point': '0xfe6b'}] + 'code_point': '0xfe71'}] - name: 'sphincssha2192fsimple' pretty_name: 'SPHINCS+-SHA2-192f-simple' oqs_meth: 'OQS_SIG_alg_sphincs_sha2_192f_simple' oid: '1.3.9999.6.5.10' - code_point: '0xfeb9' + code_point: '0xfe72' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: true mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.5.11', - 'code_point': '0xfeba'}] + 'code_point': '0xfe73'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.5.3' - code_point: '0xfe6c' + code_point: '0xfe74' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.5.4', - 'code_point': '0xfe6d'}] + 'code_point': '0xfe75'}] - name: 'sphincssha256192srobust' pretty_name: 'SPHINCS+-SHA256-192s-robust' @@ -1299,35 +1299,35 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.5.5' - code_point: '0xfe6e' + code_point: '0xfe76' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.5.6', - 'code_point': '0xfe6f'}] + 'code_point': '0xfe77'}] - name: 'sphincssha2192ssimple' pretty_name: 'SPHINCS+-SHA2-192s-simple' oqs_meth: 'OQS_SIG_alg_sphincs_sha2_192s_simple' oid: '1.3.9999.6.5.12' - code_point: '0xfebb' + code_point: '0xfe78' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.5.13', - 'code_point': '0xfebc'}] + 'code_point': '0xfe79'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.5.7' - code_point: '0xfe70' + code_point: '0xfe7a' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.5.8', - 'code_point': '0xfe71'}] + 'code_point': '0xfe7b'}] - name: 'sphincssha256256frobust' pretty_name: 'SPHINCS+-SHA256-256f-robust' @@ -1337,35 +1337,35 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.6.1' - code_point: '0xfe72' + code_point: '0xfe7c' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.6.2', - 'code_point': '0xfe73'}] + 'code_point': '0xfe7d'}] - name: 'sphincssha2256fsimple' pretty_name: 'SPHINCS+-SHA2-256f-simple' oqs_meth: 'OQS_SIG_alg_sphincs_sha2_256f_simple' oid: '1.3.9999.6.6.10' - code_point: '0xfebd' + code_point: '0xfe7e' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.6.11', - 'code_point': '0xfebe'}] + 'code_point': '0xfe7f'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.6.3' - code_point: '0xfe74' + code_point: '0xfe80' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.6.4', - 'code_point': '0xfe75'}] + 'code_point': '0xfe81'}] - name: 'sphincssha256256srobust' pretty_name: 'SPHINCS+-SHA256-256s-robust' @@ -1375,35 +1375,35 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.6.5' - code_point: '0xfe76' + code_point: '0xfe82' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.6.6', - 'code_point': '0xfe77'}] + 'code_point': '0xfe83'}] - name: 'sphincssha2256ssimple' pretty_name: 'SPHINCS+-SHA2-256s-simple' oqs_meth: 'OQS_SIG_alg_sphincs_sha2_256s_simple' oid: '1.3.9999.6.6.12' - code_point: '0xfec0' + code_point: '0xfe84' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.6.13', - 'code_point': '0xfec1'}] + 'code_point': '0xfe85'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.6.7' - code_point: '0xfe78' + code_point: '0xfe86' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.6.8', - 'code_point': '0xfe79'}] + 'code_point': '0xfe89'}] - family: 'SPHINCS-SHAKE' variants: @@ -1416,47 +1416,47 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.7.1' - code_point: '0xfe7a' + code_point: '0xff00' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.7.2', - 'code_point': '0xfe7b'}, + 'code_point': '0xff01'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.7.3', - 'code_point': '0xfe7c'}] + 'code_point': '0xff02'}] - name: 'sphincsshake128fsimple' pretty_name: 'SPHINCS+-SHAKE-128f-simple' oqs_meth: 'OQS_SIG_alg_sphincs_shake_128f_simple' oid: '1.3.9999.6.7.13' - code_point: '0xfec2' + code_point: '0xff03' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: true mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.7.14', - 'code_point': '0xfec3'}, + 'code_point': '0xff04'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.7.15', - 'code_point': '0xfec4'}] + 'code_point': '0xff05'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.7.4' - code_point: '0xfe7d' + code_point: '0xff06' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.7.5', - 'code_point': '0xfe7e'}, + 'code_point': '0xff07'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.7.6', - 'code_point': '0xfe7f'}] + 'code_point': '0xff08'}] - name: 'sphincsshake256128srobust' pretty_name: 'SPHINCS+-SHAKE256-128s-robust' @@ -1466,47 +1466,47 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.7.7' - code_point: '0xfe80' + code_point: '0xff09' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.7.8', - 'code_point': '0xfe81'}, + 'code_point': '0xff0a'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.7.9', - 'code_point': '0xfe82'}] + 'code_point': '0xff0b'}] - name: 'sphincsshake128ssimple' pretty_name: 'SPHINCS+-SHAKE-128s-simple' oqs_meth: 'OQS_SIG_alg_sphincs_shake_128s_simple' oid: '1.3.9999.6.7.16' - code_point: '0xfec5' + code_point: '0xff0c' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.7.17', - 'code_point': '0xfec6'}, + 'code_point': '0xff0d'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.7.18', - 'code_point': '0xfec7'}] + 'code_point': '0xff0e'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.7.10' - code_point: '0xfe83' + code_point: '0xff0f' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p256', 'pretty_name': 'ECDSA p256', 'oid': '1.3.9999.6.7.11', - 'code_point': '0xfe84'}, + 'code_point': '0xff10'}, {'name': 'rsa3072', 'pretty_name': 'RSA3072', 'oid': '1.3.9999.6.7.12', - 'code_point': '0xfe85'}] + 'code_point': '0xff11'}] - name: 'sphincsshake256192frobust' pretty_name: 'SPHINCS+-SHAKE256-192f-robust' @@ -1516,35 +1516,35 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.8.1' - code_point: '0xfe86' + code_point: '0xff12' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.8.2', - 'code_point': '0xfe87'}] + 'code_point': '0xff13'}] - name: 'sphincsshake192fsimple' pretty_name: 'SPHINCS+-SHAKE-192f-simple' oqs_meth: 'OQS_SIG_alg_sphincs_shake_192f_simple' oid: '1.3.9999.6.8.10' - code_point: '0xfec8' + code_point: '0xff14' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.8.11', - 'code_point': '0xfec9'}] + 'code_point': '0xff15'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.8.3' - code_point: '0xfe88' + code_point: '0xff16' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.8.4', - 'code_point': '0xfe89'}] + 'code_point': '0xff17'}] - name: 'sphincsshake256192srobust' pretty_name: 'SPHINCS+-SHAKE256-192s-robust' @@ -1554,35 +1554,35 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.8.5' - code_point: '0xfe8a' + code_point: '0xff18' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.8.6', - 'code_point': '0xfe8b'}] + 'code_point': '0xff19'}] - name: 'sphincsshake192ssimple' pretty_name: 'SPHINCS+-SHAKE-192s-simple' oqs_meth: 'OQS_SIG_alg_sphincs_shake_192s_simple' oid: '1.3.9999.6.8.12' - code_point: '0xfeca' + code_point: '0xff1a' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.8.13', - 'code_point': '0xfecb'}] + 'code_point': '0xff1b'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.8.7' - code_point: '0xfe8c' + code_point: '0xff1c' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p384', 'pretty_name': 'ECDSA p384', 'oid': '1.3.9999.6.8.8', - 'code_point': '0xfe8d'}] + 'code_point': '0xff1d'}] - name: 'sphincsshake256256frobust' pretty_name: 'SPHINCS+-SHAKE256-256f-robust' @@ -1592,35 +1592,35 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.9.1' - code_point: '0xfe8e' + code_point: '0xff1e' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.9.2', - 'code_point': '0xfe8f'}] + 'code_point': '0xff1f'}] - name: 'sphincsshake256fsimple' pretty_name: 'SPHINCS+-SHAKE-256f-simple' oqs_meth: 'OQS_SIG_alg_sphincs_shake_256f_simple' oid: '1.3.9999.6.9.10' - code_point: '0xfecc' + code_point: '0xff20' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.9.11', - 'code_point': '0xfecd'}] + 'code_point': '0xff21'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.9.3' - code_point: '0xfe90' + code_point: '0xff22' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.9.4', - 'code_point': '0xfe91'}] + 'code_point': '0xff23'}] - name: 'sphincsshake256256srobust' pretty_name: 'SPHINCS+-SHAKE256-256s-robust' @@ -1630,33 +1630,33 @@ sigs: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.9.5' - code_point: '0xfe92' + code_point: '0xff24' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.9.6', - 'code_point': '0xfe93'}] + 'code_point': '0xff25'}] - name: 'sphincsshake256ssimple' pretty_name: 'SPHINCS+-SHAKE-256s-simple' oqs_meth: 'OQS_SIG_alg_sphincs_shake_256s_simple' oid: '1.3.9999.6.9.12' - code_point: '0xfece' + code_point: '0xff26' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] enable: false mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.9.13', - 'code_point': '0xfecf'}] + 'code_point': '0xff27'}] extra_nids: old: - implementation_version: NIST Round 3 submission nist-round: 3 oid: '1.3.9999.6.9.7' - code_point: '0xfe94' + code_point: '0xff28' supported_encodings: ['draft-uni-qsckeys-sphincsplus-00/sk-pk'] mix_with: [{'name': 'p521', 'pretty_name': 'ECDSA p521', 'oid': '1.3.9999.6.9.8', - 'code_point': '0xfe95'}] + 'code_point': '0xff29'}] diff --git a/oqs-template/oqs-sig-info.md b/oqs-template/oqs-sig-info.md index 6aa5190e..9e5d3535 100644 --- a/oqs-template/oqs-sig-info.md +++ b/oqs-template/oqs-sig-info.md @@ -50,20 +50,20 @@ | falcon512WithSha3At256 | 20211101 | 3 | 1 | 0xfec4 | 1.3.6.1.4.1.18227.999.2.3.4.1 | | falcon512WithSha3At384 | 20211101 | 3 | 1 | 0xfec5 | 1.3.6.1.4.1.18227.999.2.3.5.1 | | falcon512WithSha3At512 | 20211101 | 3 | 1 | 0xfec6 | 1.3.6.1.4.1.18227.999.2.3.6.1 | -| falcon512WithShake128 | 20211101 | 3 | 1 | 0xfec6 | 1.3.6.1.4.1.18227.999.2.3.7.1 | -| falcon512WithShake256 | 20211101 | 3 | 1 | 0xfec7 | 1.3.6.1.4.1.18227.999.2.3.8.1 | -| falcon1024 | 20211101 | 3 | 5 | 0xfec8 | 1.3.9999.3.9 | -| falcon1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfec9 | 1.3.9999.3.10 | +| falcon512WithShake128 | 20211101 | 3 | 1 | 0xfec7 | 1.3.6.1.4.1.18227.999.2.3.7.1 | +| falcon512WithShake256 | 20211101 | 3 | 1 | 0xfec8 | 1.3.6.1.4.1.18227.999.2.3.8.1 | +| falcon1024 | 20211101 | 3 | 5 | 0xfec9 | 1.3.9999.3.9 | +| falcon1024 **hybrid with** p521 | 20211101 | 3 | 5 | 0xfeca | 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 | -| falcon1024WithSha256 | 20211101 | 3 | 5 | 0xfeca | 1.3.6.1.4.1.18227.999.2.2.1.1 | -| falcon1024WithSha384 | 20211101 | 3 | 5 | 0xfecb | 1.3.6.1.4.1.18227.999.2.2.2.1 | -| falcon1024WithSha512 | 20211101 | 3 | 5 | 0xfecc | 1.3.6.1.4.1.18227.999.2.2.3.1 | -| falcon1024WithSha3At256 | 20211101 | 3 | 5 | 0xfecd | 1.3.6.1.4.1.18227.999.2.2.4.1 | -| falcon1024WithSha3At384 | 20211101 | 3 | 5 | 0xfece | 1.3.6.1.4.1.18227.999.2.2.5.1 | -| falcon1024WithSha3At512 | 20211101 | 3 | 5 | 0xfecf | 1.3.6.1.4.1.18227.999.2.2.6.1 | -| falcon1024WithShake128 | 20211101 | 3 | 5 | 0xfed0 | 1.3.6.1.4.1.18227.999.2.2.7.1 | -| falcon1024WithShake256 | 20211101 | 3 | 5 | 0xfed1 | 1.3.6.1.4.1.18227.999.2.2.8.1 | +| falcon1024WithSha256 | 20211101 | 3 | 5 | 0xfecb | 1.3.6.1.4.1.18227.999.2.2.1.1 | +| falcon1024WithSha384 | 20211101 | 3 | 5 | 0xfecc | 1.3.6.1.4.1.18227.999.2.2.2.1 | +| falcon1024WithSha512 | 20211101 | 3 | 5 | 0xfecd | 1.3.6.1.4.1.18227.999.2.2.3.1 | +| falcon1024WithSha3At256 | 20211101 | 3 | 5 | 0xfece | 1.3.6.1.4.1.18227.999.2.2.4.1 | +| falcon1024WithSha3At384 | 20211101 | 3 | 5 | 0xfecf | 1.3.6.1.4.1.18227.999.2.2.5.1 | +| falcon1024WithSha3At512 | 20211101 | 3 | 5 | 0xfed0 | 1.3.6.1.4.1.18227.999.2.2.6.1 | +| falcon1024WithShake128 | 20211101 | 3 | 5 | 0xfed1 | 1.3.6.1.4.1.18227.999.2.2.7.1 | +| falcon1024WithShake256 | 20211101 | 3 | 5 | 0xfed2 | 1.3.6.1.4.1.18227.999.2.2.8.1 | | 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 | @@ -95,84 +95,84 @@ | 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 +| sphincssha2128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfe61 | 1.3.9999.6.4.13 | +| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfe62 | 1.3.9999.6.4.14 | +| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfe63 | 1.3.9999.6.4.15 | +| sphincssha2128fsimple | NIST Round 3 submission | 3 | 1 | 0xfe64 | 1.3.9999.6.4.4 | +| sphincssha2128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe65 | 1.3.9999.6.4.5 | +| sphincssha2128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe66 | 1.3.9999.6.4.6 | +| sphincssha256128srobust | NIST Round 3 submission | 3 | 5 | 0xfe67 | 1.3.9999.6.4.7 | +| sphincssha256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 5 | 0xfe68 | 1.3.9999.6.4.8 | +| sphincssha256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 5 | 0xfe69 | 1.3.9999.6.4.9 | +| sphincssha2128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfe6a | 1.3.9999.6.4.16 | +| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfe6b | 1.3.9999.6.4.17 | +| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xfe6c | 1.3.9999.6.4.18 | +| sphincssha2128ssimple | NIST Round 3 submission | 3 | 1 | 0xfe6d | 1.3.9999.6.4.10 | +| sphincssha2128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xfe6e | 1.3.9999.6.4.11 | +| sphincssha2128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xfe6f | 1.3.9999.6.4.12 | +| sphincssha256192frobust | NIST Round 3 submission | 3 | 5 | 0xfe70 | 1.3.9999.6.5.1 | +| sphincssha256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe71 | 1.3.9999.6.5.2 | +| sphincssha2192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfe72 | 1.3.9999.6.5.10 | +| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfe73 | 1.3.9999.6.5.11 | +| sphincssha2192fsimple | NIST Round 3 submission | 3 | 3 | 0xfe74 | 1.3.9999.6.5.3 | +| sphincssha2192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe75 | 1.3.9999.6.5.4 | +| sphincssha256192srobust | NIST Round 3 submission | 3 | 5 | 0xfe76 | 1.3.9999.6.5.5 | +| sphincssha256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 5 | 0xfe77 | 1.3.9999.6.5.6 | +| sphincssha2192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfe78 | 1.3.9999.6.5.12 | +| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xfe79 | 1.3.9999.6.5.13 | +| sphincssha2192ssimple | NIST Round 3 submission | 3 | 3 | 0xfe7a | 1.3.9999.6.5.7 | +| sphincssha2192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xfe7b | 1.3.9999.6.5.8 | +| sphincssha256256frobust | NIST Round 3 submission | 3 | 5 | 0xfe7c | 1.3.9999.6.6.1 | +| sphincssha256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe7d | 1.3.9999.6.6.2 | +| sphincssha2256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfe7e | 1.3.9999.6.6.10 | +| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfe7f | 1.3.9999.6.6.11 | +| sphincssha2256fsimple | NIST Round 3 submission | 3 | 5 | 0xfe80 | 1.3.9999.6.6.3 | +| sphincssha2256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe81 | 1.3.9999.6.6.4 | +| sphincssha256256srobust | NIST Round 3 submission | 3 | 5 | 0xfe82 | 1.3.9999.6.6.5 | +| sphincssha256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe83 | 1.3.9999.6.6.6 | +| sphincssha2256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfe84 | 1.3.9999.6.6.12 | +| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xfe85 | 1.3.9999.6.6.13 | +| sphincssha2256ssimple | NIST Round 3 submission | 3 | 5 | 0xfe86 | 1.3.9999.6.6.7 | +| sphincssha2256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xfe89 | 1.3.9999.6.6.8 | +| sphincsshake256128frobust | NIST Round 3 submission | 3 | 1 | 0xff00 | 1.3.9999.6.7.1 | +| sphincsshake256128frobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xff01 | 1.3.9999.6.7.2 | +| sphincsshake256128frobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xff02 | 1.3.9999.6.7.3 | +| sphincsshake128fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xff03 | 1.3.9999.6.7.13 | +| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xff04 | 1.3.9999.6.7.14 | +| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xff05 | 1.3.9999.6.7.15 | +| sphincsshake128fsimple | NIST Round 3 submission | 3 | 1 | 0xff06 | 1.3.9999.6.7.4 | +| sphincsshake128fsimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xff07 | 1.3.9999.6.7.5 | +| sphincsshake128fsimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xff08 | 1.3.9999.6.7.6 | +| sphincsshake256128srobust | NIST Round 3 submission | 3 | 1 | 0xff09 | 1.3.9999.6.7.7 | +| sphincsshake256128srobust **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xff0a | 1.3.9999.6.7.8 | +| sphincsshake256128srobust **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xff0b | 1.3.9999.6.7.9 | +| sphincsshake128ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xff0c | 1.3.9999.6.7.16 | +| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xff0d | 1.3.9999.6.7.17 | +| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 1 | 0xff0e | 1.3.9999.6.7.18 | +| sphincsshake128ssimple | NIST Round 3 submission | 3 | 1 | 0xff0f | 1.3.9999.6.7.10 | +| sphincsshake128ssimple **hybrid with** p256 | NIST Round 3 submission | 3 | 1 | 0xff10 | 1.3.9999.6.7.11 | +| sphincsshake128ssimple **hybrid with** rsa3072 | NIST Round 3 submission | 3 | 1 | 0xff11 | 1.3.9999.6.7.12 | +| sphincsshake256192frobust | NIST Round 3 submission | 3 | 3 | 0xff12 | 1.3.9999.6.8.1 | +| sphincsshake256192frobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xff13 | 1.3.9999.6.8.2 | +| sphincsshake192fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xff14 | 1.3.9999.6.8.10 | +| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xff15 | 1.3.9999.6.8.11 | +| sphincsshake192fsimple | NIST Round 3 submission | 3 | 3 | 0xff16 | 1.3.9999.6.8.3 | +| sphincsshake192fsimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xff17 | 1.3.9999.6.8.4 | +| sphincsshake256192srobust | NIST Round 3 submission | 3 | 3 | 0xff18 | 1.3.9999.6.8.5 | +| sphincsshake256192srobust **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xff19 | 1.3.9999.6.8.6 | +| sphincsshake192ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xff1a | 1.3.9999.6.8.12 | +| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 3 | 0xff1b | 1.3.9999.6.8.13 | +| sphincsshake192ssimple | NIST Round 3 submission | 3 | 3 | 0xff1c | 1.3.9999.6.8.7 | +| sphincsshake192ssimple **hybrid with** p384 | NIST Round 3 submission | 3 | 3 | 0xff1d | 1.3.9999.6.8.8 | +| sphincsshake256256frobust | NIST Round 3 submission | 3 | 5 | 0xff1e | 1.3.9999.6.9.1 | +| sphincsshake256256frobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xff1f | 1.3.9999.6.9.2 | +| sphincsshake256fsimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xff20 | 1.3.9999.6.9.10 | +| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xff21 | 1.3.9999.6.9.11 | +| sphincsshake256fsimple | NIST Round 3 submission | 3 | 5 | 0xff22 | 1.3.9999.6.9.3 | +| sphincsshake256fsimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xff23 | 1.3.9999.6.9.4 | +| sphincsshake256256srobust | NIST Round 3 submission | 3 | 5 | 0xff24 | 1.3.9999.6.9.5 | +| sphincsshake256256srobust **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xff25 | 1.3.9999.6.9.6 | +| sphincsshake256ssimple | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xff26 | 1.3.9999.6.9.12 | +| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission, v3.1 (June 10, 2022) | 3 | 5 | 0xff27 | 1.3.9999.6.9.13 | +| sphincsshake256ssimple | NIST Round 3 submission | 3 | 5 | 0xff28 | 1.3.9999.6.9.7 | +| sphincsshake256ssimple **hybrid with** p521 | NIST Round 3 submission | 3 | 5 | 0xff29 | 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 c9648b69..7341e065 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -81,17 +81,17 @@ static OQS_GROUP_CONSTANTS oqs_group_list[] = { { 0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, { 0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x022C, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0244, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F2C, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAC, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x022D, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F44, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FB0, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0245, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F2D, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAD, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x022E, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F45, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2FB1, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x0246, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F2E, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + { 0x2F46, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END }; @@ -264,9 +264,8 @@ static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { { 0xfec4, 128, TLS1_3_VERSION, 0 }, { 0xfec5, 128, TLS1_3_VERSION, 0 }, { 0xfec6, 128, TLS1_3_VERSION, 0 }, - { 0xfec6, 128, TLS1_3_VERSION, 0 }, { 0xfec7, 128, TLS1_3_VERSION, 0 }, - { 0xfec8, 256, TLS1_3_VERSION, 0 }, + { 0xfec8, 128, TLS1_3_VERSION, 0 }, { 0xfec9, 256, TLS1_3_VERSION, 0 }, { 0xfeca, 256, TLS1_3_VERSION, 0 }, { 0xfecb, 256, TLS1_3_VERSION, 0 }, @@ -276,17 +275,18 @@ static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { { 0xfecf, 256, TLS1_3_VERSION, 0 }, { 0xfed0, 256, TLS1_3_VERSION, 0 }, { 0xfed1, 256, TLS1_3_VERSION, 0 }, - { 0xfeb3, 128, TLS1_3_VERSION, 0 }, - { 0xfeb4, 128, TLS1_3_VERSION, 0 }, - { 0xfeb5, 128, TLS1_3_VERSION, 0 }, - { 0xfeb6, 128, TLS1_3_VERSION, 0 }, - { 0xfeb7, 128, TLS1_3_VERSION, 0 }, - { 0xfeb8, 128, TLS1_3_VERSION, 0 }, - { 0xfeb9, 192, TLS1_3_VERSION, 0 }, - { 0xfeba, 192, TLS1_3_VERSION, 0 }, - { 0xfec2, 128, TLS1_3_VERSION, 0 }, - { 0xfec3, 128, TLS1_3_VERSION, 0 }, - { 0xfec4, 128, TLS1_3_VERSION, 0 }, + { 0xfed2, 256, TLS1_3_VERSION, 0 }, + { 0xfe61, 128, TLS1_3_VERSION, 0 }, + { 0xfe62, 128, TLS1_3_VERSION, 0 }, + { 0xfe63, 128, TLS1_3_VERSION, 0 }, + { 0xfe6a, 128, TLS1_3_VERSION, 0 }, + { 0xfe6b, 128, TLS1_3_VERSION, 0 }, + { 0xfe6c, 128, TLS1_3_VERSION, 0 }, + { 0xfe72, 192, TLS1_3_VERSION, 0 }, + { 0xfe73, 192, TLS1_3_VERSION, 0 }, + { 0xff03, 128, TLS1_3_VERSION, 0 }, + { 0xff04, 128, TLS1_3_VERSION, 0 }, + { 0xff05, 128, TLS1_3_VERSION, 0 }, ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END }; From 3301d38407c59edd782903a026e4f1d622ca607b Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Fri, 8 Dec 2023 14:02:52 -0500 Subject: [PATCH 15/17] fixed clang-format issues --- oqsprov/oqs_decode_der2key.c | 374 +++-- oqsprov/oqs_encode_key2any.c | 683 ++++---- oqsprov/oqs_kmgmt.c | 440 ++++-- oqsprov/oqs_prov.h | 2666 ++++++++++++++++++++++---------- oqsprov/oqsdecoders.inc | 607 +++++--- oqsprov/oqsencoders.inc | 2039 +++++++++++++++--------- oqsprov/oqsprov.c | 1223 ++++++++++----- oqsprov/oqsprov_capabilities.c | 1011 +++++++----- oqsprov/oqsprov_keys.c | 241 +-- test/oqs_test_hashnsign.c | 13 +- test/oqs_test_tlssig.c | 5 +- 11 files changed, 6015 insertions(+), 3287 deletions(-) diff --git a/oqsprov/oqs_decode_der2key.c b/oqsprov/oqs_decode_der2key.c index d7a8dc41..3876e429 100644 --- a/oqsprov/oqs_decode_der2key.c +++ b/oqsprov/oqs_decode_der2key.c @@ -539,52 +539,69 @@ static void oqsx_key_adjust(void *key, struct der2key_ctx_st *ctx) ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_START #ifdef OQS_KEM_ENCODERS - MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640aes", frodo640aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640aes", p256_frodo640aes, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640aes", x25519_frodo640aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo640shake", frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p256_frodo640shake", p256_frodo640shake, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x25519_frodo640shake", x25519_frodo640shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976aes", frodo976aes, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976aes", p384_frodo976aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976aes", x448_frodo976aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo976shake", frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p384_frodo976shake", p384_frodo976shake, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecx, "x448_frodo976shake", x448_frodo976shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344aes", frodo1344aes, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344aes", p521_frodo1344aes, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, PrivateKeyInfo); MAKE_DECODER(, "frodo1344shake", frodo1344shake, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, + PrivateKeyInfo); +MAKE_DECODER(_ecp, "p521_frodo1344shake", p521_frodo1344shake, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber512", kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber512", p256_kyber512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber512", x25519_kyber512, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber768", kyber768, oqsx, SubjectPublicKeyInfo); @@ -593,14 +610,16 @@ MAKE_DECODER(_ecp, "p384_kyber768", p384_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecx, "x448_kyber768", x448_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecx, "x25519_kyber768", x25519_kyber768, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p256_kyber768", p256_kyber768, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "kyber1024", kyber1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, PrivateKeyInfo); -MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(_ecp, "p521_kyber1024", p521_kyber1024, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, PrivateKeyInfo); MAKE_DECODER(, "bikel1", bikel1, oqsx, SubjectPublicKeyInfo); @@ -641,131 +660,234 @@ MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, PrivateKeyInfo); MAKE_DECODER(_ecp, "p521_hqc256", p521_hqc256, oqsx, SubjectPublicKeyInfo); #endif /* OQS_KEM_ENCODERS */ - MAKE_DECODER(, "dilithium2", dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium2", dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_dilithium2", p256_dilithium2, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_dilithium2", rsa3072_dilithium2, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha256", dilithium2WithSha256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha384", dilithium2WithSha384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha512", dilithium2WithSha512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At256", dilithium2WithSha3At256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At384", dilithium2WithSha3At384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithSha3At512", dilithium2WithSha3At512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake128", dilithium2WithShake128, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium2WithShake256", dilithium2WithShake256, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium3", dilithium3, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p384_dilithium3", p384_dilithium3, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithSha256", dilithium3WithSha256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithSha256", dilithium3WithSha256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithSha384", dilithium3WithSha384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithSha384", dilithium3WithSha384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithSha512", dilithium3WithSha512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithSha512", dilithium3WithSha512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithSha3At256", dilithium3WithSha3At256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithSha3At256", dilithium3WithSha3At256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithSha3At384", dilithium3WithSha3At384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithSha3At384", dilithium3WithSha3At384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithSha3At512", dilithium3WithSha3At512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithSha3At512", dilithium3WithSha3At512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithShake128", dilithium3WithShake128, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithShake128", dilithium3WithShake128, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium3WithShake256", dilithium3WithShake256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium3WithShake256", dilithium3WithShake256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha256", dilithium3WithSha256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha256", dilithium3WithSha256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha384", dilithium3WithSha384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha384", dilithium3WithSha384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha512", dilithium3WithSha512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha512", dilithium3WithSha512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At256", dilithium3WithSha3At256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At256", dilithium3WithSha3At256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At384", dilithium3WithSha3At384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At384", dilithium3WithSha3At384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At512", dilithium3WithSha3At512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithSha3At512", dilithium3WithSha3At512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithShake128", dilithium3WithShake128, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithShake128", dilithium3WithShake128, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium3WithShake256", dilithium3WithShake256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium3WithShake256", dilithium3WithShake256, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "dilithium5", dilithium5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "dilithium5", dilithium5, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p521_dilithium5", p521_dilithium5, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_dilithium5", p521_dilithium5, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithSha256", dilithium5WithSha256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithSha256", dilithium5WithSha256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithSha384", dilithium5WithSha384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithSha384", dilithium5WithSha384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithSha512", dilithium5WithSha512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithSha512", dilithium5WithSha512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithSha3At256", dilithium5WithSha3At256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithSha3At256", dilithium5WithSha3At256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithSha3At384", dilithium5WithSha3At384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithSha3At384", dilithium5WithSha3At384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithSha3At512", dilithium5WithSha3At512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithSha3At512", dilithium5WithSha3At512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithShake128", dilithium5WithShake128, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithShake128", dilithium5WithShake128, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "dilithium5WithShake256", dilithium5WithShake256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "dilithium5WithShake256", dilithium5WithShake256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha256", dilithium5WithSha256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha256", dilithium5WithSha256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha384", dilithium5WithSha384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha384", dilithium5WithSha384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha512", dilithium5WithSha512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha512", dilithium5WithSha512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At256", dilithium5WithSha3At256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At256", dilithium5WithSha3At256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At384", dilithium5WithSha3At384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At384", dilithium5WithSha3At384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At512", dilithium5WithSha3At512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithSha3At512", dilithium5WithSha3At512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithShake128", dilithium5WithShake128, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithShake128", dilithium5WithShake128, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "dilithium5WithShake256", dilithium5WithShake256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "dilithium5WithShake256", dilithium5WithShake256, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "falcon512", falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon512", falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p256_falcon512", p256_falcon512, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithSha256", falcon512WithSha256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithSha256", falcon512WithSha256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithSha384", falcon512WithSha384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithSha384", falcon512WithSha384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithSha512", falcon512WithSha512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithSha512", falcon512WithSha512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithSha3At256", falcon512WithSha3At256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithSha3At256", falcon512WithSha3At256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithSha3At384", falcon512WithSha3At384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithSha3At384", falcon512WithSha3At384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithSha3At512", falcon512WithSha3At512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithSha3At512", falcon512WithSha3At512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithShake128", falcon512WithShake128, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithShake128", falcon512WithShake128, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon512WithShake256", falcon512WithShake256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon512WithShake256", falcon512WithShake256, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_falcon512", rsa3072_falcon512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha256", falcon512WithSha256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha256", falcon512WithSha256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha384", falcon512WithSha384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha384", falcon512WithSha384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha512", falcon512WithSha512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha512", falcon512WithSha512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At256", falcon512WithSha3At256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At256", falcon512WithSha3At256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At384", falcon512WithSha3At384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At384", falcon512WithSha3At384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At512", falcon512WithSha3At512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithSha3At512", falcon512WithSha3At512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithShake128", falcon512WithShake128, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithShake128", falcon512WithShake128, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon512WithShake256", falcon512WithShake256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon512WithShake256", falcon512WithShake256, oqsx, + SubjectPublicKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "falcon1024", falcon1024, oqsx, SubjectPublicKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, PrivateKeyInfo); MAKE_DECODER(, "p521_falcon1024", p521_falcon1024, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithSha256", falcon1024WithSha256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithSha256", falcon1024WithSha256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithSha384", falcon1024WithSha384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithSha384", falcon1024WithSha384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithSha512", falcon1024WithSha512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithSha512", falcon1024WithSha512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithSha3At256", falcon1024WithSha3At256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithSha3At256", falcon1024WithSha3At256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithSha3At384", falcon1024WithSha3At384, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithSha3At384", falcon1024WithSha3At384, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithSha3At512", falcon1024WithSha3At512, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithSha3At512", falcon1024WithSha3At512, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithShake128", falcon1024WithShake128, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithShake128", falcon1024WithShake128, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "falcon1024WithShake256", falcon1024WithShake256, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "falcon1024WithShake256", falcon1024WithShake256, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo); -MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha256", falcon1024WithSha256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha256", falcon1024WithSha256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha384", falcon1024WithSha384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha384", falcon1024WithSha384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha512", falcon1024WithSha512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha512", falcon1024WithSha512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At256", falcon1024WithSha3At256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At256", falcon1024WithSha3At256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At384", falcon1024WithSha3At384, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At384", falcon1024WithSha3At384, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At512", falcon1024WithSha3At512, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithSha3At512", falcon1024WithSha3At512, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithShake128", falcon1024WithShake128, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithShake128", falcon1024WithShake128, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "falcon1024WithShake256", falcon1024WithShake256, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "falcon1024WithShake256", falcon1024WithShake256, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128fsimple", sphincssha2128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128fsimple", p256_sphincssha2128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128fsimple", rsa3072_sphincssha2128fsimple, + oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2128ssimple", sphincssha2128ssimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincssha2128ssimple", p256_sphincssha2128ssimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincssha2128ssimple", rsa3072_sphincssha2128ssimple, + oqsx, SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincssha2192fsimple", sphincssha2192fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p384_sphincssha2192fsimple", p384_sphincssha2192fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "sphincsshake128fsimple", sphincsshake128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, + PrivateKeyInfo); +MAKE_DECODER(, "p256_sphincsshake128fsimple", p256_sphincsshake128fsimple, oqsx, + SubjectPublicKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, + oqsx, PrivateKeyInfo); +MAKE_DECODER(, "rsa3072_sphincsshake128fsimple", rsa3072_sphincsshake128fsimple, + oqsx, SubjectPublicKeyInfo); ///// OQS_TEMPLATE_FRAGMENT_DECODER_MAKE_END diff --git a/oqsprov/oqs_encode_key2any.c b/oqsprov/oqs_encode_key2any.c index 69717f23..1f56055d 100644 --- a/oqsprov/oqs_encode_key2any.c +++ b/oqsprov/oqs_encode_key2any.c @@ -649,338 +649,338 @@ static int oqsx_pki_priv_to_der(const void *vxkey, unsigned char **pder) // OQS provider uses NIDs generated at load time as EVP_type identifiers // so initially this must be 0 and set to a real value by OBJ_sn2nid later ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_START -# define frodo640aes_evp_type 0 -# define frodo640aes_input_type "frodo640aes" -# define frodo640aes_pem_type "frodo640aes" - -# define p256_frodo640aes_evp_type 0 -# define p256_frodo640aes_input_type "p256_frodo640aes" -# define p256_frodo640aes_pem_type "p256_frodo640aes" -# define x25519_frodo640aes_evp_type 0 -# define x25519_frodo640aes_input_type "x25519_frodo640aes" -# define x25519_frodo640aes_pem_type "x25519_frodo640aes" -# define frodo640shake_evp_type 0 -# define frodo640shake_input_type "frodo640shake" -# define frodo640shake_pem_type "frodo640shake" - -# define p256_frodo640shake_evp_type 0 -# define p256_frodo640shake_input_type "p256_frodo640shake" -# define p256_frodo640shake_pem_type "p256_frodo640shake" -# define x25519_frodo640shake_evp_type 0 -# define x25519_frodo640shake_input_type "x25519_frodo640shake" -# define x25519_frodo640shake_pem_type "x25519_frodo640shake" -# define frodo976aes_evp_type 0 -# define frodo976aes_input_type "frodo976aes" -# define frodo976aes_pem_type "frodo976aes" - -# define p384_frodo976aes_evp_type 0 -# define p384_frodo976aes_input_type "p384_frodo976aes" -# define p384_frodo976aes_pem_type "p384_frodo976aes" -# define x448_frodo976aes_evp_type 0 -# define x448_frodo976aes_input_type "x448_frodo976aes" -# define x448_frodo976aes_pem_type "x448_frodo976aes" -# define frodo976shake_evp_type 0 -# define frodo976shake_input_type "frodo976shake" -# define frodo976shake_pem_type "frodo976shake" - -# define p384_frodo976shake_evp_type 0 -# define p384_frodo976shake_input_type "p384_frodo976shake" -# define p384_frodo976shake_pem_type "p384_frodo976shake" -# define x448_frodo976shake_evp_type 0 -# define x448_frodo976shake_input_type "x448_frodo976shake" -# define x448_frodo976shake_pem_type "x448_frodo976shake" -# define frodo1344aes_evp_type 0 -# define frodo1344aes_input_type "frodo1344aes" -# define frodo1344aes_pem_type "frodo1344aes" - -# define p521_frodo1344aes_evp_type 0 -# define p521_frodo1344aes_input_type "p521_frodo1344aes" -# define p521_frodo1344aes_pem_type "p521_frodo1344aes" -# define frodo1344shake_evp_type 0 -# define frodo1344shake_input_type "frodo1344shake" -# define frodo1344shake_pem_type "frodo1344shake" - -# define p521_frodo1344shake_evp_type 0 -# define p521_frodo1344shake_input_type "p521_frodo1344shake" -# define p521_frodo1344shake_pem_type "p521_frodo1344shake" -# define kyber512_evp_type 0 -# define kyber512_input_type "kyber512" -# define kyber512_pem_type "kyber512" - -# define p256_kyber512_evp_type 0 -# define p256_kyber512_input_type "p256_kyber512" -# define p256_kyber512_pem_type "p256_kyber512" -# define x25519_kyber512_evp_type 0 -# define x25519_kyber512_input_type "x25519_kyber512" -# define x25519_kyber512_pem_type "x25519_kyber512" -# define kyber768_evp_type 0 -# define kyber768_input_type "kyber768" -# define kyber768_pem_type "kyber768" - -# define p384_kyber768_evp_type 0 -# define p384_kyber768_input_type "p384_kyber768" -# define p384_kyber768_pem_type "p384_kyber768" -# define x448_kyber768_evp_type 0 -# define x448_kyber768_input_type "x448_kyber768" -# define x448_kyber768_pem_type "x448_kyber768" -# define x25519_kyber768_evp_type 0 -# define x25519_kyber768_input_type "x25519_kyber768" -# define x25519_kyber768_pem_type "x25519_kyber768" -# define p256_kyber768_evp_type 0 -# define p256_kyber768_input_type "p256_kyber768" -# define p256_kyber768_pem_type "p256_kyber768" -# define kyber1024_evp_type 0 -# define kyber1024_input_type "kyber1024" -# define kyber1024_pem_type "kyber1024" - -# define p521_kyber1024_evp_type 0 -# define p521_kyber1024_input_type "p521_kyber1024" -# define p521_kyber1024_pem_type "p521_kyber1024" -# define bikel1_evp_type 0 -# define bikel1_input_type "bikel1" -# define bikel1_pem_type "bikel1" - -# define p256_bikel1_evp_type 0 -# define p256_bikel1_input_type "p256_bikel1" -# define p256_bikel1_pem_type "p256_bikel1" -# define x25519_bikel1_evp_type 0 -# define x25519_bikel1_input_type "x25519_bikel1" -# define x25519_bikel1_pem_type "x25519_bikel1" -# define bikel3_evp_type 0 -# define bikel3_input_type "bikel3" -# define bikel3_pem_type "bikel3" - -# define p384_bikel3_evp_type 0 -# define p384_bikel3_input_type "p384_bikel3" -# define p384_bikel3_pem_type "p384_bikel3" -# define x448_bikel3_evp_type 0 -# define x448_bikel3_input_type "x448_bikel3" -# define x448_bikel3_pem_type "x448_bikel3" -# define bikel5_evp_type 0 -# define bikel5_input_type "bikel5" -# define bikel5_pem_type "bikel5" - -# define p521_bikel5_evp_type 0 -# define p521_bikel5_input_type "p521_bikel5" -# define p521_bikel5_pem_type "p521_bikel5" -# define hqc128_evp_type 0 -# define hqc128_input_type "hqc128" -# define hqc128_pem_type "hqc128" - -# define p256_hqc128_evp_type 0 -# define p256_hqc128_input_type "p256_hqc128" -# define p256_hqc128_pem_type "p256_hqc128" -# define x25519_hqc128_evp_type 0 -# define x25519_hqc128_input_type "x25519_hqc128" -# define x25519_hqc128_pem_type "x25519_hqc128" -# define hqc192_evp_type 0 -# define hqc192_input_type "hqc192" -# define hqc192_pem_type "hqc192" - -# define p384_hqc192_evp_type 0 -# define p384_hqc192_input_type "p384_hqc192" -# define p384_hqc192_pem_type "p384_hqc192" -# define x448_hqc192_evp_type 0 -# define x448_hqc192_input_type "x448_hqc192" -# define x448_hqc192_pem_type "x448_hqc192" -# define hqc256_evp_type 0 -# define hqc256_input_type "hqc256" -# define hqc256_pem_type "hqc256" - -# define p521_hqc256_evp_type 0 -# define p521_hqc256_input_type "p521_hqc256" -# define p521_hqc256_pem_type "p521_hqc256" - - -# define dilithium2_evp_type 0 -# define dilithium2_input_type "dilithium2" -# define dilithium2_pem_type "dilithium2" -# define p256_dilithium2_evp_type 0 -# define p256_dilithium2_input_type "p256_dilithium2" -# define p256_dilithium2_pem_type "p256_dilithium2" -# define rsa3072_dilithium2_evp_type 0 -# define rsa3072_dilithium2_input_type "rsa3072_dilithium2" -# define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" -# define dilithium2WithSha256_evp_type 0 -# define dilithium2WithSha256_input_type "dilithium2WithSha256" -# define dilithium2WithSha256_pem_type "dilithium2WithSha256" -# define dilithium2WithSha384_evp_type 0 -# define dilithium2WithSha384_input_type "dilithium2WithSha384" -# define dilithium2WithSha384_pem_type "dilithium2WithSha384" -# define dilithium2WithSha512_evp_type 0 -# define dilithium2WithSha512_input_type "dilithium2WithSha512" -# define dilithium2WithSha512_pem_type "dilithium2WithSha512" -# define dilithium2WithSha3At256_evp_type 0 -# define dilithium2WithSha3At256_input_type "dilithium2WithSha3At256" -# define dilithium2WithSha3At256_pem_type "dilithium2WithSha3At256" -# define dilithium2WithSha3At384_evp_type 0 -# define dilithium2WithSha3At384_input_type "dilithium2WithSha3At384" -# define dilithium2WithSha3At384_pem_type "dilithium2WithSha3At384" -# define dilithium2WithSha3At512_evp_type 0 -# define dilithium2WithSha3At512_input_type "dilithium2WithSha3At512" -# define dilithium2WithSha3At512_pem_type "dilithium2WithSha3At512" -# define dilithium2WithShake128_evp_type 0 -# define dilithium2WithShake128_input_type "dilithium2WithShake128" -# define dilithium2WithShake128_pem_type "dilithium2WithShake128" -# define dilithium2WithShake256_evp_type 0 -# define dilithium2WithShake256_input_type "dilithium2WithShake256" -# define dilithium2WithShake256_pem_type "dilithium2WithShake256" -# define dilithium3_evp_type 0 -# define dilithium3_input_type "dilithium3" -# define dilithium3_pem_type "dilithium3" -# define p384_dilithium3_evp_type 0 -# define p384_dilithium3_input_type "p384_dilithium3" -# define p384_dilithium3_pem_type "p384_dilithium3" -# define dilithium3WithSha256_evp_type 0 -# define dilithium3WithSha256_input_type "dilithium3WithSha256" -# define dilithium3WithSha256_pem_type "dilithium3WithSha256" -# define dilithium3WithSha384_evp_type 0 -# define dilithium3WithSha384_input_type "dilithium3WithSha384" -# define dilithium3WithSha384_pem_type "dilithium3WithSha384" -# define dilithium3WithSha512_evp_type 0 -# define dilithium3WithSha512_input_type "dilithium3WithSha512" -# define dilithium3WithSha512_pem_type "dilithium3WithSha512" -# define dilithium3WithSha3At256_evp_type 0 -# define dilithium3WithSha3At256_input_type "dilithium3WithSha3At256" -# define dilithium3WithSha3At256_pem_type "dilithium3WithSha3At256" -# define dilithium3WithSha3At384_evp_type 0 -# define dilithium3WithSha3At384_input_type "dilithium3WithSha3At384" -# define dilithium3WithSha3At384_pem_type "dilithium3WithSha3At384" -# define dilithium3WithSha3At512_evp_type 0 -# define dilithium3WithSha3At512_input_type "dilithium3WithSha3At512" -# define dilithium3WithSha3At512_pem_type "dilithium3WithSha3At512" -# define dilithium3WithShake128_evp_type 0 -# define dilithium3WithShake128_input_type "dilithium3WithShake128" -# define dilithium3WithShake128_pem_type "dilithium3WithShake128" -# define dilithium3WithShake256_evp_type 0 -# define dilithium3WithShake256_input_type "dilithium3WithShake256" -# define dilithium3WithShake256_pem_type "dilithium3WithShake256" -# define dilithium5_evp_type 0 -# define dilithium5_input_type "dilithium5" -# define dilithium5_pem_type "dilithium5" -# define p521_dilithium5_evp_type 0 -# define p521_dilithium5_input_type "p521_dilithium5" -# define p521_dilithium5_pem_type "p521_dilithium5" -# define dilithium5WithSha256_evp_type 0 -# define dilithium5WithSha256_input_type "dilithium5WithSha256" -# define dilithium5WithSha256_pem_type "dilithium5WithSha256" -# define dilithium5WithSha384_evp_type 0 -# define dilithium5WithSha384_input_type "dilithium5WithSha384" -# define dilithium5WithSha384_pem_type "dilithium5WithSha384" -# define dilithium5WithSha512_evp_type 0 -# define dilithium5WithSha512_input_type "dilithium5WithSha512" -# define dilithium5WithSha512_pem_type "dilithium5WithSha512" -# define dilithium5WithSha3At256_evp_type 0 -# define dilithium5WithSha3At256_input_type "dilithium5WithSha3At256" -# define dilithium5WithSha3At256_pem_type "dilithium5WithSha3At256" -# define dilithium5WithSha3At384_evp_type 0 -# define dilithium5WithSha3At384_input_type "dilithium5WithSha3At384" -# define dilithium5WithSha3At384_pem_type "dilithium5WithSha3At384" -# define dilithium5WithSha3At512_evp_type 0 -# define dilithium5WithSha3At512_input_type "dilithium5WithSha3At512" -# define dilithium5WithSha3At512_pem_type "dilithium5WithSha3At512" -# define dilithium5WithShake128_evp_type 0 -# define dilithium5WithShake128_input_type "dilithium5WithShake128" -# define dilithium5WithShake128_pem_type "dilithium5WithShake128" -# define dilithium5WithShake256_evp_type 0 -# define dilithium5WithShake256_input_type "dilithium5WithShake256" -# define dilithium5WithShake256_pem_type "dilithium5WithShake256" -# define falcon512_evp_type 0 -# define falcon512_input_type "falcon512" -# define falcon512_pem_type "falcon512" -# define p256_falcon512_evp_type 0 -# define p256_falcon512_input_type "p256_falcon512" -# define p256_falcon512_pem_type "p256_falcon512" -# define rsa3072_falcon512_evp_type 0 -# define rsa3072_falcon512_input_type "rsa3072_falcon512" -# define rsa3072_falcon512_pem_type "rsa3072_falcon512" -# define falcon512WithSha256_evp_type 0 -# define falcon512WithSha256_input_type "falcon512WithSha256" -# define falcon512WithSha256_pem_type "falcon512WithSha256" -# define falcon512WithSha384_evp_type 0 -# define falcon512WithSha384_input_type "falcon512WithSha384" -# define falcon512WithSha384_pem_type "falcon512WithSha384" -# define falcon512WithSha512_evp_type 0 -# define falcon512WithSha512_input_type "falcon512WithSha512" -# define falcon512WithSha512_pem_type "falcon512WithSha512" -# define falcon512WithSha3At256_evp_type 0 -# define falcon512WithSha3At256_input_type "falcon512WithSha3At256" -# define falcon512WithSha3At256_pem_type "falcon512WithSha3At256" -# define falcon512WithSha3At384_evp_type 0 -# define falcon512WithSha3At384_input_type "falcon512WithSha3At384" -# define falcon512WithSha3At384_pem_type "falcon512WithSha3At384" -# define falcon512WithSha3At512_evp_type 0 -# define falcon512WithSha3At512_input_type "falcon512WithSha3At512" -# define falcon512WithSha3At512_pem_type "falcon512WithSha3At512" -# define falcon512WithShake128_evp_type 0 -# define falcon512WithShake128_input_type "falcon512WithShake128" -# define falcon512WithShake128_pem_type "falcon512WithShake128" -# define falcon512WithShake256_evp_type 0 -# define falcon512WithShake256_input_type "falcon512WithShake256" -# define falcon512WithShake256_pem_type "falcon512WithShake256" -# define falcon1024_evp_type 0 -# define falcon1024_input_type "falcon1024" -# define falcon1024_pem_type "falcon1024" -# define p521_falcon1024_evp_type 0 -# define p521_falcon1024_input_type "p521_falcon1024" -# define p521_falcon1024_pem_type "p521_falcon1024" -# define falcon1024WithSha256_evp_type 0 -# define falcon1024WithSha256_input_type "falcon1024WithSha256" -# define falcon1024WithSha256_pem_type "falcon1024WithSha256" -# define falcon1024WithSha384_evp_type 0 -# define falcon1024WithSha384_input_type "falcon1024WithSha384" -# define falcon1024WithSha384_pem_type "falcon1024WithSha384" -# define falcon1024WithSha512_evp_type 0 -# define falcon1024WithSha512_input_type "falcon1024WithSha512" -# define falcon1024WithSha512_pem_type "falcon1024WithSha512" -# define falcon1024WithSha3At256_evp_type 0 -# define falcon1024WithSha3At256_input_type "falcon1024WithSha3At256" -# define falcon1024WithSha3At256_pem_type "falcon1024WithSha3At256" -# define falcon1024WithSha3At384_evp_type 0 -# define falcon1024WithSha3At384_input_type "falcon1024WithSha3At384" -# define falcon1024WithSha3At384_pem_type "falcon1024WithSha3At384" -# define falcon1024WithSha3At512_evp_type 0 -# define falcon1024WithSha3At512_input_type "falcon1024WithSha3At512" -# define falcon1024WithSha3At512_pem_type "falcon1024WithSha3At512" -# define falcon1024WithShake128_evp_type 0 -# define falcon1024WithShake128_input_type "falcon1024WithShake128" -# define falcon1024WithShake128_pem_type "falcon1024WithShake128" -# define falcon1024WithShake256_evp_type 0 -# define falcon1024WithShake256_input_type "falcon1024WithShake256" -# define falcon1024WithShake256_pem_type "falcon1024WithShake256" -# define sphincssha2128fsimple_evp_type 0 -# define sphincssha2128fsimple_input_type "sphincssha2128fsimple" -# define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" -# define p256_sphincssha2128fsimple_evp_type 0 -# define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" -# define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" -# define rsa3072_sphincssha2128fsimple_evp_type 0 -# define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" -# define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" -# define sphincssha2128ssimple_evp_type 0 -# define sphincssha2128ssimple_input_type "sphincssha2128ssimple" -# define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" -# define p256_sphincssha2128ssimple_evp_type 0 -# define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" -# define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" -# define rsa3072_sphincssha2128ssimple_evp_type 0 -# define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" -# define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" -# define sphincssha2192fsimple_evp_type 0 -# define sphincssha2192fsimple_input_type "sphincssha2192fsimple" -# define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" -# define p384_sphincssha2192fsimple_evp_type 0 -# define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" -# define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" -# define sphincsshake128fsimple_evp_type 0 -# define sphincsshake128fsimple_input_type "sphincsshake128fsimple" -# define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" -# define p256_sphincsshake128fsimple_evp_type 0 -# define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" -# define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" -# define rsa3072_sphincsshake128fsimple_evp_type 0 -# define rsa3072_sphincsshake128fsimple_input_type "rsa3072_sphincsshake128fsimple" -# define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" +#define frodo640aes_evp_type 0 +#define frodo640aes_input_type "frodo640aes" +#define frodo640aes_pem_type "frodo640aes" + +#define p256_frodo640aes_evp_type 0 +#define p256_frodo640aes_input_type "p256_frodo640aes" +#define p256_frodo640aes_pem_type "p256_frodo640aes" +#define x25519_frodo640aes_evp_type 0 +#define x25519_frodo640aes_input_type "x25519_frodo640aes" +#define x25519_frodo640aes_pem_type "x25519_frodo640aes" +#define frodo640shake_evp_type 0 +#define frodo640shake_input_type "frodo640shake" +#define frodo640shake_pem_type "frodo640shake" + +#define p256_frodo640shake_evp_type 0 +#define p256_frodo640shake_input_type "p256_frodo640shake" +#define p256_frodo640shake_pem_type "p256_frodo640shake" +#define x25519_frodo640shake_evp_type 0 +#define x25519_frodo640shake_input_type "x25519_frodo640shake" +#define x25519_frodo640shake_pem_type "x25519_frodo640shake" +#define frodo976aes_evp_type 0 +#define frodo976aes_input_type "frodo976aes" +#define frodo976aes_pem_type "frodo976aes" + +#define p384_frodo976aes_evp_type 0 +#define p384_frodo976aes_input_type "p384_frodo976aes" +#define p384_frodo976aes_pem_type "p384_frodo976aes" +#define x448_frodo976aes_evp_type 0 +#define x448_frodo976aes_input_type "x448_frodo976aes" +#define x448_frodo976aes_pem_type "x448_frodo976aes" +#define frodo976shake_evp_type 0 +#define frodo976shake_input_type "frodo976shake" +#define frodo976shake_pem_type "frodo976shake" + +#define p384_frodo976shake_evp_type 0 +#define p384_frodo976shake_input_type "p384_frodo976shake" +#define p384_frodo976shake_pem_type "p384_frodo976shake" +#define x448_frodo976shake_evp_type 0 +#define x448_frodo976shake_input_type "x448_frodo976shake" +#define x448_frodo976shake_pem_type "x448_frodo976shake" +#define frodo1344aes_evp_type 0 +#define frodo1344aes_input_type "frodo1344aes" +#define frodo1344aes_pem_type "frodo1344aes" + +#define p521_frodo1344aes_evp_type 0 +#define p521_frodo1344aes_input_type "p521_frodo1344aes" +#define p521_frodo1344aes_pem_type "p521_frodo1344aes" +#define frodo1344shake_evp_type 0 +#define frodo1344shake_input_type "frodo1344shake" +#define frodo1344shake_pem_type "frodo1344shake" + +#define p521_frodo1344shake_evp_type 0 +#define p521_frodo1344shake_input_type "p521_frodo1344shake" +#define p521_frodo1344shake_pem_type "p521_frodo1344shake" +#define kyber512_evp_type 0 +#define kyber512_input_type "kyber512" +#define kyber512_pem_type "kyber512" + +#define p256_kyber512_evp_type 0 +#define p256_kyber512_input_type "p256_kyber512" +#define p256_kyber512_pem_type "p256_kyber512" +#define x25519_kyber512_evp_type 0 +#define x25519_kyber512_input_type "x25519_kyber512" +#define x25519_kyber512_pem_type "x25519_kyber512" +#define kyber768_evp_type 0 +#define kyber768_input_type "kyber768" +#define kyber768_pem_type "kyber768" + +#define p384_kyber768_evp_type 0 +#define p384_kyber768_input_type "p384_kyber768" +#define p384_kyber768_pem_type "p384_kyber768" +#define x448_kyber768_evp_type 0 +#define x448_kyber768_input_type "x448_kyber768" +#define x448_kyber768_pem_type "x448_kyber768" +#define x25519_kyber768_evp_type 0 +#define x25519_kyber768_input_type "x25519_kyber768" +#define x25519_kyber768_pem_type "x25519_kyber768" +#define p256_kyber768_evp_type 0 +#define p256_kyber768_input_type "p256_kyber768" +#define p256_kyber768_pem_type "p256_kyber768" +#define kyber1024_evp_type 0 +#define kyber1024_input_type "kyber1024" +#define kyber1024_pem_type "kyber1024" + +#define p521_kyber1024_evp_type 0 +#define p521_kyber1024_input_type "p521_kyber1024" +#define p521_kyber1024_pem_type "p521_kyber1024" +#define bikel1_evp_type 0 +#define bikel1_input_type "bikel1" +#define bikel1_pem_type "bikel1" + +#define p256_bikel1_evp_type 0 +#define p256_bikel1_input_type "p256_bikel1" +#define p256_bikel1_pem_type "p256_bikel1" +#define x25519_bikel1_evp_type 0 +#define x25519_bikel1_input_type "x25519_bikel1" +#define x25519_bikel1_pem_type "x25519_bikel1" +#define bikel3_evp_type 0 +#define bikel3_input_type "bikel3" +#define bikel3_pem_type "bikel3" + +#define p384_bikel3_evp_type 0 +#define p384_bikel3_input_type "p384_bikel3" +#define p384_bikel3_pem_type "p384_bikel3" +#define x448_bikel3_evp_type 0 +#define x448_bikel3_input_type "x448_bikel3" +#define x448_bikel3_pem_type "x448_bikel3" +#define bikel5_evp_type 0 +#define bikel5_input_type "bikel5" +#define bikel5_pem_type "bikel5" + +#define p521_bikel5_evp_type 0 +#define p521_bikel5_input_type "p521_bikel5" +#define p521_bikel5_pem_type "p521_bikel5" +#define hqc128_evp_type 0 +#define hqc128_input_type "hqc128" +#define hqc128_pem_type "hqc128" + +#define p256_hqc128_evp_type 0 +#define p256_hqc128_input_type "p256_hqc128" +#define p256_hqc128_pem_type "p256_hqc128" +#define x25519_hqc128_evp_type 0 +#define x25519_hqc128_input_type "x25519_hqc128" +#define x25519_hqc128_pem_type "x25519_hqc128" +#define hqc192_evp_type 0 +#define hqc192_input_type "hqc192" +#define hqc192_pem_type "hqc192" + +#define p384_hqc192_evp_type 0 +#define p384_hqc192_input_type "p384_hqc192" +#define p384_hqc192_pem_type "p384_hqc192" +#define x448_hqc192_evp_type 0 +#define x448_hqc192_input_type "x448_hqc192" +#define x448_hqc192_pem_type "x448_hqc192" +#define hqc256_evp_type 0 +#define hqc256_input_type "hqc256" +#define hqc256_pem_type "hqc256" + +#define p521_hqc256_evp_type 0 +#define p521_hqc256_input_type "p521_hqc256" +#define p521_hqc256_pem_type "p521_hqc256" + +#define dilithium2_evp_type 0 +#define dilithium2_input_type "dilithium2" +#define dilithium2_pem_type "dilithium2" +#define p256_dilithium2_evp_type 0 +#define p256_dilithium2_input_type "p256_dilithium2" +#define p256_dilithium2_pem_type "p256_dilithium2" +#define rsa3072_dilithium2_evp_type 0 +#define rsa3072_dilithium2_input_type "rsa3072_dilithium2" +#define rsa3072_dilithium2_pem_type "rsa3072_dilithium2" +#define dilithium2WithSha256_evp_type 0 +#define dilithium2WithSha256_input_type "dilithium2WithSha256" +#define dilithium2WithSha256_pem_type "dilithium2WithSha256" +#define dilithium2WithSha384_evp_type 0 +#define dilithium2WithSha384_input_type "dilithium2WithSha384" +#define dilithium2WithSha384_pem_type "dilithium2WithSha384" +#define dilithium2WithSha512_evp_type 0 +#define dilithium2WithSha512_input_type "dilithium2WithSha512" +#define dilithium2WithSha512_pem_type "dilithium2WithSha512" +#define dilithium2WithSha3At256_evp_type 0 +#define dilithium2WithSha3At256_input_type "dilithium2WithSha3At256" +#define dilithium2WithSha3At256_pem_type "dilithium2WithSha3At256" +#define dilithium2WithSha3At384_evp_type 0 +#define dilithium2WithSha3At384_input_type "dilithium2WithSha3At384" +#define dilithium2WithSha3At384_pem_type "dilithium2WithSha3At384" +#define dilithium2WithSha3At512_evp_type 0 +#define dilithium2WithSha3At512_input_type "dilithium2WithSha3At512" +#define dilithium2WithSha3At512_pem_type "dilithium2WithSha3At512" +#define dilithium2WithShake128_evp_type 0 +#define dilithium2WithShake128_input_type "dilithium2WithShake128" +#define dilithium2WithShake128_pem_type "dilithium2WithShake128" +#define dilithium2WithShake256_evp_type 0 +#define dilithium2WithShake256_input_type "dilithium2WithShake256" +#define dilithium2WithShake256_pem_type "dilithium2WithShake256" +#define dilithium3_evp_type 0 +#define dilithium3_input_type "dilithium3" +#define dilithium3_pem_type "dilithium3" +#define p384_dilithium3_evp_type 0 +#define p384_dilithium3_input_type "p384_dilithium3" +#define p384_dilithium3_pem_type "p384_dilithium3" +#define dilithium3WithSha256_evp_type 0 +#define dilithium3WithSha256_input_type "dilithium3WithSha256" +#define dilithium3WithSha256_pem_type "dilithium3WithSha256" +#define dilithium3WithSha384_evp_type 0 +#define dilithium3WithSha384_input_type "dilithium3WithSha384" +#define dilithium3WithSha384_pem_type "dilithium3WithSha384" +#define dilithium3WithSha512_evp_type 0 +#define dilithium3WithSha512_input_type "dilithium3WithSha512" +#define dilithium3WithSha512_pem_type "dilithium3WithSha512" +#define dilithium3WithSha3At256_evp_type 0 +#define dilithium3WithSha3At256_input_type "dilithium3WithSha3At256" +#define dilithium3WithSha3At256_pem_type "dilithium3WithSha3At256" +#define dilithium3WithSha3At384_evp_type 0 +#define dilithium3WithSha3At384_input_type "dilithium3WithSha3At384" +#define dilithium3WithSha3At384_pem_type "dilithium3WithSha3At384" +#define dilithium3WithSha3At512_evp_type 0 +#define dilithium3WithSha3At512_input_type "dilithium3WithSha3At512" +#define dilithium3WithSha3At512_pem_type "dilithium3WithSha3At512" +#define dilithium3WithShake128_evp_type 0 +#define dilithium3WithShake128_input_type "dilithium3WithShake128" +#define dilithium3WithShake128_pem_type "dilithium3WithShake128" +#define dilithium3WithShake256_evp_type 0 +#define dilithium3WithShake256_input_type "dilithium3WithShake256" +#define dilithium3WithShake256_pem_type "dilithium3WithShake256" +#define dilithium5_evp_type 0 +#define dilithium5_input_type "dilithium5" +#define dilithium5_pem_type "dilithium5" +#define p521_dilithium5_evp_type 0 +#define p521_dilithium5_input_type "p521_dilithium5" +#define p521_dilithium5_pem_type "p521_dilithium5" +#define dilithium5WithSha256_evp_type 0 +#define dilithium5WithSha256_input_type "dilithium5WithSha256" +#define dilithium5WithSha256_pem_type "dilithium5WithSha256" +#define dilithium5WithSha384_evp_type 0 +#define dilithium5WithSha384_input_type "dilithium5WithSha384" +#define dilithium5WithSha384_pem_type "dilithium5WithSha384" +#define dilithium5WithSha512_evp_type 0 +#define dilithium5WithSha512_input_type "dilithium5WithSha512" +#define dilithium5WithSha512_pem_type "dilithium5WithSha512" +#define dilithium5WithSha3At256_evp_type 0 +#define dilithium5WithSha3At256_input_type "dilithium5WithSha3At256" +#define dilithium5WithSha3At256_pem_type "dilithium5WithSha3At256" +#define dilithium5WithSha3At384_evp_type 0 +#define dilithium5WithSha3At384_input_type "dilithium5WithSha3At384" +#define dilithium5WithSha3At384_pem_type "dilithium5WithSha3At384" +#define dilithium5WithSha3At512_evp_type 0 +#define dilithium5WithSha3At512_input_type "dilithium5WithSha3At512" +#define dilithium5WithSha3At512_pem_type "dilithium5WithSha3At512" +#define dilithium5WithShake128_evp_type 0 +#define dilithium5WithShake128_input_type "dilithium5WithShake128" +#define dilithium5WithShake128_pem_type "dilithium5WithShake128" +#define dilithium5WithShake256_evp_type 0 +#define dilithium5WithShake256_input_type "dilithium5WithShake256" +#define dilithium5WithShake256_pem_type "dilithium5WithShake256" +#define falcon512_evp_type 0 +#define falcon512_input_type "falcon512" +#define falcon512_pem_type "falcon512" +#define p256_falcon512_evp_type 0 +#define p256_falcon512_input_type "p256_falcon512" +#define p256_falcon512_pem_type "p256_falcon512" +#define rsa3072_falcon512_evp_type 0 +#define rsa3072_falcon512_input_type "rsa3072_falcon512" +#define rsa3072_falcon512_pem_type "rsa3072_falcon512" +#define falcon512WithSha256_evp_type 0 +#define falcon512WithSha256_input_type "falcon512WithSha256" +#define falcon512WithSha256_pem_type "falcon512WithSha256" +#define falcon512WithSha384_evp_type 0 +#define falcon512WithSha384_input_type "falcon512WithSha384" +#define falcon512WithSha384_pem_type "falcon512WithSha384" +#define falcon512WithSha512_evp_type 0 +#define falcon512WithSha512_input_type "falcon512WithSha512" +#define falcon512WithSha512_pem_type "falcon512WithSha512" +#define falcon512WithSha3At256_evp_type 0 +#define falcon512WithSha3At256_input_type "falcon512WithSha3At256" +#define falcon512WithSha3At256_pem_type "falcon512WithSha3At256" +#define falcon512WithSha3At384_evp_type 0 +#define falcon512WithSha3At384_input_type "falcon512WithSha3At384" +#define falcon512WithSha3At384_pem_type "falcon512WithSha3At384" +#define falcon512WithSha3At512_evp_type 0 +#define falcon512WithSha3At512_input_type "falcon512WithSha3At512" +#define falcon512WithSha3At512_pem_type "falcon512WithSha3At512" +#define falcon512WithShake128_evp_type 0 +#define falcon512WithShake128_input_type "falcon512WithShake128" +#define falcon512WithShake128_pem_type "falcon512WithShake128" +#define falcon512WithShake256_evp_type 0 +#define falcon512WithShake256_input_type "falcon512WithShake256" +#define falcon512WithShake256_pem_type "falcon512WithShake256" +#define falcon1024_evp_type 0 +#define falcon1024_input_type "falcon1024" +#define falcon1024_pem_type "falcon1024" +#define p521_falcon1024_evp_type 0 +#define p521_falcon1024_input_type "p521_falcon1024" +#define p521_falcon1024_pem_type "p521_falcon1024" +#define falcon1024WithSha256_evp_type 0 +#define falcon1024WithSha256_input_type "falcon1024WithSha256" +#define falcon1024WithSha256_pem_type "falcon1024WithSha256" +#define falcon1024WithSha384_evp_type 0 +#define falcon1024WithSha384_input_type "falcon1024WithSha384" +#define falcon1024WithSha384_pem_type "falcon1024WithSha384" +#define falcon1024WithSha512_evp_type 0 +#define falcon1024WithSha512_input_type "falcon1024WithSha512" +#define falcon1024WithSha512_pem_type "falcon1024WithSha512" +#define falcon1024WithSha3At256_evp_type 0 +#define falcon1024WithSha3At256_input_type "falcon1024WithSha3At256" +#define falcon1024WithSha3At256_pem_type "falcon1024WithSha3At256" +#define falcon1024WithSha3At384_evp_type 0 +#define falcon1024WithSha3At384_input_type "falcon1024WithSha3At384" +#define falcon1024WithSha3At384_pem_type "falcon1024WithSha3At384" +#define falcon1024WithSha3At512_evp_type 0 +#define falcon1024WithSha3At512_input_type "falcon1024WithSha3At512" +#define falcon1024WithSha3At512_pem_type "falcon1024WithSha3At512" +#define falcon1024WithShake128_evp_type 0 +#define falcon1024WithShake128_input_type "falcon1024WithShake128" +#define falcon1024WithShake128_pem_type "falcon1024WithShake128" +#define falcon1024WithShake256_evp_type 0 +#define falcon1024WithShake256_input_type "falcon1024WithShake256" +#define falcon1024WithShake256_pem_type "falcon1024WithShake256" +#define sphincssha2128fsimple_evp_type 0 +#define sphincssha2128fsimple_input_type "sphincssha2128fsimple" +#define sphincssha2128fsimple_pem_type "sphincssha2128fsimple" +#define p256_sphincssha2128fsimple_evp_type 0 +#define p256_sphincssha2128fsimple_input_type "p256_sphincssha2128fsimple" +#define p256_sphincssha2128fsimple_pem_type "p256_sphincssha2128fsimple" +#define rsa3072_sphincssha2128fsimple_evp_type 0 +#define rsa3072_sphincssha2128fsimple_input_type "rsa3072_sphincssha2128fsimple" +#define rsa3072_sphincssha2128fsimple_pem_type "rsa3072_sphincssha2128fsimple" +#define sphincssha2128ssimple_evp_type 0 +#define sphincssha2128ssimple_input_type "sphincssha2128ssimple" +#define sphincssha2128ssimple_pem_type "sphincssha2128ssimple" +#define p256_sphincssha2128ssimple_evp_type 0 +#define p256_sphincssha2128ssimple_input_type "p256_sphincssha2128ssimple" +#define p256_sphincssha2128ssimple_pem_type "p256_sphincssha2128ssimple" +#define rsa3072_sphincssha2128ssimple_evp_type 0 +#define rsa3072_sphincssha2128ssimple_input_type "rsa3072_sphincssha2128ssimple" +#define rsa3072_sphincssha2128ssimple_pem_type "rsa3072_sphincssha2128ssimple" +#define sphincssha2192fsimple_evp_type 0 +#define sphincssha2192fsimple_input_type "sphincssha2192fsimple" +#define sphincssha2192fsimple_pem_type "sphincssha2192fsimple" +#define p384_sphincssha2192fsimple_evp_type 0 +#define p384_sphincssha2192fsimple_input_type "p384_sphincssha2192fsimple" +#define p384_sphincssha2192fsimple_pem_type "p384_sphincssha2192fsimple" +#define sphincsshake128fsimple_evp_type 0 +#define sphincsshake128fsimple_input_type "sphincsshake128fsimple" +#define sphincsshake128fsimple_pem_type "sphincsshake128fsimple" +#define p256_sphincsshake128fsimple_evp_type 0 +#define p256_sphincsshake128fsimple_input_type "p256_sphincsshake128fsimple" +#define p256_sphincsshake128fsimple_pem_type "p256_sphincsshake128fsimple" +#define rsa3072_sphincsshake128fsimple_evp_type 0 +#define rsa3072_sphincsshake128fsimple_input_type \ + "rsa3072_sphincsshake128fsimple" +#define rsa3072_sphincsshake128fsimple_pem_type "rsa3072_sphincsshake128fsimple" ///// OQS_TEMPLATE_FRAGMENT_ENCODER_DEFINES_END /* ---------------------------------------------------------------------- */ @@ -1556,7 +1556,6 @@ key2text_encode(void *vctx, const void *key, int selection, OSSL_CORE_BIO *cout, ///// OQS_TEMPLATE_FRAGMENT_ENCODER_MAKE_START #ifdef OQS_KEM_ENCODERS - MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, der); MAKE_ENCODER(, frodo640aes, oqsx, EncryptedPrivateKeyInfo, pem); MAKE_ENCODER(, frodo640aes, oqsx, PrivateKeyInfo, der); @@ -2246,8 +2245,10 @@ MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128fsimple); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128fsimple, oqsx, SubjectPublicKeyInfo, der); @@ -2267,8 +2268,10 @@ MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincssha2128ssimple); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincssha2128ssimple, oqsx, SubjectPublicKeyInfo, der); @@ -2302,8 +2305,10 @@ MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); MAKE_ENCODER(, p256_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, pem); MAKE_TEXT_ENCODER(, p256_sphincsshake128fsimple); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, der); -MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, pem); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, + der); +MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, EncryptedPrivateKeyInfo, + pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, der); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, PrivateKeyInfo, pem); MAKE_ENCODER(, rsa3072_sphincsshake128fsimple, oqsx, SubjectPublicKeyInfo, der); diff --git a/oqsprov/oqs_kmgmt.c b/oqsprov/oqs_kmgmt.c index e3d4beaf..f73a75c3 100644 --- a/oqsprov/oqs_kmgmt.c +++ b/oqsprov/oqs_kmgmt.c @@ -581,574 +581,724 @@ static int oqsx_gen_set_params(void *genctx, const OSSL_PARAM params[]) ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_START static void *dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2", KEY_TYPE_SIG, NULL, 128, 0); } static void *dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2", 0, 128, 0); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2", 0, 128, 0); } static void *p256_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "p256_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 1); } static void *p256_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "p256_dilithium2", KEY_TYPE_HYB_SIG, 128, 1); } static void *rsa3072_dilithium2_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, NULL, 128, 2); } static void *rsa3072_dilithium2_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "rsa3072_dilithium2", KEY_TYPE_HYB_SIG, 128, 2); } static void *dilithium2WithSha256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", KEY_TYPE_SIG, NULL, 128, 3); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha256", KEY_TYPE_SIG, NULL, 128, 3); } static void *dilithium2WithSha256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha256", 0, 128, 3); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha256", 0, 128, 3); } static void *dilithium2WithSha384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", KEY_TYPE_SIG, NULL, 128, 4); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha384", KEY_TYPE_SIG, NULL, 128, 4); } static void *dilithium2WithSha384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha384", 0, 128, 4); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha384", 0, 128, 4); } static void *dilithium2WithSha512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", KEY_TYPE_SIG, NULL, 128, 5); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha512", KEY_TYPE_SIG, NULL, 128, 5); } static void *dilithium2WithSha512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha512", 0, 128, 5); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha512", 0, 128, 5); } static void *dilithium2WithSha3At256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", KEY_TYPE_SIG, NULL, 128, 6); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At256", KEY_TYPE_SIG, NULL, 128, 6); } static void *dilithium2WithSha3At256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At256", 0, 128, 6); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At256", 0, 128, 6); } static void *dilithium2WithSha3At384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", KEY_TYPE_SIG, NULL, 128, 7); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At384", KEY_TYPE_SIG, NULL, 128, 7); } static void *dilithium2WithSha3At384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At384", 0, 128, 7); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At384", 0, 128, 7); } static void *dilithium2WithSha3At512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", KEY_TYPE_SIG, NULL, 128, 8); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At512", KEY_TYPE_SIG, NULL, 128, 8); } static void *dilithium2WithSha3At512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithSha3At512", 0, 128, 8); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithSha3At512", 0, 128, 8); } static void *dilithium2WithShake128_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", KEY_TYPE_SIG, NULL, 128, 9); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithShake128", KEY_TYPE_SIG, NULL, 128, 9); } static void *dilithium2WithShake128_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake128", 0, 128, 9); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithShake128", 0, 128, 9); } static void *dilithium2WithShake256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", KEY_TYPE_SIG, NULL, 128, 10); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_2, + "dilithium2WithShake256", KEY_TYPE_SIG, NULL, 128, 10); } static void *dilithium2WithShake256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, "dilithium2WithShake256", 0, 128, 10); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_2, + "dilithium2WithShake256", 0, 128, 10); } static void *dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3", KEY_TYPE_SIG, NULL, 192, 11); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3", KEY_TYPE_SIG, NULL, 192, 11); } static void *dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3", 0, 192, 11); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3", 0, 192, 11); } static void *p384_dilithium3_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 12); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "p384_dilithium3", KEY_TYPE_HYB_SIG, NULL, 192, 12); } static void *p384_dilithium3_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 12); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "p384_dilithium3", KEY_TYPE_HYB_SIG, 192, 12); } static void *dilithium3WithSha256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha256", KEY_TYPE_SIG, NULL, 192, 13); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithSha256", KEY_TYPE_SIG, NULL, 192, 13); } static void *dilithium3WithSha256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha256", 0, 192, 13); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithSha256", 0, 192, 13); } static void *dilithium3WithSha384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha384", KEY_TYPE_SIG, NULL, 192, 14); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithSha384", KEY_TYPE_SIG, NULL, 192, 14); } static void *dilithium3WithSha384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha384", 0, 192, 14); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithSha384", 0, 192, 14); } static void *dilithium3WithSha512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha512", KEY_TYPE_SIG, NULL, 192, 15); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithSha512", KEY_TYPE_SIG, NULL, 192, 15); } static void *dilithium3WithSha512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha512", 0, 192, 15); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithSha512", 0, 192, 15); } static void *dilithium3WithSha3At256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At256", KEY_TYPE_SIG, NULL, 192, 16); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithSha3At256", KEY_TYPE_SIG, NULL, 192, 16); } static void *dilithium3WithSha3At256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At256", 0, 192, 16); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithSha3At256", 0, 192, 16); } static void *dilithium3WithSha3At384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At384", KEY_TYPE_SIG, NULL, 192, 17); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithSha3At384", KEY_TYPE_SIG, NULL, 192, 17); } static void *dilithium3WithSha3At384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At384", 0, 192, 17); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithSha3At384", 0, 192, 17); } static void *dilithium3WithSha3At512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At512", KEY_TYPE_SIG, NULL, 192, 18); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithSha3At512", KEY_TYPE_SIG, NULL, 192, 18); } static void *dilithium3WithSha3At512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithSha3At512", 0, 192, 18); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithSha3At512", 0, 192, 18); } static void *dilithium3WithShake128_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithShake128", KEY_TYPE_SIG, NULL, 192, 19); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithShake128", KEY_TYPE_SIG, NULL, 192, 19); } static void *dilithium3WithShake128_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithShake128", 0, 192, 19); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithShake128", 0, 192, 19); } static void *dilithium3WithShake256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, "dilithium3WithShake256", KEY_TYPE_SIG, NULL, 192, 20); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_3, + "dilithium3WithShake256", KEY_TYPE_SIG, NULL, 192, 20); } static void *dilithium3WithShake256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, "dilithium3WithShake256", 0, 192, 20); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_3, + "dilithium3WithShake256", 0, 192, 20); } static void *dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5", KEY_TYPE_SIG, NULL, 256, 21); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5", KEY_TYPE_SIG, NULL, 256, 21); } static void *dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5", 0, 256, 21); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5", 0, 256, 21); } static void *p521_dilithium5_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 22); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "p521_dilithium5", KEY_TYPE_HYB_SIG, NULL, 256, 22); } static void *p521_dilithium5_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 22); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "p521_dilithium5", KEY_TYPE_HYB_SIG, 256, 22); } static void *dilithium5WithSha256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha256", KEY_TYPE_SIG, NULL, 256, 23); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithSha256", KEY_TYPE_SIG, NULL, 256, 23); } static void *dilithium5WithSha256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha256", 0, 256, 23); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithSha256", 0, 256, 23); } static void *dilithium5WithSha384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha384", KEY_TYPE_SIG, NULL, 256, 24); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithSha384", KEY_TYPE_SIG, NULL, 256, 24); } static void *dilithium5WithSha384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha384", 0, 256, 24); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithSha384", 0, 256, 24); } static void *dilithium5WithSha512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha512", KEY_TYPE_SIG, NULL, 256, 25); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithSha512", KEY_TYPE_SIG, NULL, 256, 25); } static void *dilithium5WithSha512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha512", 0, 256, 25); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithSha512", 0, 256, 25); } static void *dilithium5WithSha3At256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At256", KEY_TYPE_SIG, NULL, 256, 26); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithSha3At256", KEY_TYPE_SIG, NULL, 256, 26); } static void *dilithium5WithSha3At256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At256", 0, 256, 26); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithSha3At256", 0, 256, 26); } static void *dilithium5WithSha3At384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At384", KEY_TYPE_SIG, NULL, 256, 27); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithSha3At384", KEY_TYPE_SIG, NULL, 256, 27); } static void *dilithium5WithSha3At384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At384", 0, 256, 27); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithSha3At384", 0, 256, 27); } static void *dilithium5WithSha3At512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At512", KEY_TYPE_SIG, NULL, 256, 28); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithSha3At512", KEY_TYPE_SIG, NULL, 256, 28); } static void *dilithium5WithSha3At512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithSha3At512", 0, 256, 28); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithSha3At512", 0, 256, 28); } static void *dilithium5WithShake128_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithShake128", KEY_TYPE_SIG, NULL, 256, 29); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithShake128", KEY_TYPE_SIG, NULL, 256, 29); } static void *dilithium5WithShake128_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithShake128", 0, 256, 29); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithShake128", 0, 256, 29); } static void *dilithium5WithShake256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, "dilithium5WithShake256", KEY_TYPE_SIG, NULL, 256, 30); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_dilithium_5, + "dilithium5WithShake256", KEY_TYPE_SIG, NULL, 256, 30); } static void *dilithium5WithShake256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, "dilithium5WithShake256", 0, 256, 30); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_dilithium_5, + "dilithium5WithShake256", 0, 256, 30); } static void *falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512", KEY_TYPE_SIG, NULL, 128, 31); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512", KEY_TYPE_SIG, NULL, 128, 31); } static void *falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512", 0, 128, 31); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512", 0, 128, 31); } static void *p256_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 32); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "p256_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 32); } static void *p256_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 32); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "p256_falcon512", KEY_TYPE_HYB_SIG, 128, 32); } static void *rsa3072_falcon512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 33); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "rsa3072_falcon512", KEY_TYPE_HYB_SIG, NULL, 128, 33); } static void *rsa3072_falcon512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 33); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "rsa3072_falcon512", KEY_TYPE_HYB_SIG, 128, 33); } static void *falcon512WithSha256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha256", KEY_TYPE_SIG, NULL, 128, 34); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithSha256", KEY_TYPE_SIG, NULL, 128, 34); } static void *falcon512WithSha256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha256", 0, 128, 34); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithSha256", 0, 128, 34); } static void *falcon512WithSha384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha384", KEY_TYPE_SIG, NULL, 128, 35); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithSha384", KEY_TYPE_SIG, NULL, 128, 35); } static void *falcon512WithSha384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha384", 0, 128, 35); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithSha384", 0, 128, 35); } static void *falcon512WithSha512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha512", KEY_TYPE_SIG, NULL, 128, 36); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithSha512", KEY_TYPE_SIG, NULL, 128, 36); } static void *falcon512WithSha512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha512", 0, 128, 36); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithSha512", 0, 128, 36); } static void *falcon512WithSha3At256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha3At256", KEY_TYPE_SIG, NULL, 128, 37); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithSha3At256", KEY_TYPE_SIG, NULL, 128, 37); } static void *falcon512WithSha3At256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha3At256", 0, 128, 37); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithSha3At256", 0, 128, 37); } static void *falcon512WithSha3At384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha3At384", KEY_TYPE_SIG, NULL, 128, 38); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithSha3At384", KEY_TYPE_SIG, NULL, 128, 38); } static void *falcon512WithSha3At384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha3At384", 0, 128, 38); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithSha3At384", 0, 128, 38); } static void *falcon512WithSha3At512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithSha3At512", KEY_TYPE_SIG, NULL, 128, 39); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithSha3At512", KEY_TYPE_SIG, NULL, 128, 39); } static void *falcon512WithSha3At512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithSha3At512", 0, 128, 39); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithSha3At512", 0, 128, 39); } static void *falcon512WithShake128_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithShake128", KEY_TYPE_SIG, NULL, 128, 40); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithShake128", KEY_TYPE_SIG, NULL, 128, 40); } static void *falcon512WithShake128_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithShake128", 0, 128, 40); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithShake128", 0, 128, 40); } static void *falcon512WithShake256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, "falcon512WithShake256", KEY_TYPE_SIG, NULL, 128, 41); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_512, + "falcon512WithShake256", KEY_TYPE_SIG, NULL, 128, 41); } static void *falcon512WithShake256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, "falcon512WithShake256", 0, 128, 41); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_512, + "falcon512WithShake256", 0, 128, 41); } static void *falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024", KEY_TYPE_SIG, NULL, 256, 42); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024", KEY_TYPE_SIG, NULL, 256, 42); } static void *falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024", 0, 256, 42); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024", 0, 256, 42); } static void *p521_falcon1024_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 43); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "p521_falcon1024", KEY_TYPE_HYB_SIG, NULL, 256, 43); } static void *p521_falcon1024_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 43); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "p521_falcon1024", KEY_TYPE_HYB_SIG, 256, 43); } static void *falcon1024WithSha256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha256", KEY_TYPE_SIG, NULL, 256, 44); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithSha256", KEY_TYPE_SIG, NULL, 256, 44); } static void *falcon1024WithSha256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha256", 0, 256, 44); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithSha256", 0, 256, 44); } static void *falcon1024WithSha384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha384", KEY_TYPE_SIG, NULL, 256, 45); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithSha384", KEY_TYPE_SIG, NULL, 256, 45); } static void *falcon1024WithSha384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha384", 0, 256, 45); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithSha384", 0, 256, 45); } static void *falcon1024WithSha512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha512", KEY_TYPE_SIG, NULL, 256, 46); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithSha512", KEY_TYPE_SIG, NULL, 256, 46); } static void *falcon1024WithSha512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha512", 0, 256, 46); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithSha512", 0, 256, 46); } static void *falcon1024WithSha3At256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At256", KEY_TYPE_SIG, NULL, 256, 47); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithSha3At256", KEY_TYPE_SIG, NULL, 256, 47); } static void *falcon1024WithSha3At256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At256", 0, 256, 47); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithSha3At256", 0, 256, 47); } static void *falcon1024WithSha3At384_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At384", KEY_TYPE_SIG, NULL, 256, 48); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithSha3At384", KEY_TYPE_SIG, NULL, 256, 48); } static void *falcon1024WithSha3At384_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At384", 0, 256, 48); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithSha3At384", 0, 256, 48); } static void *falcon1024WithSha3At512_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At512", KEY_TYPE_SIG, NULL, 256, 49); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithSha3At512", KEY_TYPE_SIG, NULL, 256, 49); } static void *falcon1024WithSha3At512_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithSha3At512", 0, 256, 49); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithSha3At512", 0, 256, 49); } static void *falcon1024WithShake128_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithShake128", KEY_TYPE_SIG, NULL, 256, 50); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithShake128", KEY_TYPE_SIG, NULL, 256, 50); } static void *falcon1024WithShake128_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithShake128", 0, 256, 50); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithShake128", 0, 256, 50); } static void *falcon1024WithShake256_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, "falcon1024WithShake256", KEY_TYPE_SIG, NULL, 256, 51); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_falcon_1024, + "falcon1024WithShake256", KEY_TYPE_SIG, NULL, 256, 51); } static void *falcon1024WithShake256_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, "falcon1024WithShake256", 0, 256, 51); + return oqsx_gen_init(provctx, selection, OQS_SIG_alg_falcon_1024, + "falcon1024WithShake256", 0, 256, 51); } - static void *sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 52); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_128f_simple, + "sphincssha2128fsimple", KEY_TYPE_SIG, NULL, 128, 52); } static void *sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "sphincssha2128fsimple", 0, 128, 52); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_128f_simple, + "sphincssha2128fsimple", 0, 128, 52); } static void *p256_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 53); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, + "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 53); } static void *p256_sphincssha2128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 53); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, + "p256_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 53); } static void *rsa3072_sphincssha2128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 54); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128f_simple, + "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 54); } -static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, int selection) +static void *rsa3072_sphincssha2128fsimple_gen_init(void *provctx, + int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 54); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128f_simple, + "rsa3072_sphincssha2128fsimple", KEY_TYPE_HYB_SIG, 128, 54); } static void *sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 55); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_128s_simple, + "sphincssha2128ssimple", KEY_TYPE_SIG, NULL, 128, 55); } static void *sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "sphincssha2128ssimple", 0, 128, 55); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_128s_simple, + "sphincssha2128ssimple", 0, 128, 55); } static void *p256_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 56); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, + "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 56); } static void *p256_sphincssha2128ssimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 56); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, + "p256_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 56); } static void *rsa3072_sphincssha2128ssimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 57); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_128s_simple, + "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, NULL, 128, 57); } -static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, int selection) +static void *rsa3072_sphincssha2128ssimple_gen_init(void *provctx, + int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 57); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_128s_simple, + "rsa3072_sphincssha2128ssimple", KEY_TYPE_HYB_SIG, 128, 57); } static void *sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 58); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_sha2_192f_simple, + "sphincssha2192fsimple", KEY_TYPE_SIG, NULL, 192, 58); } static void *sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "sphincssha2192fsimple", 0, 192, 58); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_sha2_192f_simple, + "sphincssha2192fsimple", 0, 192, 58); } static void *p384_sphincssha2192fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 59); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_sha2_192f_simple, + "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, NULL, 192, 59); } static void *p384_sphincssha2192fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 59); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_sha2_192f_simple, + "p384_sphincssha2192fsimple", KEY_TYPE_HYB_SIG, 192, 59); } static void *sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 60); + return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), + OQS_SIG_alg_sphincs_shake_128f_simple, + "sphincsshake128fsimple", KEY_TYPE_SIG, NULL, 128, 60); } static void *sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "sphincsshake128fsimple", 0, 128, 60); + return oqsx_gen_init(provctx, selection, + OQS_SIG_alg_sphincs_shake_128f_simple, + "sphincsshake128fsimple", 0, 128, 60); } static void *p256_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 61); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, + "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 61); } static void *p256_sphincsshake128fsimple_gen_init(void *provctx, int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 61); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, + "p256_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 61); } static void *rsa3072_sphincsshake128fsimple_new_key(void *provctx) { - return oqsx_key_new(PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 62); + return oqsx_key_new( + PROV_OQS_LIBCTX_OF(provctx), OQS_SIG_alg_sphincs_shake_128f_simple, + "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, NULL, 128, 62); } -static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, int selection) +static void *rsa3072_sphincsshake128fsimple_gen_init(void *provctx, + int selection) { - return oqsx_gen_init(provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 62); + return oqsx_gen_init( + provctx, selection, OQS_SIG_alg_sphincs_shake_128f_simple, + "rsa3072_sphincsshake128fsimple", KEY_TYPE_HYB_SIG, 128, 62); } ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_CONSTRUCTORS_END @@ -1366,30 +1516,40 @@ MAKE_SIG_KEYMGMT_FUNCTIONS(rsa3072_sphincsshake128fsimple) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640aes, OQS_KEM_alg_frodokem_640_aes, + 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640aes, OQS_KEM_alg_frodokem_640_aes, + 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_frodo640shake, + OQS_KEM_alg_frodokem_640_shake, 128) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, OQS_KEM_alg_frodokem_640_shake, 128) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x25519_frodo640shake, + OQS_KEM_alg_frodokem_640_shake, 128) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976aes, OQS_KEM_alg_frodokem_976_aes, + 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976aes, OQS_KEM_alg_frodokem_976_aes, + 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p384_frodo976shake, + OQS_KEM_alg_frodokem_976_shake, 192) -MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, OQS_KEM_alg_frodokem_976_shake, 192) +MAKE_KEM_ECX_KEYMGMT_FUNCTIONS(x448_frodo976shake, + OQS_KEM_alg_frodokem_976_shake, 192) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344aes, OQS_KEM_alg_frodokem_1344_aes, + 256) MAKE_KEM_KEYMGMT_FUNCTIONS(frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) -MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, OQS_KEM_alg_frodokem_1344_shake, 256) +MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p521_frodo1344shake, + OQS_KEM_alg_frodokem_1344_shake, 256) MAKE_KEM_KEYMGMT_FUNCTIONS(kyber512, OQS_KEM_alg_kyber_512, 128) MAKE_KEM_ECP_KEYMGMT_FUNCTIONS(p256_kyber512, OQS_KEM_alg_kyber_512, 128) diff --git a/oqsprov/oqs_prov.h b/oqsprov/oqs_prov.h index 36bfd9da..a7a5d4e6 100644 --- a/oqsprov/oqs_prov.h +++ b/oqsprov/oqs_prov.h @@ -240,919 +240,1914 @@ extern const OSSL_DISPATCH oqs_signature_functions[]; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_START #ifdef OQS_KEM_ENCODERS - -extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_frodo640shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_frodo640shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_frodo640shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_frodo976aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_frodo976shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_frodo976shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_frodo976shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344aes_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344aes_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344aes_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_frodo1344shake_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_frodo1344shake_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_frodo1344shake_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_kyber512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_kyber768_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_kyber768_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_kyber768_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_kyber1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_kyber1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_kyber1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_kyber1024_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel1_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_bikel1_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_bikel1_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_bikel1_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_bikel1_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel3_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_bikel3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_bikel3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_bikel3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_bikel3_decoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_bikel5_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_bikel5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_bikel5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_bikel5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_bikel5_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc128_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[];extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x25519_hqc128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x25519_hqc128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x25519_hqc128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x25519_hqc128_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc192_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[];extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_x448_hqc192_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_x448_hqc192_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_x448_hqc192_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_x448_hqc192_decoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_hqc256_to_text_encoder_functions[]; extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_hqc256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_hqc256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_hqc256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_hqc256_decoder_functions[]; #endif /* OQS_KEM_ENCODERS */ - -extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_dilithium2_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_dilithium2_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium2WithShake256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium2WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium2WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_dilithium3_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p384_dilithium3_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_dilithium3_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithSha256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithSha384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithSha512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3WithShake256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium3WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium3WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium3WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium3WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium3WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_dilithium5_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_dilithium5_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_dilithium5_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithSha256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithSha384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithSha512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5WithShake256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_dilithium5WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_dilithium5WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_dilithium5WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_dilithium5WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_dilithium5WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p256_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_falcon512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_rsa3072_falcon512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_falcon512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithSha256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithSha384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithSha512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon512WithShake256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon512WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon512WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon512WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon512WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon512WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon512WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p521_falcon1024_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_p521_falcon1024_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p521_falcon1024_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithSha256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithSha384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithSha512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At384_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At512_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake128_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithShake128_decoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024WithShake256_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_falcon1024WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_falcon1024WithShake256_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; -extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; -extern const OSSL_DISPATCH oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; -extern const OSSL_DISPATCH oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At384_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At384_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At384_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At384_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At384_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At384_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At384_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At384_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At512_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At512_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At512_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At512_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At512_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At512_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithSha3At512_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithSha3At512_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake128_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake128_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake128_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake128_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake128_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake128_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake128_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithShake128_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake256_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake256_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake256_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake256_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake256_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake256_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_falcon1024WithShake256_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_falcon1024WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_falcon1024WithShake256_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincssha2128ssimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincssha2128ssimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p384_sphincssha2192fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p384_sphincssha2192fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_p256_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions[]; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_p256_sphincsshake128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_PrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_EncryptedPrivateKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_der_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_SubjectPublicKeyInfo_pem_encoder_functions + []; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_to_text_encoder_functions[]; +extern const OSSL_DISPATCH + oqs_PrivateKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions + []; +extern const OSSL_DISPATCH + oqs_SubjectPublicKeyInfo_der_to_rsa3072_sphincsshake128fsimple_decoder_functions + []; ///// OQS_TEMPLATE_FRAGMENT_ENDECODER_FUNCTIONS_END ///// OQS_TEMPLATE_FRAGMENT_ALG_FUNCTIONS_START -extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_dilithium2_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_dilithium2_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha512_keymgmt_functions[]; @@ -1161,7 +2156,8 @@ extern const OSSL_DISPATCH oqs_dilithium2WithSha3At384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithSha3At512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithShake128_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium2WithShake256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium3_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_dilithium3_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithSha256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithSha384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithSha512_keymgmt_functions[]; @@ -1170,7 +2166,8 @@ extern const OSSL_DISPATCH oqs_dilithium3WithSha3At384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithSha3At512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithShake128_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium3WithShake256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_dilithium5_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_dilithium5_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithSha256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithSha384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithSha512_keymgmt_functions[]; @@ -1179,7 +2176,9 @@ extern const OSSL_DISPATCH oqs_dilithium5WithSha3At384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithSha3At512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithShake128_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_dilithium5WithShake256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_falcon512_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_rsa3072_falcon512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithSha256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithSha384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithSha512_keymgmt_functions[]; @@ -1188,7 +2187,8 @@ extern const OSSL_DISPATCH oqs_falcon512WithSha3At384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithSha3At512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithShake128_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon512WithShake256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_falcon1024_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p521_falcon1024_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithSha256_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithSha384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithSha512_keymgmt_functions[]; @@ -1197,10 +2197,20 @@ extern const OSSL_DISPATCH oqs_falcon1024WithSha3At384_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithSha3At512_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithShake128_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_falcon1024WithShake256_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; -extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[];extern const OSSL_DISPATCH oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincssha2128ssimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p384_sphincssha2192fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH oqs_p256_sphincsshake128fsimple_keymgmt_functions[]; +extern const OSSL_DISPATCH + oqs_rsa3072_sphincsshake128fsimple_keymgmt_functions[]; extern const OSSL_DISPATCH oqs_frodo640aes_keymgmt_functions[]; diff --git a/oqsprov/oqsdecoders.inc b/oqsprov/oqsdecoders.inc index 890d54c6..77790c80 100644 --- a/oqsprov/oqsdecoders.inc +++ b/oqsprov/oqsdecoders.inc @@ -36,320 +36,495 @@ ///// 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_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_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_2 -DECODER_w_structure("dilithium2WithSha256", der, PrivateKeyInfo, dilithium2WithSha256), -DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, dilithium2WithSha256), + DECODER_w_structure("dilithium2WithSha256", der, PrivateKeyInfo, + dilithium2WithSha256), + DECODER_w_structure("dilithium2WithSha256", der, SubjectPublicKeyInfo, + dilithium2WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha384", der, PrivateKeyInfo, dilithium2WithSha384), -DECODER_w_structure("dilithium2WithSha384", der, SubjectPublicKeyInfo, dilithium2WithSha384), + DECODER_w_structure("dilithium2WithSha384", der, PrivateKeyInfo, + dilithium2WithSha384), + DECODER_w_structure("dilithium2WithSha384", der, SubjectPublicKeyInfo, + dilithium2WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha512", der, PrivateKeyInfo, dilithium2WithSha512), -DECODER_w_structure("dilithium2WithSha512", der, SubjectPublicKeyInfo, dilithium2WithSha512), + DECODER_w_structure("dilithium2WithSha512", der, PrivateKeyInfo, + dilithium2WithSha512), + DECODER_w_structure("dilithium2WithSha512", der, SubjectPublicKeyInfo, + dilithium2WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha3At256", der, PrivateKeyInfo, dilithium2WithSha3At256), -DECODER_w_structure("dilithium2WithSha3At256", der, SubjectPublicKeyInfo, dilithium2WithSha3At256), + DECODER_w_structure("dilithium2WithSha3At256", der, PrivateKeyInfo, + dilithium2WithSha3At256), + DECODER_w_structure("dilithium2WithSha3At256", der, SubjectPublicKeyInfo, + dilithium2WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha3At384", der, PrivateKeyInfo, dilithium2WithSha3At384), -DECODER_w_structure("dilithium2WithSha3At384", der, SubjectPublicKeyInfo, dilithium2WithSha3At384), + DECODER_w_structure("dilithium2WithSha3At384", der, PrivateKeyInfo, + dilithium2WithSha3At384), + DECODER_w_structure("dilithium2WithSha3At384", der, SubjectPublicKeyInfo, + dilithium2WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithSha3At512", der, PrivateKeyInfo, dilithium2WithSha3At512), -DECODER_w_structure("dilithium2WithSha3At512", der, SubjectPublicKeyInfo, dilithium2WithSha3At512), + DECODER_w_structure("dilithium2WithSha3At512", der, PrivateKeyInfo, + dilithium2WithSha3At512), + DECODER_w_structure("dilithium2WithSha3At512", der, SubjectPublicKeyInfo, + dilithium2WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithShake128", der, PrivateKeyInfo, dilithium2WithShake128), -DECODER_w_structure("dilithium2WithShake128", der, SubjectPublicKeyInfo, dilithium2WithShake128), + DECODER_w_structure("dilithium2WithShake128", der, PrivateKeyInfo, + dilithium2WithShake128), + DECODER_w_structure("dilithium2WithShake128", der, SubjectPublicKeyInfo, + dilithium2WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -DECODER_w_structure("dilithium2WithShake256", der, PrivateKeyInfo, dilithium2WithShake256), -DECODER_w_structure("dilithium2WithShake256", der, SubjectPublicKeyInfo, dilithium2WithShake256), + DECODER_w_structure("dilithium2WithShake256", der, PrivateKeyInfo, + dilithium2WithShake256), + DECODER_w_structure("dilithium2WithShake256", der, SubjectPublicKeyInfo, + dilithium2WithShake256), #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_3 -DECODER_w_structure("dilithium3WithSha256", der, PrivateKeyInfo, dilithium3WithSha256), -DECODER_w_structure("dilithium3WithSha256", der, SubjectPublicKeyInfo, dilithium3WithSha256), + DECODER_w_structure("dilithium3WithSha256", der, PrivateKeyInfo, + dilithium3WithSha256), + DECODER_w_structure("dilithium3WithSha256", der, SubjectPublicKeyInfo, + dilithium3WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3WithSha384", der, PrivateKeyInfo, dilithium3WithSha384), -DECODER_w_structure("dilithium3WithSha384", der, SubjectPublicKeyInfo, dilithium3WithSha384), + DECODER_w_structure("dilithium3WithSha384", der, PrivateKeyInfo, + dilithium3WithSha384), + DECODER_w_structure("dilithium3WithSha384", der, SubjectPublicKeyInfo, + dilithium3WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3WithSha512", der, PrivateKeyInfo, dilithium3WithSha512), -DECODER_w_structure("dilithium3WithSha512", der, SubjectPublicKeyInfo, dilithium3WithSha512), + DECODER_w_structure("dilithium3WithSha512", der, PrivateKeyInfo, + dilithium3WithSha512), + DECODER_w_structure("dilithium3WithSha512", der, SubjectPublicKeyInfo, + dilithium3WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3WithSha3At256", der, PrivateKeyInfo, dilithium3WithSha3At256), -DECODER_w_structure("dilithium3WithSha3At256", der, SubjectPublicKeyInfo, dilithium3WithSha3At256), + DECODER_w_structure("dilithium3WithSha3At256", der, PrivateKeyInfo, + dilithium3WithSha3At256), + DECODER_w_structure("dilithium3WithSha3At256", der, SubjectPublicKeyInfo, + dilithium3WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3WithSha3At384", der, PrivateKeyInfo, dilithium3WithSha3At384), -DECODER_w_structure("dilithium3WithSha3At384", der, SubjectPublicKeyInfo, dilithium3WithSha3At384), + DECODER_w_structure("dilithium3WithSha3At384", der, PrivateKeyInfo, + dilithium3WithSha3At384), + DECODER_w_structure("dilithium3WithSha3At384", der, SubjectPublicKeyInfo, + dilithium3WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3WithSha3At512", der, PrivateKeyInfo, dilithium3WithSha3At512), -DECODER_w_structure("dilithium3WithSha3At512", der, SubjectPublicKeyInfo, dilithium3WithSha3At512), + DECODER_w_structure("dilithium3WithSha3At512", der, PrivateKeyInfo, + dilithium3WithSha3At512), + DECODER_w_structure("dilithium3WithSha3At512", der, SubjectPublicKeyInfo, + dilithium3WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3WithShake128", der, PrivateKeyInfo, dilithium3WithShake128), -DECODER_w_structure("dilithium3WithShake128", der, SubjectPublicKeyInfo, dilithium3WithShake128), + DECODER_w_structure("dilithium3WithShake128", der, PrivateKeyInfo, + dilithium3WithShake128), + DECODER_w_structure("dilithium3WithShake128", der, SubjectPublicKeyInfo, + dilithium3WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -DECODER_w_structure("dilithium3WithShake256", der, PrivateKeyInfo, dilithium3WithShake256), -DECODER_w_structure("dilithium3WithShake256", der, SubjectPublicKeyInfo, dilithium3WithShake256), + DECODER_w_structure("dilithium3WithShake256", der, PrivateKeyInfo, + dilithium3WithShake256), + DECODER_w_structure("dilithium3WithShake256", der, SubjectPublicKeyInfo, + dilithium3WithShake256), #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_dilithium_5 -DECODER_w_structure("dilithium5WithSha256", der, PrivateKeyInfo, dilithium5WithSha256), -DECODER_w_structure("dilithium5WithSha256", der, SubjectPublicKeyInfo, dilithium5WithSha256), + DECODER_w_structure("dilithium5WithSha256", der, PrivateKeyInfo, + dilithium5WithSha256), + DECODER_w_structure("dilithium5WithSha256", der, SubjectPublicKeyInfo, + dilithium5WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5WithSha384", der, PrivateKeyInfo, dilithium5WithSha384), -DECODER_w_structure("dilithium5WithSha384", der, SubjectPublicKeyInfo, dilithium5WithSha384), + DECODER_w_structure("dilithium5WithSha384", der, PrivateKeyInfo, + dilithium5WithSha384), + DECODER_w_structure("dilithium5WithSha384", der, SubjectPublicKeyInfo, + dilithium5WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5WithSha512", der, PrivateKeyInfo, dilithium5WithSha512), -DECODER_w_structure("dilithium5WithSha512", der, SubjectPublicKeyInfo, dilithium5WithSha512), + DECODER_w_structure("dilithium5WithSha512", der, PrivateKeyInfo, + dilithium5WithSha512), + DECODER_w_structure("dilithium5WithSha512", der, SubjectPublicKeyInfo, + dilithium5WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5WithSha3At256", der, PrivateKeyInfo, dilithium5WithSha3At256), -DECODER_w_structure("dilithium5WithSha3At256", der, SubjectPublicKeyInfo, dilithium5WithSha3At256), + DECODER_w_structure("dilithium5WithSha3At256", der, PrivateKeyInfo, + dilithium5WithSha3At256), + DECODER_w_structure("dilithium5WithSha3At256", der, SubjectPublicKeyInfo, + dilithium5WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5WithSha3At384", der, PrivateKeyInfo, dilithium5WithSha3At384), -DECODER_w_structure("dilithium5WithSha3At384", der, SubjectPublicKeyInfo, dilithium5WithSha3At384), + DECODER_w_structure("dilithium5WithSha3At384", der, PrivateKeyInfo, + dilithium5WithSha3At384), + DECODER_w_structure("dilithium5WithSha3At384", der, SubjectPublicKeyInfo, + dilithium5WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5WithSha3At512", der, PrivateKeyInfo, dilithium5WithSha3At512), -DECODER_w_structure("dilithium5WithSha3At512", der, SubjectPublicKeyInfo, dilithium5WithSha3At512), + DECODER_w_structure("dilithium5WithSha3At512", der, PrivateKeyInfo, + dilithium5WithSha3At512), + DECODER_w_structure("dilithium5WithSha3At512", der, SubjectPublicKeyInfo, + dilithium5WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5WithShake128", der, PrivateKeyInfo, dilithium5WithShake128), -DECODER_w_structure("dilithium5WithShake128", der, SubjectPublicKeyInfo, dilithium5WithShake128), + DECODER_w_structure("dilithium5WithShake128", der, PrivateKeyInfo, + dilithium5WithShake128), + DECODER_w_structure("dilithium5WithShake128", der, SubjectPublicKeyInfo, + dilithium5WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -DECODER_w_structure("dilithium5WithShake256", der, PrivateKeyInfo, dilithium5WithShake256), -DECODER_w_structure("dilithium5WithShake256", der, SubjectPublicKeyInfo, dilithium5WithShake256), + DECODER_w_structure("dilithium5WithShake256", der, PrivateKeyInfo, + dilithium5WithShake256), + DECODER_w_structure("dilithium5WithShake256", der, SubjectPublicKeyInfo, + dilithium5WithShake256), #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_512 -DECODER_w_structure("falcon512WithSha256", der, PrivateKeyInfo, falcon512WithSha256), -DECODER_w_structure("falcon512WithSha256", der, SubjectPublicKeyInfo, falcon512WithSha256), + DECODER_w_structure("falcon512WithSha256", der, PrivateKeyInfo, + falcon512WithSha256), + DECODER_w_structure("falcon512WithSha256", der, SubjectPublicKeyInfo, + falcon512WithSha256), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512WithSha384", der, PrivateKeyInfo, falcon512WithSha384), -DECODER_w_structure("falcon512WithSha384", der, SubjectPublicKeyInfo, falcon512WithSha384), + DECODER_w_structure("falcon512WithSha384", der, PrivateKeyInfo, + falcon512WithSha384), + DECODER_w_structure("falcon512WithSha384", der, SubjectPublicKeyInfo, + falcon512WithSha384), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512WithSha512", der, PrivateKeyInfo, falcon512WithSha512), -DECODER_w_structure("falcon512WithSha512", der, SubjectPublicKeyInfo, falcon512WithSha512), + DECODER_w_structure("falcon512WithSha512", der, PrivateKeyInfo, + falcon512WithSha512), + DECODER_w_structure("falcon512WithSha512", der, SubjectPublicKeyInfo, + falcon512WithSha512), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512WithSha3At256", der, PrivateKeyInfo, falcon512WithSha3At256), -DECODER_w_structure("falcon512WithSha3At256", der, SubjectPublicKeyInfo, falcon512WithSha3At256), + DECODER_w_structure("falcon512WithSha3At256", der, PrivateKeyInfo, + falcon512WithSha3At256), + DECODER_w_structure("falcon512WithSha3At256", der, SubjectPublicKeyInfo, + falcon512WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512WithSha3At384", der, PrivateKeyInfo, falcon512WithSha3At384), -DECODER_w_structure("falcon512WithSha3At384", der, SubjectPublicKeyInfo, falcon512WithSha3At384), + DECODER_w_structure("falcon512WithSha3At384", der, PrivateKeyInfo, + falcon512WithSha3At384), + DECODER_w_structure("falcon512WithSha3At384", der, SubjectPublicKeyInfo, + falcon512WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512WithSha3At512", der, PrivateKeyInfo, falcon512WithSha3At512), -DECODER_w_structure("falcon512WithSha3At512", der, SubjectPublicKeyInfo, falcon512WithSha3At512), + DECODER_w_structure("falcon512WithSha3At512", der, PrivateKeyInfo, + falcon512WithSha3At512), + DECODER_w_structure("falcon512WithSha3At512", der, SubjectPublicKeyInfo, + falcon512WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512WithShake128", der, PrivateKeyInfo, falcon512WithShake128), -DECODER_w_structure("falcon512WithShake128", der, SubjectPublicKeyInfo, falcon512WithShake128), + DECODER_w_structure("falcon512WithShake128", der, PrivateKeyInfo, + falcon512WithShake128), + DECODER_w_structure("falcon512WithShake128", der, SubjectPublicKeyInfo, + falcon512WithShake128), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -DECODER_w_structure("falcon512WithShake256", der, PrivateKeyInfo, falcon512WithShake256), -DECODER_w_structure("falcon512WithShake256", der, SubjectPublicKeyInfo, falcon512WithShake256), + DECODER_w_structure("falcon512WithShake256", der, PrivateKeyInfo, + falcon512WithShake256), + DECODER_w_structure("falcon512WithShake256", der, SubjectPublicKeyInfo, + falcon512WithShake256), #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_1024 -DECODER_w_structure("falcon1024WithSha256", der, PrivateKeyInfo, falcon1024WithSha256), -DECODER_w_structure("falcon1024WithSha256", der, SubjectPublicKeyInfo, falcon1024WithSha256), + DECODER_w_structure("falcon1024WithSha256", der, PrivateKeyInfo, + falcon1024WithSha256), + DECODER_w_structure("falcon1024WithSha256", der, SubjectPublicKeyInfo, + falcon1024WithSha256), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024WithSha384", der, PrivateKeyInfo, falcon1024WithSha384), -DECODER_w_structure("falcon1024WithSha384", der, SubjectPublicKeyInfo, falcon1024WithSha384), + DECODER_w_structure("falcon1024WithSha384", der, PrivateKeyInfo, + falcon1024WithSha384), + DECODER_w_structure("falcon1024WithSha384", der, SubjectPublicKeyInfo, + falcon1024WithSha384), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024WithSha512", der, PrivateKeyInfo, falcon1024WithSha512), -DECODER_w_structure("falcon1024WithSha512", der, SubjectPublicKeyInfo, falcon1024WithSha512), + DECODER_w_structure("falcon1024WithSha512", der, PrivateKeyInfo, + falcon1024WithSha512), + DECODER_w_structure("falcon1024WithSha512", der, SubjectPublicKeyInfo, + falcon1024WithSha512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024WithSha3At256", der, PrivateKeyInfo, falcon1024WithSha3At256), -DECODER_w_structure("falcon1024WithSha3At256", der, SubjectPublicKeyInfo, falcon1024WithSha3At256), + DECODER_w_structure("falcon1024WithSha3At256", der, PrivateKeyInfo, + falcon1024WithSha3At256), + DECODER_w_structure("falcon1024WithSha3At256", der, SubjectPublicKeyInfo, + falcon1024WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024WithSha3At384", der, PrivateKeyInfo, falcon1024WithSha3At384), -DECODER_w_structure("falcon1024WithSha3At384", der, SubjectPublicKeyInfo, falcon1024WithSha3At384), + DECODER_w_structure("falcon1024WithSha3At384", der, PrivateKeyInfo, + falcon1024WithSha3At384), + DECODER_w_structure("falcon1024WithSha3At384", der, SubjectPublicKeyInfo, + falcon1024WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024WithSha3At512", der, PrivateKeyInfo, falcon1024WithSha3At512), -DECODER_w_structure("falcon1024WithSha3At512", der, SubjectPublicKeyInfo, falcon1024WithSha3At512), + DECODER_w_structure("falcon1024WithSha3At512", der, PrivateKeyInfo, + falcon1024WithSha3At512), + DECODER_w_structure("falcon1024WithSha3At512", der, SubjectPublicKeyInfo, + falcon1024WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024WithShake128", der, PrivateKeyInfo, falcon1024WithShake128), -DECODER_w_structure("falcon1024WithShake128", der, SubjectPublicKeyInfo, falcon1024WithShake128), + DECODER_w_structure("falcon1024WithShake128", der, PrivateKeyInfo, + falcon1024WithShake128), + DECODER_w_structure("falcon1024WithShake128", der, SubjectPublicKeyInfo, + falcon1024WithShake128), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -DECODER_w_structure("falcon1024WithShake256", der, PrivateKeyInfo, falcon1024WithShake256), -DECODER_w_structure("falcon1024WithShake256", der, SubjectPublicKeyInfo, falcon1024WithShake256), + DECODER_w_structure("falcon1024WithShake256", der, PrivateKeyInfo, + falcon1024WithShake256), + DECODER_w_structure("falcon1024WithShake256", der, SubjectPublicKeyInfo, + falcon1024WithShake256), #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), -#endif -///// OQS_TEMPLATE_FRAGMENT_MAKE_END + 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 + ///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsencoders.inc b/oqsprov/oqsencoders.inc index c12f13d3..e2e88802 100644 --- a/oqsprov/oqsencoders.inc +++ b/oqsprov/oqsencoders.inc @@ -81,872 +81,1375 @@ ///// 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_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_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_2 -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha256", dilithium2WithSha256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha256", dilithium2WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha384", dilithium2WithSha384), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha384", dilithium2WithSha384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha384", dilithium2WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha512", dilithium2WithSha512), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha512", dilithium2WithSha512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha512", dilithium2WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha3At256", dilithium2WithSha3At256), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At256", dilithium2WithSha3At256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha3At256", dilithium2WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha3At384", dilithium2WithSha3At384), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At384", dilithium2WithSha3At384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha3At384", dilithium2WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithSha3At512", dilithium2WithSha3At512), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithSha3At512", dilithium2WithSha3At512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithSha3At512", dilithium2WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithShake128", dilithium2WithShake128), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithShake128", dilithium2WithShake128, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithShake128", dilithium2WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_2 -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium2WithShake256", dilithium2WithShake256), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium2WithShake256", dilithium2WithShake256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium2WithShake256", dilithium2WithShake256), #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_3 -ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithSha256", dilithium3WithSha256), + ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithSha256", dilithium3WithSha256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithSha256", dilithium3WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithSha384", dilithium3WithSha384), + ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithSha384", dilithium3WithSha384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithSha384", dilithium3WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithSha512", dilithium3WithSha512), + ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithSha512", dilithium3WithSha512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithSha512", dilithium3WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithSha3At256", dilithium3WithSha3At256), + ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At256", dilithium3WithSha3At256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithSha3At256", dilithium3WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithSha3At384", dilithium3WithSha3At384), + ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At384", dilithium3WithSha3At384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithSha3At384", dilithium3WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithSha3At512", dilithium3WithSha3At512), + ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithSha3At512", dilithium3WithSha3At512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithSha3At512", dilithium3WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithShake128", dilithium3WithShake128), + ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithShake128", dilithium3WithShake128, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithShake128", dilithium3WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_3 -ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium3WithShake256", dilithium3WithShake256), + ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium3WithShake256", dilithium3WithShake256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium3WithShake256", dilithium3WithShake256), #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_dilithium_5 -ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithSha256", dilithium5WithSha256), + ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithSha256", dilithium5WithSha256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithSha256", dilithium5WithSha256), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithSha384", dilithium5WithSha384), + ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithSha384", dilithium5WithSha384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithSha384", dilithium5WithSha384), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithSha512", dilithium5WithSha512), + ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithSha512", dilithium5WithSha512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithSha512", dilithium5WithSha512), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithSha3At256", dilithium5WithSha3At256), + ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At256", dilithium5WithSha3At256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithSha3At256", dilithium5WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithSha3At384", dilithium5WithSha3At384), + ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At384", dilithium5WithSha3At384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithSha3At384", dilithium5WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithSha3At512", dilithium5WithSha3At512), + ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithSha3At512", dilithium5WithSha3At512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithSha3At512", dilithium5WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithShake128", dilithium5WithShake128), + ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithShake128", dilithium5WithShake128, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithShake128", dilithium5WithShake128), #endif #ifdef OQS_ENABLE_SIG_dilithium_5 -ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, PrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("dilithium5WithShake256", dilithium5WithShake256), + ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, + PrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("dilithium5WithShake256", dilithium5WithShake256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("dilithium5WithShake256", dilithium5WithShake256), #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_512 -ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithSha256", falcon512WithSha256), + ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithSha256", falcon512WithSha256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithSha256", falcon512WithSha256), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithSha384", falcon512WithSha384), + ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithSha384", falcon512WithSha384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithSha384", falcon512WithSha384), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithSha512", falcon512WithSha512), + ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithSha512", falcon512WithSha512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithSha512", falcon512WithSha512), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithSha3At256", falcon512WithSha3At256), + ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithSha3At256", falcon512WithSha3At256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithSha3At256", falcon512WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithSha3At384", falcon512WithSha3At384), + ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithSha3At384", falcon512WithSha3At384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithSha3At384", falcon512WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithSha3At512", falcon512WithSha3At512), + ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithSha3At512", falcon512WithSha3At512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithSha3At512", falcon512WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithShake128", falcon512WithShake128), + ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithShake128", falcon512WithShake128, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithShake128", falcon512WithShake128), #endif #ifdef OQS_ENABLE_SIG_falcon_512 -ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon512WithShake256", falcon512WithShake256), + ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon512WithShake256", falcon512WithShake256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon512WithShake256", falcon512WithShake256), #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_1024 -ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithSha256", falcon1024WithSha256), + ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithSha256", falcon1024WithSha256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithSha256", falcon1024WithSha256), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithSha384", falcon1024WithSha384), + ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithSha384", falcon1024WithSha384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithSha384", falcon1024WithSha384), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithSha512", falcon1024WithSha512), + ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithSha512", falcon1024WithSha512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithSha512", falcon1024WithSha512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithSha3At256", falcon1024WithSha3At256), + ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At256", falcon1024WithSha3At256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithSha3At256", falcon1024WithSha3At256), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithSha3At384", falcon1024WithSha3At384), + ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At384", falcon1024WithSha3At384, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithSha3At384", falcon1024WithSha3At384), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithSha3At512", falcon1024WithSha3At512), + ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithSha3At512", falcon1024WithSha3At512, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithSha3At512", falcon1024WithSha3At512), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithShake128", falcon1024WithShake128), + ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithShake128", falcon1024WithShake128, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithShake128", falcon1024WithShake128), #endif #ifdef OQS_ENABLE_SIG_falcon_1024 -ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, PrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, EncryptedPrivateKeyInfo), -ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, SubjectPublicKeyInfo), -ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, SubjectPublicKeyInfo), -ENCODER_TEXT("falcon1024WithShake256", falcon1024WithShake256), + ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, + PrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, + EncryptedPrivateKeyInfo), + ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, der, + SubjectPublicKeyInfo), + ENCODER_w_structure("falcon1024WithShake256", falcon1024WithShake256, pem, + SubjectPublicKeyInfo), + ENCODER_TEXT("falcon1024WithShake256", falcon1024WithShake256), #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), -#endif -///// OQS_TEMPLATE_FRAGMENT_MAKE_END + 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 + ///// OQS_TEMPLATE_FRAGMENT_MAKE_END diff --git a/oqsprov/oqsprov.c b/oqsprov/oqsprov.c index 86df2dde..c7ed936b 100644 --- a/oqsprov/oqsprov.c +++ b/oqsprov/oqsprov.c @@ -48,127 +48,229 @@ extern OSSL_FUNC_provider_get_capabilities_fn oqs_provider_get_capabilities; */ ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_START - #ifdef OQS_KEM_ENCODERS -#define OQS_OID_CNT 210 +# define OQS_OID_CNT 210 #else -#define OQS_OID_CNT 126 +# define OQS_OID_CNT 126 #endif -const char* oqs_oid_alg_list[OQS_OID_CNT] = -{ +const char *oqs_oid_alg_list[OQS_OID_CNT] = { #ifdef OQS_KEM_ENCODERS -"1.3.9999.99.13", "frodo640aes", -"1.3.9999.99.12", "p256_frodo640aes", -"1.3.9999.99.1", "x25519_frodo640aes", -"1.3.9999.99.15", "frodo640shake", -"1.3.9999.99.14", "p256_frodo640shake", -"1.3.9999.99.2", "x25519_frodo640shake", -"1.3.9999.99.17", "frodo976aes", -"1.3.9999.99.16", "p384_frodo976aes", -"1.3.9999.99.3", "x448_frodo976aes", -"1.3.9999.99.19", "frodo976shake", -"1.3.9999.99.18", "p384_frodo976shake", -"1.3.9999.99.4", "x448_frodo976shake", -"1.3.9999.99.21", "frodo1344aes", -"1.3.9999.99.20", "p521_frodo1344aes", -"1.3.9999.99.23", "frodo1344shake", -"1.3.9999.99.22", "p521_frodo1344shake", -"1.3.6.1.4.1.22554.5.6.1", "kyber512", -"1.3.6.1.4.1.22554.5.7.1", "p256_kyber512", -"1.3.6.1.4.1.22554.5.8.1", "x25519_kyber512", -"1.3.6.1.4.1.22554.5.6.2", "kyber768", -"1.3.9999.99.24", "p384_kyber768", -"1.3.9999.99.5", "x448_kyber768", -"1.3.9999.99.6", "x25519_kyber768", -"1.3.9999.99.7", "p256_kyber768", -"1.3.6.1.4.1.22554.5.6.3", "kyber1024", -"1.3.9999.99.25", "p521_kyber1024", -"1.3.9999.99.27", "bikel1", -"1.3.9999.99.26", "p256_bikel1", -"1.3.9999.99.8", "x25519_bikel1", -"1.3.9999.99.29", "bikel3", -"1.3.9999.99.28", "p384_bikel3", -"1.3.9999.99.9", "x448_bikel3", -"1.3.9999.99.31", "bikel5", -"1.3.9999.99.30", "p521_bikel5", -"1.3.9999.99.33", "hqc128", -"1.3.9999.99.32", "p256_hqc128", -"1.3.9999.99.10", "x25519_hqc128", -"1.3.9999.99.35", "hqc192", -"1.3.9999.99.34", "p384_hqc192", -"1.3.9999.99.11", "x448_hqc192", -"1.3.9999.99.37", "hqc256", -"1.3.9999.99.36", "p521_hqc256", + "1.3.9999.99.13", + "frodo640aes", + "1.3.9999.99.12", + "p256_frodo640aes", + "1.3.9999.99.1", + "x25519_frodo640aes", + "1.3.9999.99.15", + "frodo640shake", + "1.3.9999.99.14", + "p256_frodo640shake", + "1.3.9999.99.2", + "x25519_frodo640shake", + "1.3.9999.99.17", + "frodo976aes", + "1.3.9999.99.16", + "p384_frodo976aes", + "1.3.9999.99.3", + "x448_frodo976aes", + "1.3.9999.99.19", + "frodo976shake", + "1.3.9999.99.18", + "p384_frodo976shake", + "1.3.9999.99.4", + "x448_frodo976shake", + "1.3.9999.99.21", + "frodo1344aes", + "1.3.9999.99.20", + "p521_frodo1344aes", + "1.3.9999.99.23", + "frodo1344shake", + "1.3.9999.99.22", + "p521_frodo1344shake", + "1.3.6.1.4.1.22554.5.6.1", + "kyber512", + "1.3.6.1.4.1.22554.5.7.1", + "p256_kyber512", + "1.3.6.1.4.1.22554.5.8.1", + "x25519_kyber512", + "1.3.6.1.4.1.22554.5.6.2", + "kyber768", + "1.3.9999.99.24", + "p384_kyber768", + "1.3.9999.99.5", + "x448_kyber768", + "1.3.9999.99.6", + "x25519_kyber768", + "1.3.9999.99.7", + "p256_kyber768", + "1.3.6.1.4.1.22554.5.6.3", + "kyber1024", + "1.3.9999.99.25", + "p521_kyber1024", + "1.3.9999.99.27", + "bikel1", + "1.3.9999.99.26", + "p256_bikel1", + "1.3.9999.99.8", + "x25519_bikel1", + "1.3.9999.99.29", + "bikel3", + "1.3.9999.99.28", + "p384_bikel3", + "1.3.9999.99.9", + "x448_bikel3", + "1.3.9999.99.31", + "bikel5", + "1.3.9999.99.30", + "p521_bikel5", + "1.3.9999.99.33", + "hqc128", + "1.3.9999.99.32", + "p256_hqc128", + "1.3.9999.99.10", + "x25519_hqc128", + "1.3.9999.99.35", + "hqc192", + "1.3.9999.99.34", + "p384_hqc192", + "1.3.9999.99.11", + "x448_hqc192", + "1.3.9999.99.37", + "hqc256", + "1.3.9999.99.36", + "p521_hqc256", #endif /* OQS_KEM_ENCODERS */ - -"1.3.6.1.4.1.2.267.7.4.4", "dilithium2", -"1.3.9999.2.7.1" , "p256_dilithium2", -"1.3.9999.2.7.2" , "rsa3072_dilithium2", -"1.3.6.1.4.1.18227.999.1.1.1", "dilithium2WithSha256", -"1.3.6.1.4.1.18227.999.1.1.2", "dilithium2WithSha384", -"1.3.6.1.4.1.18227.999.1.1.3", "dilithium2WithSha512", -"1.3.6.1.4.1.18227.999.1.1.4", "dilithium2WithSha3At256", -"1.3.6.1.4.1.18227.999.1.1.5", "dilithium2WithSha3At384", -"1.3.6.1.4.1.18227.999.1.1.6", "dilithium2WithSha3At512", -"1.3.6.1.4.1.18227.999.1.1.7", "dilithium2WithShake128", -"1.3.6.1.4.1.18227.999.1.1.8", "dilithium2WithShake256", -"1.3.6.1.4.1.2.267.7.6.5", "dilithium3", -"1.3.9999.2.7.3" , "p384_dilithium3", -"1.3.6.1.4.1.18227.999.1.2.1", "dilithium3WithSha256", -"1.3.6.1.4.1.18227.999.1.2.2", "dilithium3WithSha384", -"1.3.6.1.4.1.18227.999.1.2.3", "dilithium3WithSha512", -"1.3.6.1.4.1.18227.999.1.2.4", "dilithium3WithSha3At256", -"1.3.6.1.4.1.18227.999.1.2.5", "dilithium3WithSha3At384", -"1.3.6.1.4.1.18227.999.1.2.6", "dilithium3WithSha3At512", -"1.3.6.1.4.1.18227.999.1.2.7", "dilithium3WithShake128", -"1.3.6.1.4.1.18227.999.1.2.8", "dilithium3WithShake256", -"1.3.6.1.4.1.2.267.7.8.7", "dilithium5", -"1.3.9999.2.7.4" , "p521_dilithium5", -"1.3.6.1.4.1.18227.999.1.3.1", "dilithium5WithSha256", -"1.3.6.1.4.1.18227.999.1.3.2", "dilithium5WithSha384", -"1.3.6.1.4.1.18227.999.1.3.3", "dilithium5WithSha512", -"1.3.6.1.4.1.18227.999.1.3.4", "dilithium5WithSha3At256", -"1.3.6.1.4.1.18227.999.1.3.5", "dilithium5WithSha3At384", -"1.3.6.1.4.1.18227.999.1.3.6", "dilithium5WithSha3At512", -"1.3.6.1.4.1.18227.999.1.3.7", "dilithium5WithShake128", -"1.3.6.1.4.1.18227.999.1.3.8", "dilithium5WithShake256", -"1.3.9999.3.6", "falcon512", -"1.3.9999.3.7" , "p256_falcon512", -"1.3.9999.3.8" , "rsa3072_falcon512", -"1.3.6.1.4.1.18227.999.2.3.1.1", "falcon512WithSha256", -"1.3.6.1.4.1.18227.999.2.3.2.1", "falcon512WithSha384", -"1.3.6.1.4.1.18227.999.2.3.3.1", "falcon512WithSha512", -"1.3.6.1.4.1.18227.999.2.3.4.1", "falcon512WithSha3At256", -"1.3.6.1.4.1.18227.999.2.3.5.1", "falcon512WithSha3At384", -"1.3.6.1.4.1.18227.999.2.3.6.1", "falcon512WithSha3At512", -"1.3.6.1.4.1.18227.999.2.3.7.1", "falcon512WithShake128", -"1.3.6.1.4.1.18227.999.2.3.8.1", "falcon512WithShake256", -"1.3.9999.3.9", "falcon1024", -"1.3.9999.3.10" , "p521_falcon1024", -"1.3.6.1.4.1.18227.999.2.2.1.1", "falcon1024WithSha256", -"1.3.6.1.4.1.18227.999.2.2.2.1", "falcon1024WithSha384", -"1.3.6.1.4.1.18227.999.2.2.3.1", "falcon1024WithSha512", -"1.3.6.1.4.1.18227.999.2.2.4.1", "falcon1024WithSha3At256", -"1.3.6.1.4.1.18227.999.2.2.5.1", "falcon1024WithSha3At384", -"1.3.6.1.4.1.18227.999.2.2.6.1", "falcon1024WithSha3At512", -"1.3.6.1.4.1.18227.999.2.2.7.1", "falcon1024WithShake128", -"1.3.6.1.4.1.18227.999.2.2.8.1", "falcon1024WithShake256", -"1.3.9999.6.4.13", "sphincssha2128fsimple", -"1.3.9999.6.4.14" , "p256_sphincssha2128fsimple", -"1.3.9999.6.4.15" , "rsa3072_sphincssha2128fsimple", -"1.3.9999.6.4.16", "sphincssha2128ssimple", -"1.3.9999.6.4.17" , "p256_sphincssha2128ssimple", -"1.3.9999.6.4.18" , "rsa3072_sphincssha2128ssimple", -"1.3.9999.6.5.10", "sphincssha2192fsimple", -"1.3.9999.6.5.11" , "p384_sphincssha2192fsimple", -"1.3.9999.6.7.13", "sphincsshake128fsimple", -"1.3.9999.6.7.14" , "p256_sphincsshake128fsimple", -"1.3.9999.6.7.15" , "rsa3072_sphincsshake128fsimple", -///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END + "1.3.6.1.4.1.2.267.7.4.4", + "dilithium2", + "1.3.9999.2.7.1", + "p256_dilithium2", + "1.3.9999.2.7.2", + "rsa3072_dilithium2", + "1.3.6.1.4.1.18227.999.1.1.1", + "dilithium2WithSha256", + "1.3.6.1.4.1.18227.999.1.1.2", + "dilithium2WithSha384", + "1.3.6.1.4.1.18227.999.1.1.3", + "dilithium2WithSha512", + "1.3.6.1.4.1.18227.999.1.1.4", + "dilithium2WithSha3At256", + "1.3.6.1.4.1.18227.999.1.1.5", + "dilithium2WithSha3At384", + "1.3.6.1.4.1.18227.999.1.1.6", + "dilithium2WithSha3At512", + "1.3.6.1.4.1.18227.999.1.1.7", + "dilithium2WithShake128", + "1.3.6.1.4.1.18227.999.1.1.8", + "dilithium2WithShake256", + "1.3.6.1.4.1.2.267.7.6.5", + "dilithium3", + "1.3.9999.2.7.3", + "p384_dilithium3", + "1.3.6.1.4.1.18227.999.1.2.1", + "dilithium3WithSha256", + "1.3.6.1.4.1.18227.999.1.2.2", + "dilithium3WithSha384", + "1.3.6.1.4.1.18227.999.1.2.3", + "dilithium3WithSha512", + "1.3.6.1.4.1.18227.999.1.2.4", + "dilithium3WithSha3At256", + "1.3.6.1.4.1.18227.999.1.2.5", + "dilithium3WithSha3At384", + "1.3.6.1.4.1.18227.999.1.2.6", + "dilithium3WithSha3At512", + "1.3.6.1.4.1.18227.999.1.2.7", + "dilithium3WithShake128", + "1.3.6.1.4.1.18227.999.1.2.8", + "dilithium3WithShake256", + "1.3.6.1.4.1.2.267.7.8.7", + "dilithium5", + "1.3.9999.2.7.4", + "p521_dilithium5", + "1.3.6.1.4.1.18227.999.1.3.1", + "dilithium5WithSha256", + "1.3.6.1.4.1.18227.999.1.3.2", + "dilithium5WithSha384", + "1.3.6.1.4.1.18227.999.1.3.3", + "dilithium5WithSha512", + "1.3.6.1.4.1.18227.999.1.3.4", + "dilithium5WithSha3At256", + "1.3.6.1.4.1.18227.999.1.3.5", + "dilithium5WithSha3At384", + "1.3.6.1.4.1.18227.999.1.3.6", + "dilithium5WithSha3At512", + "1.3.6.1.4.1.18227.999.1.3.7", + "dilithium5WithShake128", + "1.3.6.1.4.1.18227.999.1.3.8", + "dilithium5WithShake256", + "1.3.9999.3.6", + "falcon512", + "1.3.9999.3.7", + "p256_falcon512", + "1.3.9999.3.8", + "rsa3072_falcon512", + "1.3.6.1.4.1.18227.999.2.3.1.1", + "falcon512WithSha256", + "1.3.6.1.4.1.18227.999.2.3.2.1", + "falcon512WithSha384", + "1.3.6.1.4.1.18227.999.2.3.3.1", + "falcon512WithSha512", + "1.3.6.1.4.1.18227.999.2.3.4.1", + "falcon512WithSha3At256", + "1.3.6.1.4.1.18227.999.2.3.5.1", + "falcon512WithSha3At384", + "1.3.6.1.4.1.18227.999.2.3.6.1", + "falcon512WithSha3At512", + "1.3.6.1.4.1.18227.999.2.3.7.1", + "falcon512WithShake128", + "1.3.6.1.4.1.18227.999.2.3.8.1", + "falcon512WithShake256", + "1.3.9999.3.9", + "falcon1024", + "1.3.9999.3.10", + "p521_falcon1024", + "1.3.6.1.4.1.18227.999.2.2.1.1", + "falcon1024WithSha256", + "1.3.6.1.4.1.18227.999.2.2.2.1", + "falcon1024WithSha384", + "1.3.6.1.4.1.18227.999.2.2.3.1", + "falcon1024WithSha512", + "1.3.6.1.4.1.18227.999.2.2.4.1", + "falcon1024WithSha3At256", + "1.3.6.1.4.1.18227.999.2.2.5.1", + "falcon1024WithSha3At384", + "1.3.6.1.4.1.18227.999.2.2.6.1", + "falcon1024WithSha3At512", + "1.3.6.1.4.1.18227.999.2.2.7.1", + "falcon1024WithShake128", + "1.3.6.1.4.1.18227.999.2.2.8.1", + "falcon1024WithShake256", + "1.3.9999.6.4.13", + "sphincssha2128fsimple", + "1.3.9999.6.4.14", + "p256_sphincssha2128fsimple", + "1.3.9999.6.4.15", + "rsa3072_sphincssha2128fsimple", + "1.3.9999.6.4.16", + "sphincssha2128ssimple", + "1.3.9999.6.4.17", + "p256_sphincssha2128ssimple", + "1.3.9999.6.4.18", + "rsa3072_sphincssha2128ssimple", + "1.3.9999.6.5.10", + "sphincssha2192fsimple", + "1.3.9999.6.5.11", + "p384_sphincssha2192fsimple", + "1.3.9999.6.7.13", + "sphincsshake128fsimple", + "1.3.9999.6.7.14", + "p256_sphincsshake128fsimple", + "1.3.9999.6.7.15", + "rsa3072_sphincsshake128fsimple", + ///// OQS_TEMPLATE_FRAGMENT_ASSIGN_SIG_OIDS_END }; int oqs_patch_oids(void) @@ -177,134 +279,295 @@ int oqs_patch_oids(void) #ifdef OQS_KEM_ENCODERS - - -if (getenv("OQS_OID_FRODO640AES")) oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); - -if (getenv("OQS_OID_P256_FRODO640AES")) oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); -if (getenv("OQS_OID_X25519_FRODO640AES")) oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); -if (getenv("OQS_OID_FRODO640SHAKE")) oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); - -if (getenv("OQS_OID_P256_FRODO640SHAKE")) oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); -if (getenv("OQS_OID_X25519_FRODO640SHAKE")) oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); -if (getenv("OQS_OID_FRODO976AES")) oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); - -if (getenv("OQS_OID_P384_FRODO976AES")) oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); -if (getenv("OQS_OID_X448_FRODO976AES")) oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); -if (getenv("OQS_OID_FRODO976SHAKE")) oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); - -if (getenv("OQS_OID_P384_FRODO976SHAKE")) oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); -if (getenv("OQS_OID_X448_FRODO976SHAKE")) oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); -if (getenv("OQS_OID_FRODO1344AES")) oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); - -if (getenv("OQS_OID_P521_FRODO1344AES")) oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); -if (getenv("OQS_OID_FRODO1344SHAKE")) oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); - -if (getenv("OQS_OID_P521_FRODO1344SHAKE")) oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); -if (getenv("OQS_OID_KYBER512")) oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); - -if (getenv("OQS_OID_P256_KYBER512")) oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); -if (getenv("OQS_OID_X25519_KYBER512")) oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); -if (getenv("OQS_OID_KYBER768")) oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); - -if (getenv("OQS_OID_P384_KYBER768")) oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); -if (getenv("OQS_OID_X448_KYBER768")) oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); -if (getenv("OQS_OID_X25519_KYBER768")) oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); -if (getenv("OQS_OID_P256_KYBER768")) oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); -if (getenv("OQS_OID_KYBER1024")) oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); - -if (getenv("OQS_OID_P521_KYBER1024")) oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); -if (getenv("OQS_OID_BIKEL1")) oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); - -if (getenv("OQS_OID_P256_BIKEL1")) oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); -if (getenv("OQS_OID_X25519_BIKEL1")) oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); -if (getenv("OQS_OID_BIKEL3")) oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); - -if (getenv("OQS_OID_P384_BIKEL3")) oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); -if (getenv("OQS_OID_X448_BIKEL3")) oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); -if (getenv("OQS_OID_BIKEL5")) oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); - -if (getenv("OQS_OID_P521_BIKEL5")) oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); -if (getenv("OQS_OID_HQC128")) oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); - -if (getenv("OQS_OID_P256_HQC128")) oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); -if (getenv("OQS_OID_X25519_HQC128")) oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); -if (getenv("OQS_OID_HQC192")) oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); - -if (getenv("OQS_OID_P384_HQC192")) oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); -if (getenv("OQS_OID_X448_HQC192")) oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); -if (getenv("OQS_OID_HQC256")) oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); - -if (getenv("OQS_OID_P521_HQC256")) oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); - -#define OQS_KEMOID_CNT 82+2 + if (getenv("OQS_OID_FRODO640AES")) + oqs_oid_alg_list[0] = getenv("OQS_OID_FRODO640AES"); + + if (getenv("OQS_OID_P256_FRODO640AES")) + oqs_oid_alg_list[2] = getenv("OQS_OID_P256_FRODO640AES"); + if (getenv("OQS_OID_X25519_FRODO640AES")) + oqs_oid_alg_list[4] = getenv("OQS_OID_X25519_FRODO640AES"); + if (getenv("OQS_OID_FRODO640SHAKE")) + oqs_oid_alg_list[6] = getenv("OQS_OID_FRODO640SHAKE"); + + if (getenv("OQS_OID_P256_FRODO640SHAKE")) + oqs_oid_alg_list[8] = getenv("OQS_OID_P256_FRODO640SHAKE"); + if (getenv("OQS_OID_X25519_FRODO640SHAKE")) + oqs_oid_alg_list[10] = getenv("OQS_OID_X25519_FRODO640SHAKE"); + if (getenv("OQS_OID_FRODO976AES")) + oqs_oid_alg_list[12] = getenv("OQS_OID_FRODO976AES"); + + if (getenv("OQS_OID_P384_FRODO976AES")) + oqs_oid_alg_list[14] = getenv("OQS_OID_P384_FRODO976AES"); + if (getenv("OQS_OID_X448_FRODO976AES")) + oqs_oid_alg_list[16] = getenv("OQS_OID_X448_FRODO976AES"); + if (getenv("OQS_OID_FRODO976SHAKE")) + oqs_oid_alg_list[18] = getenv("OQS_OID_FRODO976SHAKE"); + + if (getenv("OQS_OID_P384_FRODO976SHAKE")) + oqs_oid_alg_list[20] = getenv("OQS_OID_P384_FRODO976SHAKE"); + if (getenv("OQS_OID_X448_FRODO976SHAKE")) + oqs_oid_alg_list[22] = getenv("OQS_OID_X448_FRODO976SHAKE"); + if (getenv("OQS_OID_FRODO1344AES")) + oqs_oid_alg_list[24] = getenv("OQS_OID_FRODO1344AES"); + + if (getenv("OQS_OID_P521_FRODO1344AES")) + oqs_oid_alg_list[26] = getenv("OQS_OID_P521_FRODO1344AES"); + if (getenv("OQS_OID_FRODO1344SHAKE")) + oqs_oid_alg_list[28] = getenv("OQS_OID_FRODO1344SHAKE"); + + if (getenv("OQS_OID_P521_FRODO1344SHAKE")) + oqs_oid_alg_list[30] = getenv("OQS_OID_P521_FRODO1344SHAKE"); + if (getenv("OQS_OID_KYBER512")) + oqs_oid_alg_list[32] = getenv("OQS_OID_KYBER512"); + + if (getenv("OQS_OID_P256_KYBER512")) + oqs_oid_alg_list[34] = getenv("OQS_OID_P256_KYBER512"); + if (getenv("OQS_OID_X25519_KYBER512")) + oqs_oid_alg_list[36] = getenv("OQS_OID_X25519_KYBER512"); + if (getenv("OQS_OID_KYBER768")) + oqs_oid_alg_list[38] = getenv("OQS_OID_KYBER768"); + + if (getenv("OQS_OID_P384_KYBER768")) + oqs_oid_alg_list[40] = getenv("OQS_OID_P384_KYBER768"); + if (getenv("OQS_OID_X448_KYBER768")) + oqs_oid_alg_list[42] = getenv("OQS_OID_X448_KYBER768"); + if (getenv("OQS_OID_X25519_KYBER768")) + oqs_oid_alg_list[44] = getenv("OQS_OID_X25519_KYBER768"); + if (getenv("OQS_OID_P256_KYBER768")) + oqs_oid_alg_list[46] = getenv("OQS_OID_P256_KYBER768"); + if (getenv("OQS_OID_KYBER1024")) + oqs_oid_alg_list[48] = getenv("OQS_OID_KYBER1024"); + + if (getenv("OQS_OID_P521_KYBER1024")) + oqs_oid_alg_list[50] = getenv("OQS_OID_P521_KYBER1024"); + if (getenv("OQS_OID_BIKEL1")) + oqs_oid_alg_list[52] = getenv("OQS_OID_BIKEL1"); + + if (getenv("OQS_OID_P256_BIKEL1")) + oqs_oid_alg_list[54] = getenv("OQS_OID_P256_BIKEL1"); + if (getenv("OQS_OID_X25519_BIKEL1")) + oqs_oid_alg_list[56] = getenv("OQS_OID_X25519_BIKEL1"); + if (getenv("OQS_OID_BIKEL3")) + oqs_oid_alg_list[58] = getenv("OQS_OID_BIKEL3"); + + if (getenv("OQS_OID_P384_BIKEL3")) + oqs_oid_alg_list[60] = getenv("OQS_OID_P384_BIKEL3"); + if (getenv("OQS_OID_X448_BIKEL3")) + oqs_oid_alg_list[62] = getenv("OQS_OID_X448_BIKEL3"); + if (getenv("OQS_OID_BIKEL5")) + oqs_oid_alg_list[64] = getenv("OQS_OID_BIKEL5"); + + if (getenv("OQS_OID_P521_BIKEL5")) + oqs_oid_alg_list[66] = getenv("OQS_OID_P521_BIKEL5"); + if (getenv("OQS_OID_HQC128")) + oqs_oid_alg_list[68] = getenv("OQS_OID_HQC128"); + + if (getenv("OQS_OID_P256_HQC128")) + oqs_oid_alg_list[70] = getenv("OQS_OID_P256_HQC128"); + if (getenv("OQS_OID_X25519_HQC128")) + oqs_oid_alg_list[72] = getenv("OQS_OID_X25519_HQC128"); + if (getenv("OQS_OID_HQC192")) + oqs_oid_alg_list[74] = getenv("OQS_OID_HQC192"); + + if (getenv("OQS_OID_P384_HQC192")) + oqs_oid_alg_list[76] = getenv("OQS_OID_P384_HQC192"); + if (getenv("OQS_OID_X448_HQC192")) + oqs_oid_alg_list[78] = getenv("OQS_OID_X448_HQC192"); + if (getenv("OQS_OID_HQC256")) + oqs_oid_alg_list[80] = getenv("OQS_OID_HQC256"); + + if (getenv("OQS_OID_P521_HQC256")) + oqs_oid_alg_list[82] = getenv("OQS_OID_P521_HQC256"); + +# define OQS_KEMOID_CNT 82 + 2 #else -#define OQS_KEMOID_CNT 0 +# define OQS_KEMOID_CNT 0 #endif /* OQS_KEM_ENCODERS */ - if (getenv("OQS_OID_DILITHIUM2")) oqs_oid_alg_list[0+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); - if (getenv("OQS_OID_P256_DILITHIUM2")) oqs_oid_alg_list[2+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_DILITHIUM2"); - if (getenv("OQS_OID_RSA3072_DILITHIUM2")) oqs_oid_alg_list[4+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_DILITHIUM2"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) oqs_oid_alg_list[6+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA256"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA384")) oqs_oid_alg_list[8+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA384"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA512")) oqs_oid_alg_list[10+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA512"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT256")) oqs_oid_alg_list[12+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT256"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT384")) oqs_oid_alg_list[14+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT384"); - if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT512")) oqs_oid_alg_list[16+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHA3AT512"); - if (getenv("OQS_OID_DILITHIUM2WITHSHAKE128")) oqs_oid_alg_list[18+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE128"); - if (getenv("OQS_OID_DILITHIUM2WITHSHAKE256")) oqs_oid_alg_list[20+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2WITHSHAKE256"); - if (getenv("OQS_OID_DILITHIUM3")) oqs_oid_alg_list[22+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); - if (getenv("OQS_OID_P384_DILITHIUM3")) oqs_oid_alg_list[24+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_DILITHIUM3"); - if (getenv("OQS_OID_DILITHIUM3WITHSHA256")) oqs_oid_alg_list[26+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA256"); - if (getenv("OQS_OID_DILITHIUM3WITHSHA384")) oqs_oid_alg_list[28+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA384"); - if (getenv("OQS_OID_DILITHIUM3WITHSHA512")) oqs_oid_alg_list[30+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA512"); - if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT256")) oqs_oid_alg_list[32+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA3AT256"); - if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT384")) oqs_oid_alg_list[34+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA3AT384"); - if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT512")) oqs_oid_alg_list[36+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHA3AT512"); - if (getenv("OQS_OID_DILITHIUM3WITHSHAKE128")) oqs_oid_alg_list[38+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHAKE128"); - if (getenv("OQS_OID_DILITHIUM3WITHSHAKE256")) oqs_oid_alg_list[40+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3WITHSHAKE256"); - if (getenv("OQS_OID_DILITHIUM5")) oqs_oid_alg_list[42+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); - if (getenv("OQS_OID_P521_DILITHIUM5")) oqs_oid_alg_list[44+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_DILITHIUM5"); - if (getenv("OQS_OID_DILITHIUM5WITHSHA256")) oqs_oid_alg_list[46+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA256"); - if (getenv("OQS_OID_DILITHIUM5WITHSHA384")) oqs_oid_alg_list[48+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA384"); - if (getenv("OQS_OID_DILITHIUM5WITHSHA512")) oqs_oid_alg_list[50+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA512"); - if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT256")) oqs_oid_alg_list[52+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA3AT256"); - if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT384")) oqs_oid_alg_list[54+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA3AT384"); - if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT512")) oqs_oid_alg_list[56+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHA3AT512"); - if (getenv("OQS_OID_DILITHIUM5WITHSHAKE128")) oqs_oid_alg_list[58+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHAKE128"); - if (getenv("OQS_OID_DILITHIUM5WITHSHAKE256")) oqs_oid_alg_list[60+OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5WITHSHAKE256"); - if (getenv("OQS_OID_FALCON512")) oqs_oid_alg_list[62+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); - if (getenv("OQS_OID_P256_FALCON512")) oqs_oid_alg_list[64+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_FALCON512"); - if (getenv("OQS_OID_RSA3072_FALCON512")) oqs_oid_alg_list[66+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_FALCON512"); - if (getenv("OQS_OID_FALCON512WITHSHA256")) oqs_oid_alg_list[68+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA256"); - if (getenv("OQS_OID_FALCON512WITHSHA384")) oqs_oid_alg_list[70+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA384"); - if (getenv("OQS_OID_FALCON512WITHSHA512")) oqs_oid_alg_list[72+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA512"); - if (getenv("OQS_OID_FALCON512WITHSHA3AT256")) oqs_oid_alg_list[74+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA3AT256"); - if (getenv("OQS_OID_FALCON512WITHSHA3AT384")) oqs_oid_alg_list[76+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA3AT384"); - if (getenv("OQS_OID_FALCON512WITHSHA3AT512")) oqs_oid_alg_list[78+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHA3AT512"); - if (getenv("OQS_OID_FALCON512WITHSHAKE128")) oqs_oid_alg_list[80+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHAKE128"); - if (getenv("OQS_OID_FALCON512WITHSHAKE256")) oqs_oid_alg_list[82+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512WITHSHAKE256"); - if (getenv("OQS_OID_FALCON1024")) oqs_oid_alg_list[84+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); - if (getenv("OQS_OID_P521_FALCON1024")) oqs_oid_alg_list[86+OQS_KEMOID_CNT] = getenv("OQS_OID_P521_FALCON1024"); - if (getenv("OQS_OID_FALCON1024WITHSHA256")) oqs_oid_alg_list[88+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA256"); - if (getenv("OQS_OID_FALCON1024WITHSHA384")) oqs_oid_alg_list[90+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA384"); - if (getenv("OQS_OID_FALCON1024WITHSHA512")) oqs_oid_alg_list[92+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA512"); - if (getenv("OQS_OID_FALCON1024WITHSHA3AT256")) oqs_oid_alg_list[94+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA3AT256"); - if (getenv("OQS_OID_FALCON1024WITHSHA3AT384")) oqs_oid_alg_list[96+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA3AT384"); - if (getenv("OQS_OID_FALCON1024WITHSHA3AT512")) oqs_oid_alg_list[98+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHA3AT512"); - if (getenv("OQS_OID_FALCON1024WITHSHAKE128")) oqs_oid_alg_list[100+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHAKE128"); - if (getenv("OQS_OID_FALCON1024WITHSHAKE256")) oqs_oid_alg_list[102+OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024WITHSHAKE256"); - if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[104+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[106+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_oid_alg_list[108+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[110+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[112+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_oid_alg_list[114+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[116+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) oqs_oid_alg_list[118+OQS_KEMOID_CNT] = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[120+OQS_KEMOID_CNT] = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[122+OQS_KEMOID_CNT] = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_oid_alg_list[124+OQS_KEMOID_CNT] = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); -///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END + if (getenv("OQS_OID_DILITHIUM2")) + oqs_oid_alg_list[0 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM2"); + if (getenv("OQS_OID_P256_DILITHIUM2")) + oqs_oid_alg_list[2 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_DILITHIUM2"); + if (getenv("OQS_OID_RSA3072_DILITHIUM2")) + oqs_oid_alg_list[4 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_DILITHIUM2"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA256")) + oqs_oid_alg_list[6 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA384")) + oqs_oid_alg_list[8 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA512")) + oqs_oid_alg_list[10 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT256")) + oqs_oid_alg_list[12 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT384")) + oqs_oid_alg_list[14 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM2WITHSHA3AT512")) + oqs_oid_alg_list[16 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE128")) + oqs_oid_alg_list[18 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM2WITHSHAKE256")) + oqs_oid_alg_list[20 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_OID_DILITHIUM3")) + oqs_oid_alg_list[22 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM3"); + if (getenv("OQS_OID_P384_DILITHIUM3")) + oqs_oid_alg_list[24 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P384_DILITHIUM3"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA256")) + oqs_oid_alg_list[26 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA384")) + oqs_oid_alg_list[28 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA512")) + oqs_oid_alg_list[30 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT256")) + oqs_oid_alg_list[32 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT384")) + oqs_oid_alg_list[34 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM3WITHSHA3AT512")) + oqs_oid_alg_list[36 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM3WITHSHAKE128")) + oqs_oid_alg_list[38 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM3WITHSHAKE256")) + oqs_oid_alg_list[40 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM3WITHSHAKE256"); + if (getenv("OQS_OID_DILITHIUM5")) + oqs_oid_alg_list[42 + OQS_KEMOID_CNT] = getenv("OQS_OID_DILITHIUM5"); + if (getenv("OQS_OID_P521_DILITHIUM5")) + oqs_oid_alg_list[44 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P521_DILITHIUM5"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA256")) + oqs_oid_alg_list[46 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHA256"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA384")) + oqs_oid_alg_list[48 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHA384"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA512")) + oqs_oid_alg_list[50 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHA512"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT256")) + oqs_oid_alg_list[52 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHA3AT256"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT384")) + oqs_oid_alg_list[54 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHA3AT384"); + if (getenv("OQS_OID_DILITHIUM5WITHSHA3AT512")) + oqs_oid_alg_list[56 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHA3AT512"); + if (getenv("OQS_OID_DILITHIUM5WITHSHAKE128")) + oqs_oid_alg_list[58 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHAKE128"); + if (getenv("OQS_OID_DILITHIUM5WITHSHAKE256")) + oqs_oid_alg_list[60 + OQS_KEMOID_CNT] + = getenv("OQS_OID_DILITHIUM5WITHSHAKE256"); + if (getenv("OQS_OID_FALCON512")) + oqs_oid_alg_list[62 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON512"); + if (getenv("OQS_OID_P256_FALCON512")) + oqs_oid_alg_list[64 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_FALCON512"); + if (getenv("OQS_OID_RSA3072_FALCON512")) + oqs_oid_alg_list[66 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_FALCON512"); + if (getenv("OQS_OID_FALCON512WITHSHA256")) + oqs_oid_alg_list[68 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHA256"); + if (getenv("OQS_OID_FALCON512WITHSHA384")) + oqs_oid_alg_list[70 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHA384"); + if (getenv("OQS_OID_FALCON512WITHSHA512")) + oqs_oid_alg_list[72 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHA512"); + if (getenv("OQS_OID_FALCON512WITHSHA3AT256")) + oqs_oid_alg_list[74 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHA3AT256"); + if (getenv("OQS_OID_FALCON512WITHSHA3AT384")) + oqs_oid_alg_list[76 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHA3AT384"); + if (getenv("OQS_OID_FALCON512WITHSHA3AT512")) + oqs_oid_alg_list[78 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHA3AT512"); + if (getenv("OQS_OID_FALCON512WITHSHAKE128")) + oqs_oid_alg_list[80 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHAKE128"); + if (getenv("OQS_OID_FALCON512WITHSHAKE256")) + oqs_oid_alg_list[82 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON512WITHSHAKE256"); + if (getenv("OQS_OID_FALCON1024")) + oqs_oid_alg_list[84 + OQS_KEMOID_CNT] = getenv("OQS_OID_FALCON1024"); + if (getenv("OQS_OID_P521_FALCON1024")) + oqs_oid_alg_list[86 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P521_FALCON1024"); + if (getenv("OQS_OID_FALCON1024WITHSHA256")) + oqs_oid_alg_list[88 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHA256"); + if (getenv("OQS_OID_FALCON1024WITHSHA384")) + oqs_oid_alg_list[90 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHA384"); + if (getenv("OQS_OID_FALCON1024WITHSHA512")) + oqs_oid_alg_list[92 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHA512"); + if (getenv("OQS_OID_FALCON1024WITHSHA3AT256")) + oqs_oid_alg_list[94 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHA3AT256"); + if (getenv("OQS_OID_FALCON1024WITHSHA3AT384")) + oqs_oid_alg_list[96 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHA3AT384"); + if (getenv("OQS_OID_FALCON1024WITHSHA3AT512")) + oqs_oid_alg_list[98 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHA3AT512"); + if (getenv("OQS_OID_FALCON1024WITHSHAKE128")) + oqs_oid_alg_list[100 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHAKE128"); + if (getenv("OQS_OID_FALCON1024WITHSHAKE256")) + oqs_oid_alg_list[102 + OQS_KEMOID_CNT] + = getenv("OQS_OID_FALCON1024WITHSHAKE256"); + if (getenv("OQS_OID_SPHINCSSHA2128FSIMPLE")) + oqs_oid_alg_list[104 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE")) + oqs_oid_alg_list[106 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE")) + oqs_oid_alg_list[108 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2128SSIMPLE")) + oqs_oid_alg_list[110 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE")) + oqs_oid_alg_list[112 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE")) + oqs_oid_alg_list[114 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHA2192FSIMPLE")) + oqs_oid_alg_list[116 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE")) + oqs_oid_alg_list[118 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE")) + oqs_oid_alg_list[120 + OQS_KEMOID_CNT] + = getenv("OQS_OID_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE")) + oqs_oid_alg_list[122 + OQS_KEMOID_CNT] + = getenv("OQS_OID_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE")) + oqs_oid_alg_list[124 + OQS_KEMOID_CNT] + = getenv("OQS_OID_RSA3072_SPHINCSSHAKE128FSIMPLE"); + ///// OQS_TEMPLATE_FRAGMENT_OID_PATCHING_END return 1; } @@ -314,133 +577,353 @@ const char *oqs_alg_encoding_list[OQS_OID_CNT] = {0}; int oqs_patch_encodings(void) { ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_START - if (getenv("OQS_ENCODING_DILITHIUM2")) oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); - if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2")) oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); - if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[3] = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); - if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) oqs_alg_encoding_list[5] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) oqs_alg_encoding_list[7] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384")) oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME")) oqs_alg_encoding_list[9] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512")) oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME")) oqs_alg_encoding_list[11] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256")) oqs_alg_encoding_list[12] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[13] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384")) oqs_alg_encoding_list[14] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[15] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512")) oqs_alg_encoding_list[16] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[17] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128")) oqs_alg_encoding_list[18] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[19] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256")) oqs_alg_encoding_list[20] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256"); - if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[21] = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3")) oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_DILITHIUM3"); - if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3")) oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P384_DILITHIUM3"); - if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) oqs_alg_encoding_list[25] = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA256")) oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA256"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA256_ALGNAME")) oqs_alg_encoding_list[27] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA384")) oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA384"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA384_ALGNAME")) oqs_alg_encoding_list[29] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA512")) oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA512"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA512_ALGNAME")) oqs_alg_encoding_list[31] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256")) oqs_alg_encoding_list[32] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[33] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384")) oqs_alg_encoding_list[34] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[35] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512")) oqs_alg_encoding_list[36] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[37] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128")) oqs_alg_encoding_list[38] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[39] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256")) oqs_alg_encoding_list[40] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256"); - if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[41] = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5")) oqs_alg_encoding_list[42] = getenv("OQS_ENCODING_DILITHIUM5"); - if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[43] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5")) oqs_alg_encoding_list[44] = getenv("OQS_ENCODING_P521_DILITHIUM5"); - if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) oqs_alg_encoding_list[45] = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA256")) oqs_alg_encoding_list[46] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA256"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA256_ALGNAME")) oqs_alg_encoding_list[47] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA384")) oqs_alg_encoding_list[48] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA384"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA384_ALGNAME")) oqs_alg_encoding_list[49] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA512")) oqs_alg_encoding_list[50] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA512"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA512_ALGNAME")) oqs_alg_encoding_list[51] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256")) oqs_alg_encoding_list[52] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[53] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384")) oqs_alg_encoding_list[54] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[55] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512")) oqs_alg_encoding_list[56] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[57] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128")) oqs_alg_encoding_list[58] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[59] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128_ALGNAME"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256")) oqs_alg_encoding_list[60] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256"); - if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[61] = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512")) oqs_alg_encoding_list[62] = getenv("OQS_ENCODING_FALCON512"); - if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) oqs_alg_encoding_list[63] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_P256_FALCON512")) oqs_alg_encoding_list[64] = getenv("OQS_ENCODING_P256_FALCON512"); - if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) oqs_alg_encoding_list[65] = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512")) oqs_alg_encoding_list[66] = getenv("OQS_ENCODING_RSA3072_FALCON512"); - if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) oqs_alg_encoding_list[67] = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA256")) oqs_alg_encoding_list[68] = getenv("OQS_ENCODING_FALCON512WITHSHA256"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA256_ALGNAME")) oqs_alg_encoding_list[69] = getenv("OQS_ENCODING_FALCON512WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA384")) oqs_alg_encoding_list[70] = getenv("OQS_ENCODING_FALCON512WITHSHA384"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA384_ALGNAME")) oqs_alg_encoding_list[71] = getenv("OQS_ENCODING_FALCON512WITHSHA384_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA512")) oqs_alg_encoding_list[72] = getenv("OQS_ENCODING_FALCON512WITHSHA512"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA512_ALGNAME")) oqs_alg_encoding_list[73] = getenv("OQS_ENCODING_FALCON512WITHSHA512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT256")) oqs_alg_encoding_list[74] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT256"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[75] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT256_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT384")) oqs_alg_encoding_list[76] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT384"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[77] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT384_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT512")) oqs_alg_encoding_list[78] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT512"); - if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[79] = getenv("OQS_ENCODING_FALCON512WITHSHA3AT512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHAKE128")) oqs_alg_encoding_list[80] = getenv("OQS_ENCODING_FALCON512WITHSHAKE128"); - if (getenv("OQS_ENCODING_FALCON512WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[81] = getenv("OQS_ENCODING_FALCON512WITHSHAKE128_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON512WITHSHAKE256")) oqs_alg_encoding_list[82] = getenv("OQS_ENCODING_FALCON512WITHSHAKE256"); - if (getenv("OQS_ENCODING_FALCON512WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[83] = getenv("OQS_ENCODING_FALCON512WITHSHAKE256_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024")) oqs_alg_encoding_list[84] = getenv("OQS_ENCODING_FALCON1024"); - if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) oqs_alg_encoding_list[85] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_P521_FALCON1024")) oqs_alg_encoding_list[86] = getenv("OQS_ENCODING_P521_FALCON1024"); - if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) oqs_alg_encoding_list[87] = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA256")) oqs_alg_encoding_list[88] = getenv("OQS_ENCODING_FALCON1024WITHSHA256"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA256_ALGNAME")) oqs_alg_encoding_list[89] = getenv("OQS_ENCODING_FALCON1024WITHSHA256_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA384")) oqs_alg_encoding_list[90] = getenv("OQS_ENCODING_FALCON1024WITHSHA384"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA384_ALGNAME")) oqs_alg_encoding_list[91] = getenv("OQS_ENCODING_FALCON1024WITHSHA384_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA512")) oqs_alg_encoding_list[92] = getenv("OQS_ENCODING_FALCON1024WITHSHA512"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA512_ALGNAME")) oqs_alg_encoding_list[93] = getenv("OQS_ENCODING_FALCON1024WITHSHA512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256")) oqs_alg_encoding_list[94] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256_ALGNAME")) oqs_alg_encoding_list[95] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384")) oqs_alg_encoding_list[96] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384_ALGNAME")) oqs_alg_encoding_list[97] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512")) oqs_alg_encoding_list[98] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512_ALGNAME")) oqs_alg_encoding_list[99] = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE128")) oqs_alg_encoding_list[100] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE128"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE128_ALGNAME")) oqs_alg_encoding_list[101] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE128_ALGNAME"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE256")) oqs_alg_encoding_list[102] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE256"); - if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE256_ALGNAME")) oqs_alg_encoding_list[103] = getenv("OQS_ENCODING_FALCON1024WITHSHAKE256_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[104] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[105] = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[106] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[107] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_alg_encoding_list[108] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[109] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[110] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[111] = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[112] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[113] = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_alg_encoding_list[114] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) oqs_alg_encoding_list[115] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[116] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[117] = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) oqs_alg_encoding_list[118] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); - if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) oqs_alg_encoding_list[119] = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[120] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[121] = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[122] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[123] = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_alg_encoding_list[124] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); - if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) oqs_alg_encoding_list[125] = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); -///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END + if (getenv("OQS_ENCODING_DILITHIUM2")) + oqs_alg_encoding_list[0] = getenv("OQS_ENCODING_DILITHIUM2"); + if (getenv("OQS_ENCODING_DILITHIUM2_ALGNAME")) + oqs_alg_encoding_list[1] = getenv("OQS_ENCODING_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2")) + oqs_alg_encoding_list[2] = getenv("OQS_ENCODING_P256_DILITHIUM2"); + if (getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME")) + oqs_alg_encoding_list[3] + = getenv("OQS_ENCODING_P256_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2")) + oqs_alg_encoding_list[4] = getenv("OQS_ENCODING_RSA3072_DILITHIUM2"); + if (getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME")) + oqs_alg_encoding_list[5] + = getenv("OQS_ENCODING_RSA3072_DILITHIUM2_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256")) + oqs_alg_encoding_list[6] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME")) + oqs_alg_encoding_list[7] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384")) + oqs_alg_encoding_list[8] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME")) + oqs_alg_encoding_list[9] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512")) + oqs_alg_encoding_list[10] = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME")) + oqs_alg_encoding_list[11] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256")) + oqs_alg_encoding_list[12] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME")) + oqs_alg_encoding_list[13] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384")) + oqs_alg_encoding_list[14] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME")) + oqs_alg_encoding_list[15] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512")) + oqs_alg_encoding_list[16] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME")) + oqs_alg_encoding_list[17] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128")) + oqs_alg_encoding_list[18] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME")) + oqs_alg_encoding_list[19] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256")) + oqs_alg_encoding_list[20] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME")) + oqs_alg_encoding_list[21] + = getenv("OQS_ENCODING_DILITHIUM2WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3")) + oqs_alg_encoding_list[22] = getenv("OQS_ENCODING_DILITHIUM3"); + if (getenv("OQS_ENCODING_DILITHIUM3_ALGNAME")) + oqs_alg_encoding_list[23] = getenv("OQS_ENCODING_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3")) + oqs_alg_encoding_list[24] = getenv("OQS_ENCODING_P384_DILITHIUM3"); + if (getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME")) + oqs_alg_encoding_list[25] + = getenv("OQS_ENCODING_P384_DILITHIUM3_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA256")) + oqs_alg_encoding_list[26] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA256_ALGNAME")) + oqs_alg_encoding_list[27] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA384")) + oqs_alg_encoding_list[28] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA384_ALGNAME")) + oqs_alg_encoding_list[29] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA512")) + oqs_alg_encoding_list[30] = getenv("OQS_ENCODING_DILITHIUM3WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA512_ALGNAME")) + oqs_alg_encoding_list[31] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256")) + oqs_alg_encoding_list[32] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256_ALGNAME")) + oqs_alg_encoding_list[33] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384")) + oqs_alg_encoding_list[34] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384_ALGNAME")) + oqs_alg_encoding_list[35] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512")) + oqs_alg_encoding_list[36] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512_ALGNAME")) + oqs_alg_encoding_list[37] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128")) + oqs_alg_encoding_list[38] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128_ALGNAME")) + oqs_alg_encoding_list[39] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256")) + oqs_alg_encoding_list[40] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256_ALGNAME")) + oqs_alg_encoding_list[41] + = getenv("OQS_ENCODING_DILITHIUM3WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5")) + oqs_alg_encoding_list[42] = getenv("OQS_ENCODING_DILITHIUM5"); + if (getenv("OQS_ENCODING_DILITHIUM5_ALGNAME")) + oqs_alg_encoding_list[43] = getenv("OQS_ENCODING_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5")) + oqs_alg_encoding_list[44] = getenv("OQS_ENCODING_P521_DILITHIUM5"); + if (getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME")) + oqs_alg_encoding_list[45] + = getenv("OQS_ENCODING_P521_DILITHIUM5_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA256")) + oqs_alg_encoding_list[46] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA256"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA256_ALGNAME")) + oqs_alg_encoding_list[47] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA384")) + oqs_alg_encoding_list[48] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA384"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA384_ALGNAME")) + oqs_alg_encoding_list[49] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA512")) + oqs_alg_encoding_list[50] = getenv("OQS_ENCODING_DILITHIUM5WITHSHA512"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA512_ALGNAME")) + oqs_alg_encoding_list[51] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256")) + oqs_alg_encoding_list[52] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256_ALGNAME")) + oqs_alg_encoding_list[53] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384")) + oqs_alg_encoding_list[54] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384_ALGNAME")) + oqs_alg_encoding_list[55] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512")) + oqs_alg_encoding_list[56] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512_ALGNAME")) + oqs_alg_encoding_list[57] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128")) + oqs_alg_encoding_list[58] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128_ALGNAME")) + oqs_alg_encoding_list[59] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256")) + oqs_alg_encoding_list[60] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256"); + if (getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256_ALGNAME")) + oqs_alg_encoding_list[61] + = getenv("OQS_ENCODING_DILITHIUM5WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512")) + oqs_alg_encoding_list[62] = getenv("OQS_ENCODING_FALCON512"); + if (getenv("OQS_ENCODING_FALCON512_ALGNAME")) + oqs_alg_encoding_list[63] = getenv("OQS_ENCODING_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_P256_FALCON512")) + oqs_alg_encoding_list[64] = getenv("OQS_ENCODING_P256_FALCON512"); + if (getenv("OQS_ENCODING_P256_FALCON512_ALGNAME")) + oqs_alg_encoding_list[65] + = getenv("OQS_ENCODING_P256_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512")) + oqs_alg_encoding_list[66] = getenv("OQS_ENCODING_RSA3072_FALCON512"); + if (getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME")) + oqs_alg_encoding_list[67] + = getenv("OQS_ENCODING_RSA3072_FALCON512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA256")) + oqs_alg_encoding_list[68] = getenv("OQS_ENCODING_FALCON512WITHSHA256"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA256_ALGNAME")) + oqs_alg_encoding_list[69] + = getenv("OQS_ENCODING_FALCON512WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA384")) + oqs_alg_encoding_list[70] = getenv("OQS_ENCODING_FALCON512WITHSHA384"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA384_ALGNAME")) + oqs_alg_encoding_list[71] + = getenv("OQS_ENCODING_FALCON512WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA512")) + oqs_alg_encoding_list[72] = getenv("OQS_ENCODING_FALCON512WITHSHA512"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA512_ALGNAME")) + oqs_alg_encoding_list[73] + = getenv("OQS_ENCODING_FALCON512WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT256")) + oqs_alg_encoding_list[74] + = getenv("OQS_ENCODING_FALCON512WITHSHA3AT256"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT256_ALGNAME")) + oqs_alg_encoding_list[75] + = getenv("OQS_ENCODING_FALCON512WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT384")) + oqs_alg_encoding_list[76] + = getenv("OQS_ENCODING_FALCON512WITHSHA3AT384"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT384_ALGNAME")) + oqs_alg_encoding_list[77] + = getenv("OQS_ENCODING_FALCON512WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT512")) + oqs_alg_encoding_list[78] + = getenv("OQS_ENCODING_FALCON512WITHSHA3AT512"); + if (getenv("OQS_ENCODING_FALCON512WITHSHA3AT512_ALGNAME")) + oqs_alg_encoding_list[79] + = getenv("OQS_ENCODING_FALCON512WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE128")) + oqs_alg_encoding_list[80] + = getenv("OQS_ENCODING_FALCON512WITHSHAKE128"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE128_ALGNAME")) + oqs_alg_encoding_list[81] + = getenv("OQS_ENCODING_FALCON512WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE256")) + oqs_alg_encoding_list[82] + = getenv("OQS_ENCODING_FALCON512WITHSHAKE256"); + if (getenv("OQS_ENCODING_FALCON512WITHSHAKE256_ALGNAME")) + oqs_alg_encoding_list[83] + = getenv("OQS_ENCODING_FALCON512WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024")) + oqs_alg_encoding_list[84] = getenv("OQS_ENCODING_FALCON1024"); + if (getenv("OQS_ENCODING_FALCON1024_ALGNAME")) + oqs_alg_encoding_list[85] = getenv("OQS_ENCODING_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_P521_FALCON1024")) + oqs_alg_encoding_list[86] = getenv("OQS_ENCODING_P521_FALCON1024"); + if (getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME")) + oqs_alg_encoding_list[87] + = getenv("OQS_ENCODING_P521_FALCON1024_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA256")) + oqs_alg_encoding_list[88] = getenv("OQS_ENCODING_FALCON1024WITHSHA256"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA256_ALGNAME")) + oqs_alg_encoding_list[89] + = getenv("OQS_ENCODING_FALCON1024WITHSHA256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA384")) + oqs_alg_encoding_list[90] = getenv("OQS_ENCODING_FALCON1024WITHSHA384"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA384_ALGNAME")) + oqs_alg_encoding_list[91] + = getenv("OQS_ENCODING_FALCON1024WITHSHA384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA512")) + oqs_alg_encoding_list[92] = getenv("OQS_ENCODING_FALCON1024WITHSHA512"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA512_ALGNAME")) + oqs_alg_encoding_list[93] + = getenv("OQS_ENCODING_FALCON1024WITHSHA512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256")) + oqs_alg_encoding_list[94] + = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256_ALGNAME")) + oqs_alg_encoding_list[95] + = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT256_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384")) + oqs_alg_encoding_list[96] + = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384_ALGNAME")) + oqs_alg_encoding_list[97] + = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT384_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512")) + oqs_alg_encoding_list[98] + = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512_ALGNAME")) + oqs_alg_encoding_list[99] + = getenv("OQS_ENCODING_FALCON1024WITHSHA3AT512_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE128")) + oqs_alg_encoding_list[100] + = getenv("OQS_ENCODING_FALCON1024WITHSHAKE128"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE128_ALGNAME")) + oqs_alg_encoding_list[101] + = getenv("OQS_ENCODING_FALCON1024WITHSHAKE128_ALGNAME"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE256")) + oqs_alg_encoding_list[102] + = getenv("OQS_ENCODING_FALCON1024WITHSHAKE256"); + if (getenv("OQS_ENCODING_FALCON1024WITHSHAKE256_ALGNAME")) + oqs_alg_encoding_list[103] + = getenv("OQS_ENCODING_FALCON1024WITHSHAKE256_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE")) + oqs_alg_encoding_list[104] + = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[105] + = getenv("OQS_ENCODING_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE")) + oqs_alg_encoding_list[106] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[107] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE")) + oqs_alg_encoding_list[108] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[109] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE")) + oqs_alg_encoding_list[110] + = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME")) + oqs_alg_encoding_list[111] + = getenv("OQS_ENCODING_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE")) + oqs_alg_encoding_list[112] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME")) + oqs_alg_encoding_list[113] + = getenv("OQS_ENCODING_P256_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE")) + oqs_alg_encoding_list[114] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME")) + oqs_alg_encoding_list[115] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHA2128SSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE")) + oqs_alg_encoding_list[116] + = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[117] + = getenv("OQS_ENCODING_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE")) + oqs_alg_encoding_list[118] + = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE"); + if (getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[119] + = getenv("OQS_ENCODING_P384_SPHINCSSHA2192FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE")) + oqs_alg_encoding_list[120] + = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[121] + = getenv("OQS_ENCODING_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE")) + oqs_alg_encoding_list[122] + = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[123] + = getenv("OQS_ENCODING_P256_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE")) + oqs_alg_encoding_list[124] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE"); + if (getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME")) + oqs_alg_encoding_list[125] + = getenv("OQS_ENCODING_RSA3072_SPHINCSSHAKE128FSIMPLE_ALGNAME"); + ///// OQS_TEMPLATE_FRAGMENT_ENCODING_PATCHING_END return 1; } #endif @@ -645,7 +1128,7 @@ static const OSSL_ALGORITHM oqsprovider_signatures[] = { SIGALG("p256_sphincsshake128fsimple", 128, oqs_signature_functions), SIGALG("rsa3072_sphincsshake128fsimple", 128, oqs_signature_functions), #endif -///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END + ///// OQS_TEMPLATE_FRAGMENT_SIG_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { @@ -723,8 +1206,8 @@ static const OSSL_ALGORITHM oqsprovider_asym_kems[] = { KEMBASEALG(hqc256, 256) KEMHYBALG(p521_hqc256, 256) #endif -// clang-format on -///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END + // clang-format on + ///// OQS_TEMPLATE_FRAGMENT_KEM_FUNCTIONS_END {NULL, NULL, NULL}}; static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { @@ -980,8 +1463,8 @@ static const OSSL_ALGORITHM oqsprovider_keymgmt[] = { KEMKMHYBALG(p521_hqc256, 256, ecp) #endif -// clang-format on -///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END + // clang-format on + ///// OQS_TEMPLATE_FRAGMENT_KEYMGMT_FUNCTIONS_END // ALG("x25519_sikep434", oqs_ecx_sikep434_keymgmt_functions), {NULL, NULL, NULL}}; diff --git a/oqsprov/oqsprov_capabilities.c b/oqsprov/oqsprov_capabilities.c index 7341e065..3e2cc418 100644 --- a/oqsprov/oqsprov_capabilities.c +++ b/oqsprov/oqsprov_capabilities.c @@ -35,64 +35,64 @@ typedef struct oqs_group_constants_st { static OQS_GROUP_CONSTANTS oqs_group_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_START - { 0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x0200, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F00, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F80, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0201, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F01, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F81, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0202, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F02, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F82, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0203, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F03, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F83, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0204, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F04, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0205, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F05, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3A, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F39, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3C, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2F90, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x6399, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x639A, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x023D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F3D, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0241, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F41, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAE, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0242, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F42, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FAF, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0243, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0244, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F43, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0244, 128, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F44, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB0, 128, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0245, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F44, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB0, 128, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0245, 192, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F45, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x2FB1, 192, TLS1_3_VERSION, 0, -1, -1, 1 }, - { 0x0246, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, + {0x2F45, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x2FB1, 192, TLS1_3_VERSION, 0, -1, -1, 1}, + {0x0246, 256, TLS1_3_VERSION, 0, -1, -1, 1}, - { 0x2F46, 256, TLS1_3_VERSION, 0, -1, -1, 1 }, -///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END + {0x2F46, 256, TLS1_3_VERSION, 0, -1, -1, 1}, + ///// OQS_TEMPLATE_FRAGMENT_GROUP_ASSIGNMENTS_END }; // Adds entries for tlsname, `ecx`_tlsname and `ecp`_tlsname @@ -128,13 +128,16 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(frodo640aes, frodo640aes, frodo640aes, 0), OQS_GROUP_ENTRY(p256_frodo640aes, p256_frodo640aes, p256_frodo640aes, 1), - OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, 2), + OQS_GROUP_ENTRY(x25519_frodo640aes, x25519_frodo640aes, x25519_frodo640aes, + 2), #endif #ifdef OQS_ENABLE_KEM_frodokem_640_shake OQS_GROUP_ENTRY(frodo640shake, frodo640shake, frodo640shake, 3), - OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, 4), - OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, x25519_frodo640shake, 5), + OQS_GROUP_ENTRY(p256_frodo640shake, p256_frodo640shake, p256_frodo640shake, + 4), + OQS_GROUP_ENTRY(x25519_frodo640shake, x25519_frodo640shake, + x25519_frodo640shake, 5), #endif #ifdef OQS_ENABLE_KEM_frodokem_976_aes OQS_GROUP_ENTRY(frodo976aes, frodo976aes, frodo976aes, 6), @@ -145,18 +148,22 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { #ifdef OQS_ENABLE_KEM_frodokem_976_shake OQS_GROUP_ENTRY(frodo976shake, frodo976shake, frodo976shake, 9), - OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, 10), - OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, 11), + OQS_GROUP_ENTRY(p384_frodo976shake, p384_frodo976shake, p384_frodo976shake, + 10), + OQS_GROUP_ENTRY(x448_frodo976shake, x448_frodo976shake, x448_frodo976shake, + 11), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_aes OQS_GROUP_ENTRY(frodo1344aes, frodo1344aes, frodo1344aes, 12), - OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, 13), + OQS_GROUP_ENTRY(p521_frodo1344aes, p521_frodo1344aes, p521_frodo1344aes, + 13), #endif #ifdef OQS_ENABLE_KEM_frodokem_1344_shake OQS_GROUP_ENTRY(frodo1344shake, frodo1344shake, frodo1344shake, 14), - OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, p521_frodo1344shake, 15), + OQS_GROUP_ENTRY(p521_frodo1344shake, p521_frodo1344shake, + p521_frodo1344shake, 15), #endif #ifdef OQS_ENABLE_KEM_kyber_512 OQS_GROUP_ENTRY(kyber512, kyber512, kyber512, 16), @@ -211,7 +218,7 @@ static const OSSL_PARAM oqs_param_group_list[][11] = { OQS_GROUP_ENTRY(p521_hqc256, p521_hqc256, p521_hqc256, 41), #endif -///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END + ///// OQS_TEMPLATE_FRAGMENT_GROUP_NAMES_END }; typedef struct oqs_sigalg_constants_st { @@ -224,183 +231,343 @@ typedef struct oqs_sigalg_constants_st { static OQS_SIGALG_CONSTANTS oqs_sigalg_list[] = { // ad-hoc assignments - take from OQS generate data structures ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_START - { 0xfe98, 128, TLS1_3_VERSION, 0 }, - { 0xfe99, 128, TLS1_3_VERSION, 0 }, - { 0xfe9a, 128, TLS1_3_VERSION, 0 }, - { 0xfe9b, 128, TLS1_3_VERSION, 0 }, - { 0xfe9c, 128, TLS1_3_VERSION, 0 }, - { 0xfe9d, 128, TLS1_3_VERSION, 0 }, - { 0xfe9e, 128, TLS1_3_VERSION, 0 }, - { 0xfe9f, 128, TLS1_3_VERSION, 0 }, - { 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, 192, TLS1_3_VERSION, 0 }, - { 0xfea6, 192, TLS1_3_VERSION, 0 }, - { 0xfea7, 192, TLS1_3_VERSION, 0 }, - { 0xfea8, 192, TLS1_3_VERSION, 0 }, - { 0xfea9, 192, TLS1_3_VERSION, 0 }, - { 0xfeaa, 192, TLS1_3_VERSION, 0 }, - { 0xfeab, 192, TLS1_3_VERSION, 0 }, - { 0xfeac, 192, TLS1_3_VERSION, 0 }, - { 0xfead, 256, TLS1_3_VERSION, 0 }, - { 0xfeae, 256, TLS1_3_VERSION, 0 }, - { 0xfeaf, 256, TLS1_3_VERSION, 0 }, - { 0xfeb0, 256, TLS1_3_VERSION, 0 }, - { 0xfeb1, 256, TLS1_3_VERSION, 0 }, - { 0xfeb2, 256, TLS1_3_VERSION, 0 }, - { 0xfeb3, 256, TLS1_3_VERSION, 0 }, - { 0xfeb4, 256, TLS1_3_VERSION, 0 }, - { 0xfeb5, 256, TLS1_3_VERSION, 0 }, - { 0xfeb6, 256, TLS1_3_VERSION, 0 }, - { 0xfebe, 128, TLS1_3_VERSION, 0 }, - { 0xfebf, 128, TLS1_3_VERSION, 0 }, - { 0xfec0, 128, TLS1_3_VERSION, 0 }, - { 0xfec1, 128, TLS1_3_VERSION, 0 }, - { 0xfec2, 128, TLS1_3_VERSION, 0 }, - { 0xfec3, 128, TLS1_3_VERSION, 0 }, - { 0xfec4, 128, TLS1_3_VERSION, 0 }, - { 0xfec5, 128, TLS1_3_VERSION, 0 }, - { 0xfec6, 128, TLS1_3_VERSION, 0 }, - { 0xfec7, 128, TLS1_3_VERSION, 0 }, - { 0xfec8, 128, TLS1_3_VERSION, 0 }, - { 0xfec9, 256, TLS1_3_VERSION, 0 }, - { 0xfeca, 256, TLS1_3_VERSION, 0 }, - { 0xfecb, 256, TLS1_3_VERSION, 0 }, - { 0xfecc, 256, TLS1_3_VERSION, 0 }, - { 0xfecd, 256, TLS1_3_VERSION, 0 }, - { 0xfece, 256, TLS1_3_VERSION, 0 }, - { 0xfecf, 256, TLS1_3_VERSION, 0 }, - { 0xfed0, 256, TLS1_3_VERSION, 0 }, - { 0xfed1, 256, TLS1_3_VERSION, 0 }, - { 0xfed2, 256, TLS1_3_VERSION, 0 }, - { 0xfe61, 128, TLS1_3_VERSION, 0 }, - { 0xfe62, 128, TLS1_3_VERSION, 0 }, - { 0xfe63, 128, TLS1_3_VERSION, 0 }, - { 0xfe6a, 128, TLS1_3_VERSION, 0 }, - { 0xfe6b, 128, TLS1_3_VERSION, 0 }, - { 0xfe6c, 128, TLS1_3_VERSION, 0 }, - { 0xfe72, 192, TLS1_3_VERSION, 0 }, - { 0xfe73, 192, TLS1_3_VERSION, 0 }, - { 0xff03, 128, TLS1_3_VERSION, 0 }, - { 0xff04, 128, TLS1_3_VERSION, 0 }, - { 0xff05, 128, TLS1_3_VERSION, 0 }, -///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END + {0xfe98, 128, TLS1_3_VERSION, 0}, {0xfe99, 128, TLS1_3_VERSION, 0}, + {0xfe9a, 128, TLS1_3_VERSION, 0}, {0xfe9b, 128, TLS1_3_VERSION, 0}, + {0xfe9c, 128, TLS1_3_VERSION, 0}, {0xfe9d, 128, TLS1_3_VERSION, 0}, + {0xfe9e, 128, TLS1_3_VERSION, 0}, {0xfe9f, 128, TLS1_3_VERSION, 0}, + {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, 192, TLS1_3_VERSION, 0}, + {0xfea6, 192, TLS1_3_VERSION, 0}, {0xfea7, 192, TLS1_3_VERSION, 0}, + {0xfea8, 192, TLS1_3_VERSION, 0}, {0xfea9, 192, TLS1_3_VERSION, 0}, + {0xfeaa, 192, TLS1_3_VERSION, 0}, {0xfeab, 192, TLS1_3_VERSION, 0}, + {0xfeac, 192, TLS1_3_VERSION, 0}, {0xfead, 256, TLS1_3_VERSION, 0}, + {0xfeae, 256, TLS1_3_VERSION, 0}, {0xfeaf, 256, TLS1_3_VERSION, 0}, + {0xfeb0, 256, TLS1_3_VERSION, 0}, {0xfeb1, 256, TLS1_3_VERSION, 0}, + {0xfeb2, 256, TLS1_3_VERSION, 0}, {0xfeb3, 256, TLS1_3_VERSION, 0}, + {0xfeb4, 256, TLS1_3_VERSION, 0}, {0xfeb5, 256, TLS1_3_VERSION, 0}, + {0xfeb6, 256, TLS1_3_VERSION, 0}, {0xfebe, 128, TLS1_3_VERSION, 0}, + {0xfebf, 128, TLS1_3_VERSION, 0}, {0xfec0, 128, TLS1_3_VERSION, 0}, + {0xfec1, 128, TLS1_3_VERSION, 0}, {0xfec2, 128, TLS1_3_VERSION, 0}, + {0xfec3, 128, TLS1_3_VERSION, 0}, {0xfec4, 128, TLS1_3_VERSION, 0}, + {0xfec5, 128, TLS1_3_VERSION, 0}, {0xfec6, 128, TLS1_3_VERSION, 0}, + {0xfec7, 128, TLS1_3_VERSION, 0}, {0xfec8, 128, TLS1_3_VERSION, 0}, + {0xfec9, 256, TLS1_3_VERSION, 0}, {0xfeca, 256, TLS1_3_VERSION, 0}, + {0xfecb, 256, TLS1_3_VERSION, 0}, {0xfecc, 256, TLS1_3_VERSION, 0}, + {0xfecd, 256, TLS1_3_VERSION, 0}, {0xfece, 256, TLS1_3_VERSION, 0}, + {0xfecf, 256, TLS1_3_VERSION, 0}, {0xfed0, 256, TLS1_3_VERSION, 0}, + {0xfed1, 256, TLS1_3_VERSION, 0}, {0xfed2, 256, TLS1_3_VERSION, 0}, + {0xfe61, 128, TLS1_3_VERSION, 0}, {0xfe62, 128, TLS1_3_VERSION, 0}, + {0xfe63, 128, TLS1_3_VERSION, 0}, {0xfe6a, 128, TLS1_3_VERSION, 0}, + {0xfe6b, 128, TLS1_3_VERSION, 0}, {0xfe6c, 128, TLS1_3_VERSION, 0}, + {0xfe72, 192, TLS1_3_VERSION, 0}, {0xfe73, 192, TLS1_3_VERSION, 0}, + {0xff03, 128, TLS1_3_VERSION, 0}, {0xff04, 128, TLS1_3_VERSION, 0}, + {0xff05, 128, TLS1_3_VERSION, 0}, + ///// OQS_TEMPLATE_FRAGMENT_SIGALG_ASSIGNMENTS_END }; int oqs_patch_codepoints() { ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_START - if (getenv("OQS_CODEPOINT_FRODO640AES")) oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); - if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) oqs_group_list[1].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) oqs_group_list[2].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); - if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) oqs_group_list[3].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) oqs_group_list[4].group_id = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) oqs_group_list[5].group_id = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO976AES")) oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); - if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) oqs_group_list[7].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); - if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) oqs_group_list[8].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); - if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) oqs_group_list[9].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) oqs_group_list[10].group_id = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) oqs_group_list[11].group_id = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); - if (getenv("OQS_CODEPOINT_FRODO1344AES")) oqs_group_list[12].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) oqs_group_list[13].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); - if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) oqs_group_list[14].group_id = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) oqs_group_list[15].group_id = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); - if (getenv("OQS_CODEPOINT_KYBER512")) oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); - if (getenv("OQS_CODEPOINT_P256_KYBER512")) oqs_group_list[17].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); - if (getenv("OQS_CODEPOINT_X25519_KYBER512")) oqs_group_list[18].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); - if (getenv("OQS_CODEPOINT_KYBER768")) oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); - if (getenv("OQS_CODEPOINT_P384_KYBER768")) oqs_group_list[20].group_id = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); - if (getenv("OQS_CODEPOINT_X448_KYBER768")) oqs_group_list[21].group_id = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); - if (getenv("OQS_CODEPOINT_X25519_KYBER768")) oqs_group_list[22].group_id = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); - if (getenv("OQS_CODEPOINT_P256_KYBER768")) oqs_group_list[23].group_id = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); - if (getenv("OQS_CODEPOINT_KYBER1024")) oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); - if (getenv("OQS_CODEPOINT_P521_KYBER1024")) oqs_group_list[25].group_id = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); - if (getenv("OQS_CODEPOINT_BIKEL1")) oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); - if (getenv("OQS_CODEPOINT_P256_BIKEL1")) oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); - if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) oqs_group_list[28].group_id = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); - if (getenv("OQS_CODEPOINT_BIKEL3")) oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); - if (getenv("OQS_CODEPOINT_P384_BIKEL3")) oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); - if (getenv("OQS_CODEPOINT_X448_BIKEL3")) oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); - if (getenv("OQS_CODEPOINT_BIKEL5")) oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); - if (getenv("OQS_CODEPOINT_P521_BIKEL5")) oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); - if (getenv("OQS_CODEPOINT_HQC128")) oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); - if (getenv("OQS_CODEPOINT_P256_HQC128")) oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); - if (getenv("OQS_CODEPOINT_X25519_HQC128")) oqs_group_list[36].group_id = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); - if (getenv("OQS_CODEPOINT_HQC192")) oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); - if (getenv("OQS_CODEPOINT_P384_HQC192")) oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); - if (getenv("OQS_CODEPOINT_X448_HQC192")) oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); - if (getenv("OQS_CODEPOINT_HQC256")) oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); - if (getenv("OQS_CODEPOINT_P521_HQC256")) oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); - - if (getenv("OQS_CODEPOINT_DILITHIUM2")) oqs_sigalg_list[0].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) oqs_sigalg_list[1].code_point = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) oqs_sigalg_list[2].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) oqs_sigalg_list[3].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")) oqs_sigalg_list[4].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")) oqs_sigalg_list[5].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")) oqs_sigalg_list[6].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")) oqs_sigalg_list[7].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")) oqs_sigalg_list[8].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")) oqs_sigalg_list[9].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")); - if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")) oqs_sigalg_list[10].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")); - if (getenv("OQS_CODEPOINT_DILITHIUM3")) oqs_sigalg_list[11].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) oqs_sigalg_list[12].code_point = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA256")) oqs_sigalg_list[13].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA256")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA384")) oqs_sigalg_list[14].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA384")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA512")) oqs_sigalg_list[15].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA512")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT256")) oqs_sigalg_list[16].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT256")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT384")) oqs_sigalg_list[17].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT384")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT512")) oqs_sigalg_list[18].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT512")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE128")) oqs_sigalg_list[19].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE128")); - if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE256")) oqs_sigalg_list[20].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE256")); - if (getenv("OQS_CODEPOINT_DILITHIUM5")) oqs_sigalg_list[21].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) oqs_sigalg_list[22].code_point = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA256")) oqs_sigalg_list[23].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA256")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA384")) oqs_sigalg_list[24].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA384")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA512")) oqs_sigalg_list[25].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA512")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT256")) oqs_sigalg_list[26].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT256")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT384")) oqs_sigalg_list[27].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT384")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT512")) oqs_sigalg_list[28].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT512")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE128")) oqs_sigalg_list[29].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE128")); - if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE256")) oqs_sigalg_list[30].code_point = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE256")); - if (getenv("OQS_CODEPOINT_FALCON512")) oqs_sigalg_list[31].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512")); - if (getenv("OQS_CODEPOINT_P256_FALCON512")) oqs_sigalg_list[32].code_point = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); - if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) oqs_sigalg_list[33].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHA256")) oqs_sigalg_list[34].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA256")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHA384")) oqs_sigalg_list[35].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA384")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHA512")) oqs_sigalg_list[36].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA512")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT256")) oqs_sigalg_list[37].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT256")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT384")) oqs_sigalg_list[38].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT384")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT512")) oqs_sigalg_list[39].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT512")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHAKE128")) oqs_sigalg_list[40].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHAKE128")); - if (getenv("OQS_CODEPOINT_FALCON512WITHSHAKE256")) oqs_sigalg_list[41].code_point = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHAKE256")); - if (getenv("OQS_CODEPOINT_FALCON1024")) oqs_sigalg_list[42].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024")); - if (getenv("OQS_CODEPOINT_P521_FALCON1024")) oqs_sigalg_list[43].code_point = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA256")) oqs_sigalg_list[44].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA256")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA384")) oqs_sigalg_list[45].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA384")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA512")) oqs_sigalg_list[46].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA512")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT256")) oqs_sigalg_list[47].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT256")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT384")) oqs_sigalg_list[48].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT384")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT512")) oqs_sigalg_list[49].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT512")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE128")) oqs_sigalg_list[50].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE128")); - if (getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE256")) oqs_sigalg_list[51].code_point = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE256")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[52].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[53].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) oqs_sigalg_list[54].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[55].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[56].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) oqs_sigalg_list[57].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[58].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) oqs_sigalg_list[59].code_point = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); - if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[60].code_point = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[61].code_point = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); - if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) oqs_sigalg_list[62].code_point = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); -///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END + if (getenv("OQS_CODEPOINT_FRODO640AES")) + oqs_group_list[0].group_id = atoi(getenv("OQS_CODEPOINT_FRODO640AES")); + if (getenv("OQS_CODEPOINT_P256_FRODO640AES")) + oqs_group_list[1].group_id + = atoi(getenv("OQS_CODEPOINT_P256_FRODO640AES")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640AES")) + oqs_group_list[2].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640AES")); + if (getenv("OQS_CODEPOINT_FRODO640SHAKE")) + oqs_group_list[3].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")) + oqs_group_list[4].group_id + = atoi(getenv("OQS_CODEPOINT_P256_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")) + oqs_group_list[5].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_FRODO640SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO976AES")) + oqs_group_list[6].group_id = atoi(getenv("OQS_CODEPOINT_FRODO976AES")); + if (getenv("OQS_CODEPOINT_P384_FRODO976AES")) + oqs_group_list[7].group_id + = atoi(getenv("OQS_CODEPOINT_P384_FRODO976AES")); + if (getenv("OQS_CODEPOINT_X448_FRODO976AES")) + oqs_group_list[8].group_id + = atoi(getenv("OQS_CODEPOINT_X448_FRODO976AES")); + if (getenv("OQS_CODEPOINT_FRODO976SHAKE")) + oqs_group_list[9].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")) + oqs_group_list[10].group_id + = atoi(getenv("OQS_CODEPOINT_P384_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")) + oqs_group_list[11].group_id + = atoi(getenv("OQS_CODEPOINT_X448_FRODO976SHAKE")); + if (getenv("OQS_CODEPOINT_FRODO1344AES")) + oqs_group_list[12].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344AES")) + oqs_group_list[13].group_id + = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344AES")); + if (getenv("OQS_CODEPOINT_FRODO1344SHAKE")) + oqs_group_list[14].group_id + = atoi(getenv("OQS_CODEPOINT_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")) + oqs_group_list[15].group_id + = atoi(getenv("OQS_CODEPOINT_P521_FRODO1344SHAKE")); + if (getenv("OQS_CODEPOINT_KYBER512")) + oqs_group_list[16].group_id = atoi(getenv("OQS_CODEPOINT_KYBER512")); + if (getenv("OQS_CODEPOINT_P256_KYBER512")) + oqs_group_list[17].group_id + = atoi(getenv("OQS_CODEPOINT_P256_KYBER512")); + if (getenv("OQS_CODEPOINT_X25519_KYBER512")) + oqs_group_list[18].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_KYBER512")); + if (getenv("OQS_CODEPOINT_KYBER768")) + oqs_group_list[19].group_id = atoi(getenv("OQS_CODEPOINT_KYBER768")); + if (getenv("OQS_CODEPOINT_P384_KYBER768")) + oqs_group_list[20].group_id + = atoi(getenv("OQS_CODEPOINT_P384_KYBER768")); + if (getenv("OQS_CODEPOINT_X448_KYBER768")) + oqs_group_list[21].group_id + = atoi(getenv("OQS_CODEPOINT_X448_KYBER768")); + if (getenv("OQS_CODEPOINT_X25519_KYBER768")) + oqs_group_list[22].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_KYBER768")); + if (getenv("OQS_CODEPOINT_P256_KYBER768")) + oqs_group_list[23].group_id + = atoi(getenv("OQS_CODEPOINT_P256_KYBER768")); + if (getenv("OQS_CODEPOINT_KYBER1024")) + oqs_group_list[24].group_id = atoi(getenv("OQS_CODEPOINT_KYBER1024")); + if (getenv("OQS_CODEPOINT_P521_KYBER1024")) + oqs_group_list[25].group_id + = atoi(getenv("OQS_CODEPOINT_P521_KYBER1024")); + if (getenv("OQS_CODEPOINT_BIKEL1")) + oqs_group_list[26].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL1")); + if (getenv("OQS_CODEPOINT_P256_BIKEL1")) + oqs_group_list[27].group_id = atoi(getenv("OQS_CODEPOINT_P256_BIKEL1")); + if (getenv("OQS_CODEPOINT_X25519_BIKEL1")) + oqs_group_list[28].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_BIKEL1")); + if (getenv("OQS_CODEPOINT_BIKEL3")) + oqs_group_list[29].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL3")); + if (getenv("OQS_CODEPOINT_P384_BIKEL3")) + oqs_group_list[30].group_id = atoi(getenv("OQS_CODEPOINT_P384_BIKEL3")); + if (getenv("OQS_CODEPOINT_X448_BIKEL3")) + oqs_group_list[31].group_id = atoi(getenv("OQS_CODEPOINT_X448_BIKEL3")); + if (getenv("OQS_CODEPOINT_BIKEL5")) + oqs_group_list[32].group_id = atoi(getenv("OQS_CODEPOINT_BIKEL5")); + if (getenv("OQS_CODEPOINT_P521_BIKEL5")) + oqs_group_list[33].group_id = atoi(getenv("OQS_CODEPOINT_P521_BIKEL5")); + if (getenv("OQS_CODEPOINT_HQC128")) + oqs_group_list[34].group_id = atoi(getenv("OQS_CODEPOINT_HQC128")); + if (getenv("OQS_CODEPOINT_P256_HQC128")) + oqs_group_list[35].group_id = atoi(getenv("OQS_CODEPOINT_P256_HQC128")); + if (getenv("OQS_CODEPOINT_X25519_HQC128")) + oqs_group_list[36].group_id + = atoi(getenv("OQS_CODEPOINT_X25519_HQC128")); + if (getenv("OQS_CODEPOINT_HQC192")) + oqs_group_list[37].group_id = atoi(getenv("OQS_CODEPOINT_HQC192")); + if (getenv("OQS_CODEPOINT_P384_HQC192")) + oqs_group_list[38].group_id = atoi(getenv("OQS_CODEPOINT_P384_HQC192")); + if (getenv("OQS_CODEPOINT_X448_HQC192")) + oqs_group_list[39].group_id = atoi(getenv("OQS_CODEPOINT_X448_HQC192")); + if (getenv("OQS_CODEPOINT_HQC256")) + oqs_group_list[40].group_id = atoi(getenv("OQS_CODEPOINT_HQC256")); + if (getenv("OQS_CODEPOINT_P521_HQC256")) + oqs_group_list[41].group_id = atoi(getenv("OQS_CODEPOINT_P521_HQC256")); + + if (getenv("OQS_CODEPOINT_DILITHIUM2")) + oqs_sigalg_list[0].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_P256_DILITHIUM2")) + oqs_sigalg_list[1].code_point + = atoi(getenv("OQS_CODEPOINT_P256_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")) + oqs_sigalg_list[2].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_DILITHIUM2")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")) + oqs_sigalg_list[3].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")) + oqs_sigalg_list[4].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")) + oqs_sigalg_list[5].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")) + oqs_sigalg_list[6].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")) + oqs_sigalg_list[7].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")) + oqs_sigalg_list[8].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")) + oqs_sigalg_list[9].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")) + oqs_sigalg_list[10].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM2WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3")) + oqs_sigalg_list[11].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_P384_DILITHIUM3")) + oqs_sigalg_list[12].code_point + = atoi(getenv("OQS_CODEPOINT_P384_DILITHIUM3")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA256")) + oqs_sigalg_list[13].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA384")) + oqs_sigalg_list[14].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA512")) + oqs_sigalg_list[15].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT256")) + oqs_sigalg_list[16].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT384")) + oqs_sigalg_list[17].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT512")) + oqs_sigalg_list[18].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE128")) + oqs_sigalg_list[19].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE256")) + oqs_sigalg_list[20].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM3WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_DILITHIUM5")) + oqs_sigalg_list[21].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_P521_DILITHIUM5")) + oqs_sigalg_list[22].code_point + = atoi(getenv("OQS_CODEPOINT_P521_DILITHIUM5")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA256")) + oqs_sigalg_list[23].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA256")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA384")) + oqs_sigalg_list[24].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA384")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA512")) + oqs_sigalg_list[25].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA512")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT256")) + oqs_sigalg_list[26].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT384")) + oqs_sigalg_list[27].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT512")) + oqs_sigalg_list[28].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE128")) + oqs_sigalg_list[29].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE256")) + oqs_sigalg_list[30].code_point + = atoi(getenv("OQS_CODEPOINT_DILITHIUM5WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_FALCON512")) + oqs_sigalg_list[31].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512")); + if (getenv("OQS_CODEPOINT_P256_FALCON512")) + oqs_sigalg_list[32].code_point + = atoi(getenv("OQS_CODEPOINT_P256_FALCON512")); + if (getenv("OQS_CODEPOINT_RSA3072_FALCON512")) + oqs_sigalg_list[33].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_FALCON512")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA256")) + oqs_sigalg_list[34].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA256")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA384")) + oqs_sigalg_list[35].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA384")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA512")) + oqs_sigalg_list[36].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA512")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT256")) + oqs_sigalg_list[37].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT384")) + oqs_sigalg_list[38].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT512")) + oqs_sigalg_list[39].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHAKE128")) + oqs_sigalg_list[40].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_FALCON512WITHSHAKE256")) + oqs_sigalg_list[41].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON512WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_FALCON1024")) + oqs_sigalg_list[42].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024")); + if (getenv("OQS_CODEPOINT_P521_FALCON1024")) + oqs_sigalg_list[43].code_point + = atoi(getenv("OQS_CODEPOINT_P521_FALCON1024")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA256")) + oqs_sigalg_list[44].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA256")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA384")) + oqs_sigalg_list[45].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA384")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA512")) + oqs_sigalg_list[46].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA512")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT256")) + oqs_sigalg_list[47].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT256")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT384")) + oqs_sigalg_list[48].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT384")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT512")) + oqs_sigalg_list[49].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHA3AT512")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE128")) + oqs_sigalg_list[50].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE128")); + if (getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE256")) + oqs_sigalg_list[51].code_point + = atoi(getenv("OQS_CODEPOINT_FALCON1024WITHSHAKE256")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[52].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[53].code_point + = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")) + oqs_sigalg_list[54].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[55].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[56].code_point + = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")) + oqs_sigalg_list[57].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHA2128SSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")) + oqs_sigalg_list[58].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")) + oqs_sigalg_list[59].code_point + = atoi(getenv("OQS_CODEPOINT_P384_SPHINCSSHA2192FSIMPLE")); + if (getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[60].code_point + = atoi(getenv("OQS_CODEPOINT_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[61].code_point + = atoi(getenv("OQS_CODEPOINT_P256_SPHINCSSHAKE128FSIMPLE")); + if (getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")) + oqs_sigalg_list[62].code_point + = atoi(getenv("OQS_CODEPOINT_RSA3072_SPHINCSSHAKE128FSIMPLE")); + ///// OQS_TEMPLATE_FRAGMENT_CODEPOINT_PATCHING_END return 1; } @@ -440,168 +607,248 @@ static int oqs_group_capability(OSSL_CALLBACK *cb, void *arg) static const OSSL_PARAM oqs_param_sigalg_list[][12] = { ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_START -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, "1.3.6.1.4.1.2.267.7.4.4", 0), - OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, "1.3.9999.2.7.1", 1), - OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, "1.3.9999.2.7.2", 2), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha384, dilithium2WithSha384, dilithium2WithSha384, "1.3.6.1.4.1.18227.999.1.1.2", 4), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha512, dilithium2WithSha512, dilithium2WithSha512, "1.3.6.1.4.1.18227.999.1.1.3", 5), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At256, dilithium2WithSha3At256, dilithium2WithSha3At256, "1.3.6.1.4.1.18227.999.1.1.4", 6), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At384, dilithium2WithSha3At384, dilithium2WithSha3At384, "1.3.6.1.4.1.18227.999.1.1.5", 7), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithSha3At512, dilithium2WithSha3At512, dilithium2WithSha3At512, "1.3.6.1.4.1.18227.999.1.1.6", 8), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithShake128, dilithium2WithShake128, dilithium2WithShake128, "1.3.6.1.4.1.18227.999.1.1.7", 9), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_2 - OQS_SIGALG_ENTRY(dilithium2WithShake256, dilithium2WithShake256, dilithium2WithShake256, "1.3.6.1.4.1.18227.999.1.1.8", 10), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, "1.3.6.1.4.1.2.267.7.6.5", 11), - OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, "1.3.9999.2.7.3", 12), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithSha256, dilithium3WithSha256, dilithium3WithSha256, "1.3.6.1.4.1.18227.999.1.2.1", 13), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithSha384, dilithium3WithSha384, dilithium3WithSha384, "1.3.6.1.4.1.18227.999.1.2.2", 14), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithSha512, dilithium3WithSha512, dilithium3WithSha512, "1.3.6.1.4.1.18227.999.1.2.3", 15), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithSha3At256, dilithium3WithSha3At256, dilithium3WithSha3At256, "1.3.6.1.4.1.18227.999.1.2.4", 16), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithSha3At384, dilithium3WithSha3At384, dilithium3WithSha3At384, "1.3.6.1.4.1.18227.999.1.2.5", 17), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithSha3At512, dilithium3WithSha3At512, dilithium3WithSha3At512, "1.3.6.1.4.1.18227.999.1.2.6", 18), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithShake128, dilithium3WithShake128, dilithium3WithShake128, "1.3.6.1.4.1.18227.999.1.2.7", 19), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_3 - OQS_SIGALG_ENTRY(dilithium3WithShake256, dilithium3WithShake256, dilithium3WithShake256, "1.3.6.1.4.1.18227.999.1.2.8", 20), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, "1.3.6.1.4.1.2.267.7.8.7", 21), - OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, "1.3.9999.2.7.4", 22), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithSha256, dilithium5WithSha256, dilithium5WithSha256, "1.3.6.1.4.1.18227.999.1.3.1", 23), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithSha384, dilithium5WithSha384, dilithium5WithSha384, "1.3.6.1.4.1.18227.999.1.3.2", 24), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithSha512, dilithium5WithSha512, dilithium5WithSha512, "1.3.6.1.4.1.18227.999.1.3.3", 25), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithSha3At256, dilithium5WithSha3At256, dilithium5WithSha3At256, "1.3.6.1.4.1.18227.999.1.3.4", 26), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithSha3At384, dilithium5WithSha3At384, dilithium5WithSha3At384, "1.3.6.1.4.1.18227.999.1.3.5", 27), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithSha3At512, dilithium5WithSha3At512, dilithium5WithSha3At512, "1.3.6.1.4.1.18227.999.1.3.6", 28), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithShake128, dilithium5WithShake128, dilithium5WithShake128, "1.3.6.1.4.1.18227.999.1.3.7", 29), -#endif -#ifdef OQS_ENABLE_SIG_dilithium_5 - OQS_SIGALG_ENTRY(dilithium5WithShake256, dilithium5WithShake256, dilithium5WithShake256, "1.3.6.1.4.1.18227.999.1.3.8", 30), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2, dilithium2, dilithium2, + "1.3.6.1.4.1.2.267.7.4.4", 0), + OQS_SIGALG_ENTRY(p256_dilithium2, p256_dilithium2, p256_dilithium2, + "1.3.9999.2.7.1", 1), + OQS_SIGALG_ENTRY(rsa3072_dilithium2, rsa3072_dilithium2, rsa3072_dilithium2, + "1.3.9999.2.7.2", 2), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha256, dilithium2WithSha256, + dilithium2WithSha256, "1.3.6.1.4.1.18227.999.1.1.1", 3), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha384, dilithium2WithSha384, + dilithium2WithSha384, "1.3.6.1.4.1.18227.999.1.1.2", 4), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha512, dilithium2WithSha512, + dilithium2WithSha512, "1.3.6.1.4.1.18227.999.1.1.3", 5), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At256, dilithium2WithSha3At256, + dilithium2WithSha3At256, "1.3.6.1.4.1.18227.999.1.1.4", 6), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At384, dilithium2WithSha3At384, + dilithium2WithSha3At384, "1.3.6.1.4.1.18227.999.1.1.5", 7), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithSha3At512, dilithium2WithSha3At512, + dilithium2WithSha3At512, "1.3.6.1.4.1.18227.999.1.1.6", 8), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake128, dilithium2WithShake128, + dilithium2WithShake128, "1.3.6.1.4.1.18227.999.1.1.7", 9), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_2 + OQS_SIGALG_ENTRY(dilithium2WithShake256, dilithium2WithShake256, + dilithium2WithShake256, "1.3.6.1.4.1.18227.999.1.1.8", 10), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3, dilithium3, dilithium3, + "1.3.6.1.4.1.2.267.7.6.5", 11), + OQS_SIGALG_ENTRY(p384_dilithium3, p384_dilithium3, p384_dilithium3, + "1.3.9999.2.7.3", 12), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha256, dilithium3WithSha256, + dilithium3WithSha256, "1.3.6.1.4.1.18227.999.1.2.1", 13), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha384, dilithium3WithSha384, + dilithium3WithSha384, "1.3.6.1.4.1.18227.999.1.2.2", 14), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha512, dilithium3WithSha512, + dilithium3WithSha512, "1.3.6.1.4.1.18227.999.1.2.3", 15), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha3At256, dilithium3WithSha3At256, + dilithium3WithSha3At256, "1.3.6.1.4.1.18227.999.1.2.4", + 16), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha3At384, dilithium3WithSha3At384, + dilithium3WithSha3At384, "1.3.6.1.4.1.18227.999.1.2.5", + 17), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithSha3At512, dilithium3WithSha3At512, + dilithium3WithSha3At512, "1.3.6.1.4.1.18227.999.1.2.6", + 18), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithShake128, dilithium3WithShake128, + dilithium3WithShake128, "1.3.6.1.4.1.18227.999.1.2.7", 19), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_3 + OQS_SIGALG_ENTRY(dilithium3WithShake256, dilithium3WithShake256, + dilithium3WithShake256, "1.3.6.1.4.1.18227.999.1.2.8", 20), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5, dilithium5, dilithium5, + "1.3.6.1.4.1.2.267.7.8.7", 21), + OQS_SIGALG_ENTRY(p521_dilithium5, p521_dilithium5, p521_dilithium5, + "1.3.9999.2.7.4", 22), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha256, dilithium5WithSha256, + dilithium5WithSha256, "1.3.6.1.4.1.18227.999.1.3.1", 23), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha384, dilithium5WithSha384, + dilithium5WithSha384, "1.3.6.1.4.1.18227.999.1.3.2", 24), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha512, dilithium5WithSha512, + dilithium5WithSha512, "1.3.6.1.4.1.18227.999.1.3.3", 25), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha3At256, dilithium5WithSha3At256, + dilithium5WithSha3At256, "1.3.6.1.4.1.18227.999.1.3.4", + 26), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha3At384, dilithium5WithSha3At384, + dilithium5WithSha3At384, "1.3.6.1.4.1.18227.999.1.3.5", + 27), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithSha3At512, dilithium5WithSha3At512, + dilithium5WithSha3At512, "1.3.6.1.4.1.18227.999.1.3.6", + 28), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithShake128, dilithium5WithShake128, + dilithium5WithShake128, "1.3.6.1.4.1.18227.999.1.3.7", 29), +# endif +# ifdef OQS_ENABLE_SIG_dilithium_5 + OQS_SIGALG_ENTRY(dilithium5WithShake256, dilithium5WithShake256, + dilithium5WithShake256, "1.3.6.1.4.1.18227.999.1.3.8", 30), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 OQS_SIGALG_ENTRY(falcon512, falcon512, falcon512, "1.3.9999.3.6", 31), - OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, "1.3.9999.3.7", 32), - OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, "1.3.9999.3.8", 33), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithSha256, falcon512WithSha256, falcon512WithSha256, "1.3.6.1.4.1.18227.999.2.3.1.1", 34), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithSha384, falcon512WithSha384, falcon512WithSha384, "1.3.6.1.4.1.18227.999.2.3.2.1", 35), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithSha512, falcon512WithSha512, falcon512WithSha512, "1.3.6.1.4.1.18227.999.2.3.3.1", 36), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithSha3At256, falcon512WithSha3At256, falcon512WithSha3At256, "1.3.6.1.4.1.18227.999.2.3.4.1", 37), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithSha3At384, falcon512WithSha3At384, falcon512WithSha3At384, "1.3.6.1.4.1.18227.999.2.3.5.1", 38), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithSha3At512, falcon512WithSha3At512, falcon512WithSha3At512, "1.3.6.1.4.1.18227.999.2.3.6.1", 39), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithShake128, falcon512WithShake128, falcon512WithShake128, "1.3.6.1.4.1.18227.999.2.3.7.1", 40), -#endif -#ifdef OQS_ENABLE_SIG_falcon_512 - OQS_SIGALG_ENTRY(falcon512WithShake256, falcon512WithShake256, falcon512WithShake256, "1.3.6.1.4.1.18227.999.2.3.8.1", 41), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(p256_falcon512, p256_falcon512, p256_falcon512, + "1.3.9999.3.7", 32), + OQS_SIGALG_ENTRY(rsa3072_falcon512, rsa3072_falcon512, rsa3072_falcon512, + "1.3.9999.3.8", 33), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha256, falcon512WithSha256, + falcon512WithSha256, "1.3.6.1.4.1.18227.999.2.3.1.1", 34), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha384, falcon512WithSha384, + falcon512WithSha384, "1.3.6.1.4.1.18227.999.2.3.2.1", 35), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha512, falcon512WithSha512, + falcon512WithSha512, "1.3.6.1.4.1.18227.999.2.3.3.1", 36), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha3At256, falcon512WithSha3At256, + falcon512WithSha3At256, "1.3.6.1.4.1.18227.999.2.3.4.1", + 37), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha3At384, falcon512WithSha3At384, + falcon512WithSha3At384, "1.3.6.1.4.1.18227.999.2.3.5.1", + 38), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithSha3At512, falcon512WithSha3At512, + falcon512WithSha3At512, "1.3.6.1.4.1.18227.999.2.3.6.1", + 39), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithShake128, falcon512WithShake128, + falcon512WithShake128, "1.3.6.1.4.1.18227.999.2.3.7.1", + 40), +# endif +# ifdef OQS_ENABLE_SIG_falcon_512 + OQS_SIGALG_ENTRY(falcon512WithShake256, falcon512WithShake256, + falcon512WithShake256, "1.3.6.1.4.1.18227.999.2.3.8.1", + 41), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 OQS_SIGALG_ENTRY(falcon1024, falcon1024, falcon1024, "1.3.9999.3.9", 42), - OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, "1.3.9999.3.10", 43), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithSha256, falcon1024WithSha256, falcon1024WithSha256, "1.3.6.1.4.1.18227.999.2.2.1.1", 44), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithSha384, falcon1024WithSha384, falcon1024WithSha384, "1.3.6.1.4.1.18227.999.2.2.2.1", 45), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithSha512, falcon1024WithSha512, falcon1024WithSha512, "1.3.6.1.4.1.18227.999.2.2.3.1", 46), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithSha3At256, falcon1024WithSha3At256, falcon1024WithSha3At256, "1.3.6.1.4.1.18227.999.2.2.4.1", 47), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithSha3At384, falcon1024WithSha3At384, falcon1024WithSha3At384, "1.3.6.1.4.1.18227.999.2.2.5.1", 48), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithSha3At512, falcon1024WithSha3At512, falcon1024WithSha3At512, "1.3.6.1.4.1.18227.999.2.2.6.1", 49), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithShake128, falcon1024WithShake128, falcon1024WithShake128, "1.3.6.1.4.1.18227.999.2.2.7.1", 50), -#endif -#ifdef OQS_ENABLE_SIG_falcon_1024 - OQS_SIGALG_ENTRY(falcon1024WithShake256, falcon1024WithShake256, falcon1024WithShake256, "1.3.6.1.4.1.18227.999.2.2.8.1", 51), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple - OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, sphincssha2128fsimple, "1.3.9999.6.4.13", 52), - OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 53), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 54), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple - OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, sphincssha2128ssimple, "1.3.9999.6.4.16", 55), - OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 56), - OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 57), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple - OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, sphincssha2192fsimple, "1.3.9999.6.5.10", 58), - OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 59), -#endif -#ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple - OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, sphincsshake128fsimple, "1.3.9999.6.7.13", 60), - OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 61), - OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 62), -#endif -///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END + OQS_SIGALG_ENTRY(p521_falcon1024, p521_falcon1024, p521_falcon1024, + "1.3.9999.3.10", 43), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha256, falcon1024WithSha256, + falcon1024WithSha256, "1.3.6.1.4.1.18227.999.2.2.1.1", 44), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha384, falcon1024WithSha384, + falcon1024WithSha384, "1.3.6.1.4.1.18227.999.2.2.2.1", 45), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha512, falcon1024WithSha512, + falcon1024WithSha512, "1.3.6.1.4.1.18227.999.2.2.3.1", 46), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha3At256, falcon1024WithSha3At256, + falcon1024WithSha3At256, "1.3.6.1.4.1.18227.999.2.2.4.1", + 47), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha3At384, falcon1024WithSha3At384, + falcon1024WithSha3At384, "1.3.6.1.4.1.18227.999.2.2.5.1", + 48), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithSha3At512, falcon1024WithSha3At512, + falcon1024WithSha3At512, "1.3.6.1.4.1.18227.999.2.2.6.1", + 49), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithShake128, falcon1024WithShake128, + falcon1024WithShake128, "1.3.6.1.4.1.18227.999.2.2.7.1", + 50), +# endif +# ifdef OQS_ENABLE_SIG_falcon_1024 + OQS_SIGALG_ENTRY(falcon1024WithShake256, falcon1024WithShake256, + falcon1024WithShake256, "1.3.6.1.4.1.18227.999.2.2.8.1", + 51), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_sha2_128f_simple + OQS_SIGALG_ENTRY(sphincssha2128fsimple, sphincssha2128fsimple, + sphincssha2128fsimple, "1.3.9999.6.4.13", 52), + OQS_SIGALG_ENTRY(p256_sphincssha2128fsimple, p256_sphincssha2128fsimple, + p256_sphincssha2128fsimple, "1.3.9999.6.4.14", 53), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128fsimple, + rsa3072_sphincssha2128fsimple, + rsa3072_sphincssha2128fsimple, "1.3.9999.6.4.15", 54), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_sha2_128s_simple + OQS_SIGALG_ENTRY(sphincssha2128ssimple, sphincssha2128ssimple, + sphincssha2128ssimple, "1.3.9999.6.4.16", 55), + OQS_SIGALG_ENTRY(p256_sphincssha2128ssimple, p256_sphincssha2128ssimple, + p256_sphincssha2128ssimple, "1.3.9999.6.4.17", 56), + OQS_SIGALG_ENTRY(rsa3072_sphincssha2128ssimple, + rsa3072_sphincssha2128ssimple, + rsa3072_sphincssha2128ssimple, "1.3.9999.6.4.18", 57), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_sha2_192f_simple + OQS_SIGALG_ENTRY(sphincssha2192fsimple, sphincssha2192fsimple, + sphincssha2192fsimple, "1.3.9999.6.5.10", 58), + OQS_SIGALG_ENTRY(p384_sphincssha2192fsimple, p384_sphincssha2192fsimple, + p384_sphincssha2192fsimple, "1.3.9999.6.5.11", 59), +# endif +# ifdef OQS_ENABLE_SIG_sphincs_shake_128f_simple + OQS_SIGALG_ENTRY(sphincsshake128fsimple, sphincsshake128fsimple, + sphincsshake128fsimple, "1.3.9999.6.7.13", 60), + OQS_SIGALG_ENTRY(p256_sphincsshake128fsimple, p256_sphincsshake128fsimple, + p256_sphincsshake128fsimple, "1.3.9999.6.7.14", 61), + OQS_SIGALG_ENTRY(rsa3072_sphincsshake128fsimple, + rsa3072_sphincsshake128fsimple, + rsa3072_sphincsshake128fsimple, "1.3.9999.6.7.15", 62), +# endif + ///// OQS_TEMPLATE_FRAGMENT_SIGALG_NAMES_END }; static int oqs_sigalg_capability(OSSL_CALLBACK *cb, void *arg) diff --git a/oqsprov/oqsprov_keys.c b/oqsprov/oqsprov_keys.c index 490b9758..33358779 100644 --- a/oqsprov/oqsprov_keys.c +++ b/oqsprov/oqsprov_keys.c @@ -53,127 +53,144 @@ static int oqsx_key_recreate_classickey(OQSX_KEY *key, oqsx_key_op_t op); ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_START - - - - #ifdef OQS_KEM_ENCODERS -#define NID_TABLE_LEN 105 +# define NID_TABLE_LEN 105 #else -#define NID_TABLE_LEN 63 +# define NID_TABLE_LEN 63 #endif static oqs_nid_name_t nid_names[NID_TABLE_LEN] = { #ifdef OQS_KEM_ENCODERS - { 0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128 }, - { 0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128 }, - { 0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192 }, - { 0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192 }, - { 0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256 }, - { 0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256 }, - { 0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128 }, - { 0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192 }, - { 0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256 }, - { 0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128 }, - { 0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192 }, - { 0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256 }, - { 0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM , 256 }, - { 0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128 }, - { 0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM , 128 }, - { 0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM , 128 }, - { 0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192 }, - { 0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM , 192 }, - { 0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM , 192 }, - { 0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256 }, - { 0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM , 256 }, + {0, "frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_KEM, 128}, + {0, "p256_frodo640aes", OQS_KEM_alg_frodokem_640_aes, KEY_TYPE_ECP_HYB_KEM, + 128}, + {0, "x25519_frodo640aes", OQS_KEM_alg_frodokem_640_aes, + KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "frodo640shake", OQS_KEM_alg_frodokem_640_shake, KEY_TYPE_KEM, 128}, + {0, "p256_frodo640shake", OQS_KEM_alg_frodokem_640_shake, + KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_frodo640shake", OQS_KEM_alg_frodokem_640_shake, + KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_KEM, 192}, + {0, "p384_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECP_HYB_KEM, + 192}, + {0, "x448_frodo976aes", OQS_KEM_alg_frodokem_976_aes, KEY_TYPE_ECX_HYB_KEM, + 192}, + {0, "frodo976shake", OQS_KEM_alg_frodokem_976_shake, KEY_TYPE_KEM, 192}, + {0, "p384_frodo976shake", OQS_KEM_alg_frodokem_976_shake, + KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_frodo976shake", OQS_KEM_alg_frodokem_976_shake, + KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, KEY_TYPE_KEM, 256}, + {0, "p521_frodo1344aes", OQS_KEM_alg_frodokem_1344_aes, + KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, KEY_TYPE_KEM, 256}, + {0, "p521_frodo1344shake", OQS_KEM_alg_frodokem_1344_shake, + KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_KEM, 128}, + {0, "p256_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_kyber512", OQS_KEM_alg_kyber_512, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_KEM, 192}, + {0, "p384_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "x25519_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "p256_kyber768", OQS_KEM_alg_kyber_768, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_KEM, 256}, + {0, "p521_kyber1024", OQS_KEM_alg_kyber_1024, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_KEM, 128}, + {0, "p256_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_bikel1", OQS_KEM_alg_bike_l1, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_KEM, 192}, + {0, "p384_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_bikel3", OQS_KEM_alg_bike_l3, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_KEM, 256}, + {0, "p521_bikel5", OQS_KEM_alg_bike_l5, KEY_TYPE_ECP_HYB_KEM, 256}, + {0, "hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_KEM, 128}, + {0, "p256_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECP_HYB_KEM, 128}, + {0, "x25519_hqc128", OQS_KEM_alg_hqc_128, KEY_TYPE_ECX_HYB_KEM, 128}, + {0, "hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_KEM, 192}, + {0, "p384_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECP_HYB_KEM, 192}, + {0, "x448_hqc192", OQS_KEM_alg_hqc_192, KEY_TYPE_ECX_HYB_KEM, 192}, + {0, "hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_KEM, 256}, + {0, "p521_hqc256", OQS_KEM_alg_hqc_256, KEY_TYPE_ECP_HYB_KEM, 256}, #endif /* OQS_KEM_ENCODERS */ - { 0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128 }, - { 0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha3At256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha3At384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithSha3At512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithShake128", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium2WithShake256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128 }, - { 0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192 }, - { 0, "dilithium3WithSha256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium3WithSha384", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium3WithSha512", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium3WithSha3At256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium3WithSha3At384", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium3WithSha3At512", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium3WithShake128", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium3WithShake256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192 }, - { 0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256 }, - { 0, "dilithium5WithSha256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "dilithium5WithSha384", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "dilithium5WithSha512", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "dilithium5WithSha3At256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "dilithium5WithSha3At384", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "dilithium5WithSha3At512", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "dilithium5WithShake128", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "dilithium5WithShake256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256 }, - { 0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128 }, - { 0, "falcon512WithSha256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon512WithSha384", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon512WithSha512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon512WithSha3At256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon512WithSha3At384", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon512WithSha3At512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon512WithShake128", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon512WithShake256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128 }, - { 0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256 }, - { 0, "falcon1024WithSha256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "falcon1024WithSha384", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "falcon1024WithSha512", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "falcon1024WithSha3At256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "falcon1024WithSha3At384", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "falcon1024WithSha3At512", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "falcon1024WithShake128", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "falcon1024WithShake256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256 }, - { 0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_SIG, 192 }, - { 0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, KEY_TYPE_HYB_SIG, 192 }, - { 0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_SIG, 128 }, - { 0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, - { 0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, KEY_TYPE_HYB_SIG, 128 }, -///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END + {0, "dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "p256_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_dilithium2", OQS_SIG_alg_dilithium_2, KEY_TYPE_HYB_SIG, 128}, + {0, "dilithium2WithSha256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha3At256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha3At384", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithSha3At512", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithShake128", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium2WithShake256", OQS_SIG_alg_dilithium_2, KEY_TYPE_SIG, 128}, + {0, "dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "p384_dilithium3", OQS_SIG_alg_dilithium_3, KEY_TYPE_HYB_SIG, 192}, + {0, "dilithium3WithSha256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium3WithSha384", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium3WithSha512", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium3WithSha3At256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium3WithSha3At384", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium3WithSha3At512", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium3WithShake128", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium3WithShake256", OQS_SIG_alg_dilithium_3, KEY_TYPE_SIG, 192}, + {0, "dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "p521_dilithium5", OQS_SIG_alg_dilithium_5, KEY_TYPE_HYB_SIG, 256}, + {0, "dilithium5WithSha256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "dilithium5WithSha384", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "dilithium5WithSha512", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "dilithium5WithSha3At256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "dilithium5WithSha3At384", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "dilithium5WithSha3At512", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "dilithium5WithShake128", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "dilithium5WithShake256", OQS_SIG_alg_dilithium_5, KEY_TYPE_SIG, 256}, + {0, "falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "p256_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_falcon512", OQS_SIG_alg_falcon_512, KEY_TYPE_HYB_SIG, 128}, + {0, "falcon512WithSha256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon512WithSha384", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon512WithSha512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon512WithSha3At256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon512WithSha3At384", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon512WithSha3At512", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon512WithShake128", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon512WithShake256", OQS_SIG_alg_falcon_512, KEY_TYPE_SIG, 128}, + {0, "falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "p521_falcon1024", OQS_SIG_alg_falcon_1024, KEY_TYPE_HYB_SIG, 256}, + {0, "falcon1024WithSha256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "falcon1024WithSha384", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "falcon1024WithSha512", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "falcon1024WithSha3At256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "falcon1024WithSha3At384", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "falcon1024WithSha3At512", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "falcon1024WithShake128", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "falcon1024WithShake256", OQS_SIG_alg_falcon_1024, KEY_TYPE_SIG, 256}, + {0, "sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincssha2128fsimple", OQS_SIG_alg_sphincs_sha2_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincssha2128ssimple", OQS_SIG_alg_sphincs_sha2_128s_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, + KEY_TYPE_SIG, 192}, + {0, "p384_sphincssha2192fsimple", OQS_SIG_alg_sphincs_sha2_192f_simple, + KEY_TYPE_HYB_SIG, 192}, + {0, "sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_SIG, 128}, + {0, "p256_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + {0, "rsa3072_sphincsshake128fsimple", OQS_SIG_alg_sphincs_shake_128f_simple, + KEY_TYPE_HYB_SIG, 128}, + ///// OQS_TEMPLATE_FRAGMENT_OQSNAMES_END }; int oqs_set_nid(char *tlsname, int nid) diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c index e72bc0d9..c67472a3 100644 --- a/test/oqs_test_hashnsign.c +++ b/test/oqs_test_hashnsign.c @@ -55,7 +55,8 @@ static const EVP_MD *get_digest_for_algorithm(const char *alg_name) return md; } -static int test_hash_n_sign(const char *sigalg_name) { +static int test_hash_n_sign(const char *sigalg_name) +{ EVP_MD_CTX *mdctx = NULL; EVP_PKEY_CTX *pkey_ctx = NULL; EVP_PKEY *key = NULL; @@ -71,7 +72,9 @@ static int test_hash_n_sign(const char *sigalg_name) { const EVP_MD *md_type = get_digest_for_algorithm(sigalg_name); if (!md_type) { - printf("Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", sigalg_name); + printf( + "Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", + sigalg_name); return 1; } @@ -110,7 +113,8 @@ static int test_hash_n_sign(const char *sigalg_name) { } if (EVP_DigestSignFinal(mdctx, NULL, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get length) failed for %s.\n", sigalg_name); + printf("EVP_DigestSignFinal (get length) failed for %s.\n", + sigalg_name); testresult = 0; goto cleanup; } @@ -123,7 +127,8 @@ static int test_hash_n_sign(const char *sigalg_name) { } if (EVP_DigestSignFinal(mdctx, sig, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get signature) failed for %s.\n", sigalg_name); + printf("EVP_DigestSignFinal (get signature) failed for %s.\n", + sigalg_name); testresult = 0; goto cleanup; } diff --git a/test/oqs_test_tlssig.c b/test/oqs_test_tlssig.c index 1664c511..a2f4bd73 100644 --- a/test/oqs_test_tlssig.c +++ b/test/oqs_test_tlssig.c @@ -60,7 +60,7 @@ static int test_oqs_tlssig(const char *sig_name) if (!testresult) { fprintf(stderr, "Failed to create TLS context pair.\n"); - ERR_print_errors_fp(stderr); // Log SSL errors + ERR_print_errors_fp(stderr); // Log SSL errors ret = -1; goto err; } @@ -75,7 +75,8 @@ static int test_oqs_tlssig(const char *sig_name) testresult = create_tls_connection(serverssl, clientssl, SSL_ERROR_NONE); if (!testresult) { fprintf(stderr, "TLS handshake failed for %s.\n", sig_name); - int ssl_err = SSL_get_error(clientssl, testresult); // Or serverssl, depending on which failed + int ssl_err = SSL_get_error( + clientssl, testresult); // Or serverssl, depending on which failed fprintf(stderr, "SSL error code: %d\n", ssl_err); ERR_print_errors_fp(stderr); // Detailed SSL error logging ret = -5; From e7af68d08408269e7352139a5c7524967761dbc2 Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Fri, 8 Dec 2023 14:54:56 -0500 Subject: [PATCH 16/17] changed printf to fprintf for hashnsign test --- test/oqs_test_hashnsign.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c index c67472a3..b5c3be70 100644 --- a/test/oqs_test_hashnsign.c +++ b/test/oqs_test_hashnsign.c @@ -66,13 +66,13 @@ static int test_hash_n_sign(const char *sigalg_name) int testresult = 0; if (!alg_is_enabled(sigalg_name)) { - printf("Not testing disabled algorithm %s.\n", sigalg_name); + fprintf(stderr, "Not testing disabled algorithm %s.\n", sigalg_name); return 1; } const EVP_MD *md_type = get_digest_for_algorithm(sigalg_name); if (!md_type) { - printf( + fprintf(stderr, "Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", sigalg_name); return 1; @@ -80,40 +80,40 @@ static int test_hash_n_sign(const char *sigalg_name) pkey_ctx = EVP_PKEY_CTX_new_from_name(libctx, sigalg_name, NULL); if (!pkey_ctx) { - printf("EVP_PKEY_CTX_new_from_name failed for %s.\n", sigalg_name); + fprintf(stderr, "EVP_PKEY_CTX_new_from_name failed for %s.\n", sigalg_name); goto cleanup; } if (EVP_PKEY_keygen_init(pkey_ctx) <= 0) { - printf("EVP_PKEY_keygen_init failed for %s.\n", sigalg_name); + fprintf(stderr, "EVP_PKEY_keygen_init failed for %s.\n", sigalg_name); goto cleanup; } if (EVP_PKEY_generate(pkey_ctx, &key) <= 0) { - printf("EVP_PKEY_generate failed for %s.\n", sigalg_name); + fprintf(stderr, "EVP_PKEY_generate failed for %s.\n", sigalg_name); goto cleanup; } mdctx = EVP_MD_CTX_new(); if (mdctx == NULL) { - printf("EVP_MD_CTX_new failed for %s.\n", sigalg_name); + fprintf(stderr, "EVP_MD_CTX_new failed for %s.\n", sigalg_name); goto cleanup; } if (EVP_DigestSignInit(mdctx, NULL, md_type, NULL, key) <= 0) { - printf("EVP_DigestSignInit failed for %s.\n", sigalg_name); + fprintf(stderr, "EVP_DigestSignInit failed for %s.\n", sigalg_name); testresult = 0; goto cleanup; } if (EVP_DigestSignUpdate(mdctx, msg, strlen(msg)) <= 0) { - printf("EVP_DigestSignUpdate failed for %s.\n", sigalg_name); + fprintf(stderr, "EVP_DigestSignUpdate failed for %s.\n", sigalg_name); testresult = 0; goto cleanup; } if (EVP_DigestSignFinal(mdctx, NULL, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get length) failed for %s.\n", + fprintf(stderr, "EVP_DigestSignFinal (get length) failed for %s.\n", sigalg_name); testresult = 0; goto cleanup; @@ -121,13 +121,13 @@ static int test_hash_n_sign(const char *sigalg_name) sig = OPENSSL_malloc(siglen); if (sig == NULL) { - printf("OPENSSL_malloc failed for %s.\n", sigalg_name); + fprintf(stderr, "OPENSSL_malloc failed for %s.\n", sigalg_name); testresult = 0; goto cleanup; } if (EVP_DigestSignFinal(mdctx, sig, &siglen) <= 0) { - printf("EVP_DigestSignFinal (get signature) failed for %s.\n", + fprintf(stderr,"EVP_DigestSignFinal (get signature) failed for %s.\n", sigalg_name); testresult = 0; goto cleanup; From dc2a0d6a934fa4a1c81adb6e344fe67f621a690c Mon Sep 17 00:00:00 2001 From: trigpolynom Date: Fri, 8 Dec 2023 14:57:01 -0500 Subject: [PATCH 17/17] needed to fix clang-format --- test/oqs_test_hashnsign.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/oqs_test_hashnsign.c b/test/oqs_test_hashnsign.c index b5c3be70..65eb4f92 100644 --- a/test/oqs_test_hashnsign.c +++ b/test/oqs_test_hashnsign.c @@ -66,13 +66,14 @@ static int test_hash_n_sign(const char *sigalg_name) int testresult = 0; if (!alg_is_enabled(sigalg_name)) { - fprintf(stderr, "Not testing disabled algorithm %s.\n", sigalg_name); + fprintf(stderr, "Not testing disabled algorithm %s.\n", sigalg_name); return 1; } const EVP_MD *md_type = get_digest_for_algorithm(sigalg_name); if (!md_type) { - fprintf(stderr, + fprintf( + stderr, "Unsupported digest type for algorithm %s.\n Not failing over unsupported hash algs.", sigalg_name); return 1; @@ -80,7 +81,8 @@ static int test_hash_n_sign(const char *sigalg_name) pkey_ctx = EVP_PKEY_CTX_new_from_name(libctx, sigalg_name, NULL); if (!pkey_ctx) { - fprintf(stderr, "EVP_PKEY_CTX_new_from_name failed for %s.\n", sigalg_name); + fprintf(stderr, "EVP_PKEY_CTX_new_from_name failed for %s.\n", + sigalg_name); goto cleanup; } @@ -114,7 +116,7 @@ static int test_hash_n_sign(const char *sigalg_name) if (EVP_DigestSignFinal(mdctx, NULL, &siglen) <= 0) { fprintf(stderr, "EVP_DigestSignFinal (get length) failed for %s.\n", - sigalg_name); + sigalg_name); testresult = 0; goto cleanup; } @@ -127,8 +129,8 @@ static int test_hash_n_sign(const char *sigalg_name) } if (EVP_DigestSignFinal(mdctx, sig, &siglen) <= 0) { - fprintf(stderr,"EVP_DigestSignFinal (get signature) failed for %s.\n", - sigalg_name); + fprintf(stderr, "EVP_DigestSignFinal (get signature) failed for %s.\n", + sigalg_name); testresult = 0; goto cleanup; }