diff --git a/README.md b/README.md index 1264d3825..df38a3f68 100644 --- a/README.md +++ b/README.md @@ -56,16 +56,16 @@ All names other than `ML-KEM` and `ML-DSA` are subject to change. `liboqs` makes #### Key encapsulation mechanisms -| Algorithm family | Standardization status | Primary implementation | -|:-------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------| -| BIKE | [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) | -| Classic McEliece | [Under ISO consideration](https://classic.mceliece.org/mceliece-spec-20221023.pdf) | [`PQClean/PQClean@1eacfda`](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) | -| FrodoKEM | [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) | -| HQC | [Selected by NIST](https://pqc-hqc.org/doc/hqc_specifications_2025_08_22.pdf) | [`PQClean/PQClean@1eacfda`](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) | -| Kyber | [NIST PQC third round candidate; standardized into ML-KEM (FIPS 203) after minor modifications](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) | -| ML-KEM | [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) | -| NTRU | [Not selected by NIST; under standardization consideration by NTT](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) | -| NTRU-Prime | [Not selected by NIST](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) | +| Algorithm family | Standardization status | Primary implementation | +|:-------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------| +| BIKE | [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) | +| Classic McEliece | [Under ISO consideration](https://classic.mceliece.org/mceliece-spec-20221023.pdf) | [`PQClean/PQClean@1eacfda`](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) | +| FrodoKEM | [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) | +| HQC | [Selected by NIST](https://pqc-hqc.org/doc/hqc_specifications_2025_08_22.pdf) | [`PQClean/PQClean@1eacfda`](https://github.com/PQClean/PQClean/commit/1eacfdafc15ddc5d5759d0b85b4cef26627df181) | +| Kyber | [NIST PQC third round candidate; standardized into ML-KEM (FIPS 203) after minor modifications](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) | +| ML-KEM | [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) | +| NTRU | Not selected by [NIST](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/NTRU-Round3.zip); under standardization consideration by [NTT](https://info.isl.ntt.co.jp/crypt/ntru/index.html) | [`PQClean/PQClean@4c9e5a3`](https://github.com/PQClean/PQClean/commit/4c9e5a3aa715cc8d1d0e377e4e6e682ebd7602d6) | +| NTRU-Prime | [Not selected by NIST](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) | #### Signature schemes | Algorithm family | Standardization status | Primary implementation | diff --git a/docs/algorithms/kem/ntru.yml b/docs/algorithms/kem/ntru.yml index d0f3fd925..4ce938a9a 100644 --- a/docs/algorithms/kem/ntru.yml +++ b/docs/algorithms/kem/ntru.yml @@ -16,8 +16,7 @@ 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/ -standardization-status: Not selected by NIST; under standardization consideration by NTT -spec-url: https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/NTRU-Round3.zip +standardization-status: Not selected by [NIST](https://csrc.nist.gov/CSRC/media/Projects/post-quantum-cryptography/documents/round-3/submissions/NTRU-Round3.zip); under standardization consideration by [NTT](https://info.isl.ntt.co.jp/crypt/ntru/index.html) nist-round: 3 spec-version: NIST Round 3 submission upstream-ancestors: diff --git a/scripts/update_alg_support_table.py b/scripts/update_alg_support_table.py index 27c52d996..ea18b4114 100755 --- a/scripts/update_alg_support_table.py +++ b/scripts/update_alg_support_table.py @@ -77,12 +77,12 @@ def render_alg_support_tbl(doc_dir: str, anchor_alg_name: bool = False) -> 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"] - spec_url = algdata["spec-url"] + spec_url = algdata.get("spec-url", None) primary_impl = format_upstream_source(algdata["primary-upstream"]["source"]) rows.append( [ f"[{alg_name}]({md_url})" if anchor_alg_name else f"{alg_name}", - f"[{std_status}]({spec_url})", + f"[{std_status}]({spec_url})" if spec_url else std_status, primary_impl, ] )