Skip to content

Implement WebCrypto modern algorithms #40687

@kkoyung

Description

@kkoyung

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/).

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
  • encapsulateKey method
  • encapsulatedBits method
  • decapsulateKey method
  • decapsulateBits method
  • getPublicKey method (Sub-issue: Implement SubtleCrypto.getPublicKey methods #43072)
    • Partially: Not yet supported for ML-KEM, ML-DSA, SLH-DSA
  • supports method

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-content/scriptRelated to the script threadB-feature-trackingThis issue tracks a particular high-level feature

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions