w3c / w3c/webcrypto

Support for PQC algorithms: ML-KEM, ML-DSA and SLH-DSA ?

Open
#367 6 comments 8 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
HTML
Stars
294
Forks
78
PR merge metrics
No merged PRs in 30d

Description

A few days ago NIST standardized 3 PQC, algorithms:
NIST 203: ML-KEM (Module-Lattice-Based Key-Encapsulation Mechanism Standard, based on: Crystals Kyber)
NIST 204: ML-DSA (Module-Lattice-Based Digital Signature Standard, based on: Crystals Dilithium)
NIST 205: SLH-DSA (Stateless Hash-Based Digital Signature Standard, based on: SPHINCS+)

For the announcement see:
https://cloudsecurityalliance.org/blog/2024/08/15/nist-fips-203-204-and-205-finalized-an-important-step-towards-a-quantum-safe-future

It would be nice if these were added to webcrypto as well.

Various implementations (commercial and opensource) already exist as the candidate algorithms have been field tested for quite some time.
E.g.

Chromium already supports Kyber for TLS key exchange since August 2023: https://www.thesslstore.com/blog/google-chrome-adds-support-for-a-hybrid-post-quantum-cryptographic-algorithm/

Kind regards,
Hans

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Web Cryptography API context and the NIST FIPS 203, 204, and 205 announcements linked in the issue. Compare the existing WebCrypto scope with the cited implementations from pq-crystals and Botan. Done would require a defined proposal and agreed support for ML-KEM, ML-DSA, and SLH-DSA, but the issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, cryptography
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.