Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repository request: mldsa-native #135

Closed
mkannwischer opened this issue Feb 1, 2025 · 13 comments · Fixed by #136
Closed

Repository request: mldsa-native #135

mkannwischer opened this issue Feb 1, 2025 · 13 comments · Fixed by #136
Assignees

Comments

@mkannwischer
Copy link
Contributor

I'd like to request a new repository/sub-project mldsa-native which is going to be an implementation of ML-DSA (FIPS-204) targeting PC, mobile and server platforms. The scope and goals are similar to mlkem-native: State-of-the-art performance on x86_64 and Arm64 with CBMC proofs for all C code and HOL Light proofs for the native code.
It is initially going to be maintained by https://github.com/jakemas (Jake Massimo, AWS), @hanno-becker, and @mkannwischer.
Thanks to https://github.com/jakemas for offering to help with this!

@planetf1 could you please initiate getting this approved by the TSC? Let me know if additional information is required. https://github.com/jakemas also expressed interest in becoming a member of the TSC.

Related to #94.

@ryjones
Copy link
Contributor

ryjones commented Feb 1, 2025

when approved file a PR here to create an empty repo.

mkannwischer added a commit to mkannwischer/tsc that referenced this issue Feb 2, 2025
Resolves pq-code-package#135

Signed-off-by: Matthias J. Kannwischer <[email protected]>
mkannwischer added a commit to mkannwischer/tsc that referenced this issue Feb 2, 2025
Resolves pq-code-package#135

Signed-off-by: Matthias J. Kannwischer <[email protected]>
mkannwischer added a commit to mkannwischer/tsc that referenced this issue Feb 3, 2025
Resolves pq-code-package#135

Signed-off-by: Matthias J. Kannwischer <[email protected]>
@planetf1
Copy link
Contributor

planetf1 commented Feb 4, 2025

Thanks for raising @mkannwischer - that's fantastic news that a ml-dsa implementation is being developed.

We should arrange a TSC vote for the proposal - it can be offline rather than face to face. Our charter doesn't lay down any specific rules around this. I

I don't think we have to have a lot in place - you've identified the maintainers, so I think it's more a few legal aspects ie

  • What is the origin of this code.
  • how is it currently licensed?
  • what is the proposed license (Apache 2.0 preferred)
  • can we be assured that during the submission/hackathon this license (or similar) is adhered to

With that answered I propose we ask the LF to send out a vote (later/tomorrow). Hopefully that can end later if enough of the TSC approve. I think it's good to have that decision documented. I'll ping Kenny now.

I would then suggest that the proposed lead for the project present at the next TSC, and at that point we also start a vote on having a new TSC member?

@mkannwischer
Copy link
Contributor Author

mkannwischer commented Feb 5, 2025

Thanks @planetf1!

Thanks for raising @mkannwischer - that's fantastic news that a ml-dsa implementation is being developed.

We should arrange a TSC vote for the proposal - it can be offline rather than face to face. Our charter doesn't lay down any specific rules around this. I

I don't think we have to have a lot in place - you've identified the maintainers, so I think it's more a few legal aspects ie

  • What is the origin of this code.

Just like for mlkem-native, it will be based on the pqcrystals implementation: https://github.com/pq-crystals/dilithium
We will add some AArch64 assembly from https://github.com/slothy-optimizer/slothy.
This will require a bit of work to have a clean frontend/backend split which will happen over the next months in the new repository.

  • how is it currently licensed?
  • what is the proposed license (Apache 2.0 preferred)

We will use Apache 2.0

pqcrystals code is dual-licensed Apache 2.0 and CC0: https://github.com/pq-crystals/dilithium/blob/master/LICENSE
Code from SLOTHY is MIT licensed (e.g., this)

New code written, will be Apache 2.0 licensed.

  • can we be assured that during the submission/hackathon this license (or similar) is adhered to

We will ensure that through CI and code reviews as usual.

With that answered I propose we ask the LF to send out a vote (later/tomorrow). Hopefully that can end later if enough of the TSC approve. I think it's good to have that decision documented. I'll ping Kenny now.

I would then suggest that the proposed lead for the project present at the next TSC, and at that point we also start a vote on having a new TSC member?

Sounds great thank you!

@planetf1
Copy link
Contributor

planetf1 commented Feb 5, 2025

Thanks for the info. I suggest we ask TSC Members to comment below giving their approval (so that we have agreement documented). We don't need a formal vote (also checked with Kenny), so let's get approval from 50% of TSC via comments on this issue.

I approve, and I take your proposal as approval.

@hanno-becker @dstebila @tfaoliveira @praveksharma @franziskuskiefer @mbbarbosa @jschanck - please indicate your agreement or disagreement with this proposal to create a mldsa-native below

@hanno-becker
Copy link
Contributor

Agree

@praveksharma
Copy link

I approve.

@franziskuskiefer
Copy link
Contributor

I approve.

@dstebila
Copy link
Contributor

dstebila commented Feb 5, 2025

I approve (voting since #134 hasn't landed yet).

@tfaoliveira
Copy link

I agree.

@mbbarbosa
Copy link

I agree as well.

@planetf1
Copy link
Contributor

planetf1 commented Feb 5, 2025

I make that 8 or 9 TSC voting members approving.

So @mkannwischer let's go ahead with the technical stuff to make it happen!

@mkannwischer
Copy link
Contributor Author

Great :). I have prepared that in #136 already. Please go ahead and merge that @planetf1.

@planetf1
Copy link
Contributor

planetf1 commented Feb 5, 2025

@mkannwischer done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

9 participants