diff --git a/.github/workflows/basic.yml b/.github/workflows/basic.yml index 9d76a14a3..c132e8594 100644 --- a/.github/workflows/basic.yml +++ b/.github/workflows/basic.yml @@ -52,7 +52,6 @@ jobs: working-directory: "scripts/copy_from_upstream" run: | python3 copy_from_upstream.py -d copy && \ - git diff && \ git status --porcelain && \ test -z "$(git status --porcelain)" - name: Verify copy_from_upstream state after libjade diff --git a/README.md b/README.md index e05bc08e7..dbc66a08f 100644 --- a/README.md +++ b/README.md @@ -58,32 +58,32 @@ All names other than `ML-KEM` and `ML-DSA` are subject to change. `liboqs` makes #### Key encapsulation mechanisms | Algorithm family | Standardization status | Primary implementation | |:-------------------|:----------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------| -| NTRU-Prime | [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 | [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 | [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 | [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 | [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 | [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 | [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 | [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) | +| 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](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](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 | |:-------------------|:-----------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------| -| Falcon | [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 | [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 | [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 | [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 | [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 | [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) | +| Falcon | [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) | +| MAYO | [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) | | ML-DSA | [Standardized by NIST](https://csrc.nist.gov/pubs/fips/204/final) | [`pq-crystals/dilithium@444cdcc`](https://github.com/pq-crystals/dilithium/commit/444cdcc84eb36b66fe27b3a2529ee48f6d8150c2) | +| SLH-DSA | [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) | +| SNOVA | [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) | | SPHINCS+ | [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) | +| UOV | [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) | #### Stateful signature schemes | Algorithm family | Standardization status | Primary implementation | |:-------------------|:-----------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------| -| XMSS | [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 | [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) | +| XMSS | [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) | 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. diff --git a/scripts/update_alg_support_table.py b/scripts/update_alg_support_table.py index 6cb40877d..27c52d996 100755 --- a/scripts/update_alg_support_table.py +++ b/scripts/update_alg_support_table.py @@ -63,6 +63,7 @@ def render_alg_support_tbl(doc_dir: str, anchor_alg_name: bool = False) -> str: for filepath in os.listdir(doc_dir) if os.path.splitext(filepath)[1].lower() in YAML_EXTS ] + yaml_paths.sort() rows = [ALG_SUPPORT_HEADER] for yaml_path in yaml_paths: with open(yaml_path) as f: