From 80f72670ca8fd2c6795d19d232c0be6ceb8405b5 Mon Sep 17 00:00:00 2001 From: Daniel Van Geest Date: Wed, 24 Jan 2024 20:24:14 +0000 Subject: [PATCH] A bit of cleanup of the hackathon results HTML - Add borders to tables to make them readable. - Swap rows/columns of Algorithms Tested table so it's not a mile wide. - Algorithms Tested table was fuller than it should have been. It had checks for algorithms that had artifacts but no test results. --- docs/pqc_hackathon_results_certs_r3.html | 922 ++++++++++------------- docs/pqc_hackathon_results_certs_r3.md | 88 ++- src/pqc_report_writer_certs_r3.py | 41 +- 3 files changed, 499 insertions(+), 552 deletions(-) diff --git a/docs/pqc_hackathon_results_certs_r3.html b/docs/pqc_hackathon_results_certs_r3.html index bc286251..1d707abd 100644 --- a/docs/pqc_hackathon_results_certs_r3.html +++ b/docs/pqc_hackathon_results_certs_r3.html @@ -81,198 +81,98 @@

Algorithms

  • [hybrid[composite(1.2.840.10045.4.3.4 (hybridcomposite(1.2.840.10045.4.3.4)
  • [hybrid[composite(1.2.840.113549.1.1.11 (hybridcomposite(1.2.840.113549.1.1.11)
  • -

    In all tables below, Rows are producers. Columns are parsers.

    + +

    In the individual algorithm tables below, Rows are producers. Columns are parsers.

    Algorithms Tested

    To be in this table, an algorithm must have a test result in one of the tables below (pass or fail). Algorithms for which we have artifacts but no test results are not shown.

    -------------------------------------------------------------------------------++++++++++++++ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + @@ -280,39 +180,45 @@

    Algorithms Tested

    - - - - - - - - - - + + + + + - - + + + + + + + + + + + + + @@ -323,25 +229,28 @@

    Algorithms Tested

    + + + + - - - - + + + @@ -349,10 +258,18 @@

    Algorithms Tested

    + + + + + + + + @@ -363,7 +280,15 @@

    Algorithms Tested

    + + + + + + + + @@ -371,14 +296,14 @@

    Algorithms Tested

    + + + - - - @@ -386,24 +311,32 @@

    Algorithms Tested

    - + + + + - + - - + + + + + + + @@ -413,53 +346,27 @@

    Algorithms Tested

    - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + @@ -469,9 +376,12 @@

    Algorithms Tested

    + + + + - @@ -479,7 +389,15 @@

    Algorithms Tested

    - + + + + + + + + + @@ -490,62 +408,105 @@

    Algorithms Tested

    + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + - - - - - - + + + + + + + @@ -554,49 +515,35 @@

    Algorithms Tested

    - + + + + + - - - + - - + - - - - - - - - - - - - - - - - + @@ -604,50 +551,65 @@

    Algorithms Tested

    + + + + + + - - + + + + + + + + + - - - - + + + + + + - + @@ -656,46 +618,39 @@

    Algorithms Tested

    - - - - + - - - - - - - - - - - - - - + + + + + - + + + + + + @@ -708,27 +663,33 @@

    Algorithms Tested

    + + + + + + + + - - - + @@ -737,66 +698,77 @@

    Algorithms Tested

    - - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + - - @@ -804,11 +776,14 @@

    Algorithms Tested

    + + + - + @@ -816,36 +791,47 @@

    Algorithms Tested

    - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -854,16 +840,14 @@

    Algorithms Tested

    + + + - - - - - @@ -872,11 +856,14 @@

    Algorithms Tested

    + + + + - @@ -884,14 +871,18 @@

    Algorithms Tested

    - - + + + + + + @@ -899,52 +890,28 @@

    Algorithms Tested

    - - - + - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - @@ -953,11 +920,14 @@

    Algorithms Tested

    + + + + - @@ -965,93 +935,80 @@

    Algorithms Tested

    - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - - + + + - - - + + + + + + + @@ -1061,32 +1018,12 @@

    Algorithms Tested

    - - - + - - - - - - - - - - - - - - - - - - - + @@ -1095,41 +1032,44 @@

    Algorithms Tested

    + + + + - - - - - - + + + + - - + + + - + @@ -1141,34 +1081,12 @@

    Algorithms Tested

    - - - + + - - - - - - - - - - - - - - - - - - - - - @@ -1178,39 +1096,44 @@

    Algorithms Tested

    + + + + + - - - - - - + + + + + - - + + + - + @@ -1223,75 +1146,42 @@

    Algorithms Tested

    - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + - + diff --git a/docs/pqc_hackathon_results_certs_r3.md b/docs/pqc_hackathon_results_certs_r3.md index 0fafa4c6..15f9d5f8 100644 --- a/docs/pqc_hackathon_results_certs_r3.md +++ b/docs/pqc_hackathon_results_certs_r3.md @@ -86,28 +86,84 @@ Algorithms * [hybrid[composite(1.2.840.113549.1.1.11 (hybrid[composite(1.2.840.113549.1.1.11)](#hybridcomposite128401135491111-hybridcomposite128401135491111) -In all tables below, Rows are producers. Columns are parsers. + + +In the individual algorithm tables below, Rows are producers. Columns are parsers. # Algorithms Tested To be in this table, an algorithm must have a test result in one of the tables below (pass or fail). Algorithms for which we have artifacts but no test results are not shown. -|-|ecPublicKey|rsaEncryption|ED448|~~DilithiumAES2~~|ML-DSA-44-ipd|ML-DSA-65-ipd|ML-DSA-87-ipd|~~Dilithium2~~|~~Dilithium3~~|~~Dilithium5~~|ML-KEM-512-ipd|ML-KEM-768-ipd|ML-KEM-1024-ipd|~~kyber512_shake~~|~~kyber768_shake~~|~~kyber1024_shake~~|1.3.6.1.4.1.59634.9999.2.2.1|1.3.6.1.4.1.59634.9999.2.2.2|1.3.6.1.4.1.59634.9999.2.2.3|1.3.9999.2.7.2|1.3.9999.2.7.4|~~Falcon-512~~|~~Falcon-1024~~|Falcon-512|Falcon-1024|~~SPHINCS+-SHA256-128f-robust~~|~~SPHINCS+-SHA256-128s-simple~~|SLH-DSA-SHA2-128f-ipd|SLH-DSA-SHA2-128s-ipd|~~SPHINCS+-SHA256-128f-simple~~|SLH-DSA-SHA2-192f-ipd|SLH-DSA-SHA2-192s-ipd|~~SPHINCS+-SHA256-192f-simple~~|~~SPHINCS+-SHA256-192s-simple~~|SLH-DSA-SHA2-256f-ipd|SLH-DSA-SHA2-256s-ipd|~~SPHINCS+-SHA256-256f-simple~~|~~SPHINCS+-SHA256-256s-simple~~|SLH-DSA-SHAKE-128f-ipd|SLH-DSA-SHAKE-128s-ipd|1.3.9999.6.7.4|SLH-DSA-SHAKE-192f-ipd|SLH-DSA-SHAKE-192s-ipd|1.3.9999.6.8.3|SLH-DSA-SHAKE-256f-ipd|SLH-DSA-SHAKE-256s-ipd|1.3.9999.6.9.3|id-Dilithium3-RSA-PKCS15-SHA256|id-Dilithium3-RSA-PSS-SHA256|id-Dilithium3-ECDSA-P256-SHA256|id-Dilithium3-ECDSA-brainpoolP256r1-SHA256|id-Dilithium5-ECDSA-P384-SHA384|id-Dilithium5-ECDSA-brainpoolP384r1-SHA384|~~id-Falcon512-ECDSA-P256-SHA256~~|~~id-Falcon512-ECDSA-brainpoolP256r1-SHA256~~|catalyst|catalyst|catalyst|catalyst|catalyst|chameleon|chameleon|chameleon|composite|composite|composite|composite|composite|hybrid-catalyst|hybrid[catalyst(1.2.840.10045.4.3.2|hybrid[catalyst(1.2.840.10045.4.3.4|hybrid[catalyst(1.2.840.113549.1.1.11|hybrid[chameleon(1.2.840.10045.4.3.2|hybrid[chameleon(1.2.840.10045.4.3.4|hybrid[chameleon(1.2.840.113549.1.1.11|hybrid[composite(1.2.840.10045.4.3.2|hybrid[composite(1.2.840.10045.4.3.4|hybrid[composite(1.2.840.113549.1.1.11| -| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | -|bc|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|||✅|✅||✅|✅|||✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|||||||||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||✅|✅|✅|✅|✅|✅|✅|✅|✅| -|botan|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||||||||||||||||✅||✅|✅||✅|✅||✅|||||||✅||||✅||✅||||||✅||✅||||||||||| -|carl-redhound|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|||✅|✅||✅|✅|||✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|||||||||||✅||✅||||||✅||✅||||||||||| -|corey-digicert|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|||✅|✅||✅|✅|||✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|||||||||||✅||✅||||||✅||✅|✅|||||||||| -|cryptonext|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||||||||||||||||✅||✅|✅||✅|✅||✅|||||||||||✅||✅||||||✅||✅||||||||||| -|cryptonext-cnsprovider|✅|✅|✅||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||||||✅|✅|||||✅|✅||✅|✅|||✅|✅|||✅|✅||✅|✅||✅|✅||||||||||||||||||||||||||||||||| -|entrust|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|||✅||✅||||||✅||✅||||||||||| -|isi-wolfssl|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||||||||||||||||✅||✅|✅||✅|✅||✅|||||||||||✅||✅||||||✅||✅||||||||||| -|kris|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||||||||||||||✅||✅|✅||✅|✅||✅|||||||||||✅||✅||||||✅||✅||||||||||| -|openca|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||||||||||||||||✅||✅|✅||✅|✅||✅|||||||||||✅||✅||||||✅||✅||||||||||| -|oqs-gnutls|✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅||||||||||||||||✅||✅|✅||✅|✅||✅|||||||||||✅||✅||||||✅||✅||||||||||| -|oqs-openssl111|✅|✅||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|||✅|||||||||||||✅||✅|✅||✅|✅||✅|||||||||||✅||✅||||||✅||✅||||||||||| -|oqs-provider|✅|✅|✅||✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|✅|||✅|✅||✅|✅|||✅|✅|||✅|✅|✅|✅|✅|✅|✅|✅|✅|||||||||||✅||✅||||||✅||✅||||||||||| +|-|bc|botan|carl-redhound|corey-digicert|cryptonext|cryptonext-cnsprovider|entrust|isi-wolfssl|kris|openca|oqs-gnutls|oqs-openssl111|oqs-provider| +| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | +|ecPublicKey|||||✅|✅|||||||| +|rsaEncryption|||||✅|✅|||||||| +|ED448||||||✅|||||||✅| +|ML-DSA-44-ipd|✅||✅|✅|✅|✅|||✅||||| +|ML-DSA-65-ipd|✅||✅|✅|✅|✅|||✅||||| +|ML-DSA-87-ipd|✅||✅|✅|✅|✅|||✅||||| +|~~Dilithium2~~|✅|✅|✅|✅|✅|✅|✅||✅|✅||✅|✅| +|~~Dilithium3~~|✅|✅|✅|✅|✅|✅|✅||✅|✅|✅|✅|✅| +|~~Dilithium5~~|✅|✅|✅|✅|✅|✅|✅||✅|✅||✅|✅| +|ML-KEM-512-ipd|✅|||✅|✅|✅|||||||| +|ML-KEM-768-ipd|✅|||✅|✅|✅|||||||| +|ML-KEM-1024-ipd|✅|||✅|✅|✅|||||||| +|~~kyber512_shake~~|||||✅|✅|||||||| +|~~kyber768_shake~~|||||✅|✅|||||||| +|~~kyber1024_shake~~|||||✅|✅|||||||| +|1.3.6.1.4.1.59634.9999.2.2.1|||||✅||||||||| +|1.3.6.1.4.1.59634.9999.2.2.2|||||✅||||||||| +|1.3.6.1.4.1.59634.9999.2.2.3|||||✅||||||||| +|1.3.9999.2.7.2|||||✅||||||||| +|1.3.9999.2.7.4|||||✅||||||||| +|~~Falcon-512~~|✅||✅|✅|✅|✅|✅||✅|✅||✅|✅| +|~~Falcon-1024~~|✅||✅|✅|✅|✅|✅||✅|✅||✅|✅| +|Falcon-512|||✅|✅|||✅||✅||||✅| +|Falcon-1024|||✅|✅|||✅||✅||||✅| +|~~SPHINCS+-SHA256-128s-simple~~|||||||✅||||||| +|SLH-DSA-SHA2-128f-ipd|✅||✅|✅||✅|✅||||||✅| +|SLH-DSA-SHA2-128s-ipd|✅||✅|✅||✅|✅||||||✅| +|~~SPHINCS+-SHA256-128f-simple~~|||||||✅||||||| +|SLH-DSA-SHA2-192f-ipd|✅||✅|✅||✅|✅||||||✅| +|SLH-DSA-SHA2-192s-ipd|✅||✅|✅||✅|✅||||||✅| +|~~SPHINCS+-SHA256-192f-simple~~|||||||✅||||||| +|~~SPHINCS+-SHA256-192s-simple~~|||||||✅||||||| +|SLH-DSA-SHA2-256f-ipd|✅||✅|✅||✅|✅||||||✅| +|SLH-DSA-SHA2-256s-ipd|✅||✅|✅||✅|✅||||||✅| +|~~SPHINCS+-SHA256-256f-simple~~|||||||✅||||||| +|~~SPHINCS+-SHA256-256s-simple~~|||||||✅||||||| +|SLH-DSA-SHAKE-128f-ipd|✅||✅|✅|✅|✅|✅||||||✅| +|SLH-DSA-SHAKE-128s-ipd|✅||✅|✅||✅|✅||||||✅| +|1.3.9999.6.7.4|||||✅||||||||| +|SLH-DSA-SHAKE-192f-ipd|✅||✅|✅|✅|✅|✅||||||✅| +|SLH-DSA-SHAKE-192s-ipd|✅||✅|✅||✅|✅||||||✅| +|1.3.9999.6.8.3|||||✅||||||||| +|SLH-DSA-SHAKE-256f-ipd|✅||✅|✅|✅|✅|✅||||||✅| +|SLH-DSA-SHAKE-256s-ipd|✅||✅|✅||✅|✅||||||✅| +|1.3.9999.6.9.3|||||✅||||||||| +|id-Dilithium3-RSA-PKCS15-SHA256|||||||✅||||||| +|id-Dilithium3-RSA-PSS-SHA256|||||||✅||||||| +|id-Dilithium3-ECDSA-P256-SHA256|||||||✅||||||| +|id-Dilithium3-ECDSA-brainpoolP256r1-SHA256|||||||✅||||||| +|id-Dilithium5-ECDSA-P384-SHA384|||||||✅||||||| +|id-Dilithium5-ECDSA-brainpoolP384r1-SHA384|||||||✅||||||| +|~~id-Falcon512-ECDSA-P256-SHA256~~|||||||✅||||||| +|~~id-Falcon512-ECDSA-brainpoolP256r1-SHA256~~|||||||✅||||||| +|catalyst|||||✅||||||||| +|catalyst|||||✅||||||||| +|composite|||||✅||||||||| +|composite|||||✅||||||||| +|hybrid-catalyst||||✅|||||||||| +|hybrid[catalyst(1.2.840.10045.4.3.2|✅||||||||||||| +|hybrid[catalyst(1.2.840.10045.4.3.4|✅||||||||||||| +|hybrid[catalyst(1.2.840.113549.1.1.11|✅||||||||||||| +|hybrid[chameleon(1.2.840.10045.4.3.2|✅||||||||||||| +|hybrid[chameleon(1.2.840.10045.4.3.4|✅||||||||||||| +|hybrid[chameleon(1.2.840.113549.1.1.11|✅||||||||||||| +|hybrid[composite(1.2.840.10045.4.3.2|✅||||||||||||| +|hybrid[composite(1.2.840.10045.4.3.4|✅||||||||||||| +|hybrid[composite(1.2.840.113549.1.1.11|✅||||||||||||| # ecPublicKey (1.2.840.10045.2.1) diff --git a/src/pqc_report_writer_certs_r3.py b/src/pqc_report_writer_certs_r3.py index 28cc6f57..d2319530 100644 --- a/src/pqc_report_writer_certs_r3.py +++ b/src/pqc_report_writer_certs_r3.py @@ -48,16 +48,18 @@ def _parse_csv_file(generator, verifier, f, oid_name_mappings) -> Sequence[Algor avrs.append(AlgorithmVerificationResult(**d)) - e = { - 'generator': generator, - 'key_algorithm_oid': key_algorithm_oid - } - - if SubmittedAlgorithmResult(**e) not in _sars: - _sars.append(SubmittedAlgorithmResult(**e)) - - if key_algorithm_oid not in _submittedAlgsList: - _submittedAlgsList.append( key_algorithm_oid ) + if row['test_result'] != None and row['test_result'] != "": + e = { + 'generator': generator, + 'key_algorithm_oid': key_algorithm_oid + } + + # The algorithms Tested table should only contain tests with a pass or fail result + if SubmittedAlgorithmResult(**e) not in _sars: + _sars.append(SubmittedAlgorithmResult(**e)) + + if key_algorithm_oid not in _submittedAlgsList: + _submittedAlgsList.append( key_algorithm_oid ) except Exception as e: print("Error reading "+ str(f.name)) raise e @@ -110,7 +112,7 @@ def _get_alg_name_by_oid_str(oid_to_name_mappings, oid_str): if m is not None: # Display only the hybrid format, not the OIDs. - print('Matched hybbrid format regex: '+m['hybrid_format']) + print('Matched hybrid format regex: '+m['hybrid_format']) return m['hybrid_format'] # else it is a simple OID. @@ -163,27 +165,26 @@ def main(): md_file = MdUtils(file_name=OUTPUT_FILE, title='IETF PQC Hackathon Interoperability Results') - md_file.new_paragraph(text='In all tables below, Rows are producers. Columns are parsers.\n') + md_file.new_paragraph(text="") + + md_file.new_paragraph(text='In the individual algorithm tables below, Rows are producers. Columns are parsers.\n') md_file.new_header(level=1, title=f'Algorithms Tested') md_file.new_paragraph(text='To be in this table, an algorithm must have a test result in one of the tables below (pass or fail). Algorithms for which we have artifacts but no test results are not shown.\n') _submittedAlgsList.sort() - submittedAlgNames = [] - for alg_oid in _submittedAlgsList: - submittedAlgNames.append(_get_alg_name_by_oid_str(oid_name_mappings, alg_oid)) - submittedAlgsCells = ['-'] + submittedAlgNames + submittedAlgsCells = ['-'] + implementations _sars.sort(key=alg_oid_getter) sars_by_alg = {k: [] for k in _submittedAlgsList} for sar in _sars: sars_by_alg[sar.key_algorithm_oid].append(sar) - for generator in implementations: - submittedAlgsCells.append(generator) - for alg_oid, sars in sars_by_alg.items(): + for alg_oid, sars in sars_by_alg.items(): + submittedAlgsCells.append(_get_alg_name_by_oid_str(oid_name_mappings, alg_oid)) + for generator in implementations: relevant_sars = [sar for sar in sars if sar.generator == generator ] if len(relevant_sars) > 1: @@ -195,7 +196,7 @@ def main(): submittedAlgsCells.append('') - md_file.new_table(columns=len(_submittedAlgsList) + 1, rows=len(implementations) + 1, text=submittedAlgsCells, text_align='left') + md_file.new_table(columns=len(implementations) + 1, rows=len(_submittedAlgsList) + 1, text=submittedAlgsCells, text_align='left') for alg_oid, avrs in avrs_by_alg.items(): alg_name = _get_alg_name_by_oid_str(oid_name_mappings, alg_oid)
    -ecPublicKeyrsaEncryptionED448DilithiumAES2ML-DSA-44-ipdML-DSA-65-ipdML-DSA-87-ipdDilithium2Dilithium3Dilithium5ML-KEM-512-ipdML-KEM-768-ipdML-KEM-1024-ipdkyber512_shakekyber768_shakekyber1024_shake1.3.6.1.4.1.59634.9999.2.2.11.3.6.1.4.1.59634.9999.2.2.21.3.6.1.4.1.59634.9999.2.2.31.3.9999.2.7.21.3.9999.2.7.4Falcon-512Falcon-1024Falcon-512Falcon-1024SPHINCS+-SHA256-128f-robustSPHINCS+-SHA256-128s-simpleSLH-DSA-SHA2-128f-ipdSLH-DSA-SHA2-128s-ipdSPHINCS+-SHA256-128f-simpleSLH-DSA-SHA2-192f-ipdSLH-DSA-SHA2-192s-ipdSPHINCS+-SHA256-192f-simpleSPHINCS+-SHA256-192s-simpleSLH-DSA-SHA2-256f-ipdSLH-DSA-SHA2-256s-ipdSPHINCS+-SHA256-256f-simpleSPHINCS+-SHA256-256s-simpleSLH-DSA-SHAKE-128f-ipdSLH-DSA-SHAKE-128s-ipd1.3.9999.6.7.4SLH-DSA-SHAKE-192f-ipdSLH-DSA-SHAKE-192s-ipd1.3.9999.6.8.3SLH-DSA-SHAKE-256f-ipdSLH-DSA-SHAKE-256s-ipd1.3.9999.6.9.3id-Dilithium3-RSA-PKCS15-SHA256id-Dilithium3-RSA-PSS-SHA256id-Dilithium3-ECDSA-P256-SHA256id-Dilithium3-ECDSA-brainpoolP256r1-SHA256id-Dilithium5-ECDSA-P384-SHA384id-Dilithium5-ECDSA-brainpoolP384r1-SHA384id-Falcon512-ECDSA-P256-SHA256id-Falcon512-ECDSA-brainpoolP256r1-SHA256catalystcatalystcatalystcatalystcatalystchameleonchameleonchameleoncompositecompositecompositecompositecompositehybrid-catalysthybrid[catalyst(1.2.840.10045.4.3.2hybrid[catalyst(1.2.840.10045.4.3.4hybrid[catalyst(1.2.840.113549.1.1.11hybrid[chameleon(1.2.840.10045.4.3.2hybrid[chameleon(1.2.840.10045.4.3.4hybrid[chameleon(1.2.840.113549.1.1.11hybrid[composite(1.2.840.10045.4.3.2hybrid[composite(1.2.840.10045.4.3.4hybrid[composite(1.2.840.113549.1.1.11bcbotancarl-redhoundcorey-digicertcryptonextcryptonext-cnsproviderentrustisi-wolfsslkrisopencaoqs-gnutlsoqs-openssl111oqs-provider
    bcecPublicKey
    rsaEncryption
    ED448
    ML-DSA-44-ipd
    ML-DSA-65-ipd
    ML-DSA-87-ipd
    Dilithium2
    Dilithium3
    botan
    Dilithium5
    ML-KEM-512-ipd
    ML-KEM-768-ipd
    ML-KEM-1024-ipd
    kyber512_shake
    kyber768_shake
    carl-redhoundkyber1024_shake
    1.3.6.1.4.1.59634.9999.2.2.1
    1.3.6.1.4.1.59634.9999.2.2.2
    1.3.6.1.4.1.59634.9999.2.2.3
    1.3.9999.2.7.2
    corey-digicert1.3.9999.2.7.4
    Falcon-512
    Falcon-1024
    Falcon-512
    Falcon-1024
    SPHINCS+-SHA256-128s-simple
    SLH-DSA-SHA2-128f-ipd
    cryptonextSLH-DSA-SHA2-128s-ipd
    SPHINCS+-SHA256-128f-simple
    SLH-DSA-SHA2-192f-ipd
    SLH-DSA-SHA2-192s-ipd
    SPHINCS+-SHA256-192f-simple
    cryptonext-cnsproviderSPHINCS+-SHA256-192s-simple
    SLH-DSA-SHA2-256f-ipd
    SLH-DSA-SHA2-256s-ipd
    SPHINCS+-SHA256-256f-simple
    SPHINCS+-SHA256-256s-simple
    entrustSLH-DSA-SHAKE-128f-ipd
    SLH-DSA-SHAKE-128s-ipd
    1.3.9999.6.7.4
    SLH-DSA-SHAKE-192f-ipd
    SLH-DSA-SHAKE-192s-ipd
    1.3.9999.6.8.3
    isi-wolfssl
    SLH-DSA-SHAKE-256f-ipd
    SLH-DSA-SHAKE-256s-ipd
    1.3.9999.6.9.3
    id-Dilithium3-RSA-PKCS15-SHA256
    id-Dilithium3-RSA-PSS-SHA256
    id-Dilithium3-ECDSA-P256-SHA256
    krisid-Dilithium3-ECDSA-brainpoolP256r1-SHA256
    id-Dilithium5-ECDSA-P384-SHA384
    id-Dilithium5-ECDSA-brainpoolP384r1-SHA384
    id-Falcon512-ECDSA-P256-SHA256
    openca
    id-Falcon512-ECDSA-brainpoolP256r1-SHA256
    catalyst
    catalyst
    composite
    oqs-gnutlscomposite
    hybrid-catalyst
    hybrid[catalyst(1.2.840.10045.4.3.2
    hybrid[catalyst(1.2.840.10045.4.3.4
    oqs-openssl111
    hybrid[catalyst(1.2.840.113549.1.1.11
    hybrid[chameleon(1.2.840.10045.4.3.2
    hybrid[chameleon(1.2.840.10045.4.3.4
    hybrid[chameleon(1.2.840.113549.1.1.11
    oqs-providerhybrid[composite(1.2.840.10045.4.3.2
    hybrid[composite(1.2.840.10045.4.3.4
    hybrid[composite(1.2.840.113549.1.1.11