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

upstream this repo to RustCrypto #35

Open
Dustin-Ray opened this issue Apr 13, 2024 · 28 comments
Open

upstream this repo to RustCrypto #35

Dustin-Ray opened this issue Apr 13, 2024 · 28 comments

Comments

@Dustin-Ray
Copy link

The RustCrypto project is collecting many popular and widely-used elliptic curves into a central repository for ease of use and high maintainability. This issue is tracking the curves added so far. Is there any interest from this project in upstreaming the work done so far into RustCrypto?

@kevaundray
Copy link
Collaborator

Hey,

I am interested in upstreaming the work here into RustCrypto. What would the steps be to upstream it?

@tarcieri
Copy link

@kevaundray hey, on behalf of @RustCrypto that's great news!

We have algorithm-family based monorepos. Here is the one for elliptic curves: https://github.com/rustcrypto/elliptic-curves

I would suggest opening a PR which adds an ed448/ed448-goldilocks subdirectory containing the most recent commit of the code.

When it's merged we can get you access to the repo and work out ownership for the associated crates.

Hopefully we can also contribute trait implementations which would allow Ed448-Goldilocks to be used with algorithm implementations which are generic over elliptic curves.

@dkg
Copy link
Contributor

dkg commented Oct 7, 2024

It would be great to bring this under the @RustCrypto umbrella. Thanks for working on this.

@dignifiedquire
Copy link

@mikelodder7 I saw that you started a new fork (but issues aren't enabled, so pinging you here) would you be interested in moving that version into rustcrypto? I could help with setup, if you want

@mikelodder7
Copy link

I'd be happy to do that. where do we go from here?

@mikelodder7
Copy link

@mikelodder7
Copy link

Do I do the same thing as I did for frodoKem

@dignifiedquire
Copy link

Generally, adding the impl as a new folder in https://github.com/RustCrypto/elliptic-curves in a PR would be the first step.
The big question to me is can we import the git history, which it seems according to https://www.simplicidade.org/notes/2009/04/21/merging-two-unrelated-repositories/ should be posssible

@mikelodder7
Copy link

I don't really care about the git history TBH. I'll PR with the latest commit from my fork.

@mikelodder7
Copy link

mikelodder7 commented Feb 14, 2025

However, there is the issue of license. The current license is BSD-3 Clause I can change my commits to match RustCrypto, but we might have to get approval from the original owners to do the rest

@dignifiedquire
Copy link

We should probably keep the license as BSD-3, and change it once we get sign off from the original author(s).

@mikelodder7
Copy link

mikelodder7 commented Feb 14, 2025

Hopefully we can also contribute trait implementations which would allow Ed448-Goldilocks to be used with algorithm implementations which are generic over elliptic curves.

My fork has already done this so it shouldn't be an issue.

@mikelodder7
Copy link

We should probably keep the license as BSD-3, and change it once we get sign off from the original author(s).

Consider this my sign off to change the license to APL 2.0/MIT

@dignifiedquire
Copy link

dignifiedquire commented Feb 14, 2025

Looks like parts of the code come from https://github.com/dalek-cryptography/curve25519-dalek/ So we will need to at least add references to https://github.com/dalek-cryptography/curve25519-dalek/blob/main/curve25519-dalek/LICENSE as done in #37

@dignifiedquire
Copy link

dignifiedquire commented Feb 14, 2025

Current authors according to git history, please let us know if you accept relicensing the code to MIT/Apache 2.0

From the fork

@divergentdave
Copy link
Contributor

I approve relicensing my contribution

1 similar comment
@conradoplg
Copy link
Contributor

I approve relicensing my contribution

@mikelodder7
Copy link

What should the name of the project be under RustCrypto? ed448 and ed448-goldilocks crates already exist

@tarcieri
Copy link

I would suggest using ed448-goldilocks. I believe @kevaundray suggested he might transfer the crate name to us?

(It would be good to get ed448 as well but for https://github.com/RustCrypto/signatures/tree/master/ed448)

@mikelodder7
Copy link

okay I'll set it to that then

@mikelodder7
Copy link

PR #1121

@kevaundray
Copy link
Collaborator

Hi, thank you so much for taking this off of my hand :)

@kevaundray
Copy link
Collaborator

I approve relicensing my contribution

@kevaundray
Copy link
Collaborator

Generally, adding the impl as a new folder in https://github.com/RustCrypto/elliptic-curves in a PR would be the first step. The big question to me is can we import the git history, which it seems according to https://www.simplicidade.org/notes/2009/04/21/merging-two-unrelated-repositories/ should be posssible

Maybe you can add the current authors as co-authors to the PR you are merging?

@kevaundray
Copy link
Collaborator

I would suggest using ed448-goldilocks. I believe @kevaundray suggested he might transfer the crate name to us?

(It would be good to get ed448 as well but for https://github.com/RustCrypto/signatures/tree/master/ed448)

Yep, happy to transfer the crate over

@kevaundray
Copy link
Collaborator

I would suggest using ed448-goldilocks. I believe @kevaundray suggested he might transfer the crate name to us?

(It would be good to get ed448 as well but for https://github.com/RustCrypto/signatures/tree/master/ed448)

Not sure if useful, but there is also https://github.com/crate-crypto/x448

@Dustin-Ray
Copy link
Author

Congratulations on the upstream everyone, this is a great project and Im thrilled to see it merged with the larger RustCrypto ecosystem. Thanks for the work on this.

@stackinspector
Copy link
Contributor

I approve relicensing my contribution

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

No branches or pull requests

9 participants