-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Implement WebCrypto modern algorithms #40687
Description
Modern Algorithms in the Web Cryptography API: https://wicg.github.io/webcrypto-modern-algos/
This specification adds some modern cryptographic algorithms, including post-quantum algorithms such as ML-KEM and ML-DSA, to the WebCrypto API (https://w3c.github.io/webcrypto/).
- ML-KEM (Sub-issue: Implement key encapsulation and decapsulation with ML-KEM in WebCrypto #41473)
- ML-DSA (Sub-issue: Implement ML-DSA algorithm in WebCrypto API #41626)
- SLH-DSA
- AES-OCB (Sub-issue: Implement AES-OCB algorithm in WebCrypto API #41762)
- ChaCha20-Poly1305
- SHA-3
- cSHAKE
- TurboSHAKE script: Implement TurboSHAKE algorithm in WebCrypto #43551
- KangarooTwelve
- KMAC
- Argon2
We already have the infrastructure of WebCrypto API. WPT test for those modern algorithms also arrived as tentative tests in recent WPT sync #40660. We can start working on them.
To support these new algorithms, some key formats, key usages, and methods are added to WebCrypto's interfaces.
- Additional key formats:
raw-public,raw-private,raw-seed,raw-secret - Additional key usages:
encapsulateKey,encapsulateBits,decapsulateKey,decapsulateBits -
encapsulateKeymethod -
encapsulatedBitsmethod -
decapsulateKeymethod -
decapsulateBitsmethod -
getPublicKeymethod (Sub-issue: ImplementSubtleCrypto.getPublicKeymethods #43072)- Partially: Not yet supported for ML-KEM, ML-DSA, SLH-DSA
-
supportsmethod
There is another specification adding extra elliptic curve algorithm to WebCrypto API. We can also implement them.
Secure Curves in the Web Cryptography API: https://wicg.github.io/webcrypto-secure-curves/
- Ed25519 (including in WebCrypto API spec)
- Ed448
- X25519 (including in WebCrypto API spec)
- X448