Skip to content

[2.0] Add ML-KEM (FIPS 203) support while keeping legacy Kyber API with deprecation #3

Closed
15 of 15 issues completed

Description

@Zikithezikit

The main idea is to make this library both more secure and enterprise friendly.

With more usage there will be more contributors.

Summary

For 2.0 I want to add proper ML-KEM (FIPS 203) support while keeping the old Kyber* classes working so nobody's code breaks.

The Rust backend stays ours and under the Unlicense. I'm not changing the behavior of the existing API, just adding a deprecation warning.

Note: Kyber and ML-KEM are not interoperable.

Goals

Notes

  • Deliberately not breaking the current API.
  • Might give up a bit of speed for better side-channel resistance (or keep a faster internal path if it turns out to matter).
  • Moving the default branch to main, once dev-v2 is merged into it at the end.

How the work is split

The full plan is in PLAN-2.0.md (#19, along with AGENTS.md, the rules any agent working on this has to follow). Each issue is one PR into dev-v2, rebase-merged. Every commit in a PR has to build and pass the tests on its own, and fixes from review get folded into the commit they belong to and rebased, not stacked on top as "fix" commits. When everything's in, I'll open one PR from dev-v2 to main. Roughly in this order:

Setup

ML-KEM

Security

Dependencies between them are set on each issue.

Done when

Activity

  1. self-assigned this
    on Oct 29, 2026
  2. Zikithezikit commented on Oct 29, 2026

    @Zikithezikit
    OwnerAuthor

    Also the recent cves this month spooked me, so I will go over the code with agents to make sure I didn't miss anything and report in SECURITY.md as I fix them. (Maybe after the version release)

  3. added this to the 2.0.0 milestone on Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementNew feature or request

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions