Skip to content
@pq-code-package

PQ Code Package

Building high-assurance implementations of post-quantum cryptography algorithms

PQ Code Package

The PQ Code Package project is a new open source project that aims to build high-assurance software implementations of standards-track post-quantum cryptography algorithms. The PQCP is a project within the Linux Foundation as part of the Post-Quantum Cryptography Alliance.

Initial Goals

Our initial focus in the first phase of the project will be on the Module-Lattice-Based Key Encapsulation Mechanism (ML-KEM) algorithm. As the project grows, we intend to also produce implementations for ML-DSA and SLH-DSA, as well as other standards-track post-quantum algorithms.

We aim for implementations produced by the project to have assurances given either as a result of external audits or as a result of formal verification methods (or both).

We have interest from early participants to create or build on existing implementations for the following algorithms and platforms, and hope to expand this list as the project progresses:

  • a platform-independent implementation of ML-KEM in C
  • an AVX2-optimized assembly implementation of ML-KEM
  • a Rust implementation of ML-KEM
  • an aarch64-optimized implementation of ML-KEM

Recent progress

Following the March 2024 Hackathon implementation code is starting to be added.

An initial documentation site is also being built

TSC meetings are now underway, and are open to anyone to join. Voting members and lead have been elected. Meetings are being held every two weeks on a Thursday at 1300 UTC. See the PQCA calendar

Some of the current issues we're thinking about include

Getting Involved

Our docs site has the best link to the list of chat and email options for engaging in discussions with the community - in addition to issues in our repositories. TSC issues track cross-project concerns.

The best way right now to indicate your interest in helping with the project and staying up-to-date on progress is to follow the pq-code-package organization on GitHub and to say hello on the #pqcp-general channel on our Discord server.

Popular repositories Loading

  1. mlkem-native mlkem-native Public

    High-assurance, high-performance ML-KEM implementation for mobile, PC, and server targets

    Assembly 20 12

  2. mlkem-c-embedded mlkem-c-embedded Public

    MLKEM implementation optimized for embedded microcontrollers

    C 15 6

  3. tsc tsc Public

    PQ Code Project Technical Steering Committee resources

    4 4

  4. pq-code-package-hackathon pq-code-package-hackathon Public

    Hackathon planning and documentation

    3 2

  5. mlkem-rust-libcrux mlkem-rust-libcrux Public

    portable ML-KEM implementation with some optimizations for AVX2. Full AVX2 support will be added over the coming months. The code is formally verified for panic freedom, correctness, and secret ind…

    2 1

  6. mlkem-c-generic mlkem-c-generic Public archive

    ML-KEM generic implementation in C

    2 2

Repositories

Showing 10 of 11 repositories
  • mlkem-native Public

    High-assurance, high-performance ML-KEM implementation for mobile, PC, and server targets

    pq-code-package/mlkem-native’s past year of commit activity
    Assembly 20 Apache-2.0 12 25 0 Updated Dec 18, 2024
  • mlkem-libjade Public

    ML-KEM implementation in libjade with high assurance

    pq-code-package/mlkem-libjade’s past year of commit activity
    Assembly 1 Apache-2.0 3 0 0 Updated Dec 6, 2024
  • tsc Public

    PQ Code Project Technical Steering Committee resources

    pq-code-package/tsc’s past year of commit activity
    4 CC-BY-4.0 4 22 1 Updated Dec 5, 2024
  • mlkem-c-generic Public archive

    ML-KEM generic implementation in C

    pq-code-package/mlkem-c-generic’s past year of commit activity
    2 Apache-2.0 2 0 0 Updated Nov 6, 2024
  • mlkem-rust-libcrux Public

    portable ML-KEM implementation with some optimizations for AVX2. Full AVX2 support will be added over the coming months. The code is formally verified for panic freedom, correctness, and secret independence in F* using the hax toolchain.

    pq-code-package/mlkem-rust-libcrux’s past year of commit activity
    2 Apache-2.0 1 0 1 Updated Oct 7, 2024
  • template-code Public template

    Template repo

    pq-code-package/template-code’s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Sep 23, 2024
  • mlkem-c-embedded Public

    MLKEM implementation optimized for embedded microcontrollers

    pq-code-package/mlkem-c-embedded’s past year of commit activity
    C 15 Apache-2.0 6 9 1 Updated Aug 16, 2024
  • documentation Public

    Project documentation built using mkdocs

    pq-code-package/documentation’s past year of commit activity
    Python 1 CC-BY-4.0 1 2 1 Updated Jun 6, 2024
  • .github Public

    PQCP GitHub organization profile

    pq-code-package/.github’s past year of commit activity
    1 CC-BY-4.0 1 0 0 Updated Jun 3, 2024
  • pq-code-package-hackathon Public

    Hackathon planning and documentation

    pq-code-package/pq-code-package-hackathon’s past year of commit activity
    3 Apache-2.0 2 1 0 Updated Mar 19, 2024