RustCrypto/traits

Adding Xwing KEM

rugo opened this issue · 1 comments

rugo commented

Hi,

I wrote an Xwing implementation in Rust and noticed that you have "reserved" (lol), the xwing crate.
So I assume you're planning to include Xwing into RustCrypto.

I'd be willing to align my code to fit your style and APIs for inclusion into RustCrypto. Before I start however, I wanted to ask if it makes sense to open a PR for this? The RFC is still a draft, but people seem interested to play around with Xwing (which is the only reason I published my code as a crate).

So I wanted to ask:

  • Does it makes sense for me to open a PR for Xwing, if so, where exactly would you want the code?
  • What requirements exist regarding dependencies? So far I use a wrapper around PQClean (a C library with reference and AVX2 implementations, maintained by Thom Wiggers).
  • Whats the status on PQC in RustCrypto? In case PQClean is a dependency you don't want, I'd first have to build a Kyber/MLKEM crate. This would be a fun project for me as I have a background in PQC.

In case you have a developer guideline, feel free to shoot it my way. I didn't find anything on my own.

Awesome! Work on that sort of thing is happening over here, which is where you should open a PR:

RustCrypto/KEMs#1

What requirements exist regarding dependencies?

We generally aim for pure Rust dependencies. As it were, there's a WIP ML-KEM PR open here, which is what we'd prefer you use when it's ready:

RustCrypto/KEMs#2

Re: X25519, we'd prefer curve25519-dalek/x25519-dalek which are also pure Rust

I'm going to close this as it's the wrong repo (though I do see the one I included in the placeholder crate, so my bad) but feel free to continue discussion on the KEMs repo.