WICG/webcrypto-modern-algos

Proposal for the addition of various modern algorithms to the Web Cryptography API, as well as feature detection for algorithm support

32

stars

96

commits

HTML

primary language

Sep 3, 2026

updated

wicg.github.io/webcrypto-modern-algos/

README

Modern Algorithms in the Web Cryptography API

This repository contains a proposal to add support for various post-quantum secure and modern cryptographic algorithms in the Web Cryptography API, namely:

  • ML-KEM
  • ML-DSA
  • SLH-DSA
  • AES-OCB
  • ChaCha20-Poly1305
  • SHA-3, cSHAKE, TurboSHAKE, and KangarooTwelve
  • KMAC
  • Argon2

To accommodate the usage of ML-KEM, and possibly future other KEMs, it proposes to add functions for key encapsulation and decapsulation; SubtleCrypto.encapsulateKey, SubtleCrypto.encapsulateBits, SubtleCrypto.decapsulateKey and SubtleCrypto.decapsulateBits.

Additionally, it proposes to add a SubtleCrypto.getPublicKey function, to be able to derive a public key from its corresponding private key, and a SubtleCrypto.supports function, for improved algorithm support detection.

See the draft specification.

Contributors

twiss

49 commits

panva

38 commits

yoavweiss

4 commits

kkoyung

2 commits

WICG/webcrypto-modern-algos

Proposal for the addition of various modern algorithms to the Web Cryptography API, as well as feature detection for algorithm support

32

stars

96

commits

HTML

primary language

Sep 3, 2026

updated

wicg.github.io/webcrypto-modern-algos/

README

Modern Algorithms in the Web Cryptography API

This repository contains a proposal to add support for various post-quantum secure and modern cryptographic algorithms in the Web Cryptography API, namely:

  • ML-KEM
  • ML-DSA
  • SLH-DSA
  • AES-OCB
  • ChaCha20-Poly1305
  • SHA-3, cSHAKE, TurboSHAKE, and KangarooTwelve
  • KMAC
  • Argon2

To accommodate the usage of ML-KEM, and possibly future other KEMs, it proposes to add functions for key encapsulation and decapsulation; SubtleCrypto.encapsulateKey, SubtleCrypto.encapsulateBits, SubtleCrypto.decapsulateKey and SubtleCrypto.decapsulateBits.

Additionally, it proposes to add a SubtleCrypto.getPublicKey function, to be able to derive a public key from its corresponding private key, and a SubtleCrypto.supports function, for improved algorithm support detection.

See the draft specification.

Contributors

twiss

49 commits

panva

38 commits

yoavweiss

4 commits

kkoyung

2 commits

Languages

HTML

100.0%