wrap standardization status with url to spec

Signed-off-by: Ganyu (Bruce) Xu <g66xu@uwaterloo.ca>
This commit is contained in:
Ganyu (Bruce) Xu 2025-09-25 12:06:52 -04:00
parent 606ef108c6
commit 40cc1a508a
20 changed files with 58 additions and 40 deletions

View File

@ -55,34 +55,34 @@ All names other than `ML-KEM` and `ML-DSA` are subject to change. `liboqs` makes
<!-- OQS_TEMPLATE_FRAGMENT_ALG_SUPPORT_START -->
### KEMs
| Algorithm family | Standardization status | Primary implementation |
|:--------------------------------------------------------------|:-----------------------------|:----------------------------------------------------------------------------------------------------------------------------------------|
| [NTRU-Prime](./docs/algorithms/kem/ntruprime.md) | Not selected | [PQClean/PQClean@4c9e5a3](https://github.com/PQClean/PQClean/commit/4c9e5a3aa715cc8d1d0e377e4e6e682ebd7602d6) |
| [HQC](./docs/algorithms/kem/hqc.md) | Selected for standardization | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
| [FrodoKEM](./docs/algorithms/kem/frodokem.md) | Not selected | [microsoft/PQCrypto-LWEKE@b6609d3](https://github.com/microsoft/PQCrypto-LWEKE/commit/b6609d30a9982318d7f2937aa3c7b92147b917a2) |
| [BIKE](./docs/algorithms/kem/bike.md) | Not selected | [awslabs/bike-kem](https://github.com/awslabs/bike-kem) |
| [NTRU](./docs/algorithms/kem/ntru.md) | Not selected | [PQClean/PQClean@4c9e5a3](https://github.com/PQClean/PQClean/commit/4c9e5a3aa715cc8d1d0e377e4e6e682ebd7602d6) |
| [ML-KEM](./docs/algorithms/kem/ml_kem.md) | Standardized | [pq-code-package/mlkem-native@048fc2a](https://github.com/pq-code-package/mlkem-native/commit/048fc2a7a7b4ba0ad4c989c1ac82491aa94d5bfa) |
| [Classic McEliece](./docs/algorithms/kem/classic_mceliece.md) | Under consideration | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
| [Kyber](./docs/algorithms/kem/kyber.md) | Selected for standardization | [pq-crystals/kyber@441c051](https://github.com/pq-crystals/kyber/commit/441c0519a07e8b86c8d079954a6b10bd31d29efc) |
| Algorithm family | Standardization status | Primary implementation |
|:--------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------|
| [NTRU-Prime](./docs/algorithms/kem/ntruprime.md) | [Not selected](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/NTRU-Prime-Round3.zip) | [PQClean/PQClean@4c9e5a3](https://github.com/PQClean/PQClean/commit/4c9e5a3aa715cc8d1d0e377e4e6e682ebd7602d6) |
| [HQC](./docs/algorithms/kem/hqc.md) | [Selected by NIST](https://pqc-hqc.org/doc/hqc_specifications_2025_08_22.pdf) | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
| [FrodoKEM](./docs/algorithms/kem/frodokem.md) | [Not selected](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/FrodoKEM-Round3.zip) | [microsoft/PQCrypto-LWEKE@b6609d3](https://github.com/microsoft/PQCrypto-LWEKE/commit/b6609d30a9982318d7f2937aa3c7b92147b917a2) |
| [BIKE](./docs/algorithms/kem/bike.md) | [Not selected](https://csrc.nist.gov/csrc/media/Projects/post-quantum-cryptography/documents/round-4/submissions/BIKE-Round4.zip) | [awslabs/bike-kem](https://github.com/awslabs/bike-kem) |
| [NTRU](./docs/algorithms/kem/ntru.md) | [Not selected](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/NTRU-Round3.zip) | [PQClean/PQClean@4c9e5a3](https://github.com/PQClean/PQClean/commit/4c9e5a3aa715cc8d1d0e377e4e6e682ebd7602d6) |
| [ML-KEM](./docs/algorithms/kem/ml_kem.md) | [Standardized by NIST](https://csrc.nist.gov/pubs/fips/203/final) | [pq-code-package/mlkem-native@048fc2a](https://github.com/pq-code-package/mlkem-native/commit/048fc2a7a7b4ba0ad4c989c1ac82491aa94d5bfa) |
| [Classic McEliece](./docs/algorithms/kem/classic_mceliece.md) | [Under ISO consideration](https://classic.mceliece.org/mceliece-spec-20221023.pdf) | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
| [Kyber](./docs/algorithms/kem/kyber.md) | [Selected by NIST](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/Kyber-Round3.zip) | [pq-crystals/kyber@441c051](https://github.com/pq-crystals/kyber/commit/441c0519a07e8b86c8d079954a6b10bd31d29efc) |
### Digital signatures
| Algorithm family | Standardization status | Primary implementation |
|:---------------------------------------------|:-----------------------------|:------------------------------------------------------------------------------------------------------------------------------------------|
| [Falcon](./docs/algorithms/sig/falcon.md) | Selected for standardization | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
| [SLH-DSA](./docs/algorithms/sig/slh_dsa.md) | Standardized | [pq-code-package/slhdsa-c@a0fc1ff](https://github.com/pq-code-package/slhdsa-c/commit/a0fc1ff253930060d0246aebca06c2538eb92b88) |
| [UOV](./docs/algorithms/sig/uov.md) | Under consideration | [pqov/pqov@7e0832b](https://github.com/pqov/pqov/commit/7e0832b6732a476119742c4acabd11b7c767aefb) |
| [MAYO](./docs/algorithms/sig/mayo.md) | Under consideration | [PQCMayo/MAYO-C@4b7cd94](https://github.com/PQCMayo/MAYO-C/commit/4b7cd94c96b9522864efe40c6ad1fa269584a807) |
| [CROSS](./docs/algorithms/sig/cross.md) | Under consideration | [CROSS-signature/CROSS-lib-oqs@c8f7411](https://github.com/CROSS-signature/CROSS-lib-oqs/commit/c8f7411fed136f0e37600973fa3dbed53465e54f) |
| [SNOVA](./docs/algorithms/sig/snova.md) | Under consideration | [vacuas/SNOVA@1c3ca6f](https://github.com/vacuas/SNOVA/commit/1c3ca6f4f7286c0bde98d7d6f222cf63b9d52bff) |
| [ML-DSA](./docs/algorithms/sig/ml_dsa.md) | Standardized | [pq-crystals/dilithium@444cdcc](https://github.com/pq-crystals/dilithium/commit/444cdcc84eb36b66fe27b3a2529ee48f6d8150c2) |
| [SPHINCS+](./docs/algorithms/sig/sphincs.md) | Selected for standardization | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
| Algorithm family | Standardization status | Primary implementation |
|:---------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------|
| [Falcon](./docs/algorithms/sig/falcon.md) | [Selected by NIST](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/Falcon-Round3.zip) | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
| [SLH-DSA](./docs/algorithms/sig/slh_dsa.md) | [Standardized by NIST](https://csrc.nist.gov/pubs/fips/205/final) | [pq-code-package/slhdsa-c@a0fc1ff](https://github.com/pq-code-package/slhdsa-c/commit/a0fc1ff253930060d0246aebca06c2538eb92b88) |
| [UOV](./docs/algorithms/sig/uov.md) | [Under NIST consideration](https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-2/spec-files/uov-spec-round2-web.pdf) | [pqov/pqov@7e0832b](https://github.com/pqov/pqov/commit/7e0832b6732a476119742c4acabd11b7c767aefb) |
| [MAYO](./docs/algorithms/sig/mayo.md) | [Under NIST consideration](https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-2/spec-files/mayo-spec-round2-web.pdf) | [PQCMayo/MAYO-C@4b7cd94](https://github.com/PQCMayo/MAYO-C/commit/4b7cd94c96b9522864efe40c6ad1fa269584a807) |
| [CROSS](./docs/algorithms/sig/cross.md) | [Under NIST consideration](https://www.cross-crypto.com/CROSS_Specification_v2.2.pdf) | [CROSS-signature/CROSS-lib-oqs@c8f7411](https://github.com/CROSS-signature/CROSS-lib-oqs/commit/c8f7411fed136f0e37600973fa3dbed53465e54f) |
| [SNOVA](./docs/algorithms/sig/snova.md) | [Under NIST consideration](https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-2/spec-files/snova-spec-round2-web.pdf) | [vacuas/SNOVA@1c3ca6f](https://github.com/vacuas/SNOVA/commit/1c3ca6f4f7286c0bde98d7d6f222cf63b9d52bff) |
| [ML-DSA](./docs/algorithms/sig/ml_dsa.md) | [Standardized by NIST](https://csrc.nist.gov/pubs/fips/204/final) | [pq-crystals/dilithium@444cdcc](https://github.com/pq-crystals/dilithium/commit/444cdcc84eb36b66fe27b3a2529ee48f6d8150c2) |
| [SPHINCS+](./docs/algorithms/sig/sphincs.md) | [Selected by NIST](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/SPHINCS-Round3.zip) | [PQClean/PQClean@1eacfda](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) |
### Stateful digital signatures
| Algorithm family | Standardization status | Primary implementation |
|:-------------------------------------------|:-------------------------|:--------------------------------------------------------------|
| [XMSS](./docs/algorithms/sig_stfl/xmss.md) | Standardized | [XMSS/xmss-reference](https://github.com/XMSS/xmss-reference) |
| [LMS](./docs/algorithms/sig_stfl/lms.md) | Standardized | [cisco/hash-sigs](https://github.com/cisco/hash-sigs) |
| Algorithm family | Standardization status | Primary implementation |
|:-------------------------------------------|:-----------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------|
| [XMSS](./docs/algorithms/sig_stfl/xmss.md) | [Standardized by Internet Research Task Force (IRTF), approved by NIST](https://www.rfc-editor.org/info/rfc8391) | [XMSS/xmss-reference](https://github.com/XMSS/xmss-reference) |
| [LMS](./docs/algorithms/sig_stfl/lms.md) | [Standardized by Internet Research Task Force (IRTF), approved by NIST](https://www.rfc-editor.org/info/rfc8554) | [cisco/hash-sigs](https://github.com/cisco/hash-sigs) |
<!-- OQS_TEMPLATE_FRAGMENT_ALG_SUPPORT_END -->
Note that for algorithms marked with a dagger (†), liboqs contains at least one implementation that uses a large amount of stack space; this may cause failures when run in threads or in constrained environments. For more information, consult the algorithm information sheets in the [docs/algorithms](https://github.com/open-quantum-safe/liboqs/tree/main/docs/algorithms) folder.

View File

@ -22,6 +22,7 @@ crypto-assumption: QC-MDPC (Quasi-Cyclic Moderate Density Parity-Check)
website: http://bikesuite.org/
nist-round: 4
standardization-status: Not selected
spec-url: https://csrc.nist.gov/csrc/media/Projects/post-quantum-cryptography/documents/round-4/submissions/BIKE-Round4.zip
spec-version: 5.1
primary-upstream:
source: https://github.com/awslabs/bike-kem

View File

@ -18,7 +18,8 @@ crypto-assumption: Niederreiter's dual version of McEliece's public key encrypti
website: https://classic.mceliece.org
nist-round: 3
spec-version: SUPERCOP-20221025
standardization-status: Under consideration
standardization-status: Under ISO consideration
spec-url: https://classic.mceliece.org/mceliece-spec-20221023.pdf
upstream-ancestors:
- SUPERCOP-20221025 "clean" and "avx2" implementations
advisories:

View File

@ -18,6 +18,7 @@ website: https://frodokem.org/
nist-round: 3
spec-version: NIST Round 3 submission
standardization-status: Not selected
spec-url: https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/FrodoKEM-Round3.zip
primary-upstream:
source: https://github.com/microsoft/PQCrypto-LWEKE/commit/b6609d30a9982318d7f2937aa3c7b92147b917a2
spdx-license-identifier: MIT

View File

@ -18,7 +18,9 @@ principal-submitters:
crypto-assumption: Syndrome decoding of structure codes (Hamming Quasi-Cyclic)
website: https://pqc-hqc.org/
nist-round: 4
standardization-status: Selected for standardization
standardization-status: Selected by NIST
# TODO: Chose this spec version because it is newer
spec-url: https://pqc-hqc.org/doc/hqc_specifications_2025_08_22.pdf
spec-version: 2023-04-30
upstream-ancestors:
- https://github.com/SWilson4/package-pqclean/tree/8db1b24b/hqc

View File

@ -15,7 +15,8 @@ auxiliary-submitters:
crypto-assumption: Module LWE+R with base ring Z[x]/(3329, x^256+1)
website: https://pq-crystals.org/
nist-round: 3
standardization-status: Selected for standardization
standardization-status: Selected by NIST
spec-url: https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/Kyber-Round3.zip
spec-version: NIST Round 3 submission
primary-upstream:
source: https://github.com/pq-crystals/kyber/commit/441c0519a07e8b86c8d079954a6b10bd31d29efc

View File

@ -15,7 +15,7 @@ auxiliary-submitters:
crypto-assumption: Module LWE+R with base ring Z[x]/(3329, x^256+1)
website: https://pq-crystals.org/kyber/ and https://csrc.nist.gov/pubs/fips/203
nist-round: FIPS203
standardization-status: Standardized
standardization-status: Standardized by NIST
spec-url: https://csrc.nist.gov/pubs/fips/203/final
spec-version: ML-KEM
primary-upstream:

View File

@ -16,7 +16,9 @@ auxiliary-submitters:
- Zhenfei Zhang
crypto-assumption: NTRU in Z[x]/(q, x^n-1) with prime n and power-of-two q
website: https://ntru.org/
# TODO: under NTT (Nippon Telegraph and Telephone) consideration?
standardization-status: Not selected
spec-url: https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/NTRU-Round3.zip
nist-round: 3
spec-version: NIST Round 3 submission
upstream-ancestors:

View File

@ -16,6 +16,7 @@ website: https://ntruprime.cr.yp.to
nist-round: 3
spec-version: supercop-20200826
standardization-status: Not selected
spec-url: https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/NTRU-Prime-Round3.zip
upstream-ancestors:
- https://github.com/jschanck/package-pqclean/tree/4d9f08c3/ntruprime
- supercop-20210604

View File

@ -22,7 +22,9 @@ crypto-assumption: hardness of the restricted syndrome decoding problem for rand
linear codes on a finite field
website: https://www.cross-crypto.com/
nist-round: 2
standardization-status: Under consideration
standardization-status: Under NIST consideration
# CROSS team's version is newer than NIST submission
spec-url: https://www.cross-crypto.com/CROSS_Specification_v2.2.pdf
spec-version: 2.2 + PQClean and OQS patches
primary-upstream:
source: https://github.com/CROSS-signature/CROSS-lib-oqs/commit/c8f7411fed136f0e37600973fa3dbed53465e54f

View File

@ -16,7 +16,9 @@ auxiliary-submitters:
crypto-assumption: hardness of NTRU lattice problems
website: https://falcon-sign.info
nist-round: 3
standardization-status: Selected for standardization
# NOTE: https://csrc.nist.gov/news/2022/pqc-candidates-to-be-standardized-and-round-4
standardization-status: Selected by NIST
spec-url: https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/Falcon-Round3.zip
spec-version: 20211101
primary-upstream:
source: https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181

View File

@ -9,7 +9,8 @@ principal-submitters:
crypto-assumption: multivariable quadratic equations, oil and vinegar
website: https://pqmayo.org
nist-round: 2
standardization-status: Under consideration
standardization-status: Under NIST consideration
spec-url: https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-2/spec-files/mayo-spec-round2-web.pdf
spec-version: NIST Round 2 (February 2025)
primary-upstream:
source: https://github.com/PQCMayo/MAYO-C/commit/4b7cd94c96b9522864efe40c6ad1fa269584a807

View File

@ -13,7 +13,7 @@ auxiliary-submitters:
crypto-assumption: hardness of lattice problems over module lattices
website: https://pq-crystals.org/dilithium/ and https://csrc.nist.gov/pubs/fips/204/final
nist-round: FIPS204
standardization-status: Standardized
standardization-status: Standardized by NIST
spec-url: https://csrc.nist.gov/pubs/fips/204/final
spec-version: ML-DSA
primary-upstream:

View File

@ -23,7 +23,7 @@ auxiliary-submitters:
crypto-assumption: hash-based signatures
website: https://csrc.nist.gov/pubs/fips/205/final
nist-round: FIPS205
standardization-status: Standardized
standardization-status: Standardized by NIST
spec-url: https://csrc.nist.gov/pubs/fips/205/final
spec-version: SLH-DSA
spdx-license-identifier: MIT or ISC or Apache 2.0

View File

@ -13,7 +13,8 @@ principal-submitters:
crypto-assumption: multivariable quadratic equations, oil and vinegar
website: https://snova.pqclab.org/
nist-round: 2
standardization-status: Under consideration
standardization-status: Under NIST consideration
spec-url: https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-2/spec-files/snova-spec-round2-web.pdf
spec-version: Round 2
primary-upstream:
source: https://github.com/vacuas/SNOVA/commit/1c3ca6f4f7286c0bde98d7d6f222cf63b9d52bff

View File

@ -23,7 +23,8 @@ auxiliary-submitters:
crypto-assumption: hash-based signatures
website: https://sphincs.org/
nist-round: 3
standardization-status: Selected for standardization
standardization-status: Selected by NIST
spec-url: https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/SPHINCS-Round3.zip
spec-version: NIST Round 3 submission, v3.1 (June 10, 2022)
spdx-license-identifier: CC0-1.0
primary-upstream:

View File

@ -14,7 +14,8 @@ principal-submitters:
- Bo-Yin Yang
crypto-assumption: multivariable quadratic equations, oil and vinegar
website: https://www.uovsig.org/
standardization-status: Under consideration
standardization-status: Under NIST consideration
spec-url: https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/round-2/spec-files/uov-spec-round2-web.pdf
nist-round: 2
spec-version: NIST Round 2 (February 2025)
primary-upstream:

View File

@ -9,7 +9,7 @@ auxiliary-submitters:
crypto-assumption: hash-based signatures
website: https://www.rfc-editor.org/info/rfc8554
nist-round:
standardization-status: Standardized
standardization-status: Standardized by Internet Research Task Force (IRTF), approved by NIST
spec-url: https://www.rfc-editor.org/info/rfc8554
spec-version:
spdx-license-identifier:

View File

@ -9,7 +9,7 @@ auxiliary-submitters:
crypto-assumption: hash-based signatures
website: https://www.rfc-editor.org/info/rfc8391
standardization-status: Standardized
standardization-status: Standardized by Internet Research Task Force (IRTF), approved by NIST
spec-url: https://www.rfc-editor.org/info/rfc8391
nist-round:
spec-version:

5
scripts/update_alg_support_table.py Normal file → Executable file
View File

@ -24,6 +24,7 @@ def format_upstream_source(source: str) -> str:
<handle>/<repository> otherwise
with a link to the repository
"""
# TODO: we might get GitLab or other non-GH link, but we will figure it out when it comes
prefix = "https://github.com/"
if not prefix in source:
raise ValueError(f"Non-GitHub source {source}")
@ -61,12 +62,12 @@ def render_alg_support_tbl(doc_dir: str) -> str:
md_basename = os.path.splitext(os.path.split(yaml_path)[1])[0]
md_url = f"./docs/algorithms/{dirname}/{md_basename}.md"
std_status = algdata["standardization-status"]
# TODO: unsure what to do with spec-url for now
spec_url = algdata["spec-url"]
primary_impl = format_upstream_source(algdata["primary-upstream"]["source"])
rows.append(
[
f"[{alg_name}]({md_url})",
std_status,
f"[{std_status}]({spec_url})",
primary_impl,
]
)