Skip to content

How to handle Rust code #127

@franziskuskiefer

Description

@franziskuskiefer

After trying to fit Rust code into the pqcp org for a while now (https://github.com/pq-code-package/mlkem-rust-libcrux), I think we need a new approach. As discussed in last week's meeting, I propose to change the approach to Rust code.

Rust is different from C or Assembly code because it has a mature packaging system that people are using. Instead of going to a Github repository to get a dependency like ML-KEM, developers go to crates.io and run cargo add libcrux-ml-lem to add the dependency to their project.

While we originally thought it might make sense to duplicate the Rust code from libcrux in a repository here for pqcp, it turns out that this is significant work that no one wants to take on, without a clear benefit.

I propose to keep maintaining the code as part of the libcrux library and use the libcrux-ml-kem repository to document how to use it, with the goal to have a uniform representation of all the PQC implementations in the pqcp org. I believe that this gives us what we want (a common place to find good implementations, how to use them, how to report issues, what guarantees they give, etc.), without the unnecessary overhead.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions